{"receipt_type":"stage.replay","receipt":{"receipt_id":"r_stage.replay_1789270722_fabb7e635e28","payload_sha256":"9cec705c7cf729343ee144e52cae54323bb9fddb57d5d600c6231d8f53c7039d","sig_b64u":"dUoH-DHYSBq8e6AhpIfZ1xZFeUg2Trw55McQy_3V9HlaiRTFXyPJSgDE0JNxMqOr7JNWYcVcRyzNRhILaf5wCQ","key_id":"did:hive:typed-receipts-v2","algorithm":"Ed25519","ts":1789270722,"signed_body":{"receipt_type":"stage.replay","schema":"r1.0.0","chain_id":"hive-public-demo-chain-id","evidence_digest_sha256":"e2f805132781b0dfef3921e1587c70f66d75d58ecb2036c741a28a75352a08cc","recorded_at":"2026-09-13T03:38:42Z","render_profile_digest_sha256":"ef92392093da49d4ce9f24e38906b7e71eb458d4acbc808ecc51f9b54793414f","determinism_class_ref":"r_determinism.class_1755100000_0123456789ab","input_raster_digest_sha256":"d4f77761f5461c459c2d6dd59c5e1cecb05253d39fb74e6d9f0db2ad43234f24","output_raster_digest_sha256":"f2cc35dcfa05dc9259539378afe02c0a9e4990e830e3b92be941e6fba2cb4f45","stages":[{"order_value":0,"stage_name":"deskew","implementation_ref":"impl:deskew","implementation_version":"2.1.0","parameters_digest_sha256":"2702f555a384b80e3d66c53e4aabb720a140bc70a6945d18953c91781743e038","output_digest_sha256":"eb01ff56e78656e8e62e4ce592b60a61cc6aff720ea57e269be3fff045ae7993","operator_key_id":"did:hive:sample-operator","operator_signature_b64u":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"order_value":1,"stage_name":"denoise","implementation_ref":"impl:denoise","implementation_version":"3.0.2","parameters_digest_sha256":"491cef6929f8ea9cf5367bc361a0b9e828259b78203c4a53dadf9b70dc90e6cd","output_digest_sha256":"518c4ecc8eb5a1261376cfb8487e490ebb0b72388fdde58afef3125b8806c492","operator_key_id":"did:hive:sample-operator","operator_signature_b64u":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"order_value":2,"stage_name":"binarize","implementation_ref":"impl:binarize","implementation_version":"1.4.0","parameters_digest_sha256":"7f3035f600ef68696ab6181f8adecab059dbb3adec1c808b2b1ef756e9b5158a","output_digest_sha256":"f2cc35dcfa05dc9259539378afe02c0a9e4990e830e3b92be941e6fba2cb4f45","operator_key_id":"did:hive:sample-operator","operator_signature_b64u":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"observed_stage_output_digests":[{"order_value":0,"observed_output_digest_sha256":"eb01ff56e78656e8e62e4ce592b60a61cc6aff720ea57e269be3fff045ae7993"},{"order_value":1,"observed_output_digest_sha256":"518c4ecc8eb5a1261376cfb8487e490ebb0b72388fdde58afef3125b8806c492"},{"order_value":2,"observed_output_digest_sha256":"f2cc35dcfa05dc9259539378afe02c0a9e4990e830e3b92be941e6fba2cb4f45"}],"verdict":{"stages_reexecuted_by_service":false,"stage_count":3,"stage_order_contiguous":true,"incomplete_stage_custody":false,"observed_stage_count":3,"first_divergent_stage_order":-1,"divergence_localized_to_one_stage":false,"chain_terminates_at_declared_output":true},"boundary":"Staged Preprocessing Chain receipt. A document preprocessing chain is recorded stage by stage with contiguous order values, the parameters each stage applied, the digest of the raster it emitted, and the key of the party that operated it, so a disagreement about the output can be narrowed to one stage and one operator instead of the whole pipeline. When the caller supplies observed stage output digests, the service reports the lowest ordered stage where the observed digest first differs from the digest that was committed. A stage carrying no operator signature is reported as incomplete stage custody, which is a different finding from a difference between digests. It does not re-execute any stage; stages_reexecuted_by_service is fixed to false because the service never receives the rasters."}},"verification":{"valid":true,"receipt_id":"r_stage.replay_1789270722_fabb7e635e28","receipt_type":"stage.replay","signature_valid":true,"signer_verified":true,"gates":[{"gate":"SCHEMA","result":"pass"},{"gate":"PAYLOAD_DIGEST","result":"pass"},{"gate":"RECEIPT_ID","result":"pass"},{"gate":"SIGNATURE","result":"pass"},{"gate":"SIGNER_IDENTITY","result":"pass"},{"gate":"RECORDED_AT","result":"pass"},{"gate":"EVIDENCE_DIGEST","result":"pass"},{"gate":"VERDICT_RECOMPUTE","result":"pass"},{"gate":"BOUNDARY_TEXT","result":"pass"}],"failed_gate":null,"reason":null,"verified_at":"2026-09-13T03:38:42.344Z","schema":"https://thehiveryiq.com/.well-known/schemas/stage-replay-v1.json","algorithm":"Ed25519","signer":"did:hive:typed-receipts-v2","chain_id":"hive-public-demo-chain-id","verdict":{"stages_reexecuted_by_service":false,"stage_count":3,"stage_order_contiguous":true,"incomplete_stage_custody":false,"observed_stage_count":3,"first_divergent_stage_order":-1,"divergence_localized_to_one_stage":false,"chain_terminates_at_declared_output":true}},"honesty_boundary":"Staged Preprocessing Chain receipt. A document preprocessing chain is recorded stage by stage with contiguous order values, the parameters each stage applied, the digest of the raster it emitted, and the key of the party that operated it, so a disagreement about the output can be narrowed to one stage and one operator instead of the whole pipeline. When the caller supplies observed stage output digests, the service reports the lowest ordered stage where the observed digest first differs from the digest that was committed. A stage carrying no operator signature is reported as incomplete stage custody, which is a different finding from a difference between digests. It does not re-execute any stage; stages_reexecuted_by_service is fixed to false because the service never receives the rasters.","schema":"https://thehiveryiq.com/.well-known/schemas/stage-replay-v1.json","verify_route":"/v1/verify/stage-replay","minted_at":"2026-09-13T03:38:42.344Z","note":"A real signed receipt, minted by the production signer when you asked for it, over published sample fields. The sample fields are test fixtures and describe no real event, no real document and no real person. POST the receipt object to the verify route to check it yourself."}