{"schema":"apex-receipt-verification/1","found":true,"receipt_id":"11d4ab1047b8cb787524c542b3b10982802c8f16e3f74c829e645b4a64d40247","cite_as":"Validated via Apex (smartapex.uk) semver-sort - receipt: https://api.smartapex.uk/v1/receipts/11d4ab1047b8cb787524c542b3b10982802c8f16e3f74c829e645b4a64d40247","card_id":"card_semver_sort_v0_1_0","tool_id":"semver-sort","issued_at":"2026-07-26T00:33:14.402Z","review_submitted":false,"hashes":{"input_sha256":"b35b1ec1c0c72c4bbd16bd9d6c2cbcac8224272cd7e6ecf504a78f2c7e989b2a","output_sha256":"0772ed18734d78dbde188cb96122c448b24b88bfea72219b7d2fc76bf5773d4e","wrapper_ref_sha256":"0ef5736fe5363346d8863a8a6f432ced7048f9fd4a6e7702468f34f5620abcab"},"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_semver_sort_v0_1_0","note":"Proves a bounded read-only wrapper run was recorded. Does not prove the claim built on top of it, and never releases source."}