The short answer
Open the receipts for the run, not the chat. Each call the agent made through Zambo issued an AER-1 receipt at the moment it ran: the tool, the time, and the saved result, kept byte for byte with its sha-256 digest. Recompute the digests, walk the calls in order, and the work either checks out or shows its gaps. Deleting the chat deletes the conversation about the work. It does not touch the record of the work.
Scope, stated once: an agent receipt is a record of one ai agent tool call that anyone can check: it keeps the exact saved bytes and their sha-256 digest, and it proves the result was not changed since it was saved, not that it was right.
What survives the chat, and what does not
| Record | Kept where | After the chat is deleted | Can anyone recheck it? |
|---|---|---|---|
| The chat transcript | Inside the chat product | Gone with the chat | No, it was only ever readable in the app |
| The agent's summary of the work | Inside the chat | Gone, and it was a claim, not a record | No |
| One receipt per tool call (AER-1) | The endpoint, outside the chat and outside the agent | Still there, still checkable | Yes, recompute each digest and compare |
| The handover record | On its own page, outside the chat | Still there, with the client's acceptance on it | Yes, anyone with the link |
The dividing line is who held the record while the work ran. Anything the chat held dies with the chat. Anything the endpoint receipted was never in the chat to begin with.
The check, step by step
- Find the run. Receipts are listed in the order the calls happened; the run page for a job collects them in one place, and handovers carry the full set with the deliverable.
- Recompute, do not reread. For each receipt, recompute the sha-256 digest of the saved result and compare it with the digest on the receipt. A match means the saved result is the result that was saved at run time.
- Walk the sequence. Read the calls in order: what ran, what came back, where a call was rejected. A claim of done with a missing step shows up here as a gap, not as an argument.
- Check the decision. If the work was delivered, the acceptance sits on the handover record with the decider and the time, next to the receipts it accepted.
The record compounds
This is not a pattern that exists for one careful user. The production record held 44,485 receipts as of the October 16, 2026 export, and the stream keeps growing: 2,536 receipts on October 24 alone, 13,342 across the seven days to October 25, from 3,016 distinct callers in a single measured week. Every one of those records outlives the session that produced it. That is the practical difference between a chat history and an archive: the archive is still there when the dispute, the audit, or the deleted chat arrives.
Questions, answered
My AI says the spreadsheet is finished. How do I check the work behind it?
Ask for the record behind the claim, not the claim again. If the job ran through Zambo, the calls that built the spreadsheet each issued a receipt: open the run, read the saved result of each step in order, and recompute the digests. The finished file either matches the record or it does not, and the record was written while the work ran, not reconstructed after you asked.
Can I check work from a session that ended weeks ago?
Yes. A receipt does not expire with the session that produced it. It names the call, keeps the saved bytes and their digest, and stays checkable for as long as the record is kept, which is the point of keeping it outside the chat. The audit trail guide walks a full after-session check.
What if the work never went through a receipted endpoint?
Then the chat really was the only record, and this page cannot invent one after the fact. That limit is the argument for receipting the next job: run it through the endpoint from the start, and the record exists before anyone needs it. The first 20 calls per day are free, so the habit costs nothing to build.