FROM THE DESK · FIELD NOTES
We gave our AI an 8.9 GB brain. It never called.
28 servers. Seven days. Zero calls. We audit AI claims for a living, so today we audit our own setup: the 8.9 gigabyte memory our agents refused to use, and the 150-line text file that beat it. Fair is fair.
This morning our AI setup was burning about five dollars an hour, so we did to ourselves what we do to vendor claims: pulled the receipts. Twenty-eight AI tool servers were configured on this machine, built over months so our agents would never start from scratch. The number of times our agents used them in the past week was zero.
Not "rarely." Zero. FIG. 1 is the entire week of logs, one cell per server. Picture 28 receptionists at 28 desks, phones plugged in, ringers on, payroll running. The phone rang zero times. We kept paying them anyway, roughly 150 idle processes at any moment, because every new session politely hired the whole floor again.
This is a story about AI memory, and why almost everyone (including us, until this morning) builds it backwards. If you run Claude Code, Cursor, or any coding agent, the ending applies to you, and the fix costs nothing to copy.
THE BRAIN NOBODY CALLED
The centerpiece was a code knowledge graph. A proper one: 40 indexed projects, millions of nodes, call chains, data flow, 8.9 gigabytes on disk. Ask it anything about our codebases and it would answer at query speed. The pitch writes itself: agents wake up with no memory, so give them a photographic one.
It was, in hindsight, a home gym. Bought with the best intentions, admired daily, used as a coat rack. Except a coat rack does not bill you by the process.
We wanted adoption so badly we installed a bouncer: a hook that blocked the very first file search of every session and demanded the graph be used instead. FIG. 2 is what actually happened at that wall, every session, all week.
Compliance rate across every session in a week: zero percent. We write about companies that measure adoption by what they shipped instead of what got used. Turns out that condition is airborne.
Memory is a map someone bothered to draw.
THE STEELMAN, BECAUSE WE OWE IT ONE
The best case for the knowledge graph is real, and we should say it plainly. There are questions a graph answers that text search cannot: which functions call this one, how data flows across two services, what breaks if this type changes. Markdown cannot answer those. A graph can, instantly.
The problem is not capability. The problem is trust and friction. A search of the live files can never lie to you; a graph indexed last Tuesday can. An agent choosing between "definitely true, slightly slower" and "probably true, needs an index, learn my query language" chooses the live files every time, the way your hand finds the light switch in the dark. You do not beat that instinct with a mandate. You beat it by making the good path the lazy path.
The graph was not wrong. It was unloved, and in this business unloved infrastructure is not an asset. It is rent with a roadmap.
THE HANDBOOK AND THE FLOOR PLAN
Here is the mental model that fixed it. Every AI session is a brilliant new hire with total amnesia. Day one, every day, forever.
If you use Claude Code you already hand this new hire a CLAUDE.md, and you might think that solves it. It does not, because CLAUDE.md is the employee handbook: no jeans, use the side entrance, never deploy on Fridays. Rules of behavior. Necessary, and completely useless for finding the server room.
What the amnesiac actually needs is the floor plan with the institutional knowledge scribbled in the margins: the API lives on the third floor, the deploy button is behind that door, the coffee machine needs two presses because of a thing that happened in March. We call that file CODEMAP.md, and one per repo replaced the entire 8.9 GB brain.
CLAUDE.MD · THE HANDBOOK
- How to behave
- Rules, style, rituals
- "Never deploy on Fridays"
- Read to the agent every turn, needed or not
CODEMAP.MD · THE FLOOR PLAN
- Where everything is
- Entry points, data flow, gotchas
- "The deploy button is behind that door"
- Read once, on demand, when it is needed
The cost difference is not subtle, and we measured ours this morning. The handbook is recited to the model in full before every single sentence of work, like an onboarding deck read aloud before each email. The map costs a one-line pointer until the moment it is actually opened. FIG. 4 is our own bill.
We deleted the graph, fired the bouncer, and wrote four maps in an afternoon. The machine got quieter and cheaper the same day, and the maps got read on day one, by the same agents that ignored a mandate for months. Nobody had to be forced. That is what being right feels like when you finally stop legislating and start drawing.
SUBSCRIBERS ONLY · THE ACTUAL MAP
The recipe stays behind the counter.
You have the verdict: the map beat the graph. Back here is the method: the six sections and the exact question each answers, the verbatim lines from our four maps, the git-hook trick that keeps a map honest, and the copy-paste skeleton. Free, along with the daily autopsy: one AI claim a day, checked, stamped, receipts attached.
Already subscribed? Open this letter from any of our emails and it unlocks itself.
One more thing we found during the audit: a cloud access key sitting in a plaintext config file since March. Different kind of BS, story for another day.
The lesson survives contact with any stack: your agents do not need a bigger brain. They need a map someone bothered to draw.
THE CHECK
We claimed our own memory infrastructure was working because we had built a lot of it. Seven days of logs said otherwise: 28 servers, zero calls, one ignored mandate. Volume of infrastructure is not evidence of value. Usage is. HOLDS: the markdown maps got read on day one.