{"api_version":2,"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","id":"eb024fe0-1b94-42ad-a734-e155cdb054b1","source_url":"https://zambo.dev/api/receipt/eb024fe0-1b94-42ad-a734-e155cdb054b1","receipt":{"id":"eb024fe0-1b94-42ad-a734-e155cdb054b1","created_at":"2026-10-27T03:03:33.949Z","receipt_schema_version":"0.4","job_summary":"MCP tool execution: code_review","tools":["code_review"],"steps":[{"tool":"code_review","status":"success","started_at":"2026-10-27T03:03:31.729Z","completed_at":"2026-10-27T03:03:33.949Z"}],"output_hash":"sha256:52ec3a342d2a936a2ed01d47ef0bd33d1d9f80385f6ad8e98b1adf7f4e24e44f","hash_algorithm":"sha256","canonical_bytes":"eyJjYWxsZXIiOnsiYmFzaXMiOiJpcF91YV8zMGQiLCJpZCI6InNoYTI1Njo4MzFjMGI2M2E4ZTUwOGE2ZTUzNzM4YzA4M2FjNDAxODE0MzhhZjhmNmQxYjFiZTdlYTU2ZmYwY2ZhNzY2OGE5Iiwicm90YXRlc19hdCI6IjIwMjYtMTEtMDNUMDA6MDA6MDAuMDAwWiIsInR5cGUiOiJhbm9ueW1vdXMifSwiaXNzdWVyX2NsYWltcyI6eyJwcm92ZW5hbmNlX2NsYXNzIjoiRVhFQ1VURUQgQlkgWkFNQk8ifSwib3V0cHV0Ijp7Imlzc3VlcyI6W3siZGVzY3JpcHRpb24iOiJBbGwgY29kZSBpcyBwbGFjZWQgb24gYSBzaW5nbGUgbGluZSwgbWFraW5nIGl0IGhhcmQgdG8gcmVhZCBhbmQgbWFpbnRhaW4uIiwiZml4IjoiUGxhY2UgZWFjaCBzdGF0ZW1lbnQgb24gaXRzIG93biBsaW5lIGFuZCBhZGQgYXBwcm9wcmlhdGUgc3BhY2luZy4iLCJsaW5lX2hpbnQiOiIxIiwic2V2ZXJpdHkiOiJsb3ciLCJ0eXBlIjoicmVhZGFiaWxpdHkifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGZ1bmN0aW9uIGRvZXMgbm90IHZhbGlkYXRlIGl0cyBpbnB1dHM7IHBhc3Npbmcgbm9u4oCRbnVtZXJpYyB2YWx1ZXMgd2lsbCBwcm9kdWNlIE5hTiBvciB1bmV4cGVjdGVkIHJlc3VsdHMuIiwiZml4IjoiQWRkIHR5cGUgY2hlY2tzIG9yIGNvZXJjaW9uIHRvIGVuc3VyZSBib3RoIGFyZ3VtZW50cyBhcmUgbnVtYmVycyBiZWZvcmUgcGVyZm9ybWluZyB0aGUgYWRkaXRpb24uIiwibGluZV9oaW50IjoiMSIsInNldmVyaXR5IjoibWVkaXVtIiwidHlwZSI6ImJ1ZyJ9LHsiZGVzY3JpcHRpb24iOiJNaXNzaW5nIHNlbWljb2xvbiBhZnRlciB0aGUgY29uc29sZS5sb2cgc3RhdGVtZW50LCB3aGljaCBjYW4gbGVhZCB0byBhdXRvbWF0aWMgc2VtaWNvbG9uIGluc2VydGlvbiBpc3N1ZXMgaW4gc29tZSBjb250ZXh0cy4iLCJmaXgiOiJBcHBlbmQgYSBzZW1pY29sb24gYWZ0ZXIgY29uc29sZS5sb2coc3VtKDEsIDIpKTsiLCJsaW5lX2hpbnQiOiIxIiwic2V2ZXJpdHkiOiJsb3ciLCJ0eXBlIjoic3R5bGUifV0sImxhbmd1YWdlIjoiSmF2YVNjcmlwdCIsIm92ZXJhbGxfc2NvcmUiOjg1LCJxdWlja193aW5zIjpbIkFkZCBpbnB1dCB2YWxpZGF0aW9uIGZvciBudW1lcmljIGFyZ3VtZW50cyIsIlNlcGFyYXRlIHN0YXRlbWVudHMgb250byBpbmRpdmlkdWFsIGxpbmVzIGZvciBjbGFyaXR5Il0sInJlZmFjdG9yX3N1Z2dlc3Rpb25zIjpbIkRlZmluZSB0aGUgc3VtIGZ1bmN0aW9uIG9uIGl0cyBvd24gbGluZSB3aXRoIGEgSlNEb2MgY29tbWVudCIsIlVzZSBjb25zdCBmb3IgdGhlIHJlc3VsdCB2YXJpYWJsZSBiZWZvcmUgbG9nZ2luZyIsIkFkZCB1bml0IHRlc3RzIGZvciBlZGdlIGNhc2VzIl0sInNlY3VyaXR5X2ZsYWdzIjpbXSwidmVyZGljdCI6IlRoZSBzbmlwcGV0IHdvcmtzIGJ1dCB3b3VsZCBiZW5lZml0IGZyb20gaW1wcm92ZWQgcmVhZGFiaWxpdHksIGlucHV0IHZhbGlkYXRpb24sIGFuZCBjb25zaXN0ZW50IHN0eWxpbmcuIn0sInJlY2VpcHRfc2NoZW1hX3ZlcnNpb24iOiIwLjQiLCJzaWRlX2VmZmVjdHMiOnsiZGVjbGFyYXRpb25faGFzaCI6InNoYTI1Njo0NWFhZDM4ZjNhYTk4MmI5YWFmZTkyZWNiNDE2ZWJlOTg3OTFlZGRiYWY4YWI2ZGYwYmQwODYwNWI3YzFiZmVlIiwiZGVjbGFyZWQiOlsibm9uZSJdLCJzY2hlbWFfdmVyc2lvbiI6InphbWJvLXNpZGUtZWZmZWN0cy8xIn0sInRvb2wiOnsibmFtZSI6ImNvZGVfcmV2aWV3Iiwic2NvcGUiOiJwdWJsaWMiLCJ2ZXJzaW9uIjoiNC4wLjAifX0=","canonical_bytes_withheld_for_privacy":false,"canonical_byte_length":1733,"verification_status":"verified","session_trail":[],"result_preview":"{\"overall_score\":85,\"language\":\"JavaScript\",\"issues\":[{\"severity\":\"low\",\"type\":\"readability\",\"line_hint\":\"1\",\"description\":\"All code is placed on a single line, making it hard to read and maintain.\",\"fix\":\"Place each statement on its own line and add appropriate spacing.\"},{\"severity\":\"medium\",\"type\":\"bug\",\"line_hint\":\"1\",\"description\":\"The function does not validate its inputs; passing non‑numeric values will produce NaN or unexpected results.\",\"fix\":\"Add type checks or coercion to ensure both arguments are numbers before performing the addition.\"},{\"severity\":\"low\",\"type\":\"style\",\"line_hint\":\"1\",\"description\":\"Missing semicolon after the console.log statement, which can lead to automatic semicolon insertion issues in some contexts.\",\"fix\":\"Append a semicolon after console.log(sum(1, 2));\"}],\"security_flags\":[],\"quick_wins\":[\"Add input validation for numeric arguments\",\"Separate statements onto individual lines for clarity\"],\"refactor_suggestions\":[\"Define the sum function on its own line with a JSDoc comment\",\"Use const for the result variable before logging\",\"Add unit tests for edge cases\"],\"verdict\":\"The snippet works but would benefit from improved readability, input validation, and consistent styling.\"}","result_preview_integrity":"display_only_not_committed","result_preview_truncated":false,"input_hash":"sha256:40e7a6d018dc4e80b3887b1957e7cc1494643d902f63d831e27941f538eaaece","input_hash_layout":"zambo-json-sorted-keys-utf8-v1","free_used":0,"free_remaining":0,"free_limit":0,"signal_handle":null,"tool":{"name":"code_review","version":"4.0.0","scope":"public"},"caller":{"type":"anonymous","id":"sha256:831c0b63a8e508a6e53738c083ac40181438af8f6d1b1be7ea56ff0cfa7668a9","basis":"ip_ua_30d","rotates_at":"2026-11-03T00:00:00.000Z"},"side_effects":{"declared":["none"],"schema_version":"zambo-side-effects/1","declaration_hash":"sha256:45aad38f3aa982b9aafe92ecb416ebe98791eddbaf8ab6df0bd08605b7c1bfee"},"evidence_sha256":null,"evidence_url":null,"evidence_byte_length":null,"evidence_content_type":null,"evidence_source_url":null,"evidence_status":"no_upstream_bytes_captured","external_evidence":[],"provenance":null,"provenance_class":"EXECUTED BY ZAMBO","metadata_hash":"sha256:46dc311ea1b7b1016688f4b8b46f4589edbd55d70ecfa17ace1a430061e131d2","anchor":{"event_id":"e482ae37ce13737c7fd2bc96a29c9ffa86a9e24db030730cffc22c0d1ca2fdae","pubkey":"e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41","relays":["wss://relay.damus.io","wss://nos.lol","wss://relay.primal.net"],"status":"partial","published_at":"2026-10-27T03:03:34.532Z","schema_version":"zambo-receipt-anchor/1","envelope":{"anchored_at":"2026-10-27T03:03:33.949Z","evidence_url":null,"receipt_uuid":"eb024fe0-1b94-42ad-a734-e155cdb054b1","output_sha256":"sha256:52ec3a342d2a936a2ed01d47ef0bd33d1d9f80385f6ad8e98b1adf7f4e24e44f","schema_version":"zambo-receipt-anchor/1","evidence_sha256":null,"evidence_byte_length":null},"envelope_bytes":"{\"anchored_at\":\"2026-10-27T03:03:33.949Z\",\"evidence_byte_length\":null,\"evidence_sha256\":null,\"evidence_url\":null,\"output_sha256\":\"sha256:52ec3a342d2a936a2ed01d47ef0bd33d1d9f80385f6ad8e98b1adf7f4e24e44f\",\"receipt_uuid\":\"eb024fe0-1b94-42ad-a734-e155cdb054b1\",\"schema_version\":\"zambo-receipt-anchor/1\"}"},"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","api_version":1,"verification_scope":"separate_sha256_commitment_and_provenance_binding_checks","checks":{"commitment_matches":{"label":"SHA-256 commitment","passed":true,"status":"pass","detail":"The exact decoded canonical bytes match the stored SHA-256 output hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated."},"metadata_binding":{"label":"AER-1 metadata hash","status":"pass","passed":true,"detail":"metadata_hash matches the canonical metadata block."},"signature":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"No Ed25519 signature or pinned signing key was checked."},"chain":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"No append-only receipt-chain proof was checked."},"issued_by_zambo_dev":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"immutable_log_timestamp":{"label":"Stored timestamp","passed":true,"timestamp":"2026-10-27T03:03:33.949Z","detail":"The receipt store reports 2026-10-27T03:03:33.949Z; immutability is not checked here."},"receipt_schema_version":"0.4","signature_valid":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"Compatibility field only. No Ed25519 signature was checked; use API v2 checks.commitment_matches for the SHA-256 commitment."},"chain_valid":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"This endpoint does not verify an append-only chain."}},"execution_context":{"environment":"zambo.dev hosted MCP"}},"verification_status":"verified","checks":{"commitment_matches":{"status":"pass","passed":true,"expected_hash":"sha256:52ec3a342d2a936a2ed01d47ef0bd33d1d9f80385f6ad8e98b1adf7f4e24e44f","computed_hash":"sha256:52ec3a342d2a936a2ed01d47ef0bd33d1d9f80385f6ad8e98b1adf7f4e24e44f","detail":"SHA-256 of the exact decoded canonical bytes matches output_hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated."},"metadata_binding":{"label":"AER-1 metadata hash","status":"pass","passed":true,"detail":"metadata_hash matches the canonical metadata block."},"issuer_authentication":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"signature":{"status":"not_checked","detail":"No Ed25519 signature or pinned signing key is supplied."},"schema":{"status":"not_checked","detail":"Schema conformance is left to the client using the linked hosted-profile schema."},"chain":{"status":"not_checked","detail":"This endpoint does not verify an append-only receipt chain."}}}