{"api_version":2,"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","id":"93e77b5c-12ed-4691-8cc7-d29207c1b4b0","source_url":"https://zambo.dev/api/receipt/93e77b5c-12ed-4691-8cc7-d29207c1b4b0","receipt":{"id":"93e77b5c-12ed-4691-8cc7-d29207c1b4b0","created_at":"2026-10-17T03:01:43.185Z","receipt_schema_version":"0.4","job_summary":"MCP tool execution: meal_plan","tools":["meal_plan"],"steps":[{"tool":"meal_plan","status":"success","started_at":"2026-10-17T03:01:42.519Z","completed_at":"2026-10-17T03:01:43.185Z"}],"output_hash":"sha256:33ebe35633954a9193e0e8fcac0dedfd8cb1ebb47fe7a538dd30c95f31533258","hash_algorithm":"sha256","canonical_bytes":"eyJjYWxsZXIiOnsiYmFzaXMiOiJpcF91YV8zMGQiLCJpZCI6InNoYTI1Njo4MzFjMGI2M2E4ZTUwOGE2ZTUzNzM4YzA4M2FjNDAxODE0MzhhZjhmNmQxYjFiZTdlYTU2ZmYwY2ZhNzY2OGE5Iiwicm90YXRlc19hdCI6IjIwMjYtMTEtMDNUMDA6MDA6MDAuMDAwWiIsInR5cGUiOiJhbm9ueW1vdXMifSwiaXNzdWVyX2NsYWltcyI6eyJwcm92ZW5hbmNlX2NsYXNzIjoiRVhFQ1VURUQgQlkgWkFNQk8ifSwib3V0cHV0Ijp7ImRheXMiOlt7ImJyZWFrZmFzdCI6eyJjYWxvcmllcyI6MzAwLCJuYW1lIjoiR3JlZWsgeW9ndXJ0IHdpdGggZnJ1aXQiLCJ0aW1lIjoiNSBtaW4ifSwiZGF5IjoxLCJkaW5uZXIiOnsiY2Fsb3JpZXMiOjY1MCwibmFtZSI6IlNoZWV0LXBhbiB2ZWdldGFibGVzIHdpdGggYSBwcm90ZWluIiwidGltZSI6IjMwIG1pbiJ9LCJsdW5jaCI6eyJjYWxvcmllcyI6NTAwLCJuYW1lIjoiR3JhaW4gYm93bCB3aXRoIGJlYW5zIGFuZCB2ZWdldGFibGVzIiwidGltZSI6IjE1IG1pbiJ9LCJzbmFjayI6IkZydWl0IGFuZCBudXRzIn0seyJicmVha2Zhc3QiOnsiY2Fsb3JpZXMiOjMwMCwibmFtZSI6IkdyZWVrIHlvZ3VydCB3aXRoIGZydWl0IiwidGltZSI6IjUgbWluIn0sImRheSI6MiwiZGlubmVyIjp7ImNhbG9yaWVzIjo2NTAsIm5hbWUiOiJTaGVldC1wYW4gdmVnZXRhYmxlcyB3aXRoIGEgcHJvdGVpbiIsInRpbWUiOiIzMCBtaW4ifSwibHVuY2giOnsiY2Fsb3JpZXMiOjUwMCwibmFtZSI6IkdyYWluIGJvd2wgd2l0aCBiZWFucyBhbmQgdmVnZXRhYmxlcyIsInRpbWUiOiIxNSBtaW4ifSwic25hY2siOiJGcnVpdCBhbmQgbnV0cyJ9LHsiYnJlYWtmYXN0Ijp7ImNhbG9yaWVzIjozMDAsIm5hbWUiOiJHcmVlayB5b2d1cnQgd2l0aCBmcnVpdCIsInRpbWUiOiI1IG1pbiJ9LCJkYXkiOjMsImRpbm5lciI6eyJjYWxvcmllcyI6NjUwLCJuYW1lIjoiU2hlZXQtcGFuIHZlZ2V0YWJsZXMgd2l0aCBhIHByb3RlaW4iLCJ0aW1lIjoiMzAgbWluIn0sImx1bmNoIjp7ImNhbG9yaWVzIjo1MDAsIm5hbWUiOiJHcmFpbiBib3dsIHdpdGggYmVhbnMgYW5kIHZlZ2V0YWJsZXMiLCJ0aW1lIjoiMTUgbWluIn0sInNuYWNrIjoiRnJ1aXQgYW5kIG51dHMifV0sImRheXNfcGxhbm5lZCI6MywiZGlldGFyeSI6InZlZ2V0YXJpYW4iLCJmYWxsYmFjayI6dHJ1ZSwiZ29hbCI6ImJhbGFuY2VkIiwibm90ZSI6IkFJIGdlbmVyYXRpb24gd2FzIHVuYXZhaWxhYmxlLCBzbyBhIHNhZmUgc3RhcnRlciBwbGFuIGlzIHNob3duLiIsInByZXBfdGlwIjoiQmF0Y2gtY29vayBncmFpbnMgYW5kIHZlZ2V0YWJsZXMgb25jZSwgdGhlbiBwb3J0aW9uIHRoZW0gZm9yIHRoZSB3ZWVrLiIsInNlcnZpbmdzIjoxLCJzaG9wcGluZ19saXN0IjpbIkdyZWVrIHlvZ3VydCIsInNlYXNvbmFsIGZydWl0IiwiYnJvd24gcmljZSIsImJlYW5zIiwibWl4ZWQgdmVnZXRhYmxlcyIsIm9saXZlIG9pbCIsIm51dHMiLCJsZW1vbiJdLCJ2ZXJkaWN0IjoiQSBzaW1wbGUgYmFsYW5jZWQgcGxhbiBpcyByZWFkeTsgYWRqdXN0IHBvcnRpb25zIGZvciB5b3VyIG5lZWRzLiIsIndlZWtseV9jYWxvcmllcyI6NDM1MH0sInJlY2VpcHRfc2NoZW1hX3ZlcnNpb24iOiIwLjQiLCJzaWRlX2VmZmVjdHMiOnsiZGVjbGFyYXRpb25faGFzaCI6InNoYTI1Njo0NWFhZDM4ZjNhYTk4MmI5YWFmZTkyZWNiNDE2ZWJlOTg3OTFlZGRiYWY4YWI2ZGYwYmQwODYwNWI3YzFiZmVlIiwiZGVjbGFyZWQiOlsibm9uZSJdLCJzY2hlbWFfdmVyc2lvbiI6InphbWJvLXNpZGUtZWZmZWN0cy8xIn0sInRvb2wiOnsibmFtZSI6Im1lYWxfcGxhbiIsInNjb3BlIjoicHVibGljIiwidmVyc2lvbiI6IjQuMC4wIn19","canonical_bytes_withheld_for_privacy":false,"canonical_byte_length":1830,"verification_status":"verified","session_trail":[],"result_preview":"{\"days\":[{\"day\":1,\"breakfast\":{\"name\":\"Greek yogurt with fruit\",\"time\":\"5 min\",\"calories\":300},\"lunch\":{\"name\":\"Grain bowl with beans and vegetables\",\"time\":\"15 min\",\"calories\":500},\"dinner\":{\"name\":\"Sheet-pan vegetables with a protein\",\"time\":\"30 min\",\"calories\":650},\"snack\":\"Fruit and nuts\"},{\"day\":2,\"breakfast\":{\"name\":\"Greek yogurt with fruit\",\"time\":\"5 min\",\"calories\":300},\"lunch\":{\"name\":\"Grain bowl with beans and vegetables\",\"time\":\"15 min\",\"calories\":500},\"dinner\":{\"name\":\"Sheet-pan vegetables with a protein\",\"time\":\"30 min\",\"calories\":650},\"snack\":\"Fruit and nuts\"},{\"day\":3,\"breakfast\":{\"name\":\"Greek yogurt with fruit\",\"time\":\"5 min\",\"calories\":300},\"lunch\":{\"name\":\"Grain bowl with beans and vegetables\",\"time\":\"15 min\",\"calories\":500},\"dinner\":{\"name\":\"Sheet-pan vegetables with a protein\",\"time\":\"30 min\",\"calories\":650},\"snack\":\"Fruit and nuts\"}],\"shopping_list\":[\"Greek yogurt\",\"seasonal fruit\",\"brown rice\",\"beans\",\"mixed vegetables\",\"olive oil\",\"nuts\",\"lemon\"],\"weekly_calories\":4350,\"prep_tip\":\"Batch-cook grains and vegetables once, then portion them for the week.\",\"verdict\":\"A simple balanced plan is ready; adjust portions for your needs.\",\"days_planned\":3,\"dietary\":\"vegetarian\",\"goal\":\"balanced\",\"servings\":1,\"fallback\":true,\"note\":\"AI generation was unavailable, so a safe starter plan is shown.\"}","result_preview_integrity":"display_only_not_committed","result_preview_truncated":false,"input_hash":"sha256:515aac52277323baf56b859eac3fbe6b916971fd088e8b49b247b30a0d0406ff","input_hash_layout":"zambo-json-sorted-keys-utf8-v1","free_used":0,"free_remaining":0,"free_limit":0,"signal_handle":null,"tool":{"name":"meal_plan","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:4eeb4f39406e8337c839df47d81c97ebb564f153b742e774749c89b6192542e1","anchor":{"event_id":"80af8ace552135557cf9aea89bfe724af45d230794c9a670076dd4a9d678cbf5","pubkey":"e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41","relays":["wss://relay.damus.io","wss://nos.lol","wss://relay.primal.net"],"status":"partial","published_at":"2026-10-17T03:01:43.790Z","schema_version":"zambo-receipt-anchor/1","envelope":{"anchored_at":"2026-10-17T03:01:43.185Z","evidence_url":null,"receipt_uuid":"93e77b5c-12ed-4691-8cc7-d29207c1b4b0","output_sha256":"sha256:33ebe35633954a9193e0e8fcac0dedfd8cb1ebb47fe7a538dd30c95f31533258","schema_version":"zambo-receipt-anchor/1","evidence_sha256":null,"evidence_byte_length":null},"envelope_bytes":"{\"anchored_at\":\"2026-10-17T03:01:43.185Z\",\"evidence_byte_length\":null,\"evidence_sha256\":null,\"evidence_url\":null,\"output_sha256\":\"sha256:33ebe35633954a9193e0e8fcac0dedfd8cb1ebb47fe7a538dd30c95f31533258\",\"receipt_uuid\":\"93e77b5c-12ed-4691-8cc7-d29207c1b4b0\",\"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:01:43.185Z","detail":"The receipt store reports 2026-10-17T03:01:43.185Z; 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:33ebe35633954a9193e0e8fcac0dedfd8cb1ebb47fe7a538dd30c95f31533258","computed_hash":"sha256:33ebe35633954a9193e0e8fcac0dedfd8cb1ebb47fe7a538dd30c95f31533258","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."}}}