Fine Japanese Calligraphy

The Art of Master Japanese Calligrapher Eri Takase

0

2026-09-26 - Read-Time Curation in a One-Human, Many-Role Shop

What this is and is not. A field report from one small business run by one person and fourteen AI roles, on how a session picks up work another session left. Everything here is our own record: our roles, one model family, one codebase. We measured only our own shop; § 7 is our judgment of what would carry over to others, not a measurement. We report what happened and how we read it.

In short. We run a business on permanent AI roles. Each is responsible for one domain of the business, the oldest since late 2025, and none is meant to be retired; the sessions that do a role's work last a few hours. That makes two continuity problems: keeping a role consistent across months and years, and keeping its work continuous across the break between one session and the next. This report is about the second, and about how we arrived at our answer over seven months of trying and measuring. The ending session writes a short handoff note of pointers, and the next session re-checks it against the real record before acting: the record is shaped when it is read, not when it is written, which a recent paper calls read-time curation. We counted 3,851 session starts across fourteen roles and coded a sample of the sessions that picked up from a handoff note: they re-checked about three-quarters of the note claims they used, caught 39 of the 42 claims that had gone stale, and in those 39 sessions the human never had to re-explain the work. One role now runs session after session under light supervision. What leaked came from older notes a session inherits, such as its standing to-do list, which the re-check rule did not cover.

1. The problem

The setup. Takase Studios is one person and fourteen AI roles. (Our note How We Build takase.com describes the arrangement from the business side.) The roles are permanent. Each holds one domain of the business (security, the live website, research, content, the product data, a philologist who researches the texts we sell, and others) and keeps it. The oldest roles were created in late 2025, some under earlier names, for domains whose work goes back to mid-2025; none has been retired and none is meant to be, and the busiest are past their thousandth session. A permanent role thinks, decides and reviews, and does not write code. Each has its own short-lived builder role that it sends a written job to, and a read-only checker that answers questions against the real files. The human decides what gets done. Every role works in one shared repository, and work moves between roles as written files (job orders, inbox messages, status pages), never as conversation.

The sessions that run a role are short-lived. Each is a coding-agent session, and it ends every few hours: when its context fills (past about 350,000 tokens every request costs more for the same work), when the human closes it, or when the work reaches a natural stop. The work does not end with it. So a permanent role is one identity carried by a chain of sessions, each starting cold.

That gives two continuity problems, and this report is about the second.

The second is hard for a simple reason. With fourteen roles, re-explaining the work at every restart is the one thing that cannot scale, so each new session must learn it from what the last one left. The failure we fear is not a session that knows nothing, which is easy to see. It is a session that confidently knows something that stopped being true, because it read a note about a state that has since changed. Anyone running long-lived LLM agents whose sessions end before the work does has this second problem.

2. What we did

How we got here. None of this was stumbled into. We have been working on this problem since we began keeping notes in early 2026, and each step answered something we had tried or measured.

A September 2026 paper on agent memory (Zhou et al., § 5) gives a useful pair of terms. Write-time curation shapes experience when it is stored: a summary, a lesson, a skill. Read-time curation stores the raw record and shapes it only when a new task arrives, for that task. Over the summer of 2026 we made three changes, each for its own reasons and before that paper existed, and together they moved us from the first to the second.

(a) We closed the memory bank. Until late August, sessions wrote lessons to a shared memory store as they worked. By its closure it held 1,043 files. Measured over 7,088 session transcripts, the median file was read once, ever, and 29% were never read at all; 18 were known to be wrong when written. Files that some always-loaded document pointed to were read about twice as often as the rest: pointers were the read path, and the bank was a write-only log. We deleted it (all of it recoverable from version control). Since the closure, new files in that store: zero. A correction now lives where it fires: in an automated check that refuses the mistake, or in the document loaded at the moment the mistake would be made.

(b) Onboarding, what a session loads when it starts, became just-in-time. A starting session loads its identity, its one-page status, and its messages, then pulls whatever the task turns out to need. Views that can be computed from base records (version control, the database, transcripts) are computed on demand rather than stored and maintained, after the database principle that derived data should be derived, not copied.

(c) The carry, re-grounded at re-entry. A session that ends mid-work writes a short handoff note, which we call a carry: what is in flight, what the next session must do first, which documents to load. The next session's startup detects it and does a light re-entry. We call that a resumed start; a session that finds no carry does a full onboarding, loading its role and status and finding its own work. The rule it is given is short: the carry is a premise, not ground truth; verify its load-bearing claims against current files, version control and services before acting on them. In read-time terms, the carry is an index and a set of pointers, and the next session is meant to curate from the raw record, not from the note.

3. The result

3.1 One role now runs session after session under light supervision

In early July, asked whether a role could run in a loop without a human between sessions, we concluded from our own experience that removing the human had not gone well, and kept the human as the default. In late September we built a small restart script that waits for a session to save its carry, ends it, and starts a fresh interactive session in the same role. Each restart is gated on the new session reporting that it verified its carry.

On the night of 2026-09-25, the philologist role ran ten consecutive sessions this way, from 23:15 to 03:13, then stopped at its cap. Its work order came from a document, and its questions for the human went to a peer role's inbox. The human had the terminal on screen and the session could stop and ask, but no one was reviewing each step. The next day a second loop ran while the content role amended the philologist's work order twice; the version history shows the looping sessions picked up each amendment within the hour. So the looping role was steered by a peer through a file it re-reads at every restart, and the human steered the peer.

