0%

Pillar B — the single corpus_alignment.assess SSOT engine

Goal

ONE evaluator, corpus_alignment.assess(active_plans) -> CorpusAlignmentVerdict, is the corpus-coherence invariant; every surface consumes it and none reimplements it.

Implementation Sketch

Build assess() modeled on mission_probe.assess_mission_gate (returns a verdict object) and emitting scripts/plan_corpus/types.Finding (the shape cross_plan_validators already uses). Verdict: {pairs:[{a,b,relation,status: aligned|contradiction|mission_violation|unverified, evidence}], verdict: aligned|drift|contradiction}. A surface computing its own alignment is LEAK:algorithmic-duplication.

Spec References

Mirror scripts/plan_orchestrator/mission_probe.py:assess_mission_gate (MissionFitVerdict, line 278). Finding shape: scripts/plan_corpus/types.Finding. Reuse cross_plan_validators.build_combined_graph for R1 health.

Work Items

  • Implement assess(active_plans) -> CorpusAlignmentVerdict in corpus_alignment.py, mirroring the MissionFitVerdict shape and emitting types.Finding
  • Define CorpusAlignmentVerdict: pairs[{a,b,relation,status,evidence}] + top-level verdict (aligned|drift|contradiction)
  • SSOT guard: assess is the sole evaluator; reuse build_combined_graph for R1 health rather than re-walking the graph
  • pytest covering aligned / contradiction / mission_violation / unverified verdicts on fixtures