measure
frame.json· 146 bytes
level.json· 22 bytes
Completed.
Ran as fill-level-camera
, 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 3 · measure
fill-level-camera·
1.0.0
frame.json· 146 bytes
sha256:796f68e51892…
sha256:796f68e51892a8a5297b9dcad339478eb31eb8047a26eb62fe5d648cc887806flevel.json· 22 bytes
sha256:f3f8ab19f47d…
sha256:f3f8ab19f47da7524400f7ee7525ca4c1db6afd481adb063bde9e75035b1925esha256:db0000656152…
sha256:db00006561528d1e2bc08d6a49771b86f9d8a8dbe8a9debc650d2ab889a83f75{
"data": "invented example data"
}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"}},"coverage":{"boundaries":[],"completeness":"incomplete","declared_stages":["measure","classify","reject_command"],"emitting_stages":["measure"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"146","digest":"sha256:796f68e51892a8a5297b9dcad339478eb31eb8047a26eb62fe5d648cc887806f","media_type":"application/json","name":"frame.json","trust_class":"externally-sourced"}],"instrument":{"config_digest":"sha256:459d3946e4eede9afd932cd4a4dc6d89adbaaa148aef5c47d3943dbd9a05516d","id":"fill-level-camera","kind":"measurement","manifest_digest":"sha256:1699f98ac5cde3962ce813773ab07f795fe38fef851d097a4ace9534c6016016","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"22","digest":"sha256:f3f8ab19f47da7524400f7ee7525ca4c1db6afd481adb063bde9e75035b1925e","media_type":"application/json","name":"level.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p6-38-fill-below-reject-line","stage":{"index":"1","name":"measure"},"time":{"ended":"2026-10-25T12:52:10.333+00:00","started":"2026-10-25T12:52:10.317+00:00"}}The check's own words
[PASS ] receipts/01-measure.json: receipt format [PASS ] receipts/01-measure.json: bytes are canonical [PASS ] receipts/01-measure.json: required field 'format' [PASS ] receipts/01-measure.json: required field 'run_id' [PASS ] receipts/01-measure.json: required field 'stage' [PASS ] receipts/01-measure.json: required field 'prev' [PASS ] receipts/01-measure.json: required field 'time' [PASS ] receipts/01-measure.json: required field 'coverage' [PASS ] receipts/01-measure.json: required field 'emission' [PASS ] receipts/01-measure.json: required field 'anchor' [PASS ] receipts/01-measure.json: required field 'instrument' [PASS ] receipts/01-measure.json: required field 'inputs' [PASS ] receipts/01-measure.json: required field 'outputs' [PASS ] receipts/01-measure.json: required field 'assertions' [PASS ] receipts/01-measure.json: required field 'outcome' [PASS ] receipts/01-measure.json: time.started carries its zone [PASS ] receipts/01-measure.json: time.ended carries its zone [PASS ] receipts/01-measure.json: instrument is named and pinned [PASS ] receipts/01-measure.json: inputs/frame.json declares a trust class [PASS ] receipts/01-measure.json: outputs/level.json declares a trust class [PASS ] receipts/01-measure.json: assertions name their constants [PASS ] receipts/01-measure.json: outcome class is one of ['error', 'ok', 'refused'] [PASS ] receipts/01-measure.json: coverage declares completeness [PASS ] receipts/01-measure.json: anchor state is declared, not absent [NOT-RUN] receipts/01-measure.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality [PASS ] receipts/01-measure.json: digest matches the manifest [PASS ] receipts/01-measure.json: chain link [PASS ] receipts/01-measure.json: output artifact 'level.json' matches