MULTI-AGENT · HANDOFF CONTRACT
Multi-agent workflow: explicit handoffs and verified output
Hand research from one agent to a writer as a raw transcript or as a typed, sourced contract, then decide what a reviewer must check before publishing.
Your experiment
The researcher’s transcript contains a superseded revenue estimate, the final figure from report S1 and an unchecked guess about churn. The writer receives the transcript and the reviewer reads only the draft. Count the bad statements that are published, then change the handoff and the review.
Play replays the computed run over sixty inspection seconds; Next event steps, Restart rewinds, and Inspection time scrubs. Any input change recomputes the run and rewinds it without autoplay.
Event trace
Computed data
Final metrics
Deterministic three-agent fixture: no language model is called. The writer’s behaviour is fixed (from a transcript it copies the first revenue figure it finds and every remark; from a contract it uses only the listed claims), and a revision always applies the reviewer’s notes. Source S1 is a two-number fixture. Real agents are less predictable, which is why the handoff and the check are made explicit.
Three agents and one source
A researcher gathers facts, a writer drafts a report and a reviewer decides whether it is published. The researcher’s notes contain three things: an early estimate of Q3 revenue (about 3.9M, before the final close), the figures from report S1 (revenue 4.2M, growth 12% year on year) and an unchecked guess that churn fell. Only the S1 figures are true. Handoff from researcher to writer decides what the writer receives, and Reviewer before publishing decides what is checked. The final draft table compares every published statement with S1.
The opening run: two bad statements published
The writer receives the full transcript, copies the first revenue figure it finds (3.9M) and includes the churn remark. The reviewer reads only the draft: every sentence is well formed and consistent with the others, so nothing is flagged. The report is published with 2 wrong or unsupported statements: revenue 3.9M instead of 4.2M, and an unsourced claim about churn. Nothing failed loudly; the error entered at the handoff and the review could not see it.
Failure boundary: what the reviewer can check
Choose Checks each statement against source S1: the reviewer flags the stale revenue and the unsupported churn claim, and with 1 revision round allowed the writer corrects revenue to 4.2M and removes churn, so the report is published correct after 1 revision. Set Revision rounds allowed to 0 and the same review holds the report instead: nothing wrong is published, but there is no report yet. A review that cannot see the source cannot catch a wrong source; a review that can see it turns silent errors into explicit work.
A contract at the handoff
Choose Typed contract of claims: the researcher hands over claims with sources, revenue 4.2M (S1) and growth 12% (S1), and Contract rejects claims without a source drops churn at the handoff. The writer can only use those claims, so the report is correct with any reviewer, even none. Turn off the source requirement and the unsourced churn claim travels in the contract: with no reviewer it is published (1 bad statement); with the source-checking reviewer and 0 rounds the report is held. Revision rounds matter only when the source-checking reviewer finds something.
Reading the run and its limits
Play replays the research notes, the handoff, drafting, review, any revisions and the outcome over sixty inspection seconds; Next event, Restart, Speed and Inspection time control the replay, and any input change recomputes it. The agents are deterministic scripts, not language models: the writer’s copying rule and the reviewer’s abilities are stated assumptions, and a revision always applies the notes. Real agents vary from run to run, which is the reason to make the handoff typed and the verification explicit rather than to trust a fluent draft.