readings
readings.csv· 403 bytes
readings.json· 314 bytes
Completed.
Ran as vibration-sensor-reader
, version 1.0.0
.
Checked — it holds.
Held under the checks that ran; not anchored, so it can't be shown to be the record that was made.
Receipt · step 1 of 6 · readings
vibration-sensor-reader·
1.0.0
readings.csv· 403 bytes
sha256:b31a69c8c7c1…
sha256:b31a69c8c7c1375c990a5ccada7f973ecc3ec763ec1e462785999068e07fab82readings.json· 314 bytes
sha256:9789629fd791…
sha256:9789629fd7912416eaa3ab6f0dda4447d15df9cc6c24e4f93fbf6ec5a30d1a9csha256:c5abbfdc263d…
sha256:c5abbfdc263d9fbfaa0f05df74c8d65e1af86ffcb4d64361f8d4542c7d455255{
"data": "invented example data",
"sensor_firmware": "3.1"
}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.1"}},"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-33-pump-offset-changed","stage":{"index":"1","name":"readings"},"time":{"ended":"2026-10-25T12:52:09.906+00:00","started":"2026-10-25T12:52:09.902+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