Gates

plan_verify (12 checks)

The plan_verify gate runs tools/plan_verify_gate.py:run_gate deterministically. It checks:

  1. Schema validity --- JSON validates against plan.schema.json
  2. Topological consistency --- acyclic forward graph
  3. Dependency completeness --- no dangling references
  4. Root correctness --- exactly one root step (or declared multi-root)
  5. Leaf correctness --- terminal steps properly declared
  6. Test-without-implementation --- no test step without a preceding implementation step
  7. step_id uniqueness --- no duplicate step IDs
  8. Acceptance criteria --- every step has at least one acceptance criterion
  9. Output declaration --- every step declares its outputs
  10. Traces completeness --- every step traces to at least one requirement
  11. Back-edge consistency --- refinement back-edges are bounded
  12. Harness-ledger coverage (harness-forge only) --- all harness facets covered or waived

coverage_audit

Verifies that every requirement in the source spec is traced to at least one plan step. A requirement with no covering step is a coverage gap --- the plan is incomplete.

Routing

  • structural_verdict == 'PASS' --- forward edge to write_plan opens.
  • structural_verdict == 'FAIL' --- back-edge to integrate opens (1 retry).
  • After one failed repair, neither edge fires --- the run refuses to write (fail-closed).