{"api_version":2,"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","id":"97b04d5d-3a72-4989-b3f4-bec97501239e","source_url":"https://zambo.dev/api/receipt/97b04d5d-3a72-4989-b3f4-bec97501239e","receipt":{"id":"97b04d5d-3a72-4989-b3f4-bec97501239e","created_at":"2026-11-09T03:01:27.560Z","receipt_schema_version":"0.4","job_summary":"MCP tool execution: meal_plan","tools":["meal_plan"],"steps":[{"tool":"meal_plan","status":"success","started_at":"2026-11-09T03:01:25.720Z","completed_at":"2026-11-09T03:01:27.560Z"}],"output_hash":"sha256:c49632e50750b5491c14bd742827c96490421d8c903554cd9177b4601c858913","hash_algorithm":"sha256","canonical_bytes":"eyJjYWxsZXIiOnsiYmFzaXMiOiJpcF91YV8zMGQiLCJpZCI6InNoYTI1Njo4ZTdiMzU2ZGQ5ZWY5YTYyZDM2N2ZkYzAwY2U5Y2UxYTQxZTM0ZDNlYzNiZWNhNjFiZTBhMjU4ZTBiYWM4YzgxIiwicm90YXRlc19hdCI6IjIwMjYtMTItMDNUMDA6MDA6MDAuMDAwWiIsInR5cGUiOiJhbm9ueW1vdXMifSwiaXNzdWVyX2NsYWltcyI6eyJwcm92ZW5hbmNlX2NsYXNzIjoiRVhFQ1VURUQgQlkgWkFNQk8ifSwib3V0cHV0Ijp7ImRheXMiOlt7ImJyZWFrZmFzdCI6eyJjYWxvcmllcyI6MzUwLCJuYW1lIjoiR3JlZWsgWW9ndXJ0IFBhcmZhaXQgd2l0aCBCZXJyaWVzIGFuZCBHcmFub2xhIiwidGltZSI6IjA4OjAwIn0sImRheSI6MSwiZGlubmVyIjp7ImNhbG9yaWVzIjo2MDAsIm5hbWUiOiJWZWdldGFibGUgU3Rpci1mcnkgd2l0aCBUb2Z1IGFuZCBCcm93biBSaWNlIiwidGltZSI6IjE4OjMwIn0sImx1bmNoIjp7ImNhbG9yaWVzIjo0NTAsIm5hbWUiOiJNZWRpdGVycmFuZWFuIENoaWNrcGVhIFNhbGFkIHdpdGggRmV0YSIsInRpbWUiOiIxMjozMCJ9LCJzbmFjayI6IkFwcGxlIHNsaWNlcyB3aXRoIGFsbW9uZCBidXR0ZXIifSx7ImJyZWFrZmFzdCI6eyJjYWxvcmllcyI6NDAwLCJuYW1lIjoiQXZvY2FkbyBUb2FzdCBvbiBXaG9sZSBHcmFpbiBCcmVhZCB3aXRoIFBvYWNoZWQgRWdnIiwidGltZSI6IjA4OjAwIn0sImRheSI6MiwiZGlubmVyIjp7ImNhbG9yaWVzIjo2NTAsIm5hbWUiOiJMZW50aWwgU2hlcGhlcmQncyBQaWUgd2l0aCBTdGVhbWVkIEJyb2Njb2xpIiwidGltZSI6IjE4OjMwIn0sImx1bmNoIjp7ImNhbG9yaWVzIjo1MDAsIm5hbWUiOiJRdWlub2EgYW5kIEJsYWNrIEJlYW4gQm93bCB3aXRoIFNhbHNhIiwidGltZSI6IjEyOjMwIn0sInNuYWNrIjoiQ2Fycm90IHN0aWNrcyB3aXRoIGh1bW11cyJ9LHsiYnJlYWtmYXN0Ijp7ImNhbG9yaWVzIjozODAsIm5hbWUiOiJTcGluYWNoIGFuZCBNdXNocm9vbSBPbWVsZXQgd2l0aCBXaG9sZSBXaGVhdCBUb2FzdCIsInRpbWUiOiIwODowMCJ9LCJkYXkiOjMsImRpbm5lciI6eyJjYWxvcmllcyI6NTUwLCJuYW1lIjoiQmFrZWQgU2FsbW9uIEFsdGVybmF0aXZlOiBNaXNvLUdsYXplZCBFZ2dwbGFudCBhbmQgUmljZSIsInRpbWUiOiIxODozMCJ9LCJsdW5jaCI6eyJjYWxvcmllcyI6NDgwLCJuYW1lIjoiQ2FwcmVzZSBTYW5kd2ljaCBvbiBDaWFiYXR0YSB3aXRoIFNpZGUgU2FsYWQiLCJ0aW1lIjoiMTI6MzAifSwic25hY2siOiJIYW5kZnVsIG9mIHdhbG51dHMgYW5kIGRyaWVkIGNyYW5iZXJyaWVzIn1dLCJkYXlzX3BsYW5uZWQiOjMsImRpZXRhcnkiOiJ2ZWdldGFyaWFuIiwiZ29hbCI6ImJhbGFuY2VkIiwicHJlcF90aXAiOiJDb29rIHRoZSBxdWlub2EgYW5kIGJyb3duIHJpY2UgaW4gYnVsayBvbiBTdW5kYXkgdG8gc2F2ZSB0aW1lIGR1cmluZyB0aGUgd2Vlay4iLCJzZXJ2aW5ncyI6MSwic2hvcHBpbmdfbGlzdCI6WyJQcm9kdWNlOiBBdm9jYWRvLCBTcGluYWNoLCBNdXNocm9vbXMsIEJyb2Njb2xpLCBFZ2dwbGFudCwgVG9tYXRvZXMsIEJlbGwgUGVwcGVycywgT25pb25zLCBHYXJsaWMsIEFwcGxlcywgQ2Fycm90cywgTGVtb25zIiwiRGFpcnk6IEdyZWVrIFlvZ3VydCwgRmV0YSBDaGVlc2UsIEVnZ3MsIEJ1dHRlciIsIlBhbnRyeTogUXVpbm9hLCBCcm93biBSaWNlLCBDaGlja3BlYXMgKGNhbm5lZCksIEJsYWNrIEJlYW5zIChjYW5uZWQpLCBMZW50aWxzLCBXaG9sZSBHcmFpbiBCcmVhZCwgQ2lhYmF0dGEgUm9sbHMsIE1pc28gUGFzdGUsIEFsbW9uZCBCdXR0ZXIsIEh1bW11cywgQWxtb25kcywgV2FsbnV0cyIsIkZyb3plbjogTm9uZSJdLCJ2ZXJkaWN0IjoiVGhpcyBwbGFuIG9mZmVycyBhIGJhbGFuY2VkIG1peCBvZiBwbGFudC1iYXNlZCBwcm90ZWlucyBhbmQgaGVhbHRoeSBmYXRzIHdpdGhpbiBhIG1vZGVyYXRlIGJ1ZGdldC4iLCJ3ZWVrbHlfY2Fsb3JpZXMiOjQ4NjB9LCJyZWNlaXB0X3NjaGVtYV92ZXJzaW9uIjoiMC40Iiwic2lkZV9lZmZlY3RzIjp7ImRlY2xhcmF0aW9uX2hhc2giOiJzaGEyNTY6NDVhYWQzOGYzYWE5ODJiOWFhZmU5MmVjYjQxNmViZTk4NzkxZWRkYmFmOGFiNmRmMGJkMDg2MDViN2MxYmZlZSIsImRlY2xhcmVkIjpbIm5vbmUiXSwic2NoZW1hX3ZlcnNpb24iOiJ6YW1iby1zaWRlLWVmZmVjdHMvMSJ9LCJ0b29sIjp7Im5hbWUiOiJtZWFsX3BsYW4iLCJzY29wZSI6InB1YmxpYyIsInZlcnNpb24iOiI0LjAuMCJ9fQ==","canonical_bytes_withheld_for_privacy":false,"canonical_byte_length":2212,"verification_status":"verified","session_trail":[],"result_preview":"{\"days\":[{\"day\":1,\"breakfast\":{\"name\":\"Greek Yogurt Parfait with Berries and Granola\",\"time\":\"08:00\",\"calories\":350},\"lunch\":{\"name\":\"Mediterranean Chickpea Salad with Feta\",\"time\":\"12:30\",\"calories\":450},\"dinner\":{\"name\":\"Vegetable Stir-fry with Tofu and Brown Rice\",\"time\":\"18:30\",\"calories\":600},\"snack\":\"Apple slices with almond butter\"},{\"day\":2,\"breakfast\":{\"name\":\"Avocado Toast on Whole Grain Bread with Poached Egg\",\"time\":\"08:00\",\"calories\":400},\"lunch\":{\"name\":\"Quinoa and Black Bean Bowl with Salsa\",\"time\":\"12:30\",\"calories\":500},\"dinner\":{\"name\":\"Lentil Shepherd's Pie with Steamed Broccoli\",\"time\":\"18:30\",\"calories\":650},\"snack\":\"Carrot sticks with hummus\"},{\"day\":3,\"breakfast\":{\"name\":\"Spinach and Mushroom Omelet with Whole Wheat Toast\",\"time\":\"08:00\",\"calories\":380},\"lunch\":{\"name\":\"Caprese Sandwich on Ciabatta with Side Salad\",\"time\":\"12:30\",\"calories\":480},\"dinner\":{\"name\":\"Baked Salmon Alternative: Miso-Glazed Eggplant and Rice\",\"time\":\"18:30\",\"calories\":550},\"snack\":\"Handful of walnuts and dried cranberries\"}],\"shopping_list\":[\"Produce: Avocado, Spinach, Mushrooms, Broccoli, Eggplant, Tomatoes, Bell Peppers, Onions, Garlic, Apples, Carrots, Lemons\",\"Dairy: Greek Yogurt, Feta Cheese, Eggs, Butter\",\"Pantry: Quinoa, Brown Rice, Chickpeas (canned), Black Beans (canned), Lentils, Whole Grain Bread, Ciabatta Rolls, Miso Paste, Almond Butter, Hummus, Almonds, Walnuts\",\"Frozen: None\"],\"weekly_calories\":4860,\"prep_tip\":\"Cook the quinoa and brown rice in bulk on Sunday to save time during the week.\",\"verdict\":\"This plan offers a balanced mix of plant-based proteins and healthy fats within a moderate budget.\",\"days_planned\":3,\"dietary\":\"vegetarian\",\"goal\":\"balanced\",\"servings\":1}","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:8e7b356dd9ef9a62d367fdc00ce9ce1a41e34d3ec3beca61be0a258e0bac8c81","basis":"ip_ua_30d","rotates_at":"2026-12-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":"empty","result_source":null,"evidence_source":null,"external_evidence":[],"provenance":{"result_source":null,"evidence_source":null,"evidence_status":"empty","evidence_captures":[]},"provenance_class":"EXECUTED BY ZAMBO","metadata_hash":"sha256:c76cdf7d1cb9270b62e761e544f28ba99f23b2616a3e5d706abbb2fb8ea4551e","anchor":{"event_id":"084e81371a06df5a264753c9ab894a07128fc8f391db7714d570f18f446bc1fc","pubkey":"e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41","relays":["wss://relay.primal.net"],"status":"published","published_at":"2026-11-09T03:01:28.114Z","published_at_semantics":"Relay confirmation time (accepted acknowledgement or exact-event read-back); not the signed event's created_at.","schema_version":"zambo-receipt-anchor/1","envelope":{"anchored_at":"2026-11-09T03:01:27.560Z","evidence_url":null,"receipt_uuid":"97b04d5d-3a72-4989-b3f4-bec97501239e","output_sha256":"sha256:c49632e50750b5491c14bd742827c96490421d8c903554cd9177b4601c858913","schema_version":"zambo-receipt-anchor/1","evidence_sha256":null,"evidence_byte_length":null},"envelope_bytes":"{\"anchored_at\":\"2026-11-09T03:01:27.560Z\",\"evidence_byte_length\":null,\"evidence_sha256\":null,\"evidence_url\":null,\"output_sha256\":\"sha256:c49632e50750b5491c14bd742827c96490421d8c903554cd9177b4601c858913\",\"receipt_uuid\":\"97b04d5d-3a72-4989-b3f4-bec97501239e\",\"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-11-09T03:01:27.560Z","detail":"The receipt store reports 2026-11-09T03:01:27.560Z; 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","quota_identity":{"meter_key":"sha256:9eb1dbcbfd0e2337b417e3894a70ebc38daae5f254a19c8f5f0b4d9820c556fd"}}},"evidence_status":"empty","verification_status":"verified","checks":{"commitment_matches":{"status":"pass","passed":true,"expected_hash":"sha256:c49632e50750b5491c14bd742827c96490421d8c903554cd9177b4601c858913","computed_hash":"sha256:c49632e50750b5491c14bd742827c96490421d8c903554cd9177b4601c858913","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."}}}