Take a repository context document with 40 headed sections at 7,850 tokens: architecture notes, conventions, exact commands, known gaps, file paths, directory listings and a decision log. A useful context document covers architecture, domain model, patterns and conventions, file paths with purpose, exact commands and known gaps the CONTEXT.md discussion. That list suggests most sections should be dense, not narrative.
The eval was 60 tasks drawn from real work: add an endpoint following existing patterns, thread a field through the data layer, fix a failing test with the project command. Baseline on the untouched file was 51 of 60, or 85.0%. A second run also scored 51 of 60, so the noise band was plus or minus two tasks.
Applying the rule took 16 deletion tests and 9 rewrite tests.
| Category | In | Out | Tokens in | Tokens out | Verdict |
|---|
| Directory tree listings | 6 | 0 | 1,140 | 0 | Drop: searchable |
| Stack descriptions | 5 | 0 | 780 | 0 | Drop: in manifests |
| Decision log | 3 | 1 | 620 | 180 | Rewrite to live constraints |
| Style conventions | 7 | 4 | 900 | 430 | Rewrite as imperatives |
| Build and test commands | 4 | 4 | 520 | 460 | Keep: not discoverable |
| Known gaps | 5 | 5 | 610 | 590 | Keep: prevents bad assumptions |
| Domain model and keys | 4 | 3 | 1,030 | 870 | Rewrite: entities and cascades only |
| Architecture and data flow | 6 | 5 | 2,250 | 1,180 | Rewrite: invariants only |
| Total | 40 | 22 | 7,850 | 3,710 | |
The surprise was the discoverable categories. Six directory trees and five stack summaries cost 1,920 tokens, and removing them moved the rate from 51 to 52 of 60. Within noise, so the honest reading is no effect. But it matches research finding that LLM-generated context files reduced task success by 2 to 3% while raising cost over 20%, and that the same content improved performance by 2.7% once all repo documentation was stripped first, meaning it is redundant rather than useless Addy Osmani's summary.
The file landed at 3,710 tokens, a 52.7% reduction. Pass rate moved from 51 of 60 to 54 of 60, or 90.0%. All three gained tasks came from buckets where a rewrite removed a conflicting instruction, not from a deletion. Deletions bought tokens; rewrites bought accuracy.
Two sections earned specific attention. The style section held seven rules across 900 tokens, several contradicting each other on error handling; compressed to four imperatives at 430 tokens, the endpoint bucket went from 8 of 12 to 10 of 12. The architecture section lost its narrative of why the system was built that way, which no task depended on, and kept the invariants new code must respect.
The stopping point came at the eleventh deletion. Removing a cascade delete rules section cost two tasks, and the rewrite attempt cost the same, so the content was irreducible. Those 140 tokens were worth more than they cost.