Documentation
Run states
The status enum every run draws from, plus the decision enums emitted by the reviewer and verifier.
Run statuses, terminal states, and the review/verification decision enums. Source: src/core/state-machine.ts.
Statuses
created Run record exists; orchestrator hasn't picked it up yet.
planning Planner agent is running.
planned Plan is recorded; about to enter architecting.
architecting Architect agent is running.
architected Architecture is recorded; about to enter execution.
executing Executor agent is editing files in the worktree.
validating Validation commands are running.
reviewing Reviewer agent is reading the diff and validation output.
fixing Fixer agent is addressing review findings.
verifying Verifier agent is doing the final pass before merge.
waiting_for_approval Run is paused at a policy-gated approval. A human must approve or reject.
paused User requested a pause; the run will resume from `pausedAtStatus`.
merge_ready terminal Verifier passed. Diff is ready for the user to merge.
blocked terminal Reviewer or verifier flagged the run unsafe to continue.
failed terminal An unrecoverable error was raised during a stage.
aborted terminal User explicitly aborted the run (worktree preserved).
Review decisions
APPROVEDCHANGES_REQUESTEDBLOCKED
Verification decisions
PASSEDFAILEDNEEDS_HUMAN
Notes
- Transitions are enforced by `assertTransition` in src/core/state-machine.ts. Any non-terminal state can transition to `paused`, `waiting_for_approval`, `failed`, `aborted`, or `blocked`.
- Re-validation loops: reviewing → fixing → validating → reviewing, bounded by `workflow.maxReviewLoops` in project.yml.