Verifiable receipt a5fa4908 - zambot_fix result | Zambo
Verifiable receipt for a zambot_fix call on Zambo: {"fix":"FAILURE MODE: Logic error – the code fails to detect revoked evidence IDs in authority‑bearing refere
Observed result
{"fix":"FAILURE MODE: Logic error – the code fails to detect revoked evidence IDs in authority‑bearing references (signing_authority_refs).\n\nINTENT DETECTED: The original code aims to raise a ValueError when any revoked evidence ID appears anywhere in the document’s references, including authority‑bearing signing authority references.\n\nFIXED CODE:\nrevoked_refs = set(document.get(\"segments\", {}).get(\"trust\", {}).get(\"revocations\", []))\nif revoked_refs:\n def referenced_evidence(value):\n if isinstance(value, dict):\n for key, item in value.items():\n if key == \"source_ref\" and item in revoked_refs:\n yield item\n elif key == \"evidence_refs\" and isinstance(item, list):\n yield from (ref for ref in item if ref in revoked_refs)\n else:\n yield from referenced_evidence(item)\n elif isinstance(value, list):\n for item in value:\n yield from referenced_evidence(item)\n\n blocked = set(referenced_evidence(document.get(\"segments\", {})))\n # also check authority‑bearing signing authority references\n signing_refs = document.get(\"governance\", {}).get(\"signing_authority_refs\", [])\n blocked.update(ref for ref in signing_refs if ref in revoked_refs)\n\n if blocked:\n raise ValueError(\"AgentDNA references revoked evidence: \" + \", \".join(sorted(blocked)))","text":"FAILURE MODE: Logic error – the code fails to detect revoked evidence IDs in authority‑bearing references (signing_authority_refs).\n\nINTENT DETECTED: The original code aims to raise a ValueError when any revoked evidence ID appears anywhere in the document’s references, including authority‑bearing signing authority references.\n\nFIXED CODE:\nrevoked_refs = set(document.get(\"segments\", {}).get(\"trust\", {}).get(\"revocations\", []))\nif revoked_refs:\n def referenced_evidence(value):\n if isinstance(value, dict):\n for key, item in value.items():\n if key == \"source_ref\" and item in revoked_refs:\n yield item\n elif key == \"evidence_refs\" and isinstance(item, list):\n yield from (ref for ref in item if ref in revoked_refs)\n else:\n yield from referenced_evidence(item)\n elif isinstance(value, list):\n for item in value:\n yield from referenced_evidence(item)\n\n blocked = set(referenced_evidence(document.get(\"segments\", {})))\n # also check authority‑bearing signing authority references\n signing_refs = document.get(\"governance\", {}).get(\"signing_authority_refs\", [])\n blocked.update(ref for ref in signing_refs if ref in revoked_refs)\n\n if blocked:\n raise ValueError(\"AgentDNA references revoked evidence: \" + \", \".join(sorted(blocked)))"}
Verify this receipt
This is a verifiable receipt: the result above is hashed and timestamped at a permanent URL.
Provenance for every timeline entry
- EXECUTED BY ZAMBOZambo ran the tool call itself.
- OBSERVED VIA GATEWAYA Zambo gateway observed request and response bytes from the named external executor. Zambo did not run that external action.
- LOGGED BY AGENTAn agent or local hook reported the action. Zambo attests that the record is unchanged since logging, not that the action happened as described.
Private agent reasoning, built-in client actions, and direct calls to unrelated MCP servers are not included unless an agent or gateway reports them.
What is this?
An AI agent completed a tool call through Zambo, and this page records the result. The SHA-256 hash below fingerprints exactly what the agent produced. The timestamp shows when it ran. The Nostr anchor posts that fingerprint to public relays, so the record exists outside Zambo too. Check the hash yourself.
What is an execution receipt?
An execution receipt is the public record of one completed AI agent tool call. Read the canonical definition of an AI agent execution receipt.
Keep the work moving
This receipt proves the call completed. When the free allowance is not enough, choose the access path that fits the job.
Or re-run this exact call, using the same tool and arguments.
Share this receipt
Verification checks
- Integrity check: Recomputable from canonical bytes
- Issued by zambo.dev: Served from the zambo.dev receipt store
- Chain valid: Receipt hash chain is internally consistent
- Recorded in the immutable log: 2026-09-28T22:46:56.078Z
Proof of observed execution
EXECUTED BY ZAMBO
- Receipt ID
a5fa4908-13d4-4c0d-a1e3-9711bbd710a0- SHA-256 output hash
sha256:1d4b94f85db1cc3f21598938b4d9d03c2fd436c6d4761733cab68e88c9d98182- Canonical bytes
eyJjYWxsZXIiOnsiaWQiOiJzaGEyNTY6ODU3YTM0MmM3ZTE4YTFjM2RkMDE3NTVhNTQ2NTFkM2UwOTU1YTk3NDg2MzYwMWViMzExNzY1MzNmMmRhOWVlNyIsInR5cGUiOiJhbm9ueW1vdXMifSwib3V0cHV0Ijp7ImZpeCI6IkZBSUxVUkUgTU9ERTogTG9naWMgZXJyb3Ig4oCTIHRoZSBjb2RlIGZhaWxzIHRvIGRldGVjdCByZXZva2VkIGV2aWRlbmNlIElEcyBpbiBhdXRob3JpdHnigJFiZWFyaW5nIHJlZmVyZW5jZXMgKHNpZ25pbmdfYXV0aG9yaXR5X3JlZnMpLlxuXG5JTlRFTlQgREVURUNURUQ6IFRoZSBvcmlnaW5hbCBjb2RlIGFpbXMgdG8gcmFpc2UgYSBWYWx1ZUVycm9yIHdoZW4gYW55IHJldm9rZWQgZXZpZGVuY2UgSUQgYXBwZWFycyBhbnl3aGVyZSBpbiB0aGUgZG9jdW1lbnTigJlzIHJlZmVyZW5jZXMsIGluY2x1ZGluZyBhdXRob3JpdHnigJFiZWFyaW5nIHNpZ25pbmcgYXV0aG9yaXR5IHJlZmVyZW5jZXMuXG5cbkZJWEVEIENPREU6XG5yZXZva2VkX3JlZnMgPSBzZXQoZG9jdW1lbnQuZ2V0KFwic2VnbWVudHNcIiwge30pLmdldChcInRydXN0XCIsIHt9KS5nZXQoXCJyZXZvY2F0aW9uc1wiLCBbXSkpXG5pZiByZXZva2VkX3JlZnM6XG4gICAgZGVmIHJlZmVyZW5jZWRfZXZpZGVuY2UodmFsdWUpOlxuICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBkaWN0KTpcbiAgICAgICAgICAgIGZvciBrZXksIGl0ZW0gaW4gdmFsdWUuaXRlbXMoKTpcbiAgICAgICAgICAgICAgICBpZiBrZXkgPT0gXCJzb3VyY2VfcmVmXCIgYW5kIGl0ZW0gaW4gcmV2b2tlZF9yZWZzOlxuICAgICAgICAgICAgICAgICAgICB5aWVsZCBpdGVtXG4gICAgICAgICAgICAgICAgZWxpZiBrZXkgPT0gXCJldmlkZW5jZV9yZWZzXCIgYW5kIGlzaW5zdGFuY2UoaXRlbSwgbGlzdCk6XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gKHJlZiBmb3IgcmVmIGluIGl0ZW0gaWYgcmVmIGluIHJldm9rZWRfcmVmcylcbiAgICAgICAgICAgICAgICBlbHNlOlxuICAgICAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHJlZmVyZW5jZWRfZXZpZGVuY2UoaXRlbSlcbiAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbHVlLCBsaXN0KTpcbiAgICAgICAgICAgIGZvciBpdGVtIGluIHZhbHVlOlxuICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gcmVmZXJlbmNlZF9ldmlkZW5jZShpdGVtKVxuXG4gICAgYmxvY2tlZCA9IHNldChyZWZlcmVuY2VkX2V2aWRlbmNlKGRvY3VtZW50LmdldChcInNlZ21lbnRzXCIsIHt9KSkpXG4gICAgIyBhbHNvIGNoZWNrIGF1dGhvcml0eeKAkWJlYXJpbmcgc2lnbmluZyBhdXRob3JpdHkgcmVmZXJlbmNlc1xuICAgIHNpZ25pbmdfcmVmcyA9IGRvY3VtZW50LmdldChcImdvdmVybmFuY2VcIiwge30pLmdldChcInNpZ25pbmdfYXV0aG9yaXR5X3JlZnNcIiwgW10pXG4gICAgYmxvY2tlZC51cGRhdGUocmVmIGZvciByZWYgaW4gc2lnbmluZ19yZWZzIGlmIHJlZiBpbiByZXZva2VkX3JlZnMpXG5cbiAgICBpZiBibG9ja2VkOlxuICAgICAgICByYWlzZSBWYWx1ZUVycm9yKFwiQWdlbnRETkEgcmVmZXJlbmNlcyByZXZva2VkIGV2aWRlbmNlOiBcIiArIFwiLCBcIi5qb2luKHNvcnRlZChibG9ja2VkKSkpIiwidGV4dCI6IkZBSUxVUkUgTU9ERTogTG9naWMgZXJyb3Ig4oCTIHRoZSBjb2RlIGZhaWxzIHRvIGRldGVjdCByZXZva2VkIGV2aWRlbmNlIElEcyBpbiBhdXRob3JpdHnigJFiZWFyaW5nIHJlZmVyZW5jZXMgKHNpZ25pbmdfYXV0aG9yaXR5X3JlZnMpLlxuXG5JTlRFTlQgREVURUNURUQ6IFRoZSBvcmlnaW5hbCBjb2RlIGFpbXMgdG8gcmFpc2UgYSBWYWx1ZUVycm9yIHdoZW4gYW55IHJldm9rZWQgZXZpZGVuY2UgSUQgYXBwZWFycyBhbnl3aGVyZSBpbiB0aGUgZG9jdW1lbnTigJlzIHJlZmVyZW5jZXMsIGluY2x1ZGluZyBhdXRob3JpdHnigJFiZWFyaW5nIHNpZ25pbmcgYXV0aG9yaXR5IHJlZmVyZW5jZXMuXG5cbkZJWEVEIENPREU6XG5yZXZva2VkX3JlZnMgPSBzZXQoZG9jdW1lbnQuZ2V0KFwic2VnbWVudHNcIiwge30pLmdldChcInRydXN0XCIsIHt9KS5nZXQoXCJyZXZvY2F0aW9uc1wiLCBbXSkpXG5pZiByZXZva2VkX3JlZnM6XG4gICAgZGVmIHJlZmVyZW5jZWRfZXZpZGVuY2UodmFsdWUpOlxuICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBkaWN0KTpcbiAgICAgICAgICAgIGZvciBrZXksIGl0ZW0gaW4gdmFsdWUuaXRlbXMoKTpcbiAgICAgICAgICAgICAgICBpZiBrZXkgPT0gXCJzb3VyY2VfcmVmXCIgYW5kIGl0ZW0gaW4gcmV2b2tlZF9yZWZzOlxuICAgICAgICAgICAgICAgICAgICB5aWVsZCBpdGVtXG4gICAgICAgICAgICAgICAgZWxpZiBrZXkgPT0gXCJldmlkZW5jZV9yZWZzXCIgYW5kIGlzaW5zdGFuY2UoaXRlbSwgbGlzdCk6XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gKHJlZiBmb3IgcmVmIGluIGl0ZW0gaWYgcmVmIGluIHJldm9rZWRfcmVmcylcbiAgICAgICAgICAgICAgICBlbHNlOlxuICAgICAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHJlZmVyZW5jZWRfZXZpZGVuY2UoaXRlbSlcbiAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbHVlLCBsaXN0KTpcbiAgICAgICAgICAgIGZvciBpdGVtIGluIHZhbHVlOlxuICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gcmVmZXJlbmNlZF9ldmlkZW5jZShpdGVtKVxuXG4gICAgYmxvY2tlZCA9IHNldChyZWZlcmVuY2VkX2V2aWRlbmNlKGRvY3VtZW50LmdldChcInNlZ21lbnRzXCIsIHt9KSkpXG4gICAgIyBhbHNvIGNoZWNrIGF1dGhvcml0eeKAkWJlYXJpbmcgc2lnbmluZyBhdXRob3JpdHkgcmVmZXJlbmNlc1xuICAgIHNpZ25pbmdfcmVmcyA9IGRvY3VtZW50LmdldChcImdvdmVybmFuY2VcIiwge30pLmdldChcInNpZ25pbmdfYXV0aG9yaXR5X3JlZnNcIiwgW10pXG4gICAgYmxvY2tlZC51cGRhdGUocmVmIGZvciByZWYgaW4gc2lnbmluZ19yZWZzIGlmIHJlZiBpbiByZXZva2VkX3JlZnMpXG5cbiAgICBpZiBibG9ja2VkOlxuICAgICAgICByYWlzZSBWYWx1ZUVycm9yKFwiQWdlbnRETkEgcmVmZXJlbmNlcyByZXZva2VkIGV2aWRlbmNlOiBcIiArIFwiLCBcIi5qb2luKHNvcnRlZChibG9ja2VkKSkpIn0sInJlY2VpcHRfc2NoZW1hX3ZlcnNpb24iOiIwLjMiLCJzaWRlX2VmZmVjdHMiOnsiZGVjbGFyYXRpb25faGFzaCI6InNoYTI1Njo0NWFhZDM4ZjNhYTk4MmI5YWFmZTkyZWNiNDE2ZWJlOTg3OTFlZGRiYWY4YWI2ZGYwYmQwODYwNWI3YzFiZmVlIiwiZGVjbGFyZWQiOlsibm9uZSJdLCJzY2hlbWFfdmVyc2lvbiI6InphbWJvLXNpZGUtZWZmZWN0cy8xIn0sInRvb2wiOnsibmFtZSI6InphbWJvdF9maXgiLCJzY29wZSI6InB1YmxpYyIsInZlcnNpb24iOiI0LjAuMCJ9fQ==- Timestamp
Bound call context
- Receipt schema
0.3- Tool name
zambot_fix- Tool version
4.0.0- Permission scope
public- Caller type
anonymous- Caller ID
sha256:857a342c7e18a1c3dd01755a54651d3e0955a974863601eb31176533f2da9ee7- Declared side effects
none- Side-effects schema
zambo-side-effects/1- Declaration hash
sha256:45aad38f3aa982b9aafe92ecb416ebe98791eddbaf8ab6df0bd08605b7c1bfee
This records what the server-side tool contract declared at call time. It does not independently verify that a downstream side effect happened.
Bound upstream evidence
- Status
- captured
- Evidence SHA-256
sha256:9ea0086030fafdf323ea1a06caaa28770c84837747fb02fe3038586624089bb9- Byte length
- 2952
Neutral Nostr anchor
- Event ID
ee258e3eca64b76fcb504e26988493eaf00e60c7b9fa7c742f254aae85fd4544- Anchor status
- published
- Public key
e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41
Relay hints: wss://relay.damus.io · wss://nos.lol · wss://relay.primal.net
Schema: zambo-receipt-anchor/1
Anchor envelope bytes:
{"anchored_at":"2026-09-28T22:46:56.046Z","evidence_byte_length":2952,"evidence_sha256":"sha256:9ea0086030fafdf323ea1a06caaa28770c84837747fb02fe3038586624089bb9","evidence_url":"https://zambo.dev/api/evidence/9ea0086030fafdf323ea1a06caaa28770c84837747fb02fe3038586624089bb9","output_sha256":"sha256:1d4b94f85db1cc3f21598938b4d9d03c2fd436c6d4761733cab68e88c9d98182","receipt_uuid":"a5fa4908-13d4-4c0d-a1e3-9711bbd710a0","schema_version":"zambo-receipt-anchor/1"}
Anchor status "published": Published to all configured relay targets.
Check this hash yourself
Open the verification endpoint. The server recomputes the SHA-256 from the stored bytes and answers verified:true. If it does not say verified, do not trust this page.
See the Nostr anchor event on a public viewer. The fingerprint is timestamped outside Zambo too.
Embed this receipt
Markdown
[](https://zambo.dev/run/a5fa4908-13d4-4c0d-a1e3-9711bbd710a0)
HTML
<a href="https://zambo.dev/run/a5fa4908-13d4-4c0d-a1e3-9711bbd710a0"><img src="https://zambo.dev/api/receipt/a5fa4908-13d4-4c0d-a1e3-9711bbd710a0/badge.svg" alt="Verifiable Zambo receipt"></a>
Recent verifiable receipts
36,729 verifiable receipts minted
Run your own calls. Free, 20 calls per tool per day, no account.