Each section is an input to a check, not a summary of one.
Together they are everything needed to reproduce the verdict from first principles.
signed_report
The report with its Ed25519 signature and the key id it was signed under. The
canonical bytes travel alongside as report_canonical, so the signature
is checked against exactly what was signed rather than against a re-serialisation
that might differ by a byte.
approval_ledger
Every control a human approved and every candidate a human declined, with
reasons. As of ledger version 2 each decision also carries the approver's EIP-712
signature over the exact proposal it decides, so the identity behind a decision is
recoverable from the bundle alone. Its digest must match the one inside the signed
report.
compilations
The compilation artifacts, keyed by their own digest. Each control names the
artifact it was accepted in — including the model, prompt and provider response
digests behind the proposal — and the report's provenance digests must be exactly
this set.
control_records
The approved controls in full: subject, cited span, operator, expected value,
cadence, effective period, approval state. Rehashing each record's canonical bytes
must reproduce the content hash the report references it by.
policy_manifest
The policy this verdict answers — its id, version, the consumer question in
plain language, and the control ids it draws on. Its digest is the
policyRoot a gate pins on chain.
evidence_digests
The digest of every evidence capture the engine retrieved, with source id, role
and retrieval time. These chain into the report's evidence root in a
domain-separated order.
published_key
The Ed25519 public key and its key id. The report names the same key id as its
publisher, so lineage checks need no external lookup — and a bundle from any date
still verifies years later.
registry_v2_attestation where present
The publisher's EIP-712 attestation as submitted to a v2 registry. When a bundle
carries one, verification additionally recovers the attesting address and checks
that every attested field matches the signed report — the same digest the registry
contract recomputes on chain.