Runs / P8 / p8-43-invoice-tolerance-5pct

3 of 3 declared stages · recorded in the format stage-receipt-chain/0.3 · ran · received by this console

  • Records agree Yes
  • Ran as approved a straight-line run: there is no plan to compare
  • Signed by a known recorder Yes
  • Committed by a known time Not anchored
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 answer

This record has no step that wrote an answer, so there is no answer to show.

The trail

step 1 of 3

read_invoice

What went in
invoice · 149 bytes
What came out
invoice.json · 85 bytes
When
→

Completed.

Ran as invoice-reader, version 1.0.0.

Checked — it holds.

Held under the checks that ran; not anchored, so it can't be shown to be the record that was made.

Receipt · step 1 of 3 · read_invoice
Version
invoice-reader · 1.0.0
What went in
invoice · 149 bytes
sha256:08c2ed453001…sha256:08c2ed453001ff8c762bcf40a0945b40059ae34ae533ef20ef40fcf2092355b6
What came out
invoice.json · 85 bytes
sha256:b3faf9601bdd…sha256:b3faf9601bddaf713bd8d19292e518e397f6b5d8e1a27db29f355ef4003dae24
Fingerprint
sha256:921dd4bae3e3…sha256:921dd4bae3e3d3baa860369e76c33e2537364863f8028a399433703c66a91c75
Settings it ran with
{
 "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":"149","digest":"sha256:08c2ed453001ff8c762bcf40a0945b40059ae34ae533ef20ef40fcf2092355b6","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":"85","digest":"sha256:b3faf9601bddaf713bd8d19292e518e397f6b5d8e1a27db29f355ef4003dae24","media_type":"application/json","name":"invoice.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p8-43-invoice-tolerance-5pct","stage":{"index":"1","name":"read_invoice"},"time":{"ended":"2026-10-25T12:52:11.148+00:00","started":"2026-10-25T12:52:11.125+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
step 2 of 3

match

What went in
receipt:read_invoice · 1319 bytes
invoice.json · 85 bytes
What came out
match.json · 65 bytes
When
→

Completed.

Ran as three-way-match, version 1.0.0.

Checked — it holds.

Held under the checks that ran; not anchored, so it can't be shown to be the record that was made.

Receipt · step 2 of 3 · match
Version
three-way-match · 1.0.0
What went in
receipt:read_invoice · 1319 bytes
sha256:921dd4bae3e3…sha256:921dd4bae3e3d3baa860369e76c33e2537364863f8028a399433703c66a91c75
invoice.json · 85 bytes
sha256:b3faf9601bdd…sha256:b3faf9601bddaf713bd8d19292e518e397f6b5d8e1a27db29f355ef4003dae24
What came out
match.json · 65 bytes
sha256:e61819271007…sha256:e6181927100767645812a10fda49cce16ef62ebe38a3c34612e882546b65ed2c
Fingerprint
sha256:beb2a9818784…sha256:beb2a9818784a316bb055179e3c5775610df0cd5a62b48c68fea34431a5a8c11
Settings it ran with
{
 "order_quantity": "40",
 "order_unit_price": "12.50",
 "price_tolerance": "5.00%",
 "received_quantity": "40"
}
The receipt, exactly as recorded
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{"constants":{"order_quantity":"40","order_unit_price":"12.50","price_tolerance":"5.00%","received_quantity":"40"}},"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":"1319","digest":"sha256:921dd4bae3e3d3baa860369e76c33e2537364863f8028a399433703c66a91c75","media_type":"application/json","name":"receipt:read_invoice","trust_class":"operator-authored"},{"bytes":"85","digest":"sha256:b3faf9601bddaf713bd8d19292e518e397f6b5d8e1a27db29f355ef4003dae24","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":"65","digest":"sha256:e6181927100767645812a10fda49cce16ef62ebe38a3c34612e882546b65ed2c","media_type":"application/json","name":"match.json","trust_class":"operator-authored"}],"prev":"sha256:921dd4bae3e3d3baa860369e76c33e2537364863f8028a399433703c66a91c75","run_id":"p8-43-invoice-tolerance-5pct","stage":{"index":"2","name":"match"},"time":{"ended":"2026-10-25T12:52:11.171+00:00","started":"2026-10-25T12:52:11.165+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
step 3 of 3

approve_payment

What went in
receipt:match · 1624 bytes
match.json · 65 bytes
What came out
payment.json · 50 bytes
When
→

Completed.

Ran as payment-approval, version 1.0.0.

Checked — it holds.

Held under the checks that ran; not anchored, so it can't be shown to be the record that was made.

Receipt · step 3 of 3 · approve_payment
Version
payment-approval · 1.0.0
What went in
receipt:match · 1624 bytes
sha256:beb2a9818784…sha256:beb2a9818784a316bb055179e3c5775610df0cd5a62b48c68fea34431a5a8c11
match.json · 65 bytes
sha256:e61819271007…sha256:e6181927100767645812a10fda49cce16ef62ebe38a3c34612e882546b65ed2c
What came out
payment.json · 50 bytes
sha256:5ddbe392361b…sha256:5ddbe392361bc1b118603c507a1a66b18b5c8e0270b519d049b0ddb566dc2fea
Fingerprint
sha256:a44b8780e8d2…sha256:a44b8780e8d2e2df1bf22dd5224f8a0b570dc64ba9a5bb135c7370b616afffcf
Settings it ran with
{}
The receipt, exactly as recorded
{"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":"1624","digest":"sha256:beb2a9818784a316bb055179e3c5775610df0cd5a62b48c68fea34431a5a8c11","media_type":"application/json","name":"receipt:match","trust_class":"operator-authored"},{"bytes":"65","digest":"sha256:e6181927100767645812a10fda49cce16ef62ebe38a3c34612e882546b65ed2c","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":"ok"},"outputs":[{"bytes":"50","digest":"sha256:5ddbe392361bc1b118603c507a1a66b18b5c8e0270b519d049b0ddb566dc2fea","media_type":"application/json","name":"payment.json","trust_class":"operator-authored"}],"prev":"sha256:beb2a9818784a316bb055179e3c5775610df0cd5a62b48c68fea34431a5a8c11","run_id":"p8-43-invoice-tolerance-5pct","stage":{"index":"3","name":"approve_payment"},"time":{"ended":"2026-10-25T12:52:11.183+00:00","started":"2026-10-25T12:52:11.179+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: outputs/payment.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
[PASS   ] receipts/03-approve-payment.json: output artifact 'payment.json' matches

What could not be checked

  • Each declared step left a receipt, as the receipts themselves state.

  • This record held under the checks that ran. It has not been anchored, so it cannot be shown to be the record that was made — here is what anchoring would add.

    Anchored, it would read: this record existed by a stated date and hasn't changed since — checkable against an independent anchor.

The run, step by step