Consider a typical coding-agent run. The model fixes an import error, the test suite passes, and the loop moves on to the next task. Twenty minutes later, a refactor reintroduces the exact same failure, and the agent approaches it as if it had never seen it. The model is not stupid; the loop is amnesic.

That distinction matters more than most agent postmortems admit. When a coding agent fails twice on the same problem, the default explanation is that the model is not good enough, and the default remedy is a bigger model or a longer prompt. A more accurate diagnosis is that the system threw away the only evidence that would have prevented the second failure: the record of the first attempt. There is a growing discussion about giving agents durable reasoning ledgers, and the pattern deserves more than a mention in an architecture post.

A context window is a cache, not a memory

The root problem is that most agent loops treat the context window as their only memory. That design has three predictable costs:

Volatility: once a turn ends, the reasoning that produced a fix evaporates unless something explicitly persists it.