RAG solves capacity, not curation
Last week I pulled the two biggest documents out of a Claude project I use to run a print on demand side business. They were the planning documents: one held the research, economics and niche strategy, the other the AI workflow behind the designs. Together they were most of the project's knowledge. Nothing broke when they left. The project got easier to work with, and one kind of wrong answer disappeared.
What stayed behind is the telling part. Three stage prompts, three swipe files, and a tracker: the files every working session actually runs through. The two documents that left were reference. I read them occasionally, the project quoted them occasionally, and the rest of the time they sat there being context.
They did not go in the bin. I distilled them into a single note in my Obsidian vault, and the project instructions now carry a pointer: when deep detail is needed, read that note through the Filesystem connector. If the connector is not enabled, say so and ask rather than guessing.
If you follow this stuff, you already have the objection loaded: Claude projects moved to retrieval. When project knowledge approaches the context window, Claude automatically switches to RAG mode, searches your documents instead of loading them all, and capacity grows by up to ten times. It is on every plan, free included, and it flips back if your knowledge shrinks. Running out of room is a solved problem. If my move had been about saving tokens, this would be a post about a problem that no longer exists.
But capacity was never the real problem. Retrieval hands you chunks of whatever you uploaded. If what you uploaded is two sprawling planning documents with a superseded model name in one and last year's pricing assumptions in the other, retrieval will faithfully serve the sprawl, stale facts included. It has no opinion on whether the chunk it found is still true.
Resident context is not free either. Anthropic's own engineering guidance is blunt about this: recall degrades as context grows, a failure they call context rot, and the goal is "the smallest possible set of high-signal tokens". That advice was written for people building agents. It applies just as hard to a side project whose knowledge panel is mostly planning documents.
The rule I landed on is short enough to be a habit. If a file is used every session, it stays in the project. If it is read occasionally, it gets distilled into the external note and evicted.
The prompts and swipe files stay because every session runs through them. The planning material goes because it is consulted, not used. And the pointer carries an honest fallback: if you cannot read the note, say so and ask. That sentence is the safety rail. Without it, a model missing its reference fills the gap with something plausible, and plausible is the worst kind of wrong.
Distillation is where the payoff hides. Turning two documents into one note forces a full reread, and rereading is where stale facts die. My pass caught a default model name that had been superseded and pricing that needed updating, and it pushed me to re-verify the numbers the plan leans on: Etsy's fee structure, unchanged, and New Zealand's GST registration threshold, still sixty thousand dollars in any rolling twelve months, checked that day instead of trusted from a document written months earlier.
Then it happened again while I was researching this post. A search summary told me RAG for projects was a paid feature. The support article says it is on every plan. Secondary sources go stale exactly like planning documents do, and the fix is the same: the primary source, checked on the day. Distillation is factchecking wearing work clothes.
The note that came out of all this lives in my vault, not in the project. Claude reads it on demand. So can Claude Code, so can whatever tool I am using next year, and so can I, on my phone, in a queue. The project only ever rented that knowledge. Now the source of truth sits where every tool can reach it and none of them owns it.
The class of wrong answer that used to surface is gone, and what the project holds now is smaller and current. I went in meaning to give it better documentation. The fix was less of it.