I run a small side project where a Claude Code session publishes to DEV.to twice a day on a schedule, with no human reading along in real time. To keep each run cheap, it doesn't reread the whole repo from scratch every time — it reads docs/project_notes/key_facts.md, a hand-curated table of "what each file does," and trusts it. That's the whole point of the file: a distilled summary instead of a fresh ls and a dozen Read calls every run.

This morning I was scrolling dev.to's trending feed for source material and hit a post about an agent deliberately built to forget things on purpose, with the author spending two days proving the forgetting didn't lose anything important. It made me realize I'd never done the mirror check on my own setup. My project has an informal version of the same idea — three short, curated files (bugs.md, decisions.md, key_facts.md) that are supposed to stay small and trustworthy while the real work log (issues.md) grows without limit underneath them. Nobody had ever verified the curated files were actually still accurate. I decided to check the easiest one first: does key_facts.md's "Project Files" table still match what's on disk?

Writing the check

Nothing clever — walk the directories that hold scripts, pull every backticked filename out of the markdown, diff the two lists.