{"api_version":2,"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","id":"f4fdc08c-fc31-4bc9-806d-cd4d3f34de39","source_url":"https://zambo.dev/api/receipt/f4fdc08c-fc31-4bc9-806d-cd4d3f34de39","receipt":{"id":"f4fdc08c-fc31-4bc9-806d-cd4d3f34de39","created_at":"2026-10-17T03:04:04.592Z","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-17T03:04:04.208Z","completed_at":"2026-10-17T03:04:04.592Z"}],"output_hash":"sha256:e96bfdda28f4622f56367820abdd0f7956dcb4cba4b381e242671969162dc8be","hash_algorithm":"sha256","canonical_bytes":"eyJjYWxsZXIiOnsiYmFzaXMiOiJpcF91YV8zMGQiLCJpZCI6InNoYTI1Njo4MzFjMGI2M2E4ZTUwOGE2ZTUzNzM4YzA4M2FjNDAxODE0MzhhZjhmNmQxYjFiZTdlYTU2ZmYwY2ZhNzY2OGE5Iiwicm90YXRlc19hdCI6IjIwMjYtMTEtMDNUMDA6MDA6MDAuMDAwWiIsInR5cGUiOiJhbm9ueW1vdXMifSwiaXNzdWVyX2NsYWltcyI6eyJwcm92ZW5hbmNlX2NsYXNzIjoiRVhFQ1VURUQgQlkgWkFNQk8ifSwib3V0cHV0Ijp7Imlzc3VlcyI6W3siZGVzY3JpcHRpb24iOiJjb25zb2xlLmxvZyBsZWZ0IGluIHByb2R1Y3Rpb24gY29kZSDigJQgbGVha3MgaW50ZXJuYWwgZGF0YSIsImZpeCI6IlJlcGxhY2Ugd2l0aCBhIHN0cnVjdHVyZWQgbG9nZ2VyIChwaW5vLCB3aW5zdG9uKSB3aXRoIGNvbmZpZ3VyYWJsZSBsb2cgbGV2ZWxzLiIsImxpbmVfaGludCI6ImNvbnNvbGUubG9nIHN0YXRlbWVudCIsInNldmVyaXR5IjoibG93IiwidHlwZSI6InN0eWxlIn0seyJkZXNjcmlwdGlvbiI6Ik5vIGVycm9yIGhhbmRsaW5nIGRldGVjdGVkIOKAlCB1bmhhbmRsZWQgZXhjZXB0aW9ucyB3aWxsIGNyYXNoIHRoZSBwcm9jZXNzIiwiZml4IjoiV3JhcCBhc3luYyBvcGVyYXRpb25zIGluIHRyeS9jYXRjaCBhbmQgaGFuZGxlIGVycm9ycyBleHBsaWNpdGx5LiIsImxpbmVfaGludCI6ImdlbmVyYWwiLCJzZXZlcml0eSI6Im1lZGl1bSIsInR5cGUiOiJidWcifV0sImxhbmd1YWdlIjoiamF2YXNjcmlwdCIsIm92ZXJhbGxfc2NvcmUiOjg3LCJxdWlja193aW5zIjpbIkFkZCBpbnB1dCB2YWxpZGF0aW9uIGF0IGZ1bmN0aW9uIGVudHJ5IHBvaW50cyIsIkFkZCBUeXBlU2NyaXB0IHN0cmljdCB0eXBlcyIsIldyYXAgYXN5bmMgY2FsbHMgaW4gdHJ5L2NhdGNoIl0sInJlZmFjdG9yX3N1Z2dlc3Rpb25zIjpbIkV4dHJhY3QgbWFnaWMgdmFsdWVzIHRvIG5hbWVkIGNvbnN0YW50cyIsIlByZWZlciBlYXJseSByZXR1cm5zIG92ZXIgZGVlcCBuZXN0aW5nIiwiQWRkIHVuaXQgdGVzdHMgZm9yIGJvdW5kYXJ5IGNvbmRpdGlvbnMiXSwic2VjdXJpdHlfZmxhZ3MiOltdLCJ2ZXJkaWN0IjoiU29saWQgY29kZSB3aXRoIG1pbm9yIGltcHJvdmVtZW50cyBhdmFpbGFibGUuIn0sInJlY2VpcHRfc2NoZW1hX3ZlcnNpb24iOiIwLjQiLCJzaWRlX2VmZmVjdHMiOnsiZGVjbGFyYXRpb25faGFzaCI6InNoYTI1Njo0NWFhZDM4ZjNhYTk4MmI5YWFmZTkyZWNiNDE2ZWJlOTg3OTFlZGRiYWY4YWI2ZGYwYmQwODYwNWI3YzFiZmVlIiwiZGVjbGFyZWQiOlsibm9uZSJdLCJzY2hlbWFfdmVyc2lvbiI6InphbWJvLXNpZGUtZWZmZWN0cy8xIn0sInRvb2wiOnsibmFtZSI6ImNvZGVfcmV2aWV3Iiwic2NvcGUiOiJwdWJsaWMiLCJ2ZXJzaW9uIjoiNC4wLjAifX0=","canonical_bytes_withheld_for_privacy":false,"canonical_byte_length":1364,"verification_status":"verified","session_trail":[],"result_preview":"{\"overall_score\":87,\"language\":\"javascript\",\"issues\":[{\"severity\":\"low\",\"type\":\"style\",\"line_hint\":\"console.log statement\",\"description\":\"console.log left in production code — leaks internal data\",\"fix\":\"Replace with a structured logger (pino, winston) with configurable log levels.\"},{\"severity\":\"medium\",\"type\":\"bug\",\"line_hint\":\"general\",\"description\":\"No error handling detected — unhandled exceptions will crash the process\",\"fix\":\"Wrap async operations in try/catch and handle errors explicitly.\"}],\"security_flags\":[],\"quick_wins\":[\"Add input validation at function entry points\",\"Add TypeScript strict types\",\"Wrap async calls in try/catch\"],\"refactor_suggestions\":[\"Extract magic values to named constants\",\"Prefer early returns over deep nesting\",\"Add unit tests for boundary conditions\"],\"verdict\":\"Solid code with minor improvements available.\"}","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:0e82949a583956f2841bfafa9af0595a788671ad2e199cf748822f11f9e93e3f","anchor":{"event_id":"a9e993c12ec483c8a5ff7830e12bb364a25bc65f78681a63bd0d21e88159548a","pubkey":"e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41","relays":["wss://relay.damus.io","wss://nos.lol","wss://relay.primal.net"],"status":"partial","published_at":"2026-10-17T03:04:10.624Z","schema_version":"zambo-receipt-anchor/1","envelope":{"anchored_at":"2026-10-17T03:04:04.592Z","evidence_url":null,"receipt_uuid":"f4fdc08c-fc31-4bc9-806d-cd4d3f34de39","output_sha256":"sha256:e96bfdda28f4622f56367820abdd0f7956dcb4cba4b381e242671969162dc8be","schema_version":"zambo-receipt-anchor/1","evidence_sha256":null,"evidence_byte_length":null},"envelope_bytes":"{\"anchored_at\":\"2026-10-17T03:04:04.592Z\",\"evidence_byte_length\":null,\"evidence_sha256\":null,\"evidence_url\":null,\"output_sha256\":\"sha256:e96bfdda28f4622f56367820abdd0f7956dcb4cba4b381e242671969162dc8be\",\"receipt_uuid\":\"f4fdc08c-fc31-4bc9-806d-cd4d3f34de39\",\"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-17T03:04:04.592Z","detail":"The receipt store reports 2026-10-17T03:04:04.592Z; 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:e96bfdda28f4622f56367820abdd0f7956dcb4cba4b381e242671969162dc8be","computed_hash":"sha256:e96bfdda28f4622f56367820abdd0f7956dcb4cba4b381e242671969162dc8be","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."}}}