Runs / P5 / p5-34-pump-firmware-changed

p5-34-pump-firmware-changed · P5

No difference found vs p5-32-pump-baseline

6 of 6 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
p5-34-pump-firmware-changed
ran
→
What it was for
readings → calibrate → features → anomaly_check → decision → work_order
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 · 165 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 p5-32-pump-baseline, stored . Open that comparison

recorded as a straight line (no graph recorded)

Show as table
NodeStageRecorded position
readingsreadings1
decisiondecision5
calibratecalibrate2
work_orderwork_order6
featuresfeatures3
anomaly_checkanomaly_check4
FromTo
anomaly_checkdecision
calibratefeatures
decisionwork_order
featuresanomaly_check
readingscalibrate

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

Checked — it holds.

Completed.
calibrate
step 2 of 6
→

Checked — it holds.

Completed.
features
step 3 of 6
→

Checked — it holds.

Completed.
anomaly_check
step 4 of 6
→

Checked — it holds.

Completed.
decision
step 5 of 6
→

Checked — it holds.

Completed.
work_order
step 6 of 6
→

Checked — it holds.

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

readings

What went in
readings.csv · 403 bytes
What came out
readings.json · 314 bytes
When
→

Completed.

Ran as vibration-sensor-reader, version 1.0.0.

Receipt · step 1 of 6 · readings
Version
vibration-sensor-reader · 1.0.0
What went in
readings.csv · 403 bytes
sha256:b31a69c8c7c1…sha256:b31a69c8c7c1375c990a5ccada7f973ecc3ec763ec1e462785999068e07fab82
What came out
readings.json · 314 bytes
sha256:9789629fd791…sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c
Fingerprint
sha256:26c3a9ec6e75…sha256:26c3a9ec6e75f155be360dcd9883b8574b13c0fa7d3bd3eaeacf461b5f91a3d6
Settings it ran with
{
 "data": "invented example data",
 "sensor_firmware": "3.2"
}
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","sensor_firmware":"3.2"}},"coverage":{"boundaries":[],"completeness":"incomplete","declared_stages":["readings","calibrate","features","anomaly_check","decision","work_order"],"emitting_stages":["readings"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"403","digest":"sha256:b31a69c8c7c1375c990a5ccada7f973ecc3ec763ec1e462785999068e07fab82","media_type":"text/csv","name":"readings.csv","trust_class":"externally-sourced"}],"instrument":{"config_digest":"sha256:e7480a040a25f096a053d9fd7f7d5c203382afb7df5001578b3af87748d10469","id":"vibration-sensor-reader","kind":"reader","manifest_digest":"sha256:9ae815e98180e82a3768279bf19db85c648daf69facde99cfbd4dbb3a18f2d0f","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"314","digest":"sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c","media_type":"application/json","name":"readings.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p5-34-pump-firmware-changed","stage":{"index":"1","name":"readings"},"time":{"ended":"2026-10-25T12:52:09.990+00:00","started":"2026-10-25T12:52:09.985+00:00"}}
The check's own words
[PASS   ] receipts/01-readings.json: receipt format
[PASS   ] receipts/01-readings.json: bytes are canonical
[PASS   ] receipts/01-readings.json: required field 'format'
[PASS   ] receipts/01-readings.json: required field 'run_id'
[PASS   ] receipts/01-readings.json: required field 'stage'
[PASS   ] receipts/01-readings.json: required field 'prev'
[PASS   ] receipts/01-readings.json: required field 'time'
[PASS   ] receipts/01-readings.json: required field 'coverage'
[PASS   ] receipts/01-readings.json: required field 'emission'
[PASS   ] receipts/01-readings.json: required field 'anchor'
[PASS   ] receipts/01-readings.json: required field 'instrument'
[PASS   ] receipts/01-readings.json: required field 'inputs'
[PASS   ] receipts/01-readings.json: required field 'outputs'
[PASS   ] receipts/01-readings.json: required field 'assertions'
[PASS   ] receipts/01-readings.json: required field 'outcome'
[PASS   ] receipts/01-readings.json: time.started carries its zone
[PASS   ] receipts/01-readings.json: time.ended carries its zone
[PASS   ] receipts/01-readings.json: instrument is named and pinned
[PASS   ] receipts/01-readings.json: inputs/readings.csv declares a trust class
[PASS   ] receipts/01-readings.json: outputs/readings.json declares a trust class
[PASS   ] receipts/01-readings.json: assertions name their constants
[PASS   ] receipts/01-readings.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/01-readings.json: coverage declares completeness
[PASS   ] receipts/01-readings.json: anchor state is declared, not absent
[NOT-RUN] receipts/01-readings.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/01-readings.json: digest matches the manifest
[PASS   ] receipts/01-readings.json: chain link
[PASS   ] receipts/01-readings.json: output artifact 'readings.json' matches
Receipt · step 2 of 6 · calibrate
step 2 of 6

