How agent memory works
You told your agent the deploy target changed. Twelve sessions later it hands you the old one, and it sounds completely sure. Nothing broke. Here is the machine that did it.

The system chops your conversation into chunks. Each chunk goes through a machine that turns it into a long row of numbers, called an embedding. Two chunks about the same subject come out with similar rows.
The numbers describe what a chunk is about. That is the only thing they describe.

Ask a question and it becomes a row of numbers too. The system hands back the chunks whose numbers sit nearest to it. That is the whole trick. Nothing else is happening.

The first time you explain something, you explain it properly. The correction comes later as one clipped sentence at the end of an unrelated thread.
So the dead fact is longer, richer and more on-topic than the live one. It looks like a better match, because by the only measure being taken, it is.

Databases solved this decades ago. They have UPDATE. They have DELETE. They have tombstones, little markers meaning a record used to be here and is gone now.
The store underneath most memory products can add a chunk and find a chunk. That is the entire vocabulary. There is no way to say retired, and no button you could press to say it.
The whole problem in one line
Nothing in a row of numbers moves when a fact stops being true. The correction does not reach back and change the original. It just sits somewhere else in the drawer, quieter and shorter, waiting to lose.
StateMemBench, August 2026. 234 multi-session scenarios where facts get revised partway through. Two underlying models.
| System | Qwen-3.5-9B | DeepSeek-V4-Flash |
|---|---|---|
| Long context | 0.149 | 0.149 |
| Mem0 | 0.149 | 0.177 |
| A-Mem | 0.127 | 0.199 |
| LightMem | 0.019 | 0.012 |
| MemoryOS | 0.025 | 0.025 |
| StateMem | 0.233 | 0.363 |