Gates
plan_verify (12 checks)
The plan_verify gate runs tools/plan_verify_gate.py:run_gate deterministically. It checks:
- Schema validity --- JSON validates against
plan.schema.json - Topological consistency --- acyclic forward graph
- Dependency completeness --- no dangling references
- Root correctness --- exactly one root step (or declared multi-root)
- Leaf correctness --- terminal steps properly declared
- Test-without-implementation --- no test step without a preceding implementation step
- step_id uniqueness --- no duplicate step IDs
- Acceptance criteria --- every step has at least one acceptance criterion
- Output declaration --- every step declares its outputs
- Traces completeness --- every step traces to at least one requirement
- Back-edge consistency --- refinement back-edges are bounded
- 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 towrite_planopens.structural_verdict == 'FAIL'--- back-edge tointegrateopens (1 retry).- After one failed repair, neither edge fires --- the run refuses to write (fail-closed).