How to read it. This is supervised, not unattended: a human was watching, two hops away. It is one role, one working night and one day. What it shows is that continuity across session boundaries held well enough for ten restarts in a row that the human did not have to carry it. We do not run loops unattended.

3.2 The roster census: 3,851 session starts, 14 roles

To see whether this is one role or the whole roster, we scripted a census over every role session start from the first carry (2026-06-23) to 2026-09-26. The script reads the startup's own output inside each transcript to decide whether the session resumed from a carry or did a full onboarding, and records the human's first reply.

Session starts
Resumed from a carry 855
Full onboarding 2,217
Startup output silent on the question 779 (version control shows no carry before 770 of them)
of which, loop restarts (all the philologist role; 37 resumed, 2 full) 39

Where the startup output and version control both have a record, they agree on 99% of starts. Every role but one has resumed from a carry at least once; eight roles have 49 or more resumed starts, spanning research, security, orchestration, content, the live site, data and the philologist.

We then took a sample across roles: 40 resumed starts (at most five per role, most recent first) and 40 full starts, and coded two things.

Did the session re-check what it used? For each resumed start, a read-only model worker listed the carry's load-bearing state claims, meaning the claims about the current state of the work that the next step depends on (what is pending, who owes what, a count, whether something landed) and, for each claim the session acted on or passed to the human, whether the session had first checked it against a raw source in the same turn. Re-reading the carry or another note did not count. We checked four of those codings against the transcripts ourselves.

The coding worker errs in both directions: it counted a mostly-raw check as a check in one case and a stated plan as an unchecked claim in another. Read the 75% as within about ten points.

Did the human have to re-explain or correct? We coded the human's first reply to each session's opening report without knowing which kind of start each was, then unblinded. One duplicate pair was dropped from each group (see § 6).

The human's first reply Resumed (39) Full (39)
Proceed, or accept the recommendation 15 15
Logistics (check the inbox, end the session) 13 11
New topic or new information 5 5
Asked for a plain-language summary 3 5
Corrected something the session said 3 0
Challenged a claim about the state of the work 0 2
Re-explained context the session should have had 0 1

Across the resumed starts, the human never re-explained, and corrected three. Only one of the three was a continuity failure, and it is the subject of the next section. Of the other two, one was an instruction the session had not followed; in the other, a status the session had checked correctly at the start changed while it worked.

The full starts are a reference, not a control: a full onboarding usually means the previous session finished its work, so the next one opens on a new topic. The comparison says nothing about whether carries beat full onboarding; it says resumed sessions did not need the human to carry the thread.

4. Where continuity still leaks

The handoff note itself held. 42 claims in the sampled carries had gone stale by the time the next session started. The sessions caught 39 before using them, and the other three were never used: no stale carry claim reached an action or a report in the sample. In 39 resumed sessions, the human never had to re-explain the work.

What leaked came from elsewhere, in two general ways.

1. The handoff is not the only note a new session inherits. A session also reads its standing to-do list and status file, written by earlier sessions, sometimes weeks earlier. The rule to re-check covered the handoff; those older notes were read as current. The one continuity correction the human made in the sample was of this kind: a session reported, from its own to-do list, a defect that had already been fixed and verified; the row had not been updated when the fix landed. In read-time terms, the older notes are write-time memory that nobody re-curates when it is read.

2. A session re-checks the fact and keeps the conclusion. The new session re-checks the number the note carries, then repeats the conclusion the note drew from the old number. In one case a session re-counted a tally correctly and passed on the uncertainty range that had been computed on the previous count. Re-checking is done claim by claim, and a conclusion drawn from a claim does not look like a claim.

What is not a continuity failure, and is left out here. The same sessions made other mistakes: one did not follow an instruction the human had given in that session; one checked a status correctly at the start, and the state changed while it worked; and the author of this report searched our archive by keyword instead of with the meaning-based search we built for the purpose, and passed on an outdated answer. Those are errors inside a session, and a better handoff would not have prevented any of them. The last one is its own finding: tools we built are not always the ones sessions reach for (§ 6).

5. How this relates to published work: JitMem, read fairly

Zhou et al. (arXiv 2609.27334, September 2026) built a system on the read-time side. JitMem keeps raw successful trajectories, retrieves a few by the task description, and has a curator model turn them into a short briefing for the executor. They report large gains over write-time methods on ALFWorld, WebShop and τ²-bench.

We read the paper to depth, including its appendix tables, and checked its baselines against the paper they came from. Two things bear on how to weigh it:

That ablation is the published form of the risk in any handoff. A session that writes a handoff note and a successor that reads it is a two-stage curation. If the successor restates the note, it runs the setup that fell below no memory; if it goes back to the raw record the note points at, it runs JitMem's own setup. § 3.2 shows which ours do: no session simply restated its carry, and three-quarters of the claims used were checked against the raw record first.

The setups also differ in ways that matter. JitMem's curator never faces a stale claim competing with a fresh one; it reads raw traces with nothing cached. Ours does, every time. And its curator is trained on an immediate reward, the same task's score. Our notes are graded only when a later session tries to use them, and nobody records the grade.

6. Bounds

7. What travels

For a shop like ours, one human and several long-running agent roles:

How this could be wrong

Sources