Runs / P6 / p6-37-fill-exposure-changed

3 of 3 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
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

The answer

This record has no step that wrote an answer, so there is no answer to show.

The trail

step 1 of 3

measure

What went in
frame.json · 150 bytes
What came out
level.json · 23 bytes
When
→

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
Version
fill-level-camera · 1.0.0
What went in
frame.json · 150 bytes
sha256:e939844ba95e…sha256:e939844ba95e5365ceea1d57a4549ffa4b432ea3ceb0e7b4b531874d4d9b050f
What came out
level.json · 23 bytes
sha256:040988526487…sha256:0409885264871ff0430157dd0ff36d7ee6538ccd6871dd4bfa5aed628d535347
Fingerprint
sha256:696139f200cd…sha256:696139f200cde01569da7998cb4502d53f6f94c28f634f16ba7e9943921ae6e9
Settings it ran with
{
 "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":"150","digest":"sha256:e939844ba95e5365ceea1d57a4549ffa4b432ea3ceb0e7b4b531874d4d9b050f","media_type":"application/json","name":"frame.json","trust_class":"externally-sourced"}],"instrument":{"config_digest":"sha256:9a42b08e2137a675abb97734dcf58109d5b1907cc81dd660b7145e4db476a207","id":"fill-level-camera","kind":"measurement","manifest_digest":"sha256:1699f98ac5cde3962ce813773ab07f795fe38fef851d097a4ace9534c6016016","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"23","digest":"sha256:0409885264871ff0430157dd0ff36d7ee6538ccd6871dd4bfa5aed628d535347","media_type":"application/json","name":"level.json","trust_class":"operator-authored"}],"prev":null,"run_id":"p6-37-fill-exposure-changed","stage":{"index":"1","name":"measure"},"time":{"ended":"2026-10-25T12:52:10.252+00:00","started":"2026-10-25T12:52:10.248+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
step 2 of 3

classify

What went in
receipt:measure · 1281 bytes
level.json · 23 bytes
What came out
result.json · 17 bytes
When
→

Completed.

Ran as fill-classifier, 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 2 of 3 · classify
Version
fill-classifier · 1.0.0
What went in
receipt:measure · 1281 bytes
sha256:696139f200cd…sha256:696139f200cde01569da7998cb4502d53f6f94c28f634f16ba7e9943921ae6e9
level.json · 23 bytes
sha256:040988526487…sha256:0409885264871ff0430157dd0ff36d7ee6538ccd6871dd4bfa5aed628d535347
What came out
result.json · 17 bytes
sha256:96d76c7af167…sha256:96d76c7af1675073cf95e0f4b26015864dda6f761d129b5d79875d1cef4d475e
Fingerprint
sha256:6bca21cd4393…sha256:6bca21cd4393aa3f583d04ff46d6f1feda27ac9514bef08d41d8d77ddbe3ce45
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":["measure","classify","reject_command"],"emitting_stages":["measure","classify"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1281","digest":"sha256:696139f200cde01569da7998cb4502d53f6f94c28f634f16ba7e9943921ae6e9","media_type":"application/json","name":"receipt:measure","trust_class":"operator-authored"},{"bytes":"23","digest":"sha256:0409885264871ff0430157dd0ff36d7ee6538ccd6871dd4bfa5aed628d535347","media_type":"application/json","name":"level.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:54f99d592ea3332584b19c3e8419a3ef0b0bc0ec1629c8010c375b151d55aeaa","id":"fill-classifier","kind":"rule","manifest_digest":"sha256:1699f98ac5cde3962ce813773ab07f795fe38fef851d097a4ace9534c6016016","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"17","digest":"sha256:96d76c7af1675073cf95e0f4b26015864dda6f761d129b5d79875d1cef4d475e","media_type":"application/json","name":"result.json","trust_class":"operator-authored"}],"prev":"sha256:696139f200cde01569da7998cb4502d53f6f94c28f634f16ba7e9943921ae6e9","run_id":"p6-37-fill-exposure-changed","stage":{"index":"2","name":"classify"},"time":{"ended":"2026-10-25T12:52:10.260+00:00","started":"2026-10-25T12:52:10.257+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:measure declares a trust class
[PASS   ] receipts/02-classify.json: inputs/level.json declares a trust class
[PASS   ] receipts/02-classify.json: outputs/result.json declares a trust class
[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 'result.json' matches
step 3 of 3

reject_command

What went in
receipt:classify · 1499 bytes
result.json · 17 bytes
What came out
command.json · 18 bytes
When
→

Completed.

Ran as reject-gate, 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 3 of 3 · reject_command
Version
reject-gate · 1.0.0
What went in
receipt:classify · 1499 bytes
sha256:6bca21cd4393…sha256:6bca21cd4393aa3f583d04ff46d6f1feda27ac9514bef08d41d8d77ddbe3ce45
result.json · 17 bytes
sha256:96d76c7af167…sha256:96d76c7af1675073cf95e0f4b26015864dda6f761d129b5d79875d1cef4d475e
What came out
command.json · 18 bytes
sha256:9576c16cd17d…sha256:9576c16cd17d5a59d9200c0fe43fcbe16d637108452d44a4239ec9513f70f791
Fingerprint
sha256:c5ccc897bc12…sha256:c5ccc897bc1293834096cbaa00d0d0cf6eaca1421f5e215f74fe2fb1e873c9d5
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":["measure","classify","reject_command"],"emitting_stages":["measure","classify","reject_command"]},"digest_source":"emitter","emission":{"gaps":[],"policy":"fail-closed"},"format":"stage-receipt/0.3","inputs":[{"bytes":"1499","digest":"sha256:6bca21cd4393aa3f583d04ff46d6f1feda27ac9514bef08d41d8d77ddbe3ce45","media_type":"application/json","name":"receipt:classify","trust_class":"operator-authored"},{"bytes":"17","digest":"sha256:96d76c7af1675073cf95e0f4b26015864dda6f761d129b5d79875d1cef4d475e","media_type":"application/json","name":"result.json","trust_class":"operator-authored"}],"instrument":{"config_digest":"sha256:a8fa134fadca99291aaf02979c163617578efed377ca524c960e15bd7b158f30","id":"reject-gate","kind":"command-recorder","manifest_digest":"sha256:1699f98ac5cde3962ce813773ab07f795fe38fef851d097a4ace9534c6016016","rederivable":"true","version":"1.0.0"},"outcome":{"class":"ok"},"outputs":[{"bytes":"18","digest":"sha256:9576c16cd17d5a59d9200c0fe43fcbe16d637108452d44a4239ec9513f70f791","media_type":"application/json","name":"command.json","trust_class":"operator-authored"}],"prev":"sha256:6bca21cd4393aa3f583d04ff46d6f1feda27ac9514bef08d41d8d77ddbe3ce45","run_id":"p6-37-fill-exposure-changed","stage":{"index":"3","name":"reject_command"},"time":{"ended":"2026-10-25T12:52:10.269+00:00","started":"2026-10-25T12:52:10.265+00:00"}}
The check's own words
[PASS   ] receipts/03-reject-command.json: receipt format
[PASS   ] receipts/03-reject-command.json: bytes are canonical
[PASS   ] receipts/03-reject-command.json: required field 'format'
[PASS   ] receipts/03-reject-command.json: required field 'run_id'
[PASS   ] receipts/03-reject-command.json: required field 'stage'
[PASS   ] receipts/03-reject-command.json: required field 'prev'
[PASS   ] receipts/03-reject-command.json: required field 'time'
[PASS   ] receipts/03-reject-command.json: required field 'coverage'
[PASS   ] receipts/03-reject-command.json: required field 'emission'
[PASS   ] receipts/03-reject-command.json: required field 'anchor'
[PASS   ] receipts/03-reject-command.json: required field 'instrument'
[PASS   ] receipts/03-reject-command.json: required field 'inputs'
[PASS   ] receipts/03-reject-command.json: required field 'outputs'
[PASS   ] receipts/03-reject-command.json: required field 'assertions'
[PASS   ] receipts/03-reject-command.json: required field 'outcome'
[PASS   ] receipts/03-reject-command.json: time.started carries its zone
[PASS   ] receipts/03-reject-command.json: time.ended carries its zone
[PASS   ] receipts/03-reject-command.json: instrument is named and pinned
[PASS   ] receipts/03-reject-command.json: inputs/receipt:classify declares a trust class
[PASS   ] receipts/03-reject-command.json: inputs/result.json declares a trust class
[PASS   ] receipts/03-reject-command.json: outputs/command.json declares a trust class
[PASS   ] receipts/03-reject-command.json: outcome class is one of ['error', 'ok', 'refused']
[PASS   ] receipts/03-reject-command.json: coverage declares completeness
[PASS   ] receipts/03-reject-command.json: 'complete' is consistent with the stage lists
[PASS   ] receipts/03-reject-command.json: anchor state is declared, not absent
[NOT-RUN] receipts/03-reject-command.json: originality -- record is declared unanchored; this verifier can establish consistency, not originality
[PASS   ] receipts/03-reject-command.json: digest matches the manifest
[PASS   ] receipts/03-reject-command.json: chain link
[PASS   ] receipts/03-reject-command.json: output artifact 'command.json' matches

What could not be checked

  • Each declared step left a receipt, as the receipts themselves state.

  • This record held under the checks that ran. It has not been anchored, so it cannot be shown to be the record that was made — here is what anchoring would add.

    Anchored, it would read: this record existed by a stated date and hasn't changed since — checkable against an independent anchor.

The run, step by step