Runs / P8 / p8-42-invoice-tolerance-2pct

p8-42-invoice-tolerance-2pct · P8

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:d5514dab3d13…sha256:d5514dab3d1350b9e542de39b693d51fd5f0425fe928a6636cbac4c40164a13e
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-42-invoice-tolerance-2pct","stage":{"index":"1","name":"read_invoice"},"time":{"ended":"2026-10-25T12:52:10.991+00:00","started":"2026-10-25T12:52:10.982+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 · 145 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:d5514dab3d13…sha256:d5514dab3d1350b9e542de39b693d51fd5f0425fe928a6636cbac4c40164a13e
invoice.json · 85 bytes
sha256:b3faf9601bdd…sha256:b3faf9601bddaf713bd8d19292e518e397f6b5d8e1a27db29f355ef4003dae24
What came out
match.json · 145 bytes
sha256:5b0f7e319dbf…sha256:5b0f7e319dbf74f98bfc0e3b4d6b4af1b804c6b110c7507e4af754805d68d197
Fingerprint
sha256:f40d2c8cda47…sha256:f40d2c8cda4792b61e9b3cf8c34bf9c040fab3a61d35adb6eaa9a27562edc831
Settings it ran with
{
 "order_quantity": "40",
 "order_unit_price": "12.50",
 "price_tolerance": "2.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":"2.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:d5514dab3d1350b9e542de39b693d51fd5f0425fe928a6636cbac4c40164a13e","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:3e1015e3c7bae9e3fb83fd2c50b8bea9bea38f7103e5ac22e0a3e8b502b6586b","id":"three-way-match","kind":"checker","manifest_digest":"sha256:aaf71a395b501802eb499dcda21c878e759b71144ed7c3dec69aa040362e4ab8","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"145","digest":"sha256:5b0f7e319dbf74f98bfc0e3b4d6b4af1b804c6b110c7507e4af754805d68d197","media_type":"application/json","name":"match.json","trust_class":"operator-authored"}],"prev":"sha256:d5514dab3d1350b9e542de39b693d51fd5f0425fe928a6636cbac4c40164a13e","run_id":"p8-42-invoice-tolerance-2pct","stage":{"index":"2","name":"match"},"time":{"ended":"2026-10-25T12:52:11.034+00:00","started":"2026-10-25T12:52:11.029+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 · 1625 bytes
match.json · 145 bytes
What came out
payment.json · 130 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 · 1625 bytes
sha256:f40d2c8cda47…sha256:f40d2c8cda4792b61e9b3cf8c34bf9c040fab3a61d35adb6eaa9a27562edc831
match.json · 145 bytes
sha256:5b0f7e319dbf…sha256:5b0f7e319dbf74f98bfc0e3b4d6b4af1b804c6b110c7507e4af754805d68d197
What came out
payment.json · 130 bytes
sha256:c81ae2d9213c…sha256:c81ae2d9213c86278d0fe3164c0aa5a9cf3c025011ae21e67e00e72f726c0fca
Fingerprint
sha256:7bc5cef1f172…sha256:7bc5cef1f1723e4f7c89e6089d248d6612d18b8061f9d519e721e9c32b750176
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":"1625","digest":"sha256:f40d2c8cda4792b61e9b3cf8c34bf9c040fab3a61d35adb6eaa9a27562edc831","media_type":"application/json","name":"receipt:match","trust_class":"operator-authored"},{"bytes":"145","digest":"sha256:5b0f7e319dbf74f98bfc0e3b4d6b4af1b804c6b110c7507e4af754805d68d197","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":"130","digest":"sha256:c81ae2d9213c86278d0fe3164c0aa5a9cf3c025011ae21e67e00e72f726c0fca","media_type":"application/json","name":"payment.json","trust_class":"operator-authored"}],"prev":"sha256:f40d2c8cda4792b61e9b3cf8c34bf9c040fab3a61d35adb6eaa9a27562edc831","run_id":"p8-42-invoice-tolerance-2pct","stage":{"index":"3","name":"approve_payment"},"time":{"ended":"2026-10-25T12:52:11.057+00:00","started":"2026-10-25T12:52:11.046+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