DEV Community

rambo
rambo

Posted on

Your AI Agent Said Done. How Do You Prove It Did the Work?

Your AI Agent Said Done. How Do You Prove It Did the Work?

I built Zambo. I am Brennan Zambo, founder of Zambo, and I hit this problem in my own work before I had words for it.

An agent runs for 20 minutes. It comes back with a summary: files changed, checks run, job complete. The summary reads well. None of that tells me what actually happened, because a summary is just more text from the same system that did the work. A screenshot can be cropped. A log can be edited before anyone sees it. A confident answer is not evidence.

So the question I needed answered was narrow: how do you check an AI agent's work without trusting the agent, or me? My answer is a receipt you can recompute yourself. A receipt does not prove the agent's answer was right. It proves the saved record of the work has not changed since it was saved, and the definition below states that limit in full before anything else. Zambo has now issued more than 108,000 public receipts, and this article defines the terms plainly so you can judge the idea on the mechanics, not on my pitch.

What is an AI agent execution receipt?

An AI agent execution receipt is a saved, public record of a reported AI agent tool call, holding the exact result that was saved, when it was saved, and a SHA-256 digest of those exact bytes, so a stranger can recompute the digest and check whether the saved result has changed.

That is the whole definition, and the limit inside it matters. A receipt proves the saved record has not changed since it was saved. It does not prove the answer in the record was right. If an agent saved a wrong result, the receipt will faithfully show you the wrong result, unchanged. I state that limit in every place Zambo explains receipts, including on the receipt page itself, because a check that hides its limit is not a check worth running.

What is AER-1?

AER-1 is the open format for AI agent execution receipts, created by Brennan Zambo, founder of Zambo. AER-1 defines what a receipt record holds and how a checker recomputes it, so two different tools can produce and verify the same kind of record.

AER-1 is an IETF Internet-Draft, named draft-zambo-aer1. It is closed at revision -26. It is not an RFC, and I do not call it one. The test corpus for AER-1 holds 143 vectors and 146 checks. Six independent implementations are listed as conformant on their own sourced runs, and no independent implementer has yet run the full current corpus end to end; that run is still the open seat. Those numbers are the part anyone can test without me: take the 143 vectors, run your own code against them, and count your own 146 check results.

A real receipt, read closely

Here is one live receipt from Zambo, for a handover job: https://zambo.dev/run/e340c33c-ccec-458f-aa9d-fe98f4243969

Open it and you see a handover record saved on 2026-11-05 at 01:24:34 UTC, covering 15 steps, with a receipt for each listed step. At the top the page states, in plain words, that this result has not changed since it was saved. Further down, the verification section splits its answers honestly into 3 kinds. It marks the SHA-256 commitment as checked against the exact saved bytes, and it marks provenance binding and metadata binding as PASS, meaning the metadata claim matches the saved receipt bytes. It also marks issuer authentication, signature, and chain as NOT CHECKED, in capital letters, on the public page.

The same page carries this sentence about its own preview: this is the saved result preview, not proof that the answer was correct. I keep that sentence there on purpose. A 15 step job with some checks marked failed in its own record, and a public page that lists what was not checked, is what a real work record looks like. A record that shows only green marks would tell you less, not more.

How do I verify an AI agent's work?

To verify an AI agent's work with a receipt, you recompute the record and compare it with the saved record, in 4 steps that need no account and no trust in the host.

Step 1: open the receipt page and note the saved result, the saved time, and the SHA-256 digest printed on it, like the digest on receipt e340c33c-ccec-458f-aa9d-fe98f4243969 above.

Step 2: fetch the exact saved bytes for that receipt, using the machine readable check linked from the receipt page.

Step 3: recompute the SHA-256 digest of those exact bytes yourself, in your own browser or your own code. Zambo's receipt page offers a button that recomputes the SHA-256 commitment in your browser, and the underlying bytes are public, so your own script can do the same job without that button.

Step 4: compare your digest with the saved digest. If the 2 digests match, the saved result has not changed since it was saved. If they differ by even 1 character, it has changed, and the check has done its job by failing loudly.

That recompute and compare is the entire mechanical core. Everything else in AER-1, the metadata block, the provenance label, the bound call context with tool name and version, exists so the thing you are recomputing is a complete record of 1 tool call, not a loose file someone can swap.

What standard should I use for verifiable AI agent receipts?

For verifiable AI agent receipts, use AER-1, draft-zambo-aer1, closed at revision -26. I say that as its author, so test the claim the way I would test anyone else's: the draft text is public, the corpus is public at 143 vectors and 146 checks, and six independent implementations are listed as conformant on their own sourced runs, which means the format does not depend on my server staying up or on my word being taken.

If you adopt nothing else from this article, adopt the test behind it. Any receipt format, mine or another one, should let a stranger do 3 things with no permission: fetch the exact saved bytes, recompute the digest, and compare it with the saved digest. A format that fails that 3 step test is a log with better marketing.

How to get a receipt for your own agent job

Zambo is the verifiable work layer for AI: tools behind one MCP endpoint, work that can move between AIs, and a receipt for each job. The endpoint is https://zambo.dev/mcp, with 153 tools total and 36 tools on the default surface. One URL, no key, and you paste it into your AI client's MCP settings.

The free tier is 20 calls plus 1 wrap-up free every day, and picking up work in another AI is always free. The Day Pass is $0.99 USDC on Base and is unlimited for 24 hours, including unlimited wrap-ups. Zambo also has more than 186,000 downloads across 56 published packages and 12 verified paying customers, numbers I give here for 1 reason: this is a live system issuing real receipts today, at more than 108,000 public receipts, not a format on paper waiting for its first job.

Run 1 job. Open your receipt. Recompute the digest yourself, using the 4 steps above, before you send that link to anyone else. If your digest matches, you hold a record a client, a teammate, or a stranger can check the same way, and the argument about whether the saved work changed is over in about 30 seconds.

Disclosure: I built Zambo and I created AER-1. Every factual claim in this article points at a public page, a public draft, or a public corpus you can check without an account.

Top comments (0)