calibrate

What went in
receipt:readings · 1342 bytes
readings.json · 314 bytes
What came out
calibrated.json · 314 bytes
When
→

Completed.

Ran as sensor-calibration, version 1.0.0.

Receipt · step 2 of 6 · calibrate
Version
sensor-calibration · 1.0.0
What went in
receipt:readings · 1342 bytes
sha256:26c3a9ec6e75…sha256:26c3a9ec6e75f155be360dcd9883b8574b13c0fa7d3bd3eaeacf461b5f91a3d6
readings.json · 314 bytes
sha256:9789629fd791…sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c
What came out
calibrated.json · 314 bytes
sha256:9789629fd791…sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c
Fingerprint
sha256:e2038e63809d…sha256:e2038e63809d0b1f8626b12abc4b54f9a28f0891257c456f8333c51375ef9a82
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":["readings","calibrate","features","anomaly_check","decision","work_order"],"emitting_stages":["readings","calibrate"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1342","digest":"sha256:26c3a9ec6e75f155be360dcd9883b8574b13c0fa7d3bd3eaeacf461b5f91a3d6","media_type":"application/json","name":"receipt:readings","trust_class":"operator-authored"},{"bytes":"314","digest":"sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c","media_type":"application/json","name":"readings.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:2ab67ce494b5a7f019cd1d1673f16547a7402d351fb101b36b5a27b2a6310d2d","id":"sensor-calibration","kind":"transform","manifest_digest":"sha256:9ae815e98180e82a3768279bf19db85c648daf69facde99cfbd4dbb3a18f2d0f","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"314","digest":"sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c","media_type":"application/json","name":"calibrated.json","trust_class":"operator-authored"}],"prev":"sha256:26c3a9ec6e75f155be360dcd9883b8574b13c0fa7d3bd3eaeacf461b5f91a3d6","run_id":"p5-34-pump-firmware-changed","stage":{"index":"2","name":"calibrate"},"time":{"ended":"2026-10-25T12:52:09.998+00:00","started":"2026-10-25T12:52:09.994+00:00"}}
The check's own words
[PASS   ] receipts/02-calibrate.json: receipt format
[PASS   ] receipts/02-calibrate.json: bytes are canonical
[PASS   ] receipts/02-calibrate.json: required field 'format'
[PASS   ] receipts/02-calibrate.json: required field 'run_id'
[PASS   ] receipts/02-calibrate.json: required field 'stage'
[PASS   ] receipts/02-calibrate.json: required field 'prev'
[PASS   ] receipts/02-calibrate.json: required field 'time'
[PASS   ] receipts/02-calibrate.json: required field 'coverage'
[PASS   ] receipts/02-calibrate.json: required field 'emission'
[PASS   ] receipts/02-calibrate.json: required field 'anchor'
[PASS   ] receipts/02-calibrate.json: required field 'instrument'
[PASS   ] receipts/02-calibrate.json: required field 'inputs'
[PASS   ] receipts/02-calibrate.json: required field 'outputs'
[PASS   ] receipts/02-calibrate.json: required field 'assertions'
[PASS   ] receipts/02-calibrate.json: required field 'outcome'
[PASS   ] receipts/02-calibrate.json: time.started carries its zone
[PASS   ] receipts/02-calibrate.json: time.ended carries its zone
[PASS   ] receipts/02-calibrate.json: instrument is named and pinned
[PASS   ] receipts/02-calibrate.json: inputs/receipt:readings declares a trust class
[PASS   ] receipts/02-calibrate.json: inputs/readings.json declares a trust class
[PASS   ] receipts/02-calibrate.json: outputs/calibrated.json declares a trust class
[PASS   ] receipts/02-calibrate.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/02-calibrate.json: coverage declares completeness
[PASS   ] receipts/02-calibrate.json: anchor state is declared, not absent
[NOT-RUN] receipts/02-calibrate.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/02-calibrate.json: digest matches the manifest
[PASS   ] receipts/02-calibrate.json: chain link
[PASS   ] receipts/02-calibrate.json: output artifact 'calibrated.json' matches
Receipt · step 3 of 6 · features
step 3 of 6

features

What went in
receipt:calibrate · 1556 bytes
calibrated.json · 314 bytes
What came out
features.json · 32 bytes
When
→

Completed.

Ran as vibration-features, version 1.0.0.

Receipt · step 3 of 6 · features
Version
vibration-features · 1.0.0
What went in
receipt:calibrate · 1556 bytes
sha256:e2038e63809d…sha256:e2038e63809d0b1f8626b12abc4b54f9a28f0891257c456f8333c51375ef9a82
calibrated.json · 314 bytes
sha256:9789629fd791…sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c
What came out
features.json · 32 bytes
sha256:0070711bff29…sha256:0070711bff299d365c310c38768ae604aa08355f7520bd8d0d316a48d250f3a3
Fingerprint
sha256:593c2fcaada8…sha256:593c2fcaada8810613b6843ac95073ef5afed6ddb50558e1a90d5eb9c8d075e3
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":["readings","calibrate","features","anomaly_check","decision","work_order"],"emitting_stages":["readings","calibrate","features"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1556","digest":"sha256:e2038e63809d0b1f8626b12abc4b54f9a28f0891257c456f8333c51375ef9a82","media_type":"application/json","name":"receipt:calibrate","trust_class":"operator-authored"},{"bytes":"314","digest":"sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9c","media_type":"application/json","name":"calibrated.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:6732cb4e5b882f532d057f964abd4bb318cd286b6217b38542ec6dba20433daf","id":"vibration-features","kind":"transform","manifest_digest":"sha256:9ae815e98180e82a3768279bf19db85c648daf69facde99cfbd4dbb3a18f2d0f","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"32","digest":"sha256:0070711bff299d365c310c38768ae604aa08355f7520bd8d0d316a48d250f3a3","media_type":"application/json","name":"features.json","trust_class":"operator-authored"}],"prev":"sha256:e2038e63809d0b1f8626b12abc4b54f9a28f0891257c456f8333c51375ef9a82","run_id":"p5-34-pump-firmware-changed","stage":{"index":"3","name":"features"},"time":{"ended":"2026-10-25T12:52:10.037+00:00","started":"2026-10-25T12:52:10.002+00:00"}}
The check's own words
[PASS   ] receipts/03-features.json: receipt format
[PASS   ] receipts/03-features.json: bytes are canonical
[PASS   ] receipts/03-features.json: required field 'format'
[PASS   ] receipts/03-features.json: required field 'run_id'
[PASS   ] receipts/03-features.json: required field 'stage'
[PASS   ] receipts/03-features.json: required field 'prev'
[PASS   ] receipts/03-features.json: required field 'time'
[PASS   ] receipts/03-features.json: required field 'coverage'
[PASS   ] receipts/03-features.json: required field 'emission'
[PASS   ] receipts/03-features.json: required field 'anchor'
[PASS   ] receipts/03-features.json: required field 'instrument'
[PASS   ] receipts/03-features.json: required field 'inputs'
[PASS   ] receipts/03-features.json: required field 'outputs'
[PASS   ] receipts/03-features.json: required field 'assertions'
[PASS   ] receipts/03-features.json: required field 'outcome'
[PASS   ] receipts/03-features.json: time.started carries its zone
[PASS   ] receipts/03-features.json: time.ended carries its zone
[PASS   ] receipts/03-features.json: instrument is named and pinned
[PASS   ] receipts/03-features.json: inputs/receipt:calibrate declares a trust class
[PASS   ] receipts/03-features.json: inputs/calibrated.json declares a trust class
[PASS   ] receipts/03-features.json: outputs/features.json declares a trust class
[PASS   ] receipts/03-features.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/03-features.json: coverage declares completeness
[PASS   ] receipts/03-features.json: anchor state is declared, not absent
[NOT-RUN] receipts/03-features.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/03-features.json: digest matches the manifest
[PASS   ] receipts/03-features.json: chain link
[PASS   ] receipts/03-features.json: output artifact 'features.json' matches
Receipt · step 4 of 6 · anomaly_check
step 4 of 6

anomaly_check

What went in
receipt:features · 1566 bytes
features.json · 32 bytes
What came out
anomaly.json · 48 bytes
When
→

Completed.

Ran as rms-threshold, version 1.0.0.

Receipt · step 4 of 6 · anomaly_check
Version
rms-threshold · 1.0.0
What went in
receipt:features · 1566 bytes
sha256:593c2fcaada8…sha256:593c2fcaada8810613b6843ac95073ef5afed6ddb50558e1a90d5eb9c8d075e3
features.json · 32 bytes
sha256:0070711bff29…sha256:0070711bff299d365c310c38768ae604aa08355f7520bd8d0d316a48d250f3a3
What came out
anomaly.json · 48 bytes
sha256:0323cedc75fb…sha256:0323cedc75fb289b599a7e7a5a1dcf200b61407385d3e4b07c39c1f29f4d42c1
Fingerprint
sha256:a89d1d147525…sha256:a89d1d147525c34677a6c39c77a15914dbd60e106efe611bf1ca847f97cc1e42
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":["readings","calibrate","features","anomaly_check","decision","work_order"],"emitting_stages":["readings","calibrate","features","anomaly_check"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1566","digest":"sha256:593c2fcaada8810613b6843ac95073ef5afed6ddb50558e1a90d5eb9c8d075e3","media_type":"application/json","name":"receipt:features","trust_class":"operator-authored"},{"bytes":"32","digest":"sha256:0070711bff299d365c310c38768ae604aa08355f7520bd8d0d316a48d250f3a3","media_type":"application/json","name":"features.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:6e8b380e81f16a07d404afe301b6a6a1229c2a7f57423456bad889eba5e43eb4","id":"rms-threshold","kind":"checker","manifest_digest":"sha256:9ae815e98180e82a3768279bf19db85c648daf69facde99cfbd4dbb3a18f2d0f","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"48","digest":"sha256:0323cedc75fb289b599a7e7a5a1dcf200b61407385d3e4b07c39c1f29f4d42c1","media_type":"application/json","name":"anomaly.json","trust_class":"operator-authored"}],"prev":"sha256:593c2fcaada8810613b6843ac95073ef5afed6ddb50558e1a90d5eb9c8d075e3","run_id":"p5-34-pump-firmware-changed","stage":{"index":"4","name":"anomaly_check"},"time":{"ended":"2026-10-25T12:52:10.047+00:00","started":"2026-10-25T12:52:10.043+00:00"}}
The check's own words
[PASS   ] receipts/04-anomaly-check.json: receipt format
[PASS   ] receipts/04-anomaly-check.json: bytes are canonical
[PASS   ] receipts/04-anomaly-check.json: required field 'format'
[PASS   ] receipts/04-anomaly-check.json: required field 'run_id'
[PASS   ] receipts/04-anomaly-check.json: required field 'stage'
[PASS   ] receipts/04-anomaly-check.json: required field 'prev'
[PASS   ] receipts/04-anomaly-check.json: required field 'time'
[PASS   ] receipts/04-anomaly-check.json: required field 'coverage'
[PASS   ] receipts/04-anomaly-check.json: required field 'emission'
[PASS   ] receipts/04-anomaly-check.json: required field 'anchor'
[PASS   ] receipts/04-anomaly-check.json: required field 'instrument'
[PASS   ] receipts/04-anomaly-check.json: required field 'inputs'
[PASS   ] receipts/04-anomaly-check.json: required field 'outputs'
[PASS   ] receipts/04-anomaly-check.json: required field 'assertions'
[PASS   ] receipts/04-anomaly-check.json: required field 'outcome'
[PASS   ] receipts/04-anomaly-check.json: time.started carries its zone
[PASS   ] receipts/04-anomaly-check.json: time.ended carries its zone
[PASS   ] receipts/04-anomaly-check.json: instrument is named and pinned
[PASS   ] receipts/04-anomaly-check.json: inputs/receipt:features declares a trust class
[PASS   ] receipts/04-anomaly-check.json: inputs/features.json declares a trust class
[PASS   ] receipts/04-anomaly-check.json: outputs/anomaly.json declares a trust class
[PASS   ] receipts/04-anomaly-check.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/04-anomaly-check.json: coverage declares completeness
[PASS   ] receipts/04-anomaly-check.json: anchor state is declared, not absent
[NOT-RUN] receipts/04-anomaly-check.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/04-anomaly-check.json: digest matches the manifest
[PASS   ] receipts/04-anomaly-check.json: chain link
[PASS   ] receipts/04-anomaly-check.json: output artifact 'anomaly.json' matches
Receipt · step 5 of 6 · decision
step 5 of 6

decision

What went in
receipt:anomaly_check · 1575 bytes
anomaly.json · 48 bytes
What came out
decision.json · 92 bytes
When
→

Completed.

Ran as maintenance-decision, version 1.0.0.

Receipt · step 5 of 6 · decision
Version
maintenance-decision · 1.0.0
What went in
receipt:anomaly_check · 1575 bytes
sha256:a89d1d147525…sha256:a89d1d147525c34677a6c39c77a15914dbd60e106efe611bf1ca847f97cc1e42
anomaly.json · 48 bytes
sha256:0323cedc75fb…sha256:0323cedc75fb289b599a7e7a5a1dcf200b61407385d3e4b07c39c1f29f4d42c1
What came out
decision.json · 92 bytes
sha256:57336b041c55…sha256:57336b041c552b1d3447ebb2272013db2c6c849b3f341b4df23106205308c56e
Fingerprint
sha256:d506117a60de…sha256:d506117a60dea8d22a0cbe0c517b267146cf4d2a49834a515178af078861405b
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":["readings","calibrate","features","anomaly_check","decision","work_order"],"emitting_stages":["readings","calibrate","features","anomaly_check","decision"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1575","digest":"sha256:a89d1d147525c34677a6c39c77a15914dbd60e106efe611bf1ca847f97cc1e42","media_type":"application/json","name":"receipt:anomaly_check","trust_class":"operator-authored"},{"bytes":"48","digest":"sha256:0323cedc75fb289b599a7e7a5a1dcf200b61407385d3e4b07c39c1f29f4d42c1","media_type":"application/json","name":"anomaly.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:acef87cfcdad05f33a9dc2dbf97f86a1c5fa1106339c0708f98a89d9187a0dcd","id":"maintenance-decision","kind":"rule","manifest_digest":"sha256:9ae815e98180e82a3768279bf19db85c648daf69facde99cfbd4dbb3a18f2d0f","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"92","digest":"sha256:57336b041c552b1d3447ebb2272013db2c6c849b3f341b4df23106205308c56e","media_type":"application/json","name":"decision.json","trust_class":"operator-authored"}],"prev":"sha256:a89d1d147525c34677a6c39c77a15914dbd60e106efe611bf1ca847f97cc1e42","run_id":"p5-34-pump-firmware-changed","stage":{"index":"5","name":"decision"},"time":{"ended":"2026-10-25T12:52:10.056+00:00","started":"2026-10-25T12:52:10.054+00:00"}}
The check's own words
[PASS   ] receipts/05-decision.json: receipt format
[PASS   ] receipts/05-decision.json: bytes are canonical
[PASS   ] receipts/05-decision.json: required field 'format'
[PASS   ] receipts/05-decision.json: required field 'run_id'
[PASS   ] receipts/05-decision.json: required field 'stage'
[PASS   ] receipts/05-decision.json: required field 'prev'
[PASS   ] receipts/05-decision.json: required field 'time'
[PASS   ] receipts/05-decision.json: required field 'coverage'
[PASS   ] receipts/05-decision.json: required field 'emission'
[PASS   ] receipts/05-decision.json: required field 'anchor'
[PASS   ] receipts/05-decision.json: required field 'instrument'
[PASS   ] receipts/05-decision.json: required field 'inputs'
[PASS   ] receipts/05-decision.json: required field 'outputs'
[PASS   ] receipts/05-decision.json: required field 'assertions'
[PASS   ] receipts/05-decision.json: required field 'outcome'
[PASS   ] receipts/05-decision.json: time.started carries its zone
[PASS   ] receipts/05-decision.json: time.ended carries its zone
[PASS   ] receipts/05-decision.json: instrument is named and pinned
[PASS   ] receipts/05-decision.json: inputs/receipt:anomaly_check declares a trust class
[PASS   ] receipts/05-decision.json: inputs/anomaly.json declares a trust class
[PASS   ] receipts/05-decision.json: outputs/decision.json declares a trust class
[PASS   ] receipts/05-decision.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/05-decision.json: coverage declares completeness
[PASS   ] receipts/05-decision.json: anchor state is declared, not absent
[NOT-RUN] receipts/05-decision.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/05-decision.json: digest matches the manifest
[PASS   ] receipts/05-decision.json: chain link
[PASS   ] receipts/05-decision.json: output artifact 'decision.json' matches
Receipt · step 6 of 6 · work_order
step 6 of 6

work_order

What went in
receipt:decision · 1590 bytes
decision.json · 92 bytes
What came out
work_order.json · 91 bytes
When
→

Completed.

Ran as maintenance-window-policy, version 1.0.0.

Receipt · step 6 of 6 · work_order
Version
maintenance-window-policy · 1.0.0
What went in
receipt:decision · 1590 bytes
sha256:d506117a60de…sha256:d506117a60dea8d22a0cbe0c517b267146cf4d2a49834a515178af078861405b
decision.json · 92 bytes
sha256:57336b041c55…sha256:57336b041c552b1d3447ebb2272013db2c6c849b3f341b4df23106205308c56e
What came out
work_order.json · 91 bytes
sha256:1e28a03aee38…sha256:1e28a03aee388ea93eaa1060c7d6d12ee119483844878fb07738ab4fb52e7ea1
Fingerprint
sha256:ab4758f63382…sha256:ab4758f63382c6947d1cdde7d19f01c1c20710676265a8173e51fb390385c178
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":["readings","calibrate","features","anomaly_check","decision","work_order"],"emitting_stages":["readings","calibrate","features","anomaly_check","decision","work_order"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1590","digest":"sha256:d506117a60dea8d22a0cbe0c517b267146cf4d2a49834a515178af078861405b","media_type":"application/json","name":"receipt:decision","trust_class":"operator-authored"},{"bytes":"92","digest":"sha256:57336b041c552b1d3447ebb2272013db2c6c849b3f341b4df23106205308c56e","media_type":"application/json","name":"decision.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:6958aced470692ea9ffd9a2e525cdd0796ffd81276e4c207ed8e5efe528776b9","id":"maintenance-window-policy","kind":"policy","manifest_digest":"sha256:9ae815e98180e82a3768279bf19db85c648daf69facde99cfbd4dbb3a18f2d0f","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"91","digest":"sha256:1e28a03aee388ea93eaa1060c7d6d12ee119483844878fb07738ab4fb52e7ea1","media_type":"application/json","name":"work_order.json","trust_class":"operator-authored"}],"prev":"sha256:d506117a60dea8d22a0cbe0c517b267146cf4d2a49834a515178af078861405b","run_id":"p5-34-pump-firmware-changed","stage":{"index":"6","name":"work_order"},"time":{"ended":"2026-10-25T12:52:10.065+00:00","started":"2026-10-25T12:52:10.062+00:00"}}
The check's own words
[PASS   ] receipts/06-work-order.json: receipt format
[PASS   ] receipts/06-work-order.json: bytes are canonical
[PASS   ] receipts/06-work-order.json: required field 'format'
[PASS   ] receipts/06-work-order.json: required field 'run_id'
[PASS   ] receipts/06-work-order.json: required field 'stage'
[PASS   ] receipts/06-work-order.json: required field 'prev'
[PASS   ] receipts/06-work-order.json: required field 'time'
[PASS   ] receipts/06-work-order.json: required field 'coverage'
[PASS   ] receipts/06-work-order.json: required field 'emission'
[PASS   ] receipts/06-work-order.json: required field 'anchor'
[PASS   ] receipts/06-work-order.json: required field 'instrument'
[PASS   ] receipts/06-work-order.json: required field 'inputs'
[PASS   ] receipts/06-work-order.json: required field 'outputs'
[PASS   ] receipts/06-work-order.json: required field 'assertions'
[PASS   ] receipts/06-work-order.json: required field 'outcome'
[PASS   ] receipts/06-work-order.json: time.started carries its zone
[PASS   ] receipts/06-work-order.json: time.ended carries its zone
[PASS   ] receipts/06-work-order.json: instrument is named and pinned
[PASS   ] receipts/06-work-order.json: inputs/receipt:decision declares a trust class
[PASS   ] receipts/06-work-order.json: inputs/decision.json declares a trust class
[PASS   ] receipts/06-work-order.json: outputs/work_order.json declares a trust class
[PASS   ] receipts/06-work-order.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/06-work-order.json: coverage declares completeness
[PASS   ] receipts/06-work-order.json: 'complete' is consistent with the stage lists
[PASS   ] receipts/06-work-order.json: anchor state is declared, not absent
[NOT-RUN] receipts/06-work-order.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/06-work-order.json: digest matches the manifest
[PASS   ] receipts/06-work-order.json: chain link
[PASS   ] receipts/06-work-order.json: output artifact 'work_order.json' matches

Where it changed

The two runs are the same at every step.

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