Runs / P3 / p3-27-t-1-rules2

5 of 5 declared stages · 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-27-t-1-rules2
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 · 143 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

These verdicts come from the latest comparison of this run against the baseline p3-23-t-1-rules1, stored . Open that comparison

Show as table
NodeStageRecorded position
intakeintake1
classifyclassify2
lookup_accountlookup_account3
draft_replydraft_reply4
routeroute5
FromTo
classifydraft_reply
draft_replyroute
intakeclassify
intakelookup_account
lookup_accountdraft_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 5
→

Checked — it holds.

Completed.
classify
step 2 of 5
→

Checked — it holds.

Completed.
lookup_account
step 3 of 5
→

Checked — it holds.

Completed.
draft_reply
step 4 of 5
→

Checked — it holds.

Completed.
route
step 5 of 5
→

Checked — it holds.

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

intake

What went in
ticket · 119 bytes
What came out
ticket.json · 114 bytes
When
→

Completed.

Ran as ticket-intake, version 1.0.0.

Receipt · step 1 of 5 · intake
Version
ticket-intake · 1.0.0
What went in
ticket · 119 bytes
sha256:e952004f9270…sha256:e952004f9270f47902c53f578c9af306472d0d5e82ac697a61b5fa051bf05c0b
What came out
ticket.json · 114 bytes
sha256:558c358812bc…sha256:558c358812bc6a39c8d18abd2039c13db0f7ea98ad178c2846f089e2cbd3204a
Fingerprint
sha256:ebecf9158302…sha256:ebecf9158302c928e9b9efe57ee410bfc901ab53c328bc0fcd051979b553dcaf
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":"119","digest":"sha256:e952004f9270f47902c53f578c9af306472d0d5e82ac697a61b5fa051bf05c0b","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":"114","digest":"sha256:558c358812bc6a39c8d18abd2039c13db0f7ea98ad178c2846f089e2cbd3204a","media_type":"application/json","name":"ticket.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p3-27-t-1-rules2","stage":{"index":"1","name":"intake"},"time":{"ended":"2026-10-25T12:52:09.513+00:00","started":"2026-10-25T12:52:09.510+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 5 · classify
step 2 of 5

classify

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

Completed.

Ran as keyword-rules, version 1.0.0.

