Context rot has two meanings
The word gets used for two failures that look alike from the outside and have nothing in common underneath. Teams keep applying the fix for the first one to the second one, which is why the problem survives every fix.
1. The context window rots
The session runs long. Failed attempts, irrelevant files and dead ends pile up, attention spreads thin, and answer quality falls even though every fact the model needs is technically still in the window. This is the one most articles mean, and the usual advice is right: start fresh sessions, keep saturation moderate, move durable information out of the transcript and into files the agent rereads.
Compaction and bigger windows genuinely help here. If this is your failure, you do not need us.
2. The context is fresh, loaded, and wrong
Your team overruled a decision three weeks ago. It was settled in a thread, or a standup, or a pull request comment. The CLAUDE.md still describes the old one, so the agent reads it, follows it perfectly, and confidently ships against a rule that no longer holds.
Nothing rotted in the window. The file loaded cleanly. It was simply not true any more, and a static file has no way to find that out. When we superseded a decision and asked, the static snapshot returned the stale value in 4 of 5 trials. The freshness benchmark has the method.
A bigger window makes this one worse, not better. More room means the outdated instruction is more likely to be retained and followed, not less. Every remedy aimed at failure 1 is either neutral or actively harmful against failure 2.
Why retrieval does not close it either
The obvious next move is to give the agent memory and let it look things up. We tested that. Changing a fact and asking ten models from three vendors for the current value, the static-summary method failed on all ten, and adding a retrieval memory barely moved it. Retrieval finds documents that mention a topic. It has no opinion about which of two contradictory statements is the one still in force, so it returns both and the model picks.
When two sources genuinely disagree, that gap gets wide: on a contested rename, ruling on which version governs scored 16 of 17 against 1 of 17. The measurements, including a negative result we published in full, are on the research site.
How to tell which one you have
Ask what the agent got wrong. If it lost the thread, repeated itself, or forgot something you said forty minutes ago, that is failure 1 and session hygiene will fix it. If it did exactly what it was told and what it was told was out of date, that is failure 2, and no amount of context management touches it. The instruction was never missing. It was wrong, and it was wrong in writing.
What we do about the second one
Meetless watches your coding sessions, captures decisions as work happens, and flags the moment a new one contradicts a decision already on the books. You rule on the conflict once. From then on the decision still in force is what gets injected into the agent, before it acts, on every prompt. Nothing your agent proposes becomes project knowledge until you approve it.