Skip to Content
ReferenceSpecification States

Specification States

State machine reference for specifications — all 5 states, transitions, and rules.

Every specification moves through a lifecycle of 5 states. Transitions are triggered by user actions, tool calls, and automatic evaluations.

Specification state machine: 5 states with transition arrows

Quick Reference

StateYou should…
draftStart planning — create your first epic or ticket
planningKeep building structure (epics, tickets, dependencies, blueprints)
readyStart implementation — launch your agent
in_progressMonitor dashboard, resolve blocks
doneDone 🎉

States

StatePhaseDescription
draftPlanningInitial state. Specification created but no planning started.
planningPlanningEpics, tickets, dependencies, and blueprints are being defined. The planning session advances through its own phases while the specification stays in planning.
readyPlanningPlanning complete. Specification passed the Planning Review gate.
in_progressImplementationWork sessions active. Tickets being implemented.
doneImplementationAll tickets complete. Specification is closed. This is the terminal state.

Transition Table

TriggerFromToCondition
Epic createddraftplanningFirst epic added
Ticket createddraftplanningFirst ticket added
Planning review passedplanningreadyPlanning gate passes threshold inside complete_planning_session
Work session startedreadyin_progressFirst start_work_session call
All tickets completedin_progressdoneEvery ticket reaches done
Specification reopeneddonein_progressreopen_specification called

The planning State

A specification has a single planning state — there is no corridor of auto-transitioning planning sub-states at the specification level. All structural work (creating epics, creating tickets, adding dependencies, linking blueprints) happens while the specification sits in planning.

The 7-phase planning machine — planning_spec, epic_decomposition, epic_expansion, ticket_decomposition, ticket_expansion, cross_validation, planned — advances on the PlanningSession, not on the specification. The specification stays in planning for the whole session and moves to ready only when the session’s Planning Review gate passes inside complete_planning_session.

ℹ️ You don’t manually advance the specification through planning. Drive the planning session with action_planning_session operations; the session tracks the phase and the specification advances to ready when the gate passes.

Auto-Transitions

Several transitions happen automatically without explicit user action:

EventTransitionDescription
First epic or ticket createddraftplanningSpecification enters planning
Planning review passedplanningreadySpecification cleared for implementation
All tickets reach donein_progressdoneTriggered when the last ticket completes

Protected States

Once a specification reaches ready, it does not automatically regress to planning. This protection ensures validated plans remain stable during implementation.

To make structural changes to a ready specification, you must explicitly reopen the planning session — a deliberate action that acknowledges the specification needs revalidation.

⚠️ Reopening a specification past ready requires reopen_specification. Any in-progress work sessions must be completed or reset first.

See Also

  • Ticket States — Ticket state machine and auto-calculation rules
  • Lifecycles — The two lifecycles that drive these transitions
  • Quality Gates — The gates that trigger state advances