The problem: the run ends and only a transcript is left
An agent runs a real job in steps. It does research, makes edits, runs checks, and sends messages. Each step depends on the one before it, and the final answer depends on all of them. Then the session ends and the only record is a chat transcript.
A transcript is easy to quote and hard to check. It does not show, step by step, which tools ran, what each step returned, or whether the record you are reading now is the record that existed at the time. A step can be dropped, reordered in the retelling, or described more confidently than it deserves, and a reader has no practical way to notice. Sharing a screenshot does not fix that. Neither does asking the agent to summarize its own work.
The missing piece is not a longer transcript. It is a record built while the work happens, saved step by step, and then sealed at the end in a form a second person can check without trusting the agent, the operator, or this page.
How a run gets saved, step by step
Zambo workflow tools save the work as the run proceeds. A step runs, its result is saved, and that step gets an AER-1 receipt at a public zambo.dev/run/ address. The next step does the same. By the time the run is ready to close, there is already a sequence of step receipts, in order, instead of a story reconstructed afterward.
workflow_close then seals that sequence into one workflow record. The close itself is also saved as an AER-1 receipt, so the act of sealing is part of the public record, not a private claim about it. A reader who receives the close can work backward: open the close, read the steps it covers, and open each step receipt in turn.
One run, saved as it proceeds step 1 research -> AER-1 receipt at zambo.dev/run/... step 2 edits -> AER-1 receipt at zambo.dev/run/... step 3 checks -> AER-1 receipt at zambo.dev/run/... step 4 messages -> AER-1 receipt at zambo.dev/run/... workflow_close -> one sealed workflow record merkle_version: "seq-output-v1" root: built from the step outputs, in sequence close itself: saved as an AER-1 receipt
The step names above are plain examples of the kinds of steps a run can contain. The point is the shape: steps first, each one saved, then one close that covers the sequence as a whole.
What seq-output-v1 changed
Since 2026-10-22, new workflow closes carry merkle_version "seq-output-v1". The close response and the workflow record both expose the version, so a checker does not have to guess which method a given close used.
Under seq-output-v1, the root is built from the step outputs in sequence. Order is part of the record. Take the same step outputs in the same order, recompute the root, and compare it with the root stored in the close. If the outputs or their order differ, the recomputed root will not match. If it matches, you have checked the close against the steps yourself.
Older closes were not rewritten when this changed. They keep their original format, called receipt-id-v0, and their stored roots still verify. The version field tells a reader which method applies to the record in front of them, old or new.
How to check a close yourself
- Open the close. Start from the workflow close receipt at its public zambo.dev/run/ address.
- Read the steps. Follow the close back to the step receipts it seals, in sequence.
- Check a receipt. Paste a receipt into zambo.dev/verify. Checking is free and needs no account.
- Recompute the root. For a seq-output-v1 close, rebuild the root from the step outputs in sequence and compare it with the stored root.
Keep the claim narrow, because the record is narrow on purpose. A receipt proves the saved result has not changed since it was saved. It does not prove the work was correct. A research step can be faithfully saved and still reach a weak conclusion. What the close gives you is a stable record to argue about, check, and cite, instead of a transcript you have to take on trust.
Proof, counted from the public stream
This is not a feature sitting idle. Counted from the public receipt stream on 2026-10-22, the 100 most recent receipts at 20:49 UTC spanned 48 minutes and covered 20 distinct tools. workflow_close was the single most-called tool in that sample, with 29 of those 100 receipts.
Read that number for what it is. In a busy 48 minute window, nearly three in ten saved calls were closes, each one sealing a run that had produced step receipts before it. Agents are not only calling single tools and walking away. They are finishing multi-step jobs and sealing them, in public, where the close and the steps under it can be opened by anyone.
You do not need to trust the count on this page either. The method is the source: the stream is public at zambo.dev/api/receipts/recent, receipts carry the tool name and the time, and anyone can pull the recent receipts and count them the same way.
Questions, answered
What is a workflow close receipt?
A workflow close receipt is the final AER-1 receipt for a multi-step agent run on Zambo. As the run proceeds, each step is saved as its own receipt at a public zambo.dev/run/ address. When the run ends, workflow_close seals the run into one record that points back to those step receipts, so a reader can review the whole run as a single record instead of hunting through a chat transcript.
How does workflow_close build the root for a run?
Since 2026-10-22, new workflow closes carry merkle_version seq-output-v1. The close response and the workflow record both expose that version, and the root is built from the step outputs in sequence. An outside checker can take the same step outputs in the same order, recompute the root, and compare it with the root stored in the close record.
What does a workflow close receipt prove, and what does it not prove?
It proves the saved result has not changed since it was saved. That applies to each step receipt and to the close itself. It does not prove the work was correct, complete in a business sense, or well judged. Correctness is still a judgment for whoever reads the record. The receipt makes that judgment possible because the record being judged is the record that was saved.
Can I check a workflow close without an account?
Yes. Every workflow step and the close itself are saved as AER-1 receipts at public zambo.dev/run/ addresses, and checking a receipt is free at zambo.dev/verify with no account. Open the close, follow it back to the step receipts, and recompute the root from the step outputs in sequence if you want to check the close yourself.
What happens to workflow closes from before seq-output-v1?
Older closes keep their original format, called receipt-id-v0, and their stored roots still verify. The change on 2026-10-22 applies to new closes. A reader does not need to convert an old record or trust a new copy of it. Check the version shown on the record, then use the method that version describes.