multi-turn inc.
INDEX

index

The memory that proved itself

product

The word memory suggests storage. Drawers, warehouses, archives. But the brain doesn't work that way. Recall is reconstruction, not playback, and a memory is re-evaluated every time it's used. What helped gets consolidated; what misled gets pushed down. The essence of memory is verification, not storage.

Building agent memory, we were betraying this obvious fact in our own code.

We found out the day we plugged our product into our own agent. Dissecting 1,833 auto-saved memories, 93% were junk — raw JSON, transcript fragments, 268 strings that looked like API keys. The saving was diligent; the usefulness was zero. That night I wrote in the diagnosis doc: a memory product that only stores is pointless, files are enough. Evidence: I myself was using markdown files instead of agent memory.

We had been selling a filing cabinet and calling it memory. And a filing cabinet's problem isn't capacity. A filing cabinet doesn't know which of its contents are wrong. A decision from three months ago sits next to yesterday's reversal, and search treats them with perfect fairness. The agent picks either one and works with full confidence.

So we closed the loop. After an agent uses its memories, it labels the outcome: this one helped, this one misled me. Those labels flow into the ranking of the next search. One rule went in from the start — explicit human feedback can never be overwritten by an agent's label.

We checked whether this holds in production. Store two contradicting facts: the old payment provider and the current one. Search, and the stale fact ranks first — it's been written longer and more often, so it resembles the query more. That's the filing cabinet's world. Now the agent assembles context, does its work, and leaves one harmful label on the stale fact. Search again: the current fact rises to first, and the stale one drops from 0.478 to 0.328. No re-embedding, no manual curation. One label flips the ranking.

After that, the loop generated its own evidence. A fresh session with zero conversation history briefed itself from memory alone — seven facts, all correct — and three sessions relayed memories to find, fix, and ship two bugs we had missed. The only human contribution was approval. To be clear: every piece of evidence in this post is something we produced against ourselves. We have almost no outside users yet. Before selling this to anyone, we had to live it first.

What building this taught us is that half of memory is forgetting. What to remember is one half; when and how to pull a stale memory down is the other. The brain does this for free — unused memories fade, and the ones that misled you lose the next recall. A system gets none of that for free. Something has to say "this was wrong," and that word has to actually change the next retrieval. Until we wired labels into ranking, our system's memories never aged. They just went stale.

Enacta starts as a Mem0-compatible API — add and search look exactly like what you already know. The loop sits on top. Assemble context and you get a trace; label the outcome and the next search changes. It takes about three minutes to watch a ranking flip with your own eyes. Memory isn't something you accumulate. It's something you prove.