Receipt · step 2 of 5 · classify
Version
keyword-rules · 1.0.0
What went in
receipt:intake · 1233 bytes
sha256:ebecf9158302…sha256:ebecf9158302c928e9b9efe57ee410bfc901ab53c328bc0fcd051979b553dcaf
ticket.json · 114 bytes
sha256:558c358812bc…sha256:558c358812bc6a39c8d18abd2039c13db0f7ea98ad178c2846f089e2cbd3204a
What came out
class.json · 52 bytes
sha256:c41dd63d5fe3…sha256:c41dd63d5fe35c08d6123c0ac84060c19767a116d5ae865a3d534298f2ef50cb
Fingerprint
sha256:f639a32e49d9…sha256:f639a32e49d920f50222a1877b5996a11144f97ea7302c5884f3f8d81784ada2
Settings it ran with
{
 "rules": "2"
}
The receipt, exactly as recorded
{"anchor":{"reason":"a demo record; anchoring is not part of this demo","state":"unanchored"},"assertions":{"constants":{"rules":"2"}},"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":"1233","digest":"sha256:ebecf9158302c928e9b9efe57ee410bfc901ab53c328bc0fcd051979b553dcaf","media_type":"application/json","name":"receipt:intake","trust_class":"operator-authored"},{"bytes":"114","digest":"sha256:558c358812bc6a39c8d18abd2039c13db0f7ea98ad178c2846f089e2cbd3204a","media_type":"application/json","name":"ticket.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:843862faf61bdf7fb55289b5ba11a821ece33f9449c878883fa885c8cc9f02ba","id":"keyword-rules","kind":"classifier","manifest_digest":"sha256:ae24ea13f5f8a06ee81d8764116f28c81b23b5a6fac4e6916c21f8f83d142bfe","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"52","digest":"sha256:c41dd63d5fe35c08d6123c0ac84060c19767a116d5ae865a3d534298f2ef50cb","media_type":"application/json","name":"class.json","trust_class":"operator-authored"}],"prev":"sha256:ebecf9158302c928e9b9efe57ee410bfc901ab53c328bc0fcd051979b553dcaf","run_id":"p3-27-t-1-rules2","stage":{"index":"2","name":"classify"},"time":{"ended":"2026-10-25T12:52:09.521+00:00","started":"2026-10-25T12:52:09.518+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 5 · lookup_account
step 3 of 5

lookup_account

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

Completed.

Ran as account-lookup, version 1.0.0.

Receipt · step 3 of 5 · lookup_account
Version
account-lookup · 1.0.0
What went in
receipt:intake · 1233 bytes
sha256:ebecf9158302…sha256:ebecf9158302c928e9b9efe57ee410bfc901ab53c328bc0fcd051979b553dcaf
ticket.json · 114 bytes
sha256:558c358812bc…sha256:558c358812bc6a39c8d18abd2039c13db0f7ea98ad178c2846f089e2cbd3204a
accounts · 156 bytes
sha256:7d134098b4ad…sha256:7d134098b4ad03d55dea358c8d4f3aed95eb4349d5774d7b8688d38f7747ea43
What came out
account.json · 56 bytes
sha256:7420601e0026…sha256:7420601e002649446751851c1eb60343663c685016a32f60e2d83514ba3e3c24
Fingerprint
sha256:c9766e68b16a…sha256:c9766e68b16a9cfeb8e022eb05e794f1a73a8cf1e2f1a0daca13e45ca3eaf5c4
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"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1233","digest":"sha256:ebecf9158302c928e9b9efe57ee410bfc901ab53c328bc0fcd051979b553dcaf","media_type":"application/json","name":"receipt:intake","trust_class":"operator-authored"},{"bytes":"114","digest":"sha256:558c358812bc6a39c8d18abd2039c13db0f7ea98ad178c2846f089e2cbd3204a","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:7420601e002649446751851c1eb60343663c685016a32f60e2d83514ba3e3c24","media_type":"application/json","name":"account.json","trust_class":"operator-authored"}],"prev":"sha256:f639a32e49d920f50222a1877b5996a11144f97ea7302c5884f3f8d81784ada2","run_id":"p3-27-t-1-rules2","stage":{"index":"3","name":"lookup_account"},"time":{"ended":"2026-10-25T12:52:09.539+00:00","started":"2026-10-25T12:52:09.525+00:00"}}
The check's own words
[PASS   ] receipts/03-lookup-account.json: receipt format
[PASS   ] receipts/03-lookup-account.json: bytes are canonical
[PASS   ] receipts/03-lookup-account.json: required field 'format'
[PASS   ] receipts/03-lookup-account.json: required field 'run_id'
[PASS   ] receipts/03-lookup-account.json: required field 'stage'
[PASS   ] receipts/03-lookup-account.json: required field 'prev'
[PASS   ] receipts/03-lookup-account.json: required field 'time'
[PASS   ] receipts/03-lookup-account.json: required field 'coverage'
[PASS   ] receipts/03-lookup-account.json: required field 'emission'
[PASS   ] receipts/03-lookup-account.json: required field 'anchor'
[PASS   ] receipts/03-lookup-account.json: required field 'instrument'
[PASS   ] receipts/03-lookup-account.json: required field 'inputs'
[PASS   ] receipts/03-lookup-account.json: required field 'outputs'
[PASS   ] receipts/03-lookup-account.json: required field 'assertions'
[PASS   ] receipts/03-lookup-account.json: required field 'outcome'
[PASS   ] receipts/03-lookup-account.json: time.started carries its zone
[PASS   ] receipts/03-lookup-account.json: time.ended carries its zone
[PASS   ] receipts/03-lookup-account.json: instrument is named and pinned
[PASS   ] receipts/03-lookup-account.json: inputs/receipt:intake declares a trust class
[PASS   ] receipts/03-lookup-account.json: inputs/ticket.json declares a trust class
[PASS   ] receipts/03-lookup-account.json: inputs/accounts declares a trust class
[PASS   ] receipts/03-lookup-account.json: outputs/account.json declares a trust class
[PASS   ] receipts/03-lookup-account.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/03-lookup-account.json: coverage declares completeness
[PASS   ] receipts/03-lookup-account.json: anchor state is declared, not absent
[NOT-RUN] receipts/03-lookup-account.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/03-lookup-account.json: digest matches the manifest
[PASS   ] receipts/03-lookup-account.json: chain link
[PASS   ] receipts/03-lookup-account.json: output artifact 'account.json' matches
Receipt · step 4 of 5 · draft_reply
step 4 of 5

