Live demo · one decision, full receipts

Why was this approval made?

Six months later, a regulator asks why Susan bound a $4.2M risk on March 5. In most stacks, that's a six-week reconstruction. In InvariantDB, it's one walk of the decision graph. Every step is a Cypher query you can run yourself.

CASE FILE · pol-2026-03-9847
Susan approved a $4.2M commercial property policy.
Underwriter susan.chen@carrier.io
Recorded 2026-03-05T14:32:18Z
Risk CP-2026-9847
Decision BIND
1
2026-03-05 14:12:04 UTC · t-20m
Risk submitted — underwriter assigned
Broker pushed CP-2026-9847 to the queue. Triage rule routed to Susan based on territory + line of business + loss-ratio tier.
triggerrule TRIAGE-LOB-CP
2
14:14:33 · t-18m
Susan opened the loss-run history
7-year loss history. 2 small water claims, both closed. No fire, no liability, no fraud flags.
loss-run-2019-2026.pdfviewed 4m 12s
// Susan's actual view, replayed: MATCH (r:Risk {id:'CP-2026-9847'})-[:HAS_HISTORY]->(c:Claim) AT RECORDED '2026-03-05T14:14:33Z' RETURN c.date, c.amount, c.peril, c.status
3
14:18:51 · t-13m
Sprinklered + central station alarm verified
Engineer report uploaded by the broker last week. Wet system, NFPA-13 compliant, monitored 24/7. Triggered the 12% credit rule.
engineer-report-2026-02-27.pdfrule SPRINKLER-CREDIT-12pctviewed 2m 04s
4
14:22:09 · t-10m
CAT score pulled
CoreLogic wildfire score: 24/100. Flood zone: X (low). Earthquake: zone 3. Within appetite for this territory.
CoreLogic API callrule CAT-WITHIN-APPETITE
5
14:26:42 · t-6m
Reinsurance treaty checked
$4.2M is under the $5M single-risk cession threshold — goes entirely through the per-risk treaty. No facultative needed.
treaty-2026-property-quota.jsonrule TREATY-AUTOCEDE-LE-5M
6
14:30:15 · t-2m
Susan added a free-text note
“Strong loss history, sprinkler + central alarm, CAT clean. Comfortable binding at filed rate. Watching the roof-age item at renewal — ten years now, will tighten in 2031.”
underwriter notereasoning captured
7
14:32:18 · the decision
Bound. Quote sent.
Premium $48,720 / yr at filed rates with 12% sprinkler credit. Effective 2026-04-01. Signed by Susan; auto-countersigned by the carrier's e-signature service.
BIND CP-2026-9847e-sig chain: 4 signatures
Outcome · 9 months later
No claims. Policy renewed 2027-04-01. Susan's renewal note tightened the roof-age item exactly as flagged at bind. The decision held.
What just happened

You watched a decision, captured.

Most enterprise systems record the final answer (BIND $4.2M) and lose everything that produced it. InvariantDB stored the full trail — the context Susan saw, the rules that fired, the documents she opened, the reasoning she wrote, the signature chain. Every step is a node; every causal link is an edge; every value carries a bitemporal stamp.

Replay the decision

AT RECORDED '2026-03-05T14:32Z' reconstructs exactly what Susan saw. Not today's view. The view at the moment she bound.

Prove the chain

db.verifyAclChain() rehashes every entry from genesis. The receipt isn't trusted because we say so — it's cryptographic.

Walk the lineage

derivedFrom edges trace the rate quote back to: filed rates × CAT score × sprinkler credit × loss-history factor. Every input recorded.

Train an agent (later)

This is what "build agents from decisions, not documents" looks like in practice. Replay Susan's last 800 bindings to train an underwriting assistant that learned how she actually thinks, not just what's in the SOP.