Receipts
A receipt is what a verification leaves behind, signed and kept on your machine
Each accepted result leaves a receipt you can open later, cite during review, or use to compare agent setups. This one is real, from the docs: its verdict is FAIL. Point at any line to see what it binds.
Open a real receipt
- {
- "schemaVersion": 1,
- "serviceVersion": "2026-08-16.v1",
- "receipt": {
- "schemaVersion": 1,
- "id": "receipt_v0_release_4df3dd89b3e4d0a0",
- "tenantId": "tenant_v0_release",
- "runId": "run_v0_release_e44941560b9f",
- "parentReceiptId": null,
- "status": "FAIL",
- "checkResultIds": ["G00:PASS", "G01:FAILING", … 13 more],
- "evidenceHashes": ["sha256:437284d4…", … 4 more],
- "policyVersionRefs": ["policy_v0_release@2026.08"],
- "engineVersion": "v0-release@1",
- "issuedAt": "2026-09-16T12:37:22.257Z",
- "signature": { "algorithm": "ed25519", … 2 more }
- },
- "binding": {
- "predicate": "excellent.verification.agent-work-receipt.v1",
- "workItemId": "work_cand_9b618ed027764ef4bccf2a64_df-001",
- "workSnapshotId": "wsnap_work_cand_9b618ed027764ef4bccf2a64_df-001",
- "attemptId": "promo_23247c38c4574c96893c2036:release",
- "contractId": "verification-api/2026-08-16.v1",
- "evidenceSnapshotId": "evsnap_v0_release_4df3dd89b3e4d0a0",
- … 2 more fields
- "evaluatorRefs": ["evaluator:evidence-integrity", … 2 more],
- … 8 more fields
- "subject": { "treeHash": "git-tree:fcd3f669…", … 6 more },
- … 22 more fields
- },
- "payloadHash": "sha256:ea48ebc0c…",
- "signature": { "algorithm": "ed25519", "value": "ed25519:COSk…", … 1 more },
- "publicVerification": { "receiptId": "receipt_v0_rel…", … 8 more }
- }
What it binds
One of the six verification states (PASS, MISMATCH, FAIL, UNKNOWN, NOT_RUN, PENDING). Here: FAIL.
Value
"FAIL"
What it binds is the docs’ own text, from “What each part is for”. A field the docs do not explain says so.
Point at a line, tap it, or tab to the receipt and use ↑ ↓.
Real receipt from the Excellent docs. Synthetic release evidence, genuine signature. Verdict: FAIL. A valid signature proves the receipt was not altered. It does not make the verdict good. Source
Open every field in the receipt viewerReal receipt · all fields
- {
- "schemaVersion": 1,
- "serviceVersion": "2026-08-16.v1",
- "receipt": {
- "schemaVersion": 1,
- "id": "receipt_v0_release_4df3dd89b3e4d0a0",
- "tenantId": "tenant_v0_release",
- "runId": "run_v0_release_e44941560b9f",
- "parentReceiptId": null,
- "status": "FAIL",
- "checkResultIds": [
- "G00:PASS",
- "G01:FAILING",
- "G02:FAILING",
- "G03:PASS",
- "G04:PASS",
- "G05:PASS",
- "G06:PASS",
- "G07:PASS",
- "G08:PASS",
- "G09:RUNNING",
- "G10:PASS",
- "G11:PASS",
- "G12:BLOCKED_EXTERNAL",
- "G13:FAILING",
- "G14:PASS"
- ],
- "evidenceHashes": [ … ],5 items
- "policyVersionRefs": [ … ],1 item
- "engineVersion": "v0-release@1",
- "issuedAt": "2026-09-16T12:37:22.257Z",
- "signature": { … }3 fields
- },
- "binding": { … },40 fields
- "payloadHash": "sha256:ea48ebc0c36dced1cefd90ae750220594dd2e3124cc67c6ecb9ac524a2b55ca9",
- "signature": { … },3 fields
- "publicVerification": { … }9 fields
- }
Fifteen checks: ten pass, three failing, one running, one blocked outside the run. One unresolved check sinks the set, so the receipt says FAIL.
What it binds
Value
"FAIL"See also
What it binds is the docs’ own text, from “What each part is for”. A field the docs do not explain says so.
Point at a line, tap it, or tab to the receipt and use ↑ ↓. Enter opens a folded line.
Check one yourself
Runs on a machine that has never had Excellent on it. Node 18+, no dependencies. The example pack is synthetic: the work it describes is invented, the envelope, hash, signing and anchor are the real pipeline.
- receipt-schema.jsonthe format, as JSON Schema 2020-12
- verify-receipt.mjsa verifier, Node 18+, no dependencies
- receipt-example.jsonan example receipt pack
- receipt-example-key.pub.pemthe public key it was signed with
This receipt, with the docs’ verifier
These commands need an Excellent monorepo checkout (<repo>), which is not public. For a check any visitor can run, use the commands under Check one yourself.
It does establish
A valid signature means the receipt has not been altered since the holder of that key signed it. That is tamper-evidence, and it is real.
It does not establish
It does not establish that the key is the tenant's key. If you obtained the key from the same system that issued the verdict, a forged receipt re-signed under an attacker's key verifies exactly as cleanly as a genuine one. Confirm the key's fingerprint through a channel this system does not control, then pin it.
A receipt does not prove every external source was truthful. It proves which records were bound and signed together.
To fetch a tenant’s published trust material:
excellent-mcp verification universal-trust-root --jsonThe CLI on npm today, 0.1.0 (checked October 23, 2026), predates excellent-mcp verification, so this command answers unknown command until the next release.
A receipt binds the work, the evidence, the policy and the verdict into one document, hashes that document and signs the hash. Its purpose is that you do not have to trust the machine that produced it, or us.
Evidence, binding, signature
The evidence and the binding go into one document, and the signature covers its hash
Evidence is collected against the exact attempt that produced it: command output and exit codes, logs, screenshots, diffs, CI runs and reviewer notes. Anything larger than 1 MiB is written to content-addressed files beside the database.
The binding names the exact work item, attempt, contract and evidence snapshot, which evaluators decided, and the artifact itself: a git tree hash, a commit, a build, an environment. Without the binding, a PASS is a verdict about nothing in particular.
The payload hash is a sha256 of a canonical rendering of a fixed list of fields: keys sorted, no whitespace. Reformat the file and it still verifies. Change one character of the content and it does not.
The signature is Ed25519 over that hash. Receipts are append-only: a re-verification is a new receipt that points at the one it supersedes, so nothing edits history.
Screenshots, traces and browser observations
Diff summaries tied to the exact attempt
Evidence notes reviewers can inspect later
Proof attached to the work.
Check one yourself
Check one in under a minute, on a machine that has never had Excellent on it
The format is published as a JSON Schema, with a verifier you can read in one sitting. Node 18 or newer, no dependencies. Exit 0 when the pack verifies, 8 when it does not, 2 on a usage error.
- receipt-schema.jsonthe format, as JSON Schema 2020-12
- verify-receipt.mjsa verifier, Node 18+, no dependencies
- receipt-example.jsonan example receipt pack, synthetic work on the real pipeline
- receipt-example-key.pub.pemthe public key it was signed with
The example pack is synthetic: the work it describes is invented; the envelope, hash, signature and anchor are the real pipeline.
Then break it
Change any character of the receipt’s content and run the same command again
Reformatting does not break it: the signature covers a canonical rendering, not the bytes on disk.
Shown: the receipt’s status edited from PASS to FAIL.
Signature
A valid signature proves the receipt was not altered, and it does not prove whose key signed it
Pin the key’s fingerprint through a channel this system does not control.
It does establish
The receipt has not been altered since the holder of that key signed it. That is tamper-evidence, and it is real.
It does not establish
That the key is your tenant's key. A receipt re-signed under an attacker's key verifies cleanly against that attacker's key. Confirm the key's fingerprint through a channel this system does not control, then pin it.
A receipt also does not prove every external source was truthful; it proves which records were bound and signed together.
excellent-mcp verification universal-trust-root --jsonfetches a tenant's published trust material.
The CLI on npm today, 0.1.0 (checked October 23, 2026), predates excellent-mcp verification, so this command answers unknown command until the next release. The verifier above needs only Node.
Evidence you can point at

Real check run · L-063
58 of 59 checks passed, so the gate says fail
Each amber box stands for a check that passed in a real run from our own logs. The ringed box is the one that failed. Point at a box to see which.
test-checker-gate-decision: FAIL — 58/59 checks, 35/36 mutants caught
58 of 59 checks, in a run from our own logs on 3 October 2026.
Limits
What receipts do not do yet
From the security page, “Receipts, and what they prove”.
They stay on the machine that made them.
Verification evidence does not sync between teammates.
No published signing-key distribution.
You obtain the key out of band.
No outside anchor by default.
So a receipt carries no independent proof of when it existed.
Install
Make your first receipt: install Excellent and run one task
curl -fsSL https://excellent.so/install.sh | sh