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

Agents summarize themselves generously: a report that says "checked the price, saved the summary, 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: each claim either has a step whose receipt verifies, or it is absent from the record, and absent counts as not done.

- HTML version: https://rambozambodotdev.gitlab.io/aer1-hub/my-ai-said-the-task-was-done-but-was-it.html
- Start free: https://zambo.dev/add/
- Endpoint: https://zambo.dev/mcp
- Verify any receipt: https://zambo.dev/verify/
- The checking pattern as a package: `pip install zambo-verify-pass` or `npm install zambo-verify-pass`, guide https://rambozambodotdev.gitlab.io/aer1-hub/verify-pass-package.html

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. Author: Brennan Zambo.

## New to this? Start here, no code

Add the Zambo endpoint (https://zambo.dev/add/) to your chat AI, then 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.
```

## The pattern

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: no receipted step means the claim is absent, and absent counts as not done.
3. Check the backed claims at the verify endpoint and read each receipt's verification_status.
4. Save the verdict in the same job and wrap it: report, claims, and verdict as one record.

## The real run

Executed November 2, 2026, job uc-donecheck-2026-11-02.

- The work step: BTC live price $76,738.00, receipt https://zambo.dev/run/b9f23add-aae7-4f18-a94c-6863aa321f29 (v2 verify endpoint reads verification_status: verified)
- The claims step (price checked / summary saved / summary emailed): https://zambo.dev/run/7f673ba3-665a-49a4-b0e8-74eb1922343e
- The verdict step (claims 1 and 2 backed; the email claim absent, no step performs it, counts as not done): https://zambo.dev/run/12e8b6ff-3d04-430a-bfb9-a2ec662935e7
- The done-check handover (9 steps, 9 of 9 step receipts checked): https://zambo.dev/handover/da8900bb-880c-460a-b478-1dc482a89232

## What this costs

The free tier is per identity: 20 calls + 1 wrap-up free every day, pickup always free. This run spent 3 counted calls plus the free wrap. A Day Pass is $0.99 per identity for 24 unlimited hours; the Zambo Pass is $29 per identity for 30 days; one-time payments, never subscriptions. Start: https://zambo.dev/add/

## 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 https://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.

**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 24 hours) and the Zambo Pass ($29 for 30 days) are for, both one-time payments.

## Related

- The index of receipt use cases: https://rambozambodotdev.gitlab.io/aer1-hub/receipt-use-cases.html
- The verify pass pattern guide: https://rambozambodotdev.gitlab.io/aer1-hub/verify-pass-package.html
- Two agents disagree about what the data said: https://rambozambodotdev.gitlab.io/aer1-hub/two-agents-disagree-about-what-the-data-said.html

For work that runs past one day: a Day Pass ($0.99) is unlimited for 24 hours. Ongoing access is the Zambo Pass: $29 for 30 days or $290 for 365 days, one-time payments, never a subscription, and $19 for 30 days for $ZAMBO holders, on the same endpoint, with a verifiable receipt on every call. Pricing: https://zambo.dev/pricing/

Zambo, the verifiable work layer for AI. https://zambo.dev/ · MCP endpoint https://zambo.dev/mcp · AER-1 draft https://datatracker.ietf.org/doc/draft-zambo-aer1/26/
