I was on a client call and the question came up: "what should I do with the files that Perplexity is creating while it runs certain queries?"
What was happening was that certain files were being kept for partial queries, and they were starting to add up. For files where there were different versions, the older versions were not being overwritten but stored in the same folder with a different version number. This starts to look sloppy after a while.
Then I noticed the same thing was happening in my own system. My AI assistant had been sitting on the same task for ten minutes. One progress line, no movement. I assumed it had run into something genuinely hard and left it alone.
It hadn't. When I finally looked under the hood, the thing wasn't thinking. It was stuck. It had tried to delete a pile of junk files, the folder had refused with a permission error, and it had quietly frozen against that wall. Worse, an earlier note from the same run claimed the junk was already swept. Nothing had moved. It had reported a finished job over a job it never started.
That folder is not a side project. It is my founder operating system with ai: one Obsidian vault that holds every client note, every daily log, every meeting summary, every decision I have made running this business. My assistant reads it at the start of every session to remember who I am and what we are doing. It is the closest thing I have to a second brain, and a second brain only helps if someone keeps it tidy.
Nobody had. I let the assistant off the hook and went looking at what it had actually been asked to clean.
It was bad. Close to six gigabytes, and most of it was weight, not work. A skills library copied onto the disk twice, byte for byte, a full gigabyte of pure duplicate. A stray Python environment sitting where it did not belong. And the part that actually mattered: a file called Current-State, which is supposed to be a single snapshot of where every project stands, had turned into sixteen stacked snapshots, oldest to newest, seven hundred lines of history that loaded into the assistant's context every single morning before it did anything useful.
As I read this back, I am embarrassed. Here I was, supposedly an expert, and especially at building self-learning loops into the systems I run. I was not doing it, at least not here, and it was time for some spring cleaning. The lesson on cadence landed fast: running this audit takes far less time than the mess takes to build up, and thirty days feels like the right rhythm to do this same exercise.
This is what happens when systems get so focused on producing and delivering that routine maintenance falls off the list. Every stale note, every duplicate, every dumping-ground file is something your AI has to read and hold in its head before it can help you. A messy vault does not just annoy you when you go looking for a file. It makes the assistant dumber on every task, because its attention is spread across sixteen versions of the truth instead of one.
So I spent the morning the way you would clean a garage you had been throwing things into for a year. Cut Current-State from seven hundred lines to under three hundred, keeping the live snapshot and moving the back catalogue into a dated archive. Pulled a set of writing rules that had been buried in a notes file out into their own reusable skill. Deleted the duplicate library and the stray environment, a gigabyte gone. Then the part that takes real judgement: thirty-eight loose files sitting at the top of the vault, dropped there over months because filing them properly is the thing you always mean to do later. Each one went to its project. The whole thing went from a junk drawer back to a filing cabinet.
Then I did the same to my second vault, the one that holds everything to do with my son Finn's foundation and the book. You can see what that work feeds at finnwardman.com. Same story, lighter mess, same fix.
I did not want to spend a morning on this every quarter. So I built a small tool to keep it clean, and I built it the right way around, the same thin harness, fat skill split I keep coming back to. There is a script that does nothing but look: it scans the vault, finds the loose files and the duplicates and the notes that are growing into dumping grounds, and it reports. It never deletes, never moves, and it ignores all my code entirely. Then there is a skill, the judgement layer, that reads that report and decides what to file, what to bin, what to flag for me. The boring, exact work is code. The decisions are the AI. It runs itself once a week and leaves a health report in my dashboard.
That split is the point, and it is the same one behind the AI-first company I am trying to build. Let the machine do the part that is the same every time. Save the judgement for the part that needs it. I wrote a few days ago about the three things my company did before I woke up; this is the unglamorous chore that makes all of that possible, because none of it works if the memory underneath is a mess.
Rather than have a note pop up to annoy or confuse me, I now have a dashboard that shows me the cleanliness of the system at a glance. I am still experimenting with the format.
When an agent freezes, it is almost never stuck on the problem. It is stuck behind a locked door, a permission, a missing key, a wall it cannot name. Check the walls before you blame the brain. The other lesson, the one I keep relearning: your AI is only ever as good as the memory you keep for it. Mine had been getting quietly worse for weeks and I had blamed the model.
Monthly Revenues $9,200 | Clients 2 | Prospects (Meta to WhatsApp campaign built, WABA pending) | Team: Me + Jan (CTO). Day 68 of 365.