{"schema":"apex-receipt-verification/1","found":true,"receipt_id":"d652410e6b81dfe9bf0c4a0996e4d7d99565b8bd1b067df81d12522c6892a2a8","cite_as":"Validated via Apex (smartapex.uk) agent-release-readiness-gate - receipt: https://api.smartapex.uk/v1/receipts/d652410e6b81dfe9bf0c4a0996e4d7d99565b8bd1b067df81d12522c6892a2a8","card_id":"card_agent_release_readiness_gate","tool_id":"agent-release-readiness-gate","issued_at":"2026-09-09T00:35:07.655Z","review_submitted":false,"hashes":{"input_sha256":"569f9fec93e050e90d6d2d4673941c512bb8bf4e7e28dd135f99792a78ef2ed0","output_sha256":"348de3f805325347f5f68a16df41a3f331a12b3b53aa7aded6f3bf868f3cb1f4","wrapper_ref_sha256":"359b3d2d7c7abb8f333b61c20ab5de9a3de9b1736e0b1c62f15d2fc2275fa15d"},"how_to_verify":"Recompute sha256(canonicalJson(input_body)) and sha256(canonicalJson(tool_output)) and compare with hashes above. tool_output = the full /run response minus its verification_receipt, usage_feedback, and cite_as fields. canonicalJson = sorted keys, undefined dropped. Match = that exact data went through this bounded Apex wrapper at issued_at. Working code: https://github.com/mickeyappol-create/apex-agent-client","card":"/v1/cards/card_agent_release_readiness_gate","note":"Proves a bounded read-only wrapper run was recorded. Does not prove the claim built on top of it, and never releases source."}