Skip to content
Help
HelpStart here

The five trust properties

P1 through P5 plus E1 — the headline properties that must be provably true, each tied to the test file that proves it. · 3 min read

Provenance rests on a handful of properties that are not asserted in slides — they are proven in tests/ and the test suite is the authoritative gate. Each one below is stated in plain language with the file that proves it (see docs/01-intake/PRD.md).

P1 through P5, plus the enrichment property E1

Property and its proof
P1 — Can't win by lyingA Gate-blocked lie can never be selected by the optimizer (0 selections), while an unconstrained twin converges to it. tests/test_optimizer.py
P2 — Holds bind instantlyThe Gate blocks a held claim the instant legal flips the hold, attributable to rules_version alone — same text, same source. tests/test_gate.py
P3 — Drift is surgicalA drift event re-verifies exactly the affected claims — no under- or over-invalidation. tests/test_gate.py, tests/test_drift.py
P4 — Same claim, same verdictThe website renders only Gate-passed claims, and a given claim_id gets the same verdict on email and website. tests/test_website.py
P5 — The Gate beats one judgeAssurance catch-rate exceeds the single-judge baseline at a fixed false-reject rate. tests/test_assurance.py
E1 — No un-receipted fact shipsAn enrichment fact with no recorded lawful basis can never be inlined into a message. tests/test_enrichment.py

P1 belongs to the Optimizer; P2 and P3 to the Gate and Drift Monitor; P5 to the Assurance Lab. Each is a structural guarantee in code, not a tuned threshold.

Per the project's Constitution, the tests assert inequalities and floors (for example, catch-rate above a ceiling on false-rejects), not the deck's illustrative point values — so the properties hold by construction, not by a lucky number.