Agent A finishes its part, which included a small decision: renaming a field from name to fullName. Agent B, at an entirely separate desk, starts its part — and still calls name, because on its desk the field is still the old name. Assemble the two pieces: broken. It's not that B is wrong. B couldn't have known — that decision never landed on its desk.
This is the built-in cost of many agents: the boundary between roles is also a boundary between memories. What A knows, B doesn't know on its own.
01The bridge is a contract, not a dump
The wrong reflex is "then show B everything A did" — paste A's whole history into B. But that walks right into the budget trap: B's desk floods with the irrelevant, and the one thing that matters (name → fullName) sinks into it.
What needs passing isn't everything A did, but the contract — the small slice B must know to avoid breaking things: the shared decisions, the names now locked in, the constraints that cross roles. A five-line "here's what's been settled that you must respect" steers B better than five hundred lines of A's journal.
Picture a shift handover: the person coming on doesn't need a minute-by-minute replay of the last shift, they need one sheet of "what's open, what not to touch." Passing context between agents is the same — one contract sheet, written tight, holding only what crosses the boundary.
02Who holds the master copy
An easy thing to forget: where does that contract live? If it's only in your head, retyped each time you open an agent, you'll eventually forget a line — and that line will be the break.
So the contract should be persisted outside, just like the stash-memory-in-a-file principle: one place recording the shared decisions that every role reads before working. Then "passing context" isn't you remembering-and-relaying, it's each agent reading the latest contract itself. You move from "hoping I didn't forget to tell B" to "B can always read it, because it's written in the shared place."