Skip to main content

Assurance Cases

A bare verdict — VERIFIED, CONTRADICTED, REVIEW — doesn't explain why. v0.0.8 adds Assurance Cases: a structured explanation of a claim's justification, projected deterministically from its Epistemic Contract satisfaction report.

Four kinds of statement, never confused​

Every statement in an assurance case is exactly one of four kinds, and these are never blended together:

  • Observation — a fact grounded in real evidence.
  • Inference — a conclusion the trust kernel drew from observations.
  • Policy decision — a rule the active policy applied.
  • Unverified assumption — something assumed, explicitly marked as such, never presented as observed.

Every gap and limitation is visible in the case, not just the parts that support the conclusion. Two cases built from the same frozen inputs produce byte-identical output — the projection is deterministic.

Resistant to injected text​

Evidence can contain agent-controlled text, including text specifically crafted to look like instructions or fake structure (a fabricated Assumption: line, a fake markdown heading, an injected script tag). This is tested directly: an assurance case built from evidence containing a prompt-injection-shaped payload never lets that text become a new argument step or gain any structural authority in the case — it stays inert data.

Known gap​

As of v0.0.8, one of the four satisfaction states an assurance case should be able to represent — Contradicted — has no test coverage at all, because nothing upstream in this release actually produces that state yet for the underlying assessment engine to project. This was caught during release verification after an earlier internal draft rounded it up as covered; it is disclosed here honestly instead.

See also​

  • Meta-Verification — how a monitor's own contribution is represented without ever overriding a hard contradiction.