Runs / P3 / p3-28-t-3-rules1-lookup-retried

p3-28-t-3-rules1-lookup-retried · P3

5 of 5 declared stages; 1 retry recorded · recorded in the format stage-receipt-chain/0.3 · ran · received by this console

  • Records agree Yes
  • Ran as approved Yes
  • 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
p3-28-t-3-rules1-lookup-retried
ran
→
What it was for
intake → classify → lookup_account → draft_reply → route
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 · 171 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 approvedYes · the check's plan row and its edges row both passed, and the run itself verified
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

lookup_account ×2
Show as table
NodeStageRecorded position
intakeintake1
classifyclassify2
lookup_account (1st)lookup_account3
lookup_account (2nd)lookup_account4
draft_replydraft_reply5
routeroute6
FromTo
classifydraft_reply
draft_replyroute
intakeclassify
intakelookup_account (1st)
intakelookup_account (2nd)
lookup_account (2nd)draft_reply

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
intake
step 1 of 6
→

Checked — it holds.

Completed.
classify
step 2 of 6
→

Checked — it holds.

Completed.
lookup_account
step 3 of 6
→

Checked — it holds.

failed — TimeoutError: set by the demo to show a retry: the first attempt raises this instead of running; nothing else went wrong
lookup_account
step 4 of 6
→

Checked — it holds.

Completed.
draft_reply
step 5 of 6
→

Checked — it holds.

Completed.
route
step 6 of 6
→

Checked — it holds.

Completed.
Receipt · step 1 of 6 · intake
step 1 of 6

intake

What went in
ticket · 90 bytes
What came out
ticket.json · 85 bytes
When
→

Completed.

Ran as ticket-intake, version 1.0.0.

Receipt · step 1 of 6 · intake
Version
ticket-intake · 1.0.0
What went in
ticket · 90 bytes
sha256:0350686c59c1…sha256:0350686c59c15237d95f04fe45924317bc9f346d133151dc5e2bca0b6f14e819
What came out
ticket.json · 85 bytes
sha256:089bbe4520ad…sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b
Fingerprint
sha256:7381985c400b…sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601
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":"incomplete","declared_stages":["intake","classify","lookup_account","draft_reply","route"],"emitting_stages":["intake"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"90","digest":"sha256:0350686c59c15237d95f04fe45924317bc9f346d133151dc5e2bca0b6f14e819","media_type":"application/json","name":"ticket","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:aba4ed452c55e9e40801574e634474d6e15ef467a70fb7ea7fc34edba588d52b","id":"ticket-intake","kind":"reader","manifest_digest":"sha256:ae24ea13f5f8a06ee81d8764116f28c81b23b5a6fac4e6916c21f8f83d142bfe","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"85","digest":"sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b","media_type":"application/json","name":"ticket.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p3-28-t-3-rules1-lookup-retried","stage":{"index":"1","name":"intake"},"time":{"ended":"2026-10-25T12:52:09.585+00:00","started":"2026-10-25T12:52:09.581+00:00"}}
The check's own words
[PASS   ] receipts/01-intake.json: receipt format
[PASS   ] receipts/01-intake.json: bytes are canonical
[PASS   ] receipts/01-intake.json: required field 'format'
[PASS   ] receipts/01-intake.json: required field 'run_id'
[PASS   ] receipts/01-intake.json: required field 'stage'
[PASS   ] receipts/01-intake.json: required field 'prev'
[PASS   ] receipts/01-intake.json: required field 'time'
[PASS   ] receipts/01-intake.json: required field 'coverage'
[PASS   ] receipts/01-intake.json: required field 'emission'
[PASS   ] receipts/01-intake.json: required field 'anchor'
[PASS   ] receipts/01-intake.json: required field 'instrument'
[PASS   ] receipts/01-intake.json: required field 'inputs'
[PASS   ] receipts/01-intake.json: required field 'outputs'
[PASS   ] receipts/01-intake.json: required field 'assertions'
[PASS   ] receipts/01-intake.json: required field 'outcome'
[PASS   ] receipts/01-intake.json: time.started carries its zone
[PASS   ] receipts/01-intake.json: time.ended carries its zone
[PASS   ] receipts/01-intake.json: instrument is named and pinned
[PASS   ] receipts/01-intake.json: inputs/ticket declares a trust class
[PASS   ] receipts/01-intake.json: outputs/ticket.json declares a trust class
[PASS   ] receipts/01-intake.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/01-intake.json: coverage declares completeness
[PASS   ] receipts/01-intake.json: anchor state is declared, not absent
[NOT-RUN] receipts/01-intake.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/01-intake.json: digest matches the manifest
[PASS   ] receipts/01-intake.json: chain link
[PASS   ] receipts/01-intake.json: output artifact 'ticket.json' matches
Receipt · step 2 of 6 · classify
step 2 of 6

classify

What went in
receipt:intake · 1246 bytes
ticket.json · 85 bytes
What came out
class.json · 52 bytes
When
→

Completed.

Ran as keyword-rules, version 1.0.0.

Receipt · step 2 of 6 · classify
Version
keyword-rules · 1.0.0
What went in
receipt:intake · 1246 bytes
sha256:7381985c400b…sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601
ticket.json · 85 bytes
sha256:089bbe4520ad…sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b
What came out
class.json · 52 bytes
sha256:0cbf0962bdf3…sha256:0cbf0962bdf30b725dff848ce84f332ed1365bd9e14e920d0faa89586d55e394
Fingerprint
sha256:1b08db916e9e…sha256:1b08db916e9ee54fbcaa8a1fec27a3cee47f0639aebeff7e941c27c6f41cac3b
Settings it ran with
{
 "rules": "1"
}
The receipt, exactly as recorded
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{"constants":{"rules":"1"}},"coverage":{"boundaries":[],"completeness":"incomplete","declared_stages":["intake","classify","lookup_account","draft_reply","route"],"emitting_stages":["intake","classify"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1246","digest":"sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601","media_type":"application/json","name":"receipt:intake","trust_class":"operator-authored"},{"bytes":"85","digest":"sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b","media_type":"application/json","name":"ticket.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:05d1f47891d6eb3385d9d74c028644120a09630832f8b0e30c9f0db17deb2169","id":"keyword-rules","kind":"classifier","manifest_digest":"sha256:ae24ea13f5f8a06ee81d8764116f28c81b23b5a6fac4e6916c21f8f83d142bfe","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"52","digest":"sha256:0cbf0962bdf30b725dff848ce84f332ed1365bd9e14e920d0faa89586d55e394","media_type":"application/json","name":"class.json","trust_class":"operator-authored"}],"prev":"sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601","run_id":"p3-28-t-3-rules1-lookup-retried","stage":{"index":"2","name":"classify"},"time":{"ended":"2026-10-25T12:52:09.591+00:00","started":"2026-10-25T12:52:09.590+00:00"}}
The check's own words
[PASS   ] receipts/02-classify.json: receipt format
[PASS   ] receipts/02-classify.json: bytes are canonical
[PASS   ] receipts/02-classify.json: required field 'format'
[PASS   ] receipts/02-classify.json: required field 'run_id'
[PASS   ] receipts/02-classify.json: required field 'stage'
[PASS   ] receipts/02-classify.json: required field 'prev'
[PASS   ] receipts/02-classify.json: required field 'time'
[PASS   ] receipts/02-classify.json: required field 'coverage'
[PASS   ] receipts/02-classify.json: required field 'emission'
[PASS   ] receipts/02-classify.json: required field 'anchor'
[PASS   ] receipts/02-classify.json: required field 'instrument'
[PASS   ] receipts/02-classify.json: required field 'inputs'
[PASS   ] receipts/02-classify.json: required field 'outputs'
[PASS   ] receipts/02-classify.json: required field 'assertions'
[PASS   ] receipts/02-classify.json: required field 'outcome'
[PASS   ] receipts/02-classify.json: time.started carries its zone
[PASS   ] receipts/02-classify.json: time.ended carries its zone
[PASS   ] receipts/02-classify.json: instrument is named and pinned
[PASS   ] receipts/02-classify.json: inputs/receipt:intake declares a trust class
[PASS   ] receipts/02-classify.json: inputs/ticket.json declares a trust class
[PASS   ] receipts/02-classify.json: outputs/class.json declares a trust class
[PASS   ] receipts/02-classify.json: assertions name their constants
[PASS   ] receipts/02-classify.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/02-classify.json: coverage declares completeness
[PASS   ] receipts/02-classify.json: anchor state is declared, not absent
[NOT-RUN] receipts/02-classify.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/02-classify.json: digest matches the manifest
[PASS   ] receipts/02-classify.json: chain link
[PASS   ] receipts/02-classify.json: output artifact 'class.json' matches
Receipt · step 3 of 6 · lookup_account
step 3 of 6

lookup_account

What went in
receipt:intake · 1246 bytes
ticket.json · 85 bytes
What came out
nothing
When
→

Failed — TimeoutError: set by the demo to show a retry: the first attempt raises this instead of running; nothing else went wrong, reported by account-lookup.

Ran as account-lookup, version 1.0.0.

Receipt · step 3 of 6 · lookup_account
Version
account-lookup · 1.0.0
What went in
receipt:intake · 1246 bytes
sha256:7381985c400b…sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601
ticket.json · 85 bytes
sha256:089bbe4520ad…sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b
What came out
nothing
Fingerprint
sha256:d8b595c5be7c…sha256:d8b595c5be7cdad0e30d792f037fafba73d1c91666482196a6ceabc816df0328
Settings it ran with
{
 "attempt": "1"
}
The receipt, exactly as recorded
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{"constants":{"attempt":"1"}},"coverage":{"boundaries":[],"completeness":"incomplete","declared_stages":["intake","classify","lookup_account","draft_reply","route"],"emitting_stages":["intake","classify","lookup_account"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1246","digest":"sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601","media_type":"application/json","name":"receipt:intake","trust_class":"operator-authored"},{"bytes":"85","digest":"sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b","media_type":"application/json","name":"ticket.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:4a0694a0beb02ba0db83a81f14e06b37bdb54e913bd667fe2fecef114cd179f3","id":"account-lookup","kind":"reader","manifest_digest":"sha256:ae24ea13f5f8a06ee81d8764116f28c81b23b5a6fac4e6916c21f8f83d142bfe","rederivable":"true","version":"1.0.0"},"outcome":{"body":"set by the demo to show a retry: the first attempt raises this instead of running; nothing else went wrong","class":"error","origin":"account-lookup","status":"TimeoutError"},"outputs":[],"prev":"sha256:1b08db916e9ee54fbcaa8a1fec27a3cee47f0639aebeff7e941c27c6f41cac3b","run_id":"p3-28-t-3-rules1-lookup-retried","stage":{"index":"3","instance":"1","name":"lookup_account"},"time":{"ended":"2026-10-25T12:52:09.601+00:00","started":"2026-10-25T12:52:09.598+00:00"}}
The check's own words
[PASS   ] receipts/03-lookup-account_1.json: receipt format
[PASS   ] receipts/03-lookup-account_1.json: bytes are canonical
[PASS   ] receipts/03-lookup-account_1.json: required field 'format'
[PASS   ] receipts/03-lookup-account_1.json: required field 'run_id'
[PASS   ] receipts/03-lookup-account_1.json: required field 'stage'
[PASS   ] receipts/03-lookup-account_1.json: required field 'prev'
[PASS   ] receipts/03-lookup-account_1.json: required field 'time'
[PASS   ] receipts/03-lookup-account_1.json: required field 'coverage'
[PASS   ] receipts/03-lookup-account_1.json: required field 'emission'
[PASS   ] receipts/03-lookup-account_1.json: required field 'anchor'
[PASS   ] receipts/03-lookup-account_1.json: required field 'instrument'
[PASS   ] receipts/03-lookup-account_1.json: required field 'inputs'
[PASS   ] receipts/03-lookup-account_1.json: required field 'outputs'
[PASS   ] receipts/03-lookup-account_1.json: required field 'assertions'
[PASS   ] receipts/03-lookup-account_1.json: required field 'outcome'
[PASS   ] receipts/03-lookup-account_1.json: time.started carries its zone
[PASS   ] receipts/03-lookup-account_1.json: time.ended carries its zone
[PASS   ] receipts/03-lookup-account_1.json: instrument is named and pinned
[PASS   ] receipts/03-lookup-account_1.json: inputs/receipt:intake declares a trust class
[PASS   ] receipts/03-lookup-account_1.json: inputs/ticket.json declares a trust class
[PASS   ] receipts/03-lookup-account_1.json: assertions name their constants
[PASS   ] receipts/03-lookup-account_1.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/03-lookup-account_1.json: error carries status, body and origin
[PASS   ] receipts/03-lookup-account_1.json: coverage declares completeness
[PASS   ] receipts/03-lookup-account_1.json: anchor state is declared, not absent
[NOT-RUN] receipts/03-lookup-account_1.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/03-lookup-account_1.json: digest matches the manifest
[PASS   ] receipts/03-lookup-account_1.json: chain link
Receipt · step 4 of 6 · lookup_account
step 4 of 6

lookup_account

What went in
receipt:intake · 1246 bytes
ticket.json · 85 bytes
accounts · 156 bytes
What came out
account.json · 56 bytes
When
→

Completed.

Ran as account-lookup, version 1.0.0.

Receipt · step 4 of 6 · lookup_account
Version
account-lookup · 1.0.0
What went in
receipt:intake · 1246 bytes
sha256:7381985c400b…sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601
ticket.json · 85 bytes
sha256:089bbe4520ad…sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b
accounts · 156 bytes
sha256:7d134098b4ad…sha256:7d134098b4ad03d55dea358c8d4f3aed95eb4349d5774d7b8688d38f7747ea43
What came out
account.json · 56 bytes
sha256:f189f7398293…sha256:f189f739829322a02d0196afa44a2d02d846129d2b70054c4cae1bbacd1da086
Fingerprint
sha256:403549a30e83…sha256:403549a30e83b16782fad471ba2c5285741f37b8bd944d013d1e29354c0f73b3
Settings it ran with
{
 "attempt": "2"
}
The receipt, exactly as recorded
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{"constants":{"attempt":"2"}},"coverage":{"boundaries":[],"completeness":"incomplete","declared_stages":["intake","classify","lookup_account","draft_reply","route"],"emitting_stages":["intake","classify","lookup_account"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1246","digest":"sha256:7381985c400b126e6d85a44c307cb37f8773384433bcb267e8bd5151bc08e601","media_type":"application/json","name":"receipt:intake","trust_class":"operator-authored"},{"bytes":"85","digest":"sha256:089bbe4520ad87bcb03334957a05262a6dbd727100010675409cea4d81c4740b","media_type":"application/json","name":"ticket.json","trust_class":"operator-authored"},{"bytes":"156","digest":"sha256:7d134098b4ad03d55dea358c8d4f3aed95eb4349d5774d7b8688d38f7747ea43","media_type":"application/json","name":"accounts","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:4a0694a0beb02ba0db83a81f14e06b37bdb54e913bd667fe2fecef114cd179f3","id":"account-lookup","kind":"reader","manifest_digest":"sha256:ae24ea13f5f8a06ee81d8764116f28c81b23b5a6fac4e6916c21f8f83d142bfe","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"56","digest":"sha256:f189f739829322a02d0196afa44a2d02d846129d2b70054c4cae1bbacd1da086","media_type":"application/json","name":"account.json","trust_class":"operator-authored"}],"prev":"sha256:d8b595c5be7cdad0e30d792f037fafba73d1c91666482196a6ceabc816df0328","run_id":"p3-28-t-3-rules1-lookup-retried","stage":{"index":"4","instance":"2","name":"lookup_account"},"time":{"ended":"2026-10-25T12:52:09.606+00:00","started":"2026-10-25T12:52:09.603+00:00"}}
The check's own words
[PASS   ] receipts/04-lookup-account_2.json: receipt format
[PASS   ] receipts/04-lookup-account_2.json: bytes are canonical
[PASS   ] receipts/04-lookup-account_2.json: required field 'format'
[PASS   ] receipts/04-lookup-account_2.json: required field 'run_id'
[PASS   ] receipts/04-lookup-account_2.json: required field 'stage'
[PASS   ] receipts/04-lookup-account_2.json: required field 'prev'
[PASS   ] receipts/04-lookup-account_2.json: required field 'time'
[PASS   ] receipts/04-lookup-account_2.json: required field 'coverage'
[PASS   ] receipts/04-lookup-account_2.json: required field 'emission'
[PASS   ] receipts/04-lookup-account_2.json: required field 'anchor'
[PASS   ] receipts/04-lookup-account_2.json: required field 'instrument'
[PASS   ] receipts/04-lookup-account_2.json: required field 'inputs'
[PASS   ] receipts/04-lookup-account_2.json: required field 'outputs'
[PASS   ] receipts/04-lookup-account_2.json: required field 'assertions'
[PASS   ] receipts/04-lookup-account_2.json: required field 'outcome'
[PASS   ] receipts/04-lookup-account_2.json: time.started carries its zone
[PASS   ] receipts/04-lookup-account_2.json: time.ended carries its zone
[PASS   ] receipts/04-lookup-account_2.json: instrument is named and pinned
[PASS   ] receipts/04-lookup-account_2.json: inputs/receipt:intake declares a trust class
[PASS   ] receipts/04-lookup-account_2.json: inputs/ticket.json declares a trust class
[PASS   ] receipts/04-lookup-account_2.json: inputs/accounts declares a trust class
[PASS   ] receipts/04-lookup-account_2.json: outputs/account.json declares a trust class
[PASS   ] receipts/04-lookup-account_2.json: assertions name their constants
[PASS   ] receipts/04-lookup-account_2.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/04-lookup-account_2.json: coverage declares completeness
[PASS   ] receipts/04-lookup-account_2.json: anchor state is declared, not absent
[NOT-RUN] receipts/04-lookup-account_2.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/04-lookup-account_2.json: digest matches the manifest
[PASS   ] receipts/04-lookup-account_2.json: chain link
[PASS   ] receipts/04-lookup-account_2.json: output artifact 'account.json' matches
Receipt · step 5 of 6 · draft_reply
step 5 of 6

draft_reply

What went in
receipt:classify · 1551 bytes
receipt:lookup_account#2 · 1773 bytes
class.json · 52 bytes
account.json · 56 bytes
What came out
reply.json · 175 bytes
When
→

Completed.

Ran as reply-templates, version 1.0.0.

Receipt · step 5 of 6 · draft_reply
Version
reply-templates · 1.0.0
What went in
receipt:classify · 1551 bytes
sha256:1b08db916e9e…sha256:1b08db916e9ee54fbcaa8a1fec27a3cee47f0639aebeff7e941c27c6f41cac3b
receipt:lookup_account#2 · 1773 bytes
sha256:403549a30e83…sha256:403549a30e83b16782fad471ba2c5285741f37b8bd944d013d1e29354c0f73b3
class.json · 52 bytes
sha256:0cbf0962bdf3…sha256:0cbf0962bdf30b725dff848ce84f332ed1365bd9e14e920d0faa89586d55e394
account.json · 56 bytes
sha256:f189f7398293…sha256:f189f739829322a02d0196afa44a2d02d846129d2b70054c4cae1bbacd1da086
What came out
reply.json · 175 bytes
sha256:c6dda6c180fc…sha256:c6dda6c180fc0de7607a13c903d0d169820997b7b28553e5f7be09591f02f8ec
Fingerprint
sha256:77ddfe3a5644…sha256:77ddfe3a56449915314ab0a2100e9f437704f3a0fbb9d3ca536ec690b23550e8
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":"incomplete","declared_stages":["intake","classify","lookup_account","draft_reply","route"],"emitting_stages":["intake","classify","lookup_account","draft_reply"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1551","digest":"sha256:1b08db916e9ee54fbcaa8a1fec27a3cee47f0639aebeff7e941c27c6f41cac3b","media_type":"application/json","name":"receipt:classify","trust_class":"operator-authored"},{"bytes":"1773","digest":"sha256:403549a30e83b16782fad471ba2c5285741f37b8bd944d013d1e29354c0f73b3","media_type":"application/json","name":"receipt:lookup_account#2","trust_class":"operator-authored"},{"bytes":"52","digest":"sha256:0cbf0962bdf30b725dff848ce84f332ed1365bd9e14e920d0faa89586d55e394","media_type":"application/json","name":"class.json","trust_class":"operator-authored"},{"bytes":"56","digest":"sha256:f189f739829322a02d0196afa44a2d02d846129d2b70054c4cae1bbacd1da086","media_type":"application/json","name":"account.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:9a12e13f3872adabd0023e7a733dde54840bbd74d2cea7ff12206b1740f842f9","id":"reply-templates","kind":"writer","manifest_digest":"sha256:ae24ea13f5f8a06ee81d8764116f28c81b23b5a6fac4e6916c21f8f83d142bfe","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"175","digest":"sha256:c6dda6c180fc0de7607a13c903d0d169820997b7b28553e5f7be09591f02f8ec","media_type":"application/json","name":"reply.json","trust_class":"operator-authored"}],"prev":"sha256:403549a30e83b16782fad471ba2c5285741f37b8bd944d013d1e29354c0f73b3","run_id":"p3-28-t-3-rules1-lookup-retried","stage":{"index":"5","name":"draft_reply"},"time":{"ended":"2026-10-25T12:52:09.617+00:00","started":"2026-10-25T12:52:09.614+00:00"}}
The check's own words
[PASS   ] receipts/05-draft-reply.json: receipt format
[PASS   ] receipts/05-draft-reply.json: bytes are canonical
[PASS   ] receipts/05-draft-reply.json: required field 'format'
[PASS   ] receipts/05-draft-reply.json: required field 'run_id'
[PASS   ] receipts/05-draft-reply.json: required field 'stage'
[PASS   ] receipts/05-draft-reply.json: required field 'prev'
[PASS   ] receipts/05-draft-reply.json: required field 'time'
[PASS   ] receipts/05-draft-reply.json: required field 'coverage'
[PASS   ] receipts/05-draft-reply.json: required field 'emission'
[PASS   ] receipts/05-draft-reply.json: required field 'anchor'
[PASS   ] receipts/05-draft-reply.json: required field 'instrument'
[PASS   ] receipts/05-draft-reply.json: required field 'inputs'
[PASS   ] receipts/05-draft-reply.json: required field 'outputs'
[PASS   ] receipts/05-draft-reply.json: required field 'assertions'
[PASS   ] receipts/05-draft-reply.json: required field 'outcome'
[PASS   ] receipts/05-draft-reply.json: time.started carries its zone
[PASS   ] receipts/05-draft-reply.json: time.ended carries its zone
[PASS   ] receipts/05-draft-reply.json: instrument is named and pinned
[PASS   ] receipts/05-draft-reply.json: inputs/receipt:classify declares a trust class
[PASS   ] receipts/05-draft-reply.json: inputs/receipt:lookup_account#2 declares a trust class
[PASS   ] receipts/05-draft-reply.json: inputs/class.json declares a trust class
[PASS   ] receipts/05-draft-reply.json: inputs/account.json declares a trust class
[PASS   ] receipts/05-draft-reply.json: outputs/reply.json declares a trust class
[PASS   ] receipts/05-draft-reply.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/05-draft-reply.json: coverage declares completeness
[PASS   ] receipts/05-draft-reply.json: anchor state is declared, not absent
[NOT-RUN] receipts/05-draft-reply.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/05-draft-reply.json: digest matches the manifest
[PASS   ] receipts/05-draft-reply.json: chain link
[PASS   ] receipts/05-draft-reply.json: output artifact 'reply.json' matches
Receipt · step 6 of 6 · route
step 6 of 6

route

What went in
receipt:draft_reply · 1946 bytes
reply.json · 175 bytes
What came out
route.json · 39 bytes
When
→

Completed.

Ran as queue-router, version 1.0.0.

Receipt · step 6 of 6 · route
Version
queue-router · 1.0.0
What went in
receipt:draft_reply · 1946 bytes
sha256:77ddfe3a5644…sha256:77ddfe3a56449915314ab0a2100e9f437704f3a0fbb9d3ca536ec690b23550e8
reply.json · 175 bytes
sha256:c6dda6c180fc…sha256:c6dda6c180fc0de7607a13c903d0d169820997b7b28553e5f7be09591f02f8ec
What came out
route.json · 39 bytes
sha256:e124df72b77e…sha256:e124df72b77efb7c432ec57f01a7c17bcabd8d8e00686a6ffbd5b6b5225bbf49
Fingerprint
sha256:da76dc5b9d9b…sha256:da76dc5b9d9b08d37228a995df59db0439a66f2725f4308582ad2637f9027eec
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":["intake","classify","lookup_account","draft_reply","route"],"emitting_stages":["intake","classify","lookup_account","draft_reply","route"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1946","digest":"sha256:77ddfe3a56449915314ab0a2100e9f437704f3a0fbb9d3ca536ec690b23550e8","media_type":"application/json","name":"receipt:draft_reply","trust_class":"operator-authored"},{"bytes":"175","digest":"sha256:c6dda6c180fc0de7607a13c903d0d169820997b7b28553e5f7be09591f02f8ec","media_type":"application/json","name":"reply.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:8aa8e085e584964887afcfff49992c14dc61fb3e7ba3052c8b96bb2745037579","id":"queue-router","kind":"tool","manifest_digest":"sha256:ae24ea13f5f8a06ee81d8764116f28c81b23b5a6fac4e6916c21f8f83d142bfe","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"39","digest":"sha256:e124df72b77efb7c432ec57f01a7c17bcabd8d8e00686a6ffbd5b6b5225bbf49","media_type":"application/json","name":"route.json","trust_class":"operator-authored"}],"prev":"sha256:77ddfe3a56449915314ab0a2100e9f437704f3a0fbb9d3ca536ec690b23550e8","run_id":"p3-28-t-3-rules1-lookup-retried","stage":{"index":"6","name":"route"},"time":{"ended":"2026-10-25T12:52:09.621+00:00","started":"2026-10-25T12:52:09.621+00:00"}}
The check's own words
[PASS   ] receipts/06-route.json: receipt format
[PASS   ] receipts/06-route.json: bytes are canonical
[PASS   ] receipts/06-route.json: required field 'format'
[PASS   ] receipts/06-route.json: required field 'run_id'
[PASS   ] receipts/06-route.json: required field 'stage'
[PASS   ] receipts/06-route.json: required field 'prev'
[PASS   ] receipts/06-route.json: required field 'time'
[PASS   ] receipts/06-route.json: required field 'coverage'
[PASS   ] receipts/06-route.json: required field 'emission'
[PASS   ] receipts/06-route.json: required field 'anchor'
[PASS   ] receipts/06-route.json: required field 'instrument'
[PASS   ] receipts/06-route.json: required field 'inputs'
[PASS   ] receipts/06-route.json: required field 'outputs'
[PASS   ] receipts/06-route.json: required field 'assertions'
[PASS   ] receipts/06-route.json: required field 'outcome'
[PASS   ] receipts/06-route.json: time.started carries its zone
[PASS   ] receipts/06-route.json: time.ended carries its zone
[PASS   ] receipts/06-route.json: instrument is named and pinned
[PASS   ] receipts/06-route.json: inputs/receipt:draft_reply declares a trust class
[PASS   ] receipts/06-route.json: inputs/reply.json declares a trust class
[PASS   ] receipts/06-route.json: outputs/route.json declares a trust class
[PASS   ] receipts/06-route.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/06-route.json: coverage declares completeness
[PASS   ] receipts/06-route.json: 'complete' is consistent with the stage lists
[PASS   ] receipts/06-route.json: anchor state is declared, not absent
[NOT-RUN] receipts/06-route.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/06-route.json: digest matches the manifest
[PASS   ] receipts/06-route.json: chain link
[PASS   ] receipts/06-route.json: output artifact 'route.json' matches

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.

Where this answer came from