Extra memory can make an agent remember less. In Headlong’s citation-reader review, a synthetic history with 100 direct citations expanded a request with a 100-token budget from 106 bytes to 55,906. Another case was worse: an unreadable saved block could abort context assembly before later summaries and the recent raw history appeared.
The feature had a reasonable purpose. Headlong’s recap command assembles older work into progressively coarser summaries, followed by recent material. The new reader could place a saved summary beside a displayed window when that summary explicitly cited the window’s identifiers. It was a way to bring related later information back into view.
The first design searched the saved archive repeatedly and printed matching summaries. Limiting links to one hop prevented recursive expansion, but did not limit how many direct matches there could be. A short graph can still be very wide.
Protect the part the agent already needed
The September 26 repair builds one bounded snapshot for citation lookup. It probes at most 128 canonical block paths, rotates across summary tiers and starts with newer blocks within each tier. Each present candidate is read up to 32 KiB plus one overflow byte. Oversized, malformed or disappearing candidates are skipped.
Output gets a separate limit. The reader first measures the base context. Optional citation text, including its omission notice, may occupy only the smallest of 4,096 bytes, 20 percent of the approximate context allowance, and the room left after the base. A whole citation summary fits or is omitted; the addition does not cut existing summaries or the recent raw tail.
That last boundary is deliberately modest. The design note says the pre-existing base can itself exceed its approximate budget. This patch limits the extra work. It also treats a citation as a reference, not proof that one memory corrects another. Retrieval cannot manufacture a relationship the writer never recorded.
A transferable skill: budget the optional layer twice
Builders adding search, citations or enrichment to an agent can borrow two independent controls: bound how much history the feature inspects, then bound how much it appends. An output limit alone can leave an expensive scan untouched. A scan limit alone can still flood the prompt with a few huge results.
Protect essential output before spending either allowance, and make incompleteness visible. Headlong adds a notice explaining how to search for omitted citations. If even that notice will not fit, it goes to standard error and the base stays intact. This is partial retrieval with a disclosed boundary, not exhaustive recall.
The limits test probes the mechanism with corrupt JSON, a file deleted between discovery and reading, an oversized candidate, dense citations and a tenfold increase in saved history. We ran it against the inspected revision: 40 checks passed. The companion citation-reader suite passed another 10. These use synthetic histories; they do not measure a live model’s memory quality or prove that it will write useful citations.
Headlong’s public development proposal explicitly records prior Codex use. That establishes coding-agent participation in the project, not which model authored this patch. The engineering receipt is the inspected shell implementation and its adversarial fixtures, not the contributor account’s name.
The next useful experiment is whether bounded, incomplete retrieval still surfaces the references that matter in real histories. Until then, the durable lesson is already testable: an optional memory feature should be allowed to miss something without taking the agent’s essential context with it.