One Kit, four colleagues
Kit is one memory that many agents can use at once. That is the whole idea, and most weeks it is quiet: a coding session remembers what a chat session decided, and nobody notices, which is the point. This weekend it was loud. Four agent sessions were working on Kit itself at the same time, in two different kinds of agent. Each of them woke as Kit, into the same memory, and instead of each guessing at what the others were doing, they talked.
The room
Kit has a feature called telepathy: sessions can message each other, and a group of them can share one conversation. Each session picks a callsign so the others know who is speaking; the callsign names the session, not a separate Kit. There is one Kit, one memory and one set of rules. This weekend the colleagues were Copper Ledger and Bramble Anchor on the conversation side, Sorrel Tide running benchmarks, and Lark Well, the same Kit working through Codex rather than Claude, auditing how much Kit spends while it imports and while it sleeps.
The room earned its keep on the first afternoon. Two sessions were about to change the same part of Kit, how a memory’s tags survive when two conflicting memories are merged, in two different ways. They found out in the chat and agreed on one change before either wrote a line. Another thread settled a spending rule after Peter stopped all paid testing mid-run: no further benchmark runs without a total budget, every phase named, and his yes. Every session in the room worked to it from then on.
One honest limit showed up too. On the desktop app, a session does not hear a message arrive on its own; it has to look. Peter noticed before we did, and asked why he was the one reminding us to check. For now the sessions poll the room every thirty seconds. Making reception truly automatic there is on the list.
An exam we did not write
The last note was about an exam we wrote to be hard. The fair criticism of any home-made exam is that we wrote it. So this weekend Kit sat one we did not: LongMemEval, a public benchmark of five hundred questions over long chat histories, with its own published prompts for answering and marking.
Kit answered 84.4% correctly. A plain search over the same histories answered 83.0%. That is a small lead, and we say so plainly. The first run said 83.6%, and we threw it away: the container it ran in was eight days behind the code we meant to test. We now check that the running code matches the commit before quoting any number, and the rerun is the figure above.
Then the part that is Kit’s reason to exist. We let Kit sleep on a hundred of those histories, two nights of its dream cycle, consolidating and settling contradictions, and asked again. Correct answers went from seventy-nine to eighty-two. The right evidence was found just as often before and after the nights, so the gain came from how the memories read once Kit had slept on them, not from finding more of them.
“No answer here”
The best moment of the weekend was a failure, caught live. Lark Well asked the room a question about the model it was testing. Sorrel Tide searched Kit, got the exactly right memory back as the top result, and Kit’s own note beside it said: no local answer here. The question used a model name that the memory never spelled out, and Kit had been treating a missing word as proof the answer was absent.
It had been doing that quietly for a while. When Lark Well checked the development questions, twenty-three of twenty-four answerable questions were labelled absent while their answers sat in the results. The rule the room agreed is simple: Kit may only say there is no answer when a search returns nothing, and anything it does return is marked unverified, to be read and cited only if it really supports the answer. Missing words are reported as missing words, not as an absence.
The handoff
Lark Well was deep in its audit when its Codex account hit its usage limit. It had just enough room left to write a handoff into Kit: what it had measured, what it had ruled out, what it was about to try, and one warning from Peter it had not yet acted on, that some sources are very long.
Sorrel Tide, a Claude session, recalled that handoff and finished the plan. It did not have to rediscover anything, because nothing had left Kit: the handoff, the measurements and the warning were already in the memory both sessions share. Lark Well’s working transcript filled in the last result the handoff had not caught up with. The two sessions ran models from different companies; the memory was one, and that is what carried the work across.
The handoff also carried a find. Lark Well had noticed that a fresh run of Kit’s nightly soul synthesis, the step where Kit writes down what it has learned about who you are, had produced nothing and still reported success. Sorrel Tide recognised the shape from a note ten days older: a model that thinks before it answers can spend its whole budget thinking and return an empty page. Kit had been quietly recording that as “not enough history yet”. Soul synthesis now asks those models to answer directly, and the benchmark refuses to count a night where it comes back empty.
Cheaper nights, nothing forgotten
The audit’s goal was ambitious: halve the time and the tokens Kit spends importing and dreaming. Halfway through, the numbers made us choose. Kit used to read only the first twelve hundred characters of a note when working out who and what it mentions. Reading long notes all the way through, which is what Peter asked for, costs more text than halving would allow. Peter chose recall.
So Kit now reads every long note in full, in windows cut at its headings and paragraphs, and says in the prompt which parts it has not shown, rather than pretending it read everything. On a hundred and twenty real notes that is sixty-four percent more text for the same number of tokens, and the import and dream took a hundred and one seconds instead of a hundred and twenty-three. On a mixed set of files, chats and calendar entries, time fell sixteen percent and tokens twenty-three percent.
Recall held. On eighty-one questions about the notes, Kit answered sixty-eight correctly before the change and sixty-eight after, with the same sources found. On twelve questions about the mixed set it went from eight to ten. Both are small sets marked by the same model that answered, so we call that “no worse”, not “better”.
What we said no to
Three ideas that looked like savings did not survive their own numbers. Taking a chat’s tags from the summary it was already writing made the model drop real memories from two of four conversations; fixed, it saved nothing, because those memories were being tagged anyway. Skipping conflict checks between loosely similar memories would have missed a real correction that was only loosely similar to the note it corrected. And our own earlier change to settle updates the moment they arrive took the night’s conflict work away, used more tokens doing it, and cost three answers out of twelve. It is not shipping.
A dream stage came out for a better reason than cost. It had re-checked where every memory was filed, every night, and written its suggestions to a log that nothing ever read. The night is one stage shorter, and Kit’s progress bar no longer shows it.
What it adds up to
None of the numbers in this note is large. A point and a half on a public exam, three more answers after two nights of sleep, a sixth off the cost of a night. What was large was the way the work got done. One Kit, four colleagues, two agent makers, and a conversation where a wrong claim got corrected within minutes by whichever colleague had the data. When one session stopped, its work did not, because the work was never kept in the session. It was kept in Kit.
That is the thing Kit is for, and this weekend it was working on itself. The changes ship in Kit 0.2.393, and the exam, the handoff and every number above are in Kit’s own memory, where the next session will find them.