ADR-062: Scoped exact diagnostics and unambiguous supersession references
Date: 2026-10-13 Status: Accepted Author: Rômulo Febasi
Decision
Expose existing structured interval/history/supersession checks through one shared core used by CLI and MCP. Return versioned typed findings, stable rule IDs, exact entity/field/interval evidence references, selected/checked scope and omissions. An empty result means only that the checked structured classes had no findings; general prose semantics stay unknown. Model assessments are separate advisory inputs with explicit model/rubric revision, confidence and abstention. They never change deterministic results, permissions or source. No automatic review/write.
Use the same typed scanner for INV-13 to prevent diagnostic/invariant drift. Keep its compatible aggregate rendering while correcting bare-id target ambiguity. Supersession targets currently identify facts by bare ID and may cross entity types. Resolve only a unique target across the complete indexed graph. A colliding ID in multiple types is an exact ambiguity finding, not an arbitrarily chosen edge or claimed cycle. The acceptance gate rejects ambiguous targets before committing any source mutation. Typed target syntax/migration is a later explicit decision.
Scope filters apply after whole-graph cycle/reference resolution; filtering before traversal could hide a cycle crossing the selected facts. Bound input rows and pair comparisons, diagnostics and source references; exceeded scan budgets fail rather than claim consistent memory. C1 preserves the existing disjoint-history invariant, including duplicate/overlapping assertions. C3 checks inverted closed intervals.
Compatibility and limits
INV-13 remains deterministic and index-based. Existing unambiguous bare references and output schema remain supported. Previously accepted ambiguous references now fail explicitly; no past source or timestamp is silently corrected. Missing/dangling targets are reported as unavailable evidence. Unindexed/malformed Markdown, general language, opaque agent behavior and disabled probabilistic adapters are excluded.
The proposal detector continues to check status/relationship flips and supported identity collisions. Unsupported proposal kinds are unavailable, not declared semantically consistent. External model assessments are caller-asserted diagnostics, with typed provenance; they do not claim this binary ran the model.
Verification
Golden exact-positive/negative, boundary intervals, cross-type same-ID ambiguity, legitimate cross-type targets, cycles crossing selected scopes, truncation and unknown-prose fixtures. Prove ambiguous acceptance leaves both targets/source unchanged. Real CLI/MCP output parity and complete native gates are required.