Skip to main content

The Six Stages

StageCommandWritesPurpose
Assess/kbd-assessassessment.mdgap report vs phase goals
Analyze/kbd-analyzeanalysis.md, library-candidates.jsonevidence-backed build-vs-adopt calls
Spec/kbd-specchange specsmachine-verifiable acceptance criteria
Plan/kbd-planplan.md + change structuresordered change list with candidates annotated
Execute/kbd-execute + /kbd-applyexecution.md, progress.jsonper-change implementation with QA gates
Reflect/kbd-reflectreflection.mddelta analysis; seeds the next phase

Changes are tracked in progress.json (the ledger: changes[], completion.implementation), and the active position lives in current-waypoint.json.

Lifecycle state is separate from stage state​

A phase or task can be pending, in_progress, blocked, complete, or cancelled. The run itself has a separate lifecycle:

LifecycleMeaningMutation policy
readyRuntime exists and can accept an initial transitionAllowed
runningWork may proceedAllowed and journal-serialized
pause_requestedAn interrupt or operator pause is being checkpointedDenied
pausedDurable checkpoint existsDenied
blockedExternal or operator blocker is activeDenied
completedRun reached its terminal success stateDenied
cancelledOperator terminated the runDenied
failedRun ended unsuccessfullyDenied

prometheus kbd resume only resumes a suspended run after validating its plan revision. It does not reopen a completed, cancelled, or failed run. Start a new phase/run for new work after a terminal state.

Independent completion dimensions​

KBD no longer treats “implementation complete” as proof that work is shipped. The runtime records four independent dimensions:

  1. implementation
  2. evidence
  3. certification
  4. publication

For example, a Docusaurus change can have implementation and certification complete while publication remains pending until GitHub Pages deploys the saved build.

Canonical source: the per-stage SKILL.md files under kbd-process-orchestrator/skills/.