0%

Pillar D backstop — finish verify_roadmap —full

Goal

verify_roadmap --full becomes the corpus-wide periodic backstop, implementing its designed-but-stubbed classifiers as thin consumers of corpus_alignment.assess.

Implementation Sketch

Replace the —full exit-2 stub with real dispatch. CONFLICT = R2 (assess contradiction), MISSION_CONTRADICTION = R3 (assess mission_violation), STATUS_CONTRADICTION/SUPERSEDED = R1 health (cross_plan_validators). Map verdicts to report.py Finding severities + exit-code semantics (2 on contradiction).

Spec References

scripts/verify_roadmap/main.py (—full dispatch); quick.py classifier pattern (classify_blocked); safety.py; report.py:exit_code_for_findings (line 350).

Work Items

  • Implement —full dispatch in main.py, removing the exit-2 ‘not implemented’ stub
  • CONFLICT classifier = R2 contradiction, consuming assess (no parallel detection logic)
  • MISSION_CONTRADICTION classifier = R3 mission_violation, consuming assess
  • STATUS_CONTRADICTION / SUPERSEDED = R1 health via cross_plan_validators reuse
  • pytest + report exit-code semantics (contradiction -> exit 2)