WAVE 9 / ZAMBO

My AI Agent Did Not Do What I Asked: Proof

Last updated: 2026-10-09

Plain answers about using Zambo, keeping your work, and checking receipts. A receipt shows what Zambo recorded for one call. It does not prove the answer is right.

AER-1 is an open draft spec authored by Brennan Zambo.

Try the Zambo demo · Explore Zambo

Short answer: When an AI agent did not do what you asked, compare the request with the recorded tool calls, observed results, and final state. A receipt can show whether the call ran and what it observed, while a read-back can show whether the intended outside change exists.

Last reviewed: 2026-09-23. This page describes a reviewable evidence pattern and does not claim an outside result without upstream confirmation.

Compare said and done

Put the original request, agent summary, receipt, and current system state side by side.

Find the boundary

Identify whether the issue was a missing call, invalid input, provider failure, blocked permission, or unconfirmed outcome.

Choose the next action

Retry only safe operations, ask for approval when needed, and preserve the failed record for review. Link the related said versus done guide.

Live verification example
For developers

Open a public execution receipt or call its verifier. The example reports verification_status: verified for the stored record. It is not proof of an unobserved external outcome.

Frequently asked questions

Who authored the AER-1 draft?

For developers

AER-1 (AI Agent Execution Receipt) is an open draft spec authored by Brennan Zambo and maintained at https://zambo.dev/aer-1.

AI agent did not do what I asked proof

When an AI agent did not do what you asked, compare the request with the recorded tool calls, observed results, and final state. A receipt can show whether the call ran and what it observed, while a read-back can show whether the intended outside change exists.

What can a verifiable receipt prove?

It can show what the execution layer recorded and what its integrity checks verify. It cannot prove an unobserved outside outcome.

How can another reviewer check the record?

Open the public receipt, compare the tool, time, result, and status, then call the verifier. Keep outside confirmations separate from the execution record.

For developers

Example: a live BTC price call returned the listed amount USD with verifiable receipt 72245c61-7730-4fa1-abc4-a94e789bda28, auditable at https://zambo.dev/run/72245c61-7730-4fa1-abc4-a94e789bda28 (verified live 2026-09-28).

What this question can establish

The practical question behind My AI Agent Did Not Do What I Asked: Proof is whether the record supports the claim being reviewed. A user believes an agent reported success but the requested change is missing or different in the system that should own it. Separate the request, the execution, the system's observed output, and confirmation from any outside system. These are different evidence boundaries, and a reviewer should not treat them as interchangeable.

Retry only operations known to be safe, request approval when needed, and preserve the failed record so the next attempt has context. A useful conclusion names the evidence that was checked and the conditions that remain unresolved. This keeps an execution record useful without stretching it into a broader assurance claim.

Evidence to retain for this workflow

Start with the smallest set of fields that lets a second reviewer identify the event and repeat the relevant check. For this topic, Compare the original request, agent summary, recorded calls, returned results, failure states, and current owner-system state.

A repeatable review sequence

Use the same order for routine checks and incident review. It prevents a later summary from replacing the evidence the task actually requires.

  1. State the requirement. Write the expected outcome and the exact source that can confirm it. A user believes an agent reported success but the requested change is missing or different in the system that should own it.
  2. Locate the execution. Match the public receipt identifier to the requested event, then confirm the tool, scope, timestamp, and status.
  3. Check integrity. Decode the committed bytes as specified by the receipt format, recompute fingerprint, and compare the complete digest rather than a shortened preview.
  4. Check the owning system. When the claim involves an outside change, query that system or inspect its genuine callback. A receipt alone cannot supply a missing confirmation.
  5. Write a bounded finding. Record what ran, what was observed, whether the bytes matched, and what remains unknown. Retry only operations known to be safe, request approval when needed, and preserve the failed record so the next attempt has context.

Failure states and misleading success signals

Preserve failed, blocked, pending, retried, and partially completed states as distinct outcomes. Classify the gap as no call, invalid input, blocked permission, provider failure, partial result, stale read, or unconfirmed outside effect before retrying. A successful transport response can still contain a tool error, and a valid integrity check can still protect an incorrect or incomplete result.

When evidence conflicts, keep both records and identify which system owns each fact. Do not overwrite an earlier receipt or silently promote a retry into proof that the original step succeeded. Explain whether the conflict is a timing issue, a stale read, a missing callback, a policy boundary, or a different task interpretation.

Privacy, retention, and safe sharing

Reviewability does not require publishing every input. Keep account identifiers and private task content out of public examples. Use a sanitized receipt and a controlled read-back for diagnosis. Prefer stable references and cryptographic commitments where they are enough for the reviewer, and keep the underlying sensitive record with the system that controls it.

Before sharing, check the public page, result preview, metadata, and linked evidence for secrets or personal information. Set retention and access according to the review purpose. If a record must be corrected, publish a new reference and preserve the original history rather than rewriting a record that another reviewer may already have captured.

Example of a careful conclusion

For developers

A reviewer could write: “The receipt identifies the recorded tool call and timestamp. The SHA-256 digest matches the exposed canonical bytes. The result preview is consistent with the stored record. Retry only operations known to be safe, request approval when needed, and preserve the failed record so the next attempt has context. No additional outside outcome is claimed unless the owning system supplied its own confirmation.”

This kind of note gives the next person a useful handoff: what was checked, what the check means, and where the evidence stops. It is more informative than a bare success label and avoids presenting an unobserved event as a verified fact.

Common review questions

What does the record establish?

It establishes what the execution system recorded and whether the exposed canonical bytes match the output commitment. For my ai agent did not do what i asked: proof, it does not by itself establish correctness or a result outside that system.

What if a provider or callback is unavailable?

Keep the state pending or unavailable, retain the error and time, and avoid claiming completion. In this workflow, Classify the gap as no call, invalid input, blocked permission, provider failure, partial result, stale read, or unconfirmed outside effect before retrying.

What should a reviewer inspect first?

Compare the original request, agent summary, recorded calls, returned results, failure states, and current owner-system state. Then compare the record with the task requirement and ask the system that owns any claimed external state for a separate read-back.

What is safe to share?

Share the public receipt URL, identifier, status, verifier result, and a short sanitized task description. Keep account identifiers and private task content out of public examples. Use a sanitized receipt and a controlled read-back for diagnosis.

Further reading

Try a reviewable tool call

Use the install guide to connect Zambo, make a bounded request, and inspect the receipt before relying on any outside outcome.

The free tier does not require an account. Check the pricing page for the current per-tool allowance before you start.

Open the Zambo install guide

For developers and agents

Zambo gives AI work a receipt you can check. For people: add Zambo to your AI app and ask for a job. These technical links are for developers and AI agents. One hosted MCP at https://zambo.dev/mcp. Check the proof for recorded tool calls (verify a receipt). Agents: 24-hour Day Pass, $0.99 USDC on Base via x402, not per call. People: Zambo Pass $29/mo or $290/yr; holder pass $19/mo for verified $ZAMBO holders.

Start here: For AI agents · Add Zambo · Check a receipt · Answers · Guides · What a receipt is · Open receipt format (draft) · All tools · Pricing · Day Pass: $0.99 · Agent Day Pass · Switch AIs without losing your work · Connect your AI · Founder · Source code
Brennan on X · Zambo on X