Runs / P8 / p8-44-invoice-quantity-changed

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

Records agree: this console's check held, with the run's output files required. Every check behind this is on Proof

The case

Run
p8-44-invoice-quantity-changed
ran
→
What it was for
read_invoice → match → approve_payment
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

What the evidence establishes

Each rung is a separate question, with its own evidence.

Records agreeYes · 85 checks made — all hold.
Signed by a known recorderYes · demo key (public seed: proves the record wasn't changed since signing, not who signed it) ·
sha256:6e20550ae0dc…sha256:6e20550ae0dc6b4471d54336d09d74d14f3f623b735045eddd053c444ec3b14c
Nothing declared is missingYes · Each declared step left a receipt, as the receipts themselves state.
Ran as approveda straight-line run: there is no plan to compare
Re-runnable stages reproducedNot checked · No re-check from the record was run, so this page does not say whether anything comes out the same.
Action authorized, effect confirmedNo records · This console does not record authorization.
Committed by a known timeNot anchored · no anchor beside the chain

None of these says the run's output or action was correct.

The execution graph

These verdicts come from the latest comparison of this run against the baseline p8-43-invoice-tolerance-5pct, stored . Open that comparison

recorded as a straight line (no graph recorded)

Show as table
NodeStageRecorded position
read_invoiceread_invoice1
matchmatch2
approve_paymentapprove_payment3
FromTo
matchapprove_payment
read_invoicematch

A link shows which recorded output a stage read. It does not by itself prove that one stage caused the next.

Recorded order

What happened, in the order the receipts give

Held under the checks that ran; not anchored, so none of these steps can be shown to be the record that was made.

StepWhenWhat was checked and what was notOutcome
read_invoice
step 1 of 3
→

Checked — it holds.

Completed.
match
step 2 of 3
→

Checked — it holds.

Completed.
approve_payment
step 3 of 3
→

Checked — it holds.

Completed.
Receipt · step 1 of 3 · read_invoice
step 1 of 3

read_invoice

What went in
invoice · 150 bytes
What came out
invoice.json · 86 bytes
When
→

Completed.

Ran as invoice-reader, version 1.0.0.

Receipt · step 1 of 3 · read_invoice
Version
invoice-reader · 1.0.0
What went in
invoice · 150 bytes
sha256:d18a612009b4…sha256:d18a612009b4ca9718de43df4fc7b0f3d06a976f327a906d8376df6c45bc1766
What came out
invoice.json · 86 bytes
sha256:3840d84e286e…sha256:3840d84e286edc03ecad09f7508a5105cd93be602f1810eb920dd119b8831262
Fingerprint
sha256:59d6ab37f27a…sha256:59d6ab37f27aa3d7820e5361780f39cf16ca0af915c42913b8b0cc29920e488e
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":"150","digest":"sha256:d18a612009b4ca9718de43df4fc7b0f3d06a976f327a906d8376df6c45bc1766","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:3840d84e286edc03ecad09f7508a5105cd93be602f1810eb920dd119b8831262","media_type":"application/json","name":"invoice.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p8-44-invoice-quantity-changed","stage":{"index":"1","name":"read_invoice"},"time":{"ended":"2026-10-25T12:52:11.233+00:00","started":"2026-10-25T12:52:11.224+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
Receipt · step 2 of 3 · match
step 2 of 3

match

What went in
receipt:read_invoice · 1321 bytes
invoice.json · 86 bytes
What came out
match.json · 112 bytes
When
→

Completed.

Ran as three-way-match, version 1.0.0.

Receipt · step 2 of 3 · match
Version
three-way-match · 1.0.0
What went in
receipt:read_invoice · 1321 bytes
sha256:59d6ab37f27a…sha256:59d6ab37f27aa3d7820e5361780f39cf16ca0af915c42913b8b0cc29920e488e
invoice.json · 86 bytes
sha256:3840d84e286e…sha256:3840d84e286edc03ecad09f7508a5105cd93be602f1810eb920dd119b8831262
What came out
match.json · 112 bytes
sha256:4ee97c400dce…sha256:4ee97c400dce0679d29506e072c72996d9485532e8cb2d952a71a5dc396e49b9
Fingerprint
sha256:efd129f04cf2…sha256:efd129f04cf2e1732be7eb649d6a80340dfa325c8916db61cc18d26c7be373ef
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":"1321","digest":"sha256:59d6ab37f27aa3d7820e5361780f39cf16ca0af915c42913b8b0cc29920e488e","media_type":"application/json","name":"receipt:read_invoice","trust_class":"operator-authored"},{"bytes":"86","digest":"sha256:3840d84e286edc03ecad09f7508a5105cd93be602f1810eb920dd119b8831262","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":"112","digest":"sha256:4ee97c400dce0679d29506e072c72996d9485532e8cb2d952a71a5dc396e49b9","media_type":"application/json","name":"match.json","trust_class":"operator-authored"}],"prev":"sha256:59d6ab37f27aa3d7820e5361780f39cf16ca0af915c42913b8b0cc29920e488e","run_id":"p8-44-invoice-quantity-changed","stage":{"index":"2","name":"match"},"time":{"ended":"2026-10-25T12:52:11.284+00:00","started":"2026-10-25T12:52:11.243+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 · 1627 bytes
match.json · 112 bytes
What came out
payment.json · 97 bytes
When
→

Completed.

Ran as payment-approval, version 1.0.0.

Receipt · step 3 of 3 · approve_payment
Version
payment-approval · 1.0.0
What went in
receipt:match · 1627 bytes
sha256:efd129f04cf2…sha256:efd129f04cf2e1732be7eb649d6a80340dfa325c8916db61cc18d26c7be373ef
match.json · 112 bytes
sha256:4ee97c400dce…sha256:4ee97c400dce0679d29506e072c72996d9485532e8cb2d952a71a5dc396e49b9
What came out
payment.json · 97 bytes
sha256:447bf00a0fc3…sha256:447bf00a0fc38c9a2c47437befc046a6b19b72dd56a7f1c71f36f5ae85641066
Fingerprint
sha256:eda658a59dd4…sha256:eda658a59dd474491d66be90e58ac78d441fcfcddb806f225d4ed72987b68093
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":"1627","digest":"sha256:efd129f04cf2e1732be7eb649d6a80340dfa325c8916db61cc18d26c7be373ef","media_type":"application/json","name":"receipt:match","trust_class":"operator-authored"},{"bytes":"112","digest":"sha256:4ee97c400dce0679d29506e072c72996d9485532e8cb2d952a71a5dc396e49b9","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":"97","digest":"sha256:447bf00a0fc38c9a2c47437befc046a6b19b72dd56a7f1c71f36f5ae85641066","media_type":"application/json","name":"payment.json","trust_class":"operator-authored"}],"prev":"sha256:efd129f04cf2e1732be7eb649d6a80340dfa325c8916db61cc18d26c7be373ef","run_id":"p8-44-invoice-quantity-changed","stage":{"index":"3","name":"approve_payment"},"time":{"ended":"2026-10-25T12:52:11.296+00:00","started":"2026-10-25T12:52:11.292+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

Where it changed

It changed — here is the step where.

The step
1 read_invoice

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.

Where this answer came from