You open a new session on Monday and the agent indents with tabs. You never asked for that. You scroll back through Friday’s transcript hunting for the turn where you said so, and there isn’t one — you wrote code that way twice and moved on. There is no line where the preference got saved, either. Friday’s session ended, and only after it ended did something read it back and decide this was worth keeping. By the time you saw the result on Monday, the work that produced it had already finished, in a process you never watched and could not have watched.

Nobody fires the kiln for one pot

A potter does not fire after every piece. Finished work dries on a shelf until there is enough of it to fill the kiln, and then one firing takes the lot. This is not laziness. Bringing a kiln to temperature costs what it costs whether it holds one pot or forty, and the work at the wheel stays fast because nobody stops throwing to wait on a firing. Pieces go in when the making is over, not while it is going on.

Session consolidation runs on the same clock. The session commits when it ends. Then an asynchronous process reads the session that just closed and pulls out two kinds of signal: user preferences, meaning how you write and how you like code laid out, and agent experience, meaning what worked and what did not. Both are written into long-term memory, where the next session finds them without anyone copying anything across by hand. In OpenViking the coding conventions it observed land in a preferences path under your own user id, and nowhere did you type the sentence remember that I prefer tabs.

A session that ended has taught nothing yet

The obvious alternative is to write memory as you go, turn by turn. It sounds safer and it is the expensive one: every turn pays to heat the kiln for a single pot, and the beneficiary is a session that has not started yet, while the session you are actually in gets slower for it. Consolidating synchronously at the end is the same mistake in a smaller dose, with everybody standing around waiting on the firing before they can leave.

So you batch, and batching buys a gap. Between the moment a session commits and the moment the extraction lands in long-term memory, that experience exists only in the transcript, and unfired work is still just clay. If the background process dies inside that window, the job got done and it taught nobody. Nothing looks broken from outside: the run succeeded, the files are right, and the next session starts as uninformed as the last one did.

Whether that gap deserves your attention depends on what the memory is worth. On tau2-bench, experience memory lifted task success by 6.87 points in the retail domain and 11.87 in the airline one, against the same model carrying no memory at all. That is the size of the thing sitting unfired on the shelf.

Load only what is ready to fire

Firing is not one event either. Ware goes through the kiln more than once, and each pass leaves it harder to undo: soft greenware comes out as bisque, bisque takes glaze and comes out finished. Consolidation has that shape. Raw episodes become facts, facts get linked into relations, relations settle into patterns worth reusing. After a task fails, the episode is kept as it happened, the fact that the API requires a token is pulled out of it, the fact is attached to the project it belongs to, and last of all the pattern is registered — check for the token before trying. A memory server exposes operations for filing those artifacts and calling them back, so the next agent asks for knowledge instead of rereading a log.

What keeps this affordable is that every stage reads only what arrived since its own last run. Rework the whole archive each cycle and three bills come together: cost that grows with the length of your history, the same fact recorded twice in slightly different words, and settled inferences rewritten by a pass with no new reason to touch them. You do not put the finished shelf back in for the sake of one new pot. It is also what separates this from the compaction in Everything You Cut, and How to Get It Back: that fights for room inside one session, this is built to outlive the one that made it.

Memory is not what a session holds. It is what somebody wrote up afterwards, and when.