Summary
Add explicit composed state-machine invariant tests across system lifecycle, API lifecycle, and UI lifecycle.
Why
Current tests validate many endpoints and idempotent paths, but there is no single transition-table test suite that codifies allowed/blocked transitions across composed states.
Scope
- Define transition table for:
- Instance states (
starting, running, shutting_down, powering_off, completed, failed)
- Session states (
active, suspended, completed)
- API availability states (
running, stopping, down)
- UI polling states (
normal, backoff, stopped)
- Add tests that validate expected outputs for key transition sequences (including repeated/idempotent calls).
- Add negative tests for forbidden transitions.
Acceptance Criteria
- Transition table is documented and referenced by tests.
- Tests fail on any undocumented transition behavior regression.
- CI runs the suite in pre-flight or deterministic integration stage.
Summary
Add explicit composed state-machine invariant tests across system lifecycle, API lifecycle, and UI lifecycle.
Why
Current tests validate many endpoints and idempotent paths, but there is no single transition-table test suite that codifies allowed/blocked transitions across composed states.
Scope
starting,running,shutting_down,powering_off,completed,failed)active,suspended,completed)running,stopping,down)normal,backoff,stopped)Acceptance Criteria