draft_reply

What went in
receipt:classify · 1537 bytes
receipt:lookup_account · 1717 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 4 of 5 · draft_reply
Version
reply-templates · 1.0.0
What went in
receipt:classify · 1537 bytes
sha256:f639a32e49d9…sha256:f639a32e49d920f50222a1877b5996a11144f97ea7302c5884f3f8d81784ada2
receipt:lookup_account · 1717 bytes
sha256:c9766e68b16a…sha256:c9766e68b16a9cfeb8e022eb05e794f1a73a8cf1e2f1a0daca13e45ca3eaf5c4
class.json · 52 bytes
sha256:c41dd63d5fe3…sha256:c41dd63d5fe35c08d6123c0ac84060c19767a116d5ae865a3d534298f2ef50cb
account.json · 56 bytes
sha256:7420601e0026…sha256:7420601e002649446751851c1eb60343663c685016a32f60e2d83514ba3e3c24
What came out
reply.json · 175 bytes
sha256:93a951e199f0…sha256:93a951e199f0b2327cab451d48071ae9974d44b2a8639b5dfe7b73fda9e1f5c2
Fingerprint
sha256:4c974e037dc4…sha256:4c974e037dc41db08e17ae5b3bdc5564fa342954ee1e44276d11e7871b8cd4dd
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":"1537","digest":"sha256:f639a32e49d920f50222a1877b5996a11144f97ea7302c5884f3f8d81784ada2","media_type":"application/json","name":"receipt:classify","trust_class":"operator-authored"},{"bytes":"1717","digest":"sha256:c9766e68b16a9cfeb8e022eb05e794f1a73a8cf1e2f1a0daca13e45ca3eaf5c4","media_type":"application/json","name":"receipt:lookup_account","trust_class":"operator-authored"},{"bytes":"52","digest":"sha256:c41dd63d5fe35c08d6123c0ac84060c19767a116d5ae865a3d534298f2ef50cb","media_type":"application/json","name":"class.json","trust_class":"operator-authored"},{"bytes":"56","digest":"sha256:7420601e002649446751851c1eb60343663c685016a32f60e2d83514ba3e3c24","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:93a951e199f0b2327cab451d48071ae9974d44b2a8639b5dfe7b73fda9e1f5c2","media_type":"application/json","name":"reply.json","trust_class":"operator-authored"}],"prev":"sha256:c9766e68b16a9cfeb8e022eb05e794f1a73a8cf1e2f1a0daca13e45ca3eaf5c4","run_id":"p3-27-t-1-rules2","stage":{"index":"4","name":"draft_reply"},"time":{"ended":"2026-10-25T12:52:09.550+00:00","started":"2026-10-25T12:52:09.543+00:00"}}
The check's own words
[PASS   ] receipts/04-draft-reply.json: receipt format
[PASS   ] receipts/04-draft-reply.json: bytes are canonical
[PASS   ] receipts/04-draft-reply.json: required field 'format'
[PASS   ] receipts/04-draft-reply.json: required field 'run_id'
[PASS   ] receipts/04-draft-reply.json: required field 'stage'
[PASS   ] receipts/04-draft-reply.json: required field 'prev'
[PASS   ] receipts/04-draft-reply.json: required field 'time'
[PASS   ] receipts/04-draft-reply.json: required field 'coverage'
[PASS   ] receipts/04-draft-reply.json: required field 'emission'
[PASS   ] receipts/04-draft-reply.json: required field 'anchor'
[PASS   ] receipts/04-draft-reply.json: required field 'instrument'
[PASS   ] receipts/04-draft-reply.json: required field 'inputs'
[PASS   ] receipts/04-draft-reply.json: required field 'outputs'
[PASS   ] receipts/04-draft-reply.json: required field 'assertions'
[PASS   ] receipts/04-draft-reply.json: required field 'outcome'
[PASS   ] receipts/04-draft-reply.json: time.started carries its zone
[PASS   ] receipts/04-draft-reply.json: time.ended carries its zone
[PASS   ] receipts/04-draft-reply.json: instrument is named and pinned
[PASS   ] receipts/04-draft-reply.json: inputs/receipt:classify declares a trust class
[PASS   ] receipts/04-draft-reply.json: inputs/receipt:lookup_account declares a trust class
[PASS   ] receipts/04-draft-reply.json: inputs/class.json declares a trust class
[PASS   ] receipts/04-draft-reply.json: inputs/account.json declares a trust class
[PASS   ] receipts/04-draft-reply.json: outputs/reply.json declares a trust class
[PASS   ] receipts/04-draft-reply.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/04-draft-reply.json: coverage declares completeness
[PASS   ] receipts/04-draft-reply.json: anchor state is declared, not absent
[NOT-RUN] receipts/04-draft-reply.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/04-draft-reply.json: digest matches the manifest
[PASS   ] receipts/04-draft-reply.json: chain link
[PASS   ] receipts/04-draft-reply.json: output artifact 'reply.json' matches
Receipt · step 5 of 5 · route
step 5 of 5

route

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

Completed.

Ran as queue-router, version 1.0.0.

Receipt · step 5 of 5 · route
Version
queue-router · 1.0.0
What went in
receipt:draft_reply · 1929 bytes
sha256:4c974e037dc4…sha256:4c974e037dc41db08e17ae5b3bdc5564fa342954ee1e44276d11e7871b8cd4dd
reply.json · 175 bytes
sha256:93a951e199f0…sha256:93a951e199f0b2327cab451d48071ae9974d44b2a8639b5dfe7b73fda9e1f5c2
What came out
route.json · 39 bytes
sha256:df9d863c8931…sha256:df9d863c893160cd0e108a6945077733890b33bb4aa0ec01c559b37b0c9a376e
Fingerprint
sha256:cfab49ce08bd…sha256:cfab49ce08bdc7f9e6a9c4a56387aa4106ffc24b2b9e0fab718c1669fee273c7
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":"1929","digest":"sha256:4c974e037dc41db08e17ae5b3bdc5564fa342954ee1e44276d11e7871b8cd4dd","media_type":"application/json","name":"receipt:draft_reply","trust_class":"operator-authored"},{"bytes":"175","digest":"sha256:93a951e199f0b2327cab451d48071ae9974d44b2a8639b5dfe7b73fda9e1f5c2","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:df9d863c893160cd0e108a6945077733890b33bb4aa0ec01c559b37b0c9a376e","media_type":"application/json","name":"route.json","trust_class":"operator-authored"}],"prev":"sha256:4c974e037dc41db08e17ae5b3bdc5564fa342954ee1e44276d11e7871b8cd4dd","run_id":"p3-27-t-1-rules2","stage":{"index":"5","name":"route"},"time":{"ended":"2026-10-25T12:52:09.560+00:00","started":"2026-10-25T12:52:09.556+00:00"}}
The check's own words
[PASS   ] receipts/05-route.json: receipt format
[PASS   ] receipts/05-route.json: bytes are canonical
[PASS   ] receipts/05-route.json: required field 'format'
[PASS   ] receipts/05-route.json: required field 'run_id'
[PASS   ] receipts/05-route.json: required field 'stage'
[PASS   ] receipts/05-route.json: required field 'prev'
[PASS   ] receipts/05-route.json: required field 'time'
[PASS   ] receipts/05-route.json: required field 'coverage'
[PASS   ] receipts/05-route.json: required field 'emission'
[PASS   ] receipts/05-route.json: required field 'anchor'
[PASS   ] receipts/05-route.json: required field 'instrument'
[PASS   ] receipts/05-route.json: required field 'inputs'
[PASS   ] receipts/05-route.json: required field 'outputs'
[PASS   ] receipts/05-route.json: required field 'assertions'
[PASS   ] receipts/05-route.json: required field 'outcome'
[PASS   ] receipts/05-route.json: time.started carries its zone
[PASS   ] receipts/05-route.json: time.ended carries its zone
[PASS   ] receipts/05-route.json: instrument is named and pinned
[PASS   ] receipts/05-route.json: inputs/receipt:draft_reply declares a trust class
[PASS   ] receipts/05-route.json: inputs/reply.json declares a trust class
[PASS   ] receipts/05-route.json: outputs/route.json declares a trust class
[PASS   ] receipts/05-route.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/05-route.json: coverage declares completeness
[PASS   ] receipts/05-route.json: 'complete' is consistent with the stage lists
[PASS   ] receipts/05-route.json: anchor state is declared, not absent
[NOT-RUN] receipts/05-route.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/05-route.json: digest matches the manifest
[PASS   ] receipts/05-route.json: chain link
[PASS   ] receipts/05-route.json: output artifact 'route.json' matches

Where it changed

It changed — here is the step where.

The step
classify

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