This answer's trail was checked on — each check that ran held.
Held under the checks that ran; not anchored, so it can't be shown to be the record that was made.
Repeat the check
Run it from the run's folder:
onetrace-verify --trust trust.json MANIFEST.json
The run stopped at approve_payment: the step declined by its own rule, and recorded why: an invoice of 3840.00 is over the approver's limit of 2500.00. No declared step was left without a receipt.
What the evidence establishes
Each rung is a separate question, with its own evidence.
Records agree
Yes · 83 checks made — all hold.
Signed by a known recorder
Yes · demo key (public seed: proves the record wasn't changed since signing, not who signed it) · sha256:6e20550ae0dc…sha256:6e20550ae0dc6b4471d54336d09d74d14f3f623b735045eddd053c444ec3b14c
Nothing declared is missing
Yes · Each declared step left a receipt, as the receipts themselves state.
Ran as approved
a straight-line run: there is no plan to compare
Re-runnable stages reproduced
Not checked · No re-check from the record was run, so this page does not say whether anything comes out the same.
Action authorized, effect confirmed
No records · This console does not record authorization.
Committed by a known time
Not anchored · no anchor beside the chain
None of these says the run's output or action was correct.
{
"data": "invented example data",
"onetrace.kept_inputs": "invoice"
}
The receipt, exactly as recorded
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{"constants":{"data":"invented example data","onetrace.kept_inputs":"invoice"}},"coverage":{"boundaries":[],"completeness":"incomplete","declared_stages":["read_invoice","match","approve_payment"],"emitting_stages":["read_invoice"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"150","digest":"sha256:923e5bc4d6d2a85e755dcee49adcd8ce1f0c4ed7797ffaed6814785cd028a200","media_type":"application/json","name":"invoice","trust_class":"externally-sourced"}],"instrument":{"config_digest":"sha256:b80d11206e532440dec5331fb86ffeedb8018955a09fbc9c08915706689e6863","id":"invoice-reader","kind":"reader","manifest_digest":"sha256:aaf71a395b501802eb499dcda21c878e759b71144ed7c3dec69aa040362e4ab8","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"86","digest":"sha256:6f89e0b46dbf3f18b01f0d550999c5177cb39e217a2d818d089dcaa24782e6ff","media_type":"application/json","name":"invoice.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p8-45-invoice-over-limit-declined","stage":{"index":"1","name":"read_invoice"},"time":{"ended":"2026-10-25T12:52:11.338+00:00","started":"2026-10-25T12:52:11.326+00:00"}}
The check's own words
[PASS ] receipts/01-read-invoice.json: receipt format
[PASS ] receipts/01-read-invoice.json: bytes are canonical
[PASS ] receipts/01-read-invoice.json: required field 'format'
[PASS ] receipts/01-read-invoice.json: required field 'run_id'
[PASS ] receipts/01-read-invoice.json: required field 'stage'
[PASS ] receipts/01-read-invoice.json: required field 'prev'
[PASS ] receipts/01-read-invoice.json: required field 'time'
[PASS ] receipts/01-read-invoice.json: required field 'coverage'
[PASS ] receipts/01-read-invoice.json: required field 'emission'
[PASS ] receipts/01-read-invoice.json: required field 'anchor'
[PASS ] receipts/01-read-invoice.json: required field 'instrument'
[PASS ] receipts/01-read-invoice.json: required field 'inputs'
[PASS ] receipts/01-read-invoice.json: required field 'outputs'
[PASS ] receipts/01-read-invoice.json: required field 'assertions'
[PASS ] receipts/01-read-invoice.json: required field 'outcome'
[PASS ] receipts/01-read-invoice.json: time.started carries its zone
[PASS ] receipts/01-read-invoice.json: time.ended carries its zone
[PASS ] receipts/01-read-invoice.json: instrument is named and pinned
[PASS ] receipts/01-read-invoice.json: inputs/invoice declares a trust class
[PASS ] receipts/01-read-invoice.json: outputs/invoice.json declares a trust class
[PASS ] receipts/01-read-invoice.json: assertions name their constants
[PASS ] receipts/01-read-invoice.json: outcome class is one of ['error', 'ok', 'refused']
[PASS ] receipts/01-read-invoice.json: coverage declares completeness
[PASS ] receipts/01-read-invoice.json: anchor state is declared, not absent
[NOT-RUN] receipts/01-read-invoice.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS ] receipts/01-read-invoice.json: digest matches the manifest
[PASS ] receipts/01-read-invoice.json: chain link
[PASS ] receipts/01-read-invoice.json: output artifact 'invoice.json' matches
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{"constants":{"order_quantity":"300","order_unit_price":"12.50","price_tolerance":"5.00%","received_quantity":"300"}},"coverage":{"boundaries":[],"completeness":"incomplete","declared_stages":["read_invoice","match","approve_payment"],"emitting_stages":["read_invoice","match"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1324","digest":"sha256:c937a8449a0014db341bb58078051f8714a717fdae68329c04a45b57eceaa1fb","media_type":"application/json","name":"receipt:read_invoice","trust_class":"operator-authored"},{"bytes":"86","digest":"sha256:6f89e0b46dbf3f18b01f0d550999c5177cb39e217a2d818d089dcaa24782e6ff","media_type":"application/json","name":"invoice.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:824a2366fff3ce418a48864bb0501ff02b8396b0cfede1f37935ae87b389a060","id":"three-way-match","kind":"checker","manifest_digest":"sha256:aaf71a395b501802eb499dcda21c878e759b71144ed7c3dec69aa040362e4ab8","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"66","digest":"sha256:50f40df769cd38bbc6205bf5cc1b0968a0f0807ffa9800bb52e29af5fedd5749","media_type":"application/json","name":"match.json","trust_class":"operator-authored"}],"prev":"sha256:c937a8449a0014db341bb58078051f8714a717fdae68329c04a45b57eceaa1fb","run_id":"p8-45-invoice-over-limit-declined","stage":{"index":"2","name":"match"},"time":{"ended":"2026-10-25T12:52:11.351+00:00","started":"2026-10-25T12:52:11.347+00:00"}}
The check's own words
[PASS ] receipts/02-match.json: receipt format
[PASS ] receipts/02-match.json: bytes are canonical
[PASS ] receipts/02-match.json: required field 'format'
[PASS ] receipts/02-match.json: required field 'run_id'
[PASS ] receipts/02-match.json: required field 'stage'
[PASS ] receipts/02-match.json: required field 'prev'
[PASS ] receipts/02-match.json: required field 'time'
[PASS ] receipts/02-match.json: required field 'coverage'
[PASS ] receipts/02-match.json: required field 'emission'
[PASS ] receipts/02-match.json: required field 'anchor'
[PASS ] receipts/02-match.json: required field 'instrument'
[PASS ] receipts/02-match.json: required field 'inputs'
[PASS ] receipts/02-match.json: required field 'outputs'
[PASS ] receipts/02-match.json: required field 'assertions'
[PASS ] receipts/02-match.json: required field 'outcome'
[PASS ] receipts/02-match.json: time.started carries its zone
[PASS ] receipts/02-match.json: time.ended carries its zone
[PASS ] receipts/02-match.json: instrument is named and pinned
[PASS ] receipts/02-match.json: inputs/receipt:read_invoice declares a trust class
[PASS ] receipts/02-match.json: inputs/invoice.json declares a trust class
[PASS ] receipts/02-match.json: outputs/match.json declares a trust class
[PASS ] receipts/02-match.json: assertions name their constants
[PASS ] receipts/02-match.json: outcome class is one of ['error', 'ok', 'refused']
[PASS ] receipts/02-match.json: coverage declares completeness
[PASS ] receipts/02-match.json: anchor state is declared, not absent
[NOT-RUN] receipts/02-match.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS ] receipts/02-match.json: digest matches the manifest
[PASS ] receipts/02-match.json: chain link
[PASS ] receipts/02-match.json: output artifact 'match.json' matches
Receipt · step 3 of 3 · approve_payment
step 3 of 3
approve_payment
What went in
receipt:match · 1631 bytes
match.json · 66 bytes
What came out
nothing
When
→
It declined to answer, and says why: an invoice of 3840.00 is over the approver's limit of 2500.00.
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{},"coverage":{"boundaries":[],"completeness":"complete","declared_stages":["read_invoice","match","approve_payment"],"emitting_stages":["read_invoice","match","approve_payment"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1631","digest":"sha256:d65544db4e29b9328805809cb3a641d6aaeb127a373ac1a46e00c7121f9ef76a","media_type":"application/json","name":"receipt:match","trust_class":"operator-authored"},{"bytes":"66","digest":"sha256:50f40df769cd38bbc6205bf5cc1b0968a0f0807ffa9800bb52e29af5fedd5749","media_type":"application/json","name":"match.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:84566ae6a0fff7aa8af09def3657bb9858b7ab7d7d92c4e9c7054a770c42f8f6","id":"payment-approval","kind":"policy","manifest_digest":"sha256:aaf71a395b501802eb499dcda21c878e759b71144ed7c3dec69aa040362e4ab8","rederivable":"true","version":"1.0.0"},"outcome":{"class":"refused","reason":"an invoice of 3840.00 is over the approver's limit of 2500.00"},"outputs":[],"prev":"sha256:d65544db4e29b9328805809cb3a641d6aaeb127a373ac1a46e00c7121f9ef76a","run_id":"p8-45-invoice-over-limit-declined","stage":{"index":"3","name":"approve_payment"},"time":{"ended":"2026-10-25T12:52:11.360+00:00","started":"2026-10-25T12:52:11.360+00:00"}}
The check's own words
[PASS ] receipts/03-approve-payment.json: receipt format
[PASS ] receipts/03-approve-payment.json: bytes are canonical
[PASS ] receipts/03-approve-payment.json: required field 'format'
[PASS ] receipts/03-approve-payment.json: required field 'run_id'
[PASS ] receipts/03-approve-payment.json: required field 'stage'
[PASS ] receipts/03-approve-payment.json: required field 'prev'
[PASS ] receipts/03-approve-payment.json: required field 'time'
[PASS ] receipts/03-approve-payment.json: required field 'coverage'
[PASS ] receipts/03-approve-payment.json: required field 'emission'
[PASS ] receipts/03-approve-payment.json: required field 'anchor'
[PASS ] receipts/03-approve-payment.json: required field 'instrument'
[PASS ] receipts/03-approve-payment.json: required field 'inputs'
[PASS ] receipts/03-approve-payment.json: required field 'outputs'
[PASS ] receipts/03-approve-payment.json: required field 'assertions'
[PASS ] receipts/03-approve-payment.json: required field 'outcome'
[PASS ] receipts/03-approve-payment.json: time.started carries its zone
[PASS ] receipts/03-approve-payment.json: time.ended carries its zone
[PASS ] receipts/03-approve-payment.json: instrument is named and pinned
[PASS ] receipts/03-approve-payment.json: inputs/receipt:match declares a trust class
[PASS ] receipts/03-approve-payment.json: inputs/match.json declares a trust class
[PASS ] receipts/03-approve-payment.json: outcome class is one of ['error', 'ok', 'refused']
[PASS ] receipts/03-approve-payment.json: coverage declares completeness
[PASS ] receipts/03-approve-payment.json: 'complete' is consistent with the stage lists
[PASS ] receipts/03-approve-payment.json: anchor state is declared, not absent
[NOT-RUN] receipts/03-approve-payment.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS ] receipts/03-approve-payment.json: digest matches the manifest
[PASS ] receipts/03-approve-payment.json: chain link
Where it changed
No comparison with another run was made, so this page does not say where anything changed.
What could be re-checked
No re-check from the record was run, so this page does not say whether anything comes out the same.
This record shows what was verified and evaluated at the time — not what was ultimately true.