A hybrid record
Each ledger row combines two shapes of data:Extracted columns
Scalar, indexed fields for fast filtering and aggregation — agent, session, outcome,
confidence, cost, duration, and more.
JSONB audit trail
The full reconstructed detail — reasoning steps, findings, evidence, artifacts,
and policy checks — stored as JSONB with GIN indexes.
Key fields
Large or sensitive payloads are scrubbed of PII and offloaded to object storage rather
than kept inline. See Tenancy, Privacy & PII.
The defensible record
Beyond the scalar columns, each decision’s JSONB carries the structured justification that makes it defensible — the answer when a decision is challenged:Semantic search
Each decision carries a vector embedding, enabling semantic similarity search — “find decisions like this one” — across the ledger. This powers thesearch_similar_decisions MCP tool.
How it relates to everything else
- Agents and sessions are computed by aggregating ledger rows. See Agents, Sessions & Decisions.
- The graph mirrors each decision’s internal structure for traversal. See Evidence & the Logic Trace.
- Insights, Features, and Pulse are all derived from ledger activity over time.
The ledger uses the modern outcome vocabulary (
outcome_class / outcome_summary).
An older final_verdict field is retained for backward compatibility but is
deprecated — prefer outcome_class.