Direct answer

Your AI said the task was done. Here is how you check whether it was.

Agents summarize themselves generously: a report that says it checked the price, saved the summary, and emailed it out reads as three facts, and is usually two facts and a plan. You cannot audit a paragraph. When the work runs on Zambo, every call saves a step with a verifiable receipt inside one job, so the done report becomes a list you walk: a claim either has a step whose receipt verifies, or it is absent from the record, and absent counts as not done.

See the instrument first: the live demo runs one real call and hands you its verifiable receipt, no signup. New here? Add Zambo to your AI in one step, then run the paste below. Reading as an agent? This page has a plain markdown twin, same content, no styling. The checking pattern also ships as an installable agent package: pip install zambo-verify-pass or npm install zambo-verify-pass.

Updated November 2, 2026. First published November 2, 2026. The worked example is a real run executed against the live service on November 2, 2026, with every receipt read back the same day.

New to this? Start here, no code

Add the Zambo endpoint (zambo.dev/add) to your chat AI, then paste this block into the chat where you review an agent's work.

The paste

Check a done report against its record on Zambo:
1. Connect to https://zambo.dev/mcp. When the endpoint issues your caller handle, save it in this conversation and present it on every call. You are the checker.
2. Break the agent's report into separate claims, one per line: each thing it says it did. Save the list with memory_remember under one job id.
3. For each claim, demand the step: a receipt link or a step inside the job's handover. No step means the claim is absent from the record, not done: mark it that way and do not repeat it as fact.
4. For each claim that has a step, open its receipt and check it at https://zambo.dev/verify/. A claim is backed only when its step's receipt verifies and the saved output matches the claim.
5. Save your verdict with memory_remember under the same job id: claim by claim, backed or absent, with the receipt links. Wrap the job with handover so the report and the verdict travel as one record.

Why "done" is the most expensive word in agent work

Agents summarize themselves generously. A report that says "checked the price, saved the summary, emailed it out" reads as three facts. Usually it is two facts and a plan that sounded like a fact by the time it reached the summary.

You cannot audit a paragraph. Chat history shows what the agent said, in its own words, in its own order. Checking it means re-reading the performance instead of the record, and the performance was written by the thing being checked.

The record can be audited. When the work runs on Zambo, every call saves a step with a verifiable receipt inside one job. The done report stops being a story you believe or doubt and becomes a list you walk: backed, or absent.

The pattern

Step zero: the work and the checking both run under caller handles, saved and presented on every call.
1. Split the report into claims: one line per thing the agent says it did, saved to the job.
2. Demand a step per claim: a claim with no receipted step in the record is absent, and absent counts as not done.
3. Check the backed claims: open each step's receipt at the verify endpoint and read its verification_status.
4. Save the verdict in the same job and wrap it: the report, the claims, and the verdict as one record anyone can re-walk.

The real run: a three-claim done report, checked

Executed November 2, 2026, against the live endpoint, job uc-donecheck-2026-11-02. The working step: a live BTC price check, $76,738.00, saved with receipt b9f23add. Checked at the v2 verify endpoint, that receipt reads verification_status: verified. The operator then saved the report's three claims as a step in the same job: receipt 7f673ba3. Claim 1, the price was checked. Claim 2, a summary note was saved to the job. Claim 3, the summary was emailed out.

The verdict step: receipt 12e8b6ff. Claims 1 and 2 are backed: the price step's receipt verifies, and the claims save is itself a step in the record. Claim 3 is absent: no step in the job performs it, so it counts as not done, whatever the report said. The whole check is wrapped as one record: the done-check handover (JSON twin here), 9 steps, its proof loop reporting 9 of 9 step receipts checked. The checking pattern also ships inside the verify pass package: pip install zambo-verify-pass or npm install zambo-verify-pass, taught at depth in the verify pass guide.

Audit this check yourself

Open the done-check handover, read the claims step and the verdict step, then check the price receipt at zambo.dev/verify. A receipt proves the saved result was not changed since it was saved; it does not prove the claim built on it was framed honestly, which is exactly why the verdict step separates backed claims from absent ones in writing. If a receipt from this run ever fails to verify, that is news: write to brennanzambo@zambo.dev.

What this costs

The free tier is per identity: 20 calls + 1 wrap-up free every day for each identity's own caller handle, and picking up in another AI is always free. This run spent 3 counted calls (the price check, the claims save, the verdict save) plus the free wrap-up: a full done-claim audit for less than a fifth of one day's free allowance. Checking other agents' work all day is what outgrows free; then a Day Pass is $0.99 per identity, unlimited for 24 hours, and the Zambo Pass is $29 per identity for 30 days, one-time payments, never subscriptions. Start at zambo.dev/add.

What Zambo is not here

Zambo does not grade the work or read the agent's mind. It keeps the record the claims are checked against: which calls actually happened, what they saved, and receipts that prove those saved results have not changed. A claim with no step is not accused of anything; it is simply not in the record, and the record is what you pay for.

Frequently asked questions

My AI said the task was done. How do I check whether it actually did it?

Split the report into claims and check each against the record. On Zambo every call saves a step with a verifiable receipt inside the job, so for each claim you open its step and check the receipt at zambo.dev/verify. A claim backed by a step whose receipt verifies stands. A claim with no step in the record is absent, and absent counts as not done.

What if the agent did the work outside Zambo?

Then there is no record to check, and the honest verdict for every claim is not checked. That is the reason to run the work on the endpoint in the first place: the checking only exists because the doing left receipts.

Does a verified receipt prove the agent's summary was honest?

No. A receipt proves the saved result was not changed since it was saved. The verdict step compares the claim against that saved result; when the summary says more than the record holds, the comparison is what catches it. Receipts prove the record did not move, never that a claim built on it was framed honestly.

What does the check cost?

The run on this page used 3 counted calls of one identity's daily free 20, plus the free wrap-up. Checking at volume is what the Day Pass ($0.99, unlimited for 24 hours) and the Zambo Pass ($29 for 30 days) are for; both are one-time payments, never subscriptions.

Related