Spec Statuses
Every spec progresses through a formal lifecycle of 8 statuses:
| Status | Description |
|---|---|
| Created | Initial state when a spec is created |
| In Review | Under review by peers |
| In Business Review | Under business or product review |
| In Refinement | Being refined based on feedback |
| Ready for Implementation | Approved and ready for development |
| In Implementation | Currently being implemented |
| Implementation Review | Implementation completed, awaiting review |
| Done | Fully completed |
State Machine
stateDiagram-v2
[*] --> created
created --> in_review : submit_review
in_review --> created : request_changes
in_review --> in_business_review : business_review
in_review --> in_refinement : move_to_refinement
in_business_review --> in_refinement : move_to_refinement
in_business_review --> in_review : request_changes
in_refinement --> ready_for_implementation : ready_for_implementation
in_refinement --> in_review : request_changes
ready_for_implementation --> in_implementation : start_implementation
ready_for_implementation --> in_refinement : move_to_refinement
in_implementation --> implementation_review : implementation_review
in_implementation --> ready_for_implementation : move_to_refinement
implementation_review --> done : done
implementation_review --> in_implementation : request_changes
done --> [*]
Valid Transitions
| From | To | Transition Name |
|---|---|---|
| Created | In Review | submit_review |
| In Review | Created | request_changes |
| In Review | In Business Review | business_review |
| In Review | In Refinement | move_to_refinement |
| In Business Review | In Refinement | move_to_refinement |
| In Business Review | In Review | request_changes |
| In Refinement | Ready for Implementation | ready_for_implementation |
| In Refinement | In Review | request_changes |
| Ready for Implementation | In Implementation | start_implementation |
| Ready for Implementation | In Refinement | move_to_refinement |
| In Implementation | Implementation Review | implementation_review |
| In Implementation | Ready for Implementation | move_to_refinement |
| Implementation Review | Done | done |
| Implementation Review | In Implementation | request_changes |
Done is a terminal state — once a spec reaches Done, it cannot transition further.
Notifications
Every status transition triggers notifications:
- Status change — the spec's assignee (or creator) is notified whenever the status changes
- Review requested — if a spec moves to In Review and has an assignee who is not the person making the change, that assignee receives a review request notification
Stage Plans
Each status can have a stage plan with target dates and assignments. Stage plans help you track timing expectations for each phase of the spec lifecycle.