Sponge
Maintained state is not retrieval
Sponge can trust an agent’s working record only when that record says what is currently true. A nearby snippet from earlier in the run is a retrieval hit. It is not a statement of present knowledge.
On 28 August 2026, Jordy Zomer published I accidentally turned LLM memory into program analysis on pwning.systems. The essay describes Lemmalog, a Datalog engine Zomer wrote after long LLM-assisted vulnerability investigations kept reviving discarded paths. hraness recorded that essay as a reading digest. This page is not that digest. This page states Sponge’s claim.
A search subagent should return documents, not the answer already argued, from Chroma Context-1, that a search step should return pages. Deep research should return a trail of documents argued, from Sail’s BrowseComp-style stack, that a research run should keep the pages it touched. This page starts from a different source. Zomer wanted the model to maintain what the investigation currently knows.
A similar note can be a stale note
Zomer’s working example is short. The investigation records that the attacker controls object_a, that object_a points to object_b, and that object_b is a kernel object. From those facts a later conclusion follows: the attacker can control a kernel object. Two hours later, a debugger shows that object_a does not point to object_b.
A retrieval store can keep every one of those sentences and return the most similar ones when asked about exploitability. The model then has to notice which sentence is still true, and which later conclusions depended on the one that is not. The useful record is the current fixed point: what still follows after the retraction.
Maintain the present; retrieve the past
Retrieval is the product already treats index quality as the product problem. Vector search answers a different question from maintained state: which earlier passage is relevant to this prompt. That is useful when a person wants the allocation-path notes from two hours ago. Cosine similarity does not know that a fact was disproven, or that five derived claims should disappear with it.
Lemmalog splits the work. The model reads source, debugger output, and notes, then asserts structured facts. The engine applies explicit rules, tracks provenance, retracts dependents when a support path dies, and can keep validity intervals so an old belief remains inspectable without being treated as current. The model still interprets. It does not have to reconstruct the whole investigation from a transcript on every turn.
Zomer reports that this helped most on Knowledge Update, the LongMemEval category closest to a retracted belief. Rules cannot repair a fact the extractor never wrote down. That limit matters. Maintained state is only as complete as the observations that entered it.
Documents, trails, and state stay separate
The Context-1 take keeps the search return as a document set. The Sail take keeps the pages a long run touched. This page keeps a third cut. Retrieval finds a snippet. A document trail shows what was read. Maintained state says what is currently believed, why, and what should fall away when a support is withdrawn.
How Sponge knowledge works keeps citations bound to graph records. The about page calls the durable object the path: identities that survive renaming, statements that retain context, assertions that remain attributable, and editions that preserve their own history. Those objects need a current account of what the work still holds, not only a similar passage from an earlier turn.
hraness/kb keeps Markdown and Git authoritative for agent memory. Indexes and graph views are replaceable. Search finds files. It does not become the record. Sponge applies that split to a research product: an Inquiry can accumulate evidence, disagreement, and rejected proposals. People accept research. Publication remains a later act.
Read Zomer on pwning.systems, or through the hraness reading digest. This take is served on sponge.computer. The Context-1 take remains at A search subagent should return documents, not the answer. The BrowseComp trail take remains at Deep research should return a trail of documents. Agent locators are collected on developer resources.