ADR-0006: Evidence/Assertion model — confirmation never overwrites inference
Status: Accepted · 2026-07-14Decision
Implements the handoff data model directly:evidence— typed immutable observations (phrase hit, fingerprint match, label GUID, permission exposure, editor context, policy citation, human decision) with direction (+/−), weight, provenance kind, acquisition context, versions, and bitemporal times.assertions— versioned claims(subject, predicate, object)with status (candidate|superseded|retracted), calibrated confidence, provenance kind (Observed|RuleDerived|ModelInferred|PolicyDerived|OwnerConfirmed| GovernanceValidated|RemediationVerified|Imported), evidence links, and release/ config references.- Owner decisions create new
OwnerConfirmed/corrective assertions linked viaconfirms_assertion/corrects_assertion/rejects_assertion; the original model-inferred assertion is preserved (possibly superseded, never mutated) so model evaluation against human ground truth stays possible. - Distinct value states everywhere they matter:
unlabeled,unknown,unsupported,inaccessible,partial,failedare separate enum values, not null-collapsed.
Consequences
- The review queue, propagation, findings, Analyst, and audit all reference assertion/evidence IDs — answers are reproducible to exact versions.
- Storage grows append-mostly; supersession pointers keep “current view” queries
cheap via partial indexes on
status='candidate'.