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)