Context rot is the observation that an LLM's output quality degrades as its context window fills — not because the window runs out of room, but because attention spreads across more tokens and older, less-relevant content increasingly distracts from the current task. The term comes from Mike Taylor's critique of ChatGPT's persistent memory feature ([[2026-02-23-every-chatgpt-memory-context-rot]]), and was independently restated as first-party operating guidance by Anthropic's own Claude Code team ([[2026-04-15-thariq-claude-code-session-management-1m-context]]): "more context isn't free," even inside a 1M-token window.
Correction — 2026-09-27 (supersedes the mechanism claim above)
The opening paragraph's stated mechanism is wrong on the part that matters, and a dedicated brief now carries the corrected account: [[2026-09-27-context-rot-mechanism]].
- "Older, less-relevant content increasingly distracts" is an amplifier, not the floor. arXiv:2510.05381 removes distraction directly (whitespace substitution plus hard attention masking) and the degradation persists, which falsifies distraction as the base mechanism. The corrected ranking: length sets the floor (an irreducible penalty that survives whitespace substitution, attention masking, and optimal positioning), retrieval difficulty sets the magnitude (NoLiMa/ICML 2025: 11 of 13 models below 50% of baseline at 32K once lexical overlap is stripped), and positional bias is only a modulator. One line: length sets the floor, retrieval difficulty sets the magnitude, position sets where it bites.
- The "Selection-level" bullet below conflates two different measurements. The tool/skill-count cliff is a selection-surface result; it is not a context-length measurement and should not be offered as evidence for the same underlying mechanism without that caveat.
- The hard rule's 5KB threshold does not come from its cited source. Verified 2026-09-27: the cited provenance note [[2026-04-15-thariq-claude-code-session-management-1m-context]] contains no byte or kilobyte threshold anywhere. Thariq's actual test is semantic - "will I need the tool output again, or just the conclusion?" The 5KB number was introduced locally and the substitution is recorded nowhere. Measured degradation onset is 16K-32K tokens; 5KB is roughly 1,300 tokens.
- An amendment to the hard rule is proposed in the brief and is awaiting founder greenlight - hard rules are immutable from below, so nothing has been changed in AGENTS.md.
The rest of this page (the RDCO mapping, the subagent-fanout and working-context rationale) still stands; it is the stated mechanism and the threshold provenance that were wrong, not the practices.
The practical implication is that a bigger context window does not remove the problem — it just moves the point at which it bites. Two independent literatures converge on the same shape:
- Session-level: Thariq's framing that every Claude turn is a branching point with five options — continue,
/rewind,/clear,/compact, or delegate to a subagent — and that most people default to "continue" when the other four exist specifically to manage context rot. Subagents in particular are framed as a context-management tool, not just a parallelism tool: the test is "will I need the tool output again, or just the conclusion?" - Selection-level: [[2026-07-07-claude-skill-count-degradation-skill-packs]] shows the same underlying mechanism (attention/selection degrading as the menu of choices grows) applies not just to conversational tokens but to tool and skill counts — the empirically-measured cliff is in tool schemas (accuracy degrading past ~10, hard failure past ~100), while skills scale further because progressive disclosure keeps their always-on footprint tiny. Both are "too much simultaneously live in the selection surface," just measured at different layers of the stack.
Why this is in the vault
Context rot is cited as load-bearing justification in an AGENTS.md hard rule (the file was CLAUDE.md until it was renamed 2026-09-18) (Rule 4: route long artifacts through subagents) and shows up across 90+ vault docs spanning harness-engineering commentary, AI/model-release notes, and RDCO's own tooling memos — it is the most heavily corroborated single mechanism behind the vault's subagent-fanout, working-context.md, and skill-pack design decisions, but had no dedicated concept page synthesizing the pattern.
Mapping against Ray Data Co
Context rot is the mechanism, not just a citation — it is the reason several concrete RDCO architecture decisions exist:
- Subagent fan-out (
/process-newsletterone-subagent-per-article,/compile-vaultcross-link audit as a background subagent) exists specifically so intermediate tool output never enters the parent's context — only the conclusion returns. - working-context.md is RDCO's manual implementation of Thariq's
/clearpattern: a hand-curated brief instead of lossy model-generated/compactsummarization, because "bad compacts happen when the model can't predict where the work is going" and the model is at its least intelligent moment exactly when compacting. - Skill-pack design ([[2026-07-07-claude-skill-count-degradation-skill-packs]]) extends the same principle from conversational tokens to the skill/tool selection surface: install broad, enable narrow, keep the simultaneously-active set small even though the always-on token cost of installed skills is negligible.
- Open tension: RDCO underuses
/rewindrelative to Thariq's recommendation (reacting to a bad output with "no, try X" instead of jumping back to before the failed attempt) — a documented gap between the concept and current practice, not yet resolved.