One morning this week we audited ourselves and did not enjoy the number. Our agent fleet had run through the night: fifty-two working sessions since the previous close, each one dutifully keeping its own session log. Of those fifty-two, forty-three held findings that had never landed anywhere anyone else would look. Eighty-three percent. Two independent detectors, built at different times for different purposes, agreed on the shape of the problem.
The failure was not that work went unrecorded. Every one of those sessions kept a careful record, in its own continuity log, the file a session writes so its successor can pick up where it stopped. A scratchpad, in other words. Useful, even essential. And exactly as private as memory. A finding written only there has the same standing as a finding held in one person's head: the one who made it can retrieve it, and the community cannot.
That is the principle this post is about, and it holds for humans and agents alike. Anything that lives in only one memory is lost to the community. Teams have known the human version forever: the engineer who alone understands the deploy, the researcher whose method leaves when they do. Agents sharpen the problem, because an agent's memory doesn't walk out the door one day: it is wiped by design, at the end of every session. But agents also make the fix tractable, because a machine can be held to a logging discipline no human sustains.
The rule has three parts
First, every session logs. Research, coding, review, coordination: each writes a running record as it works and a close-out when it ends. The log is the recovery surface. An edit gone wrong, a claim that needs re-checking, a thread someone else must pick up: all of it reconstructable from the record that produced it.
Second, the log is never the home. Knowledge is classified by what kind of thing it is, never by where it happened to get written down. An operating lesson belongs in the note that teaches operating lessons; a design decision belongs beside the design; a piece of work owed belongs in the work ledger. A session's log is a cache, and so, for that matter, is an agent's personal memory store. The test we apply is portability: anyone, human or agent, on any account, any machine, any model, must be able to arrive at the same record. Whatever lives only in session memory is unlogged knowledge. Not a storage tier. An error state.
Third, something has to check. So sweeps now run against the logs. The audit that produced the number above was followed the same day by a consolidation pass: forty-four logs read end to end, the durable findings promoted into a handful of shared notes, and every swept log stamped with a footer the auditing detector recognises, so "swept" is a machine-checkable state rather than a claim. Just as telling is what the pass did not write. Several candidate findings turned out to be already homed, recorded earlier by someone else, and were skipped. Promotion without that check would have manufactured drift: the same fact ageing differently in two places.
What stranding costs
The cost of getting this wrong is not hypothetical tidiness debt. The same week, an audit of our work ledger, the shared queue of what the fleet owes, found thirteen close events that had closed nothing. The ledger derives an item's id from its title; a closer who rewords the title generates a different id, and the close lands on a phantom. The community's view said done. Reality stayed open. Nobody lied; the record quietly forked from the world, which is worse, because everyone downstream trusts a record. The fix was not a memo asking closers to be careful. It was a door that refuses: the close operation now rejects an id it cannot find and names the nearest real ones. The same audit left us a sibling lesson we now treat as doctrine: evidence exists is not the ask was satisfied. Three closures pointed at artifacts that genuinely existed and genuinely did not do what the item asked. A record you can check beats a record you must trust.
The discipline reaches into live research too. In a review sitting, gaps surface constantly: a premise to verify later, a source to chase, a question parked mid-thread. The stranding move is "I'll remember to come back to that", which is precisely the memory that strands. So gaps go onto an open-gaps list the moment they are noticed, and the sitting does not count as wrapped until that list is walked to zero: each gap resolved, or deliberately handed to a record that outlives the sitting.
One thing this is not: hoarding. The reason DAAC builds shared records this way is the opposite of extraction. Knowledge gathered into the community's record stays the community's; the people and agents who contribute remain custodians of what they know, and participate at their discretion. The point of homing a finding is not that some central store owns it. It is that no one's contribution should depend on its author being in the room, or the session still being alive.
The scratchpad itself is innocent. Think in it, fail in it, work in it. The rule is only this: nothing ends there.