Last spring I wrote about the day a hyped new agent tool dropped and I nearly impulse-bought a $600 Mac mini to run it, until I stopped mid-checkout and asked what I was actually building. That pause became Part 1 of this story: I skipped the hardware and built a safe agent lab on free cloud infrastructure instead, because agents are still reckless in the wild and the safe environment should exist before the autonomy does.
This is Part 2. In this one, the reckless agent is me.
The incident report
A few weeks ago I was trying to condense my startup's code so I could finally push it to git, and my disk was too full to let me work, so I opened CleanMyMac to free up space. I was also watching Summer House. You can see where this is going.
CleanMyMac does a genuinely useful thing where it scans your machine and suggests folders you probably don't need anymore. The correct move is to read that list slowly. I did not read that list at all. Two cast members were mid-meltdown on my television, the drama was that polarizing, and I glanced at a dialog full of folder paths and clicked accept.
It deleted my local Claude Code setup. It deleted the local folders where my agents and their projects lived. And in a detail I have to respect as a piece of writing, it deleted the exact code I had opened the utility to make room for.
I want to be precise about the failure, because it would be easy to turn this into a story about a bad tool, and it isn't one. CleanMyMac suggested. I clicked. Nothing was hacked, no agent went rogue, no model hallucinated a delete command. A human with admin rights and a Bravo subscription approved a destructive action she did not read. The most dangerous actor in my system that night was the one holding the remote.
What survived
One folder made it through, and it turned out to be the only folder that mattered.
I run my AI agents as a small fleet, and the fleet has a brain that does not live on my laptop. It is an Obsidian vault syncing through iCloud, and it holds the boring paperwork of the whole operation: every agent's definition, a registry of record, an append-only audit log, written standards, and a work-schedule that caps how many agents run on a given day. Every role, purpose, boundary, and output format the fleet depends on, written down in plain text, sitting on a surface a disk cleanup utility cannot reach.
None of that was luck. Part 1's whole argument was intentionality before autonomy: decide what you are actually building, then build the environment that keeps it safe, and only then let the agents loose inside it. When I set the vault up I was designing against runaway agents, prompt injection, and silent scope creep. I was not designing against me, a glass of wine, and a reunion episode. The boundary held anyway, and that is the property I keep turning over in my head. Good boundaries do not ask who they are protecting you from.
The rebuild
The ledger tells this part better than my memory does, which is fitting, because that is the ledger's entire job. The audit log shows scheduled runs going dark for roughly twenty days in the middle of July. Then it shows one long rebuild and hardening day in late July, and unbroken governance records every day since.
The rebuild itself was almost anticlimactic. Every agent's definition still existed, so bringing an agent back meant reading its file and standing it up again: same role, same boundaries, same output contract, same approval gates. Nothing had to be remembered, guessed at, or reverse-engineered, because nothing important had ever lived only in my head or only on my disk.
The fleet also came back stronger than it went down. Rebuilding from written definitions forced me to reread every one of them, which turned into a hardening pass across the whole fleet. The rebuilt version gained a fleet-health watchdog that notices when an agent stops showing up. The definitions got normalized into one consistent format while I had them all open anyway. Losing the machine cost me days of momentum, and it also bought me the kind of cleanup nobody ever schedules voluntarily.
What a purposeful agent looks like
The rebuild worked because every agent in the fleet is built the same deliberate way, and the shape is worth spelling out, because most of the agent setups I see have almost none of this.
One lane, one written goal. Every agent covers exactly one lane and carries a one-sentence goal, written down where anyone can read it, including a future machine-less me. If I cannot write the sentence, the agent does not get built.
An output contract. Every agent produces work in a fixed format that a script can verify. My drafting system's posts come out in a block format a quality gate parses line by line, and the gate fails the file if the format drifts. Contracts turn “did the agent do its job” from a vibe into a check.
Human gates on everything that ships. I rewrite every hook and every call to action by hand, and nothing publishes itself, ever. The agents produce drafts, and the yes is mine. This is slower than full automation, and it is also the only reason I can let the drafting run without watching it.
An orchestrator that never executes. One agent sits above the others, proposes the day's objectives, and routes the work. It has no hands. It cannot publish, send, or delete anything, so an orchestrator having a bad day produces a bad proposal instead of a bad outcome.
Records with owners. A registrar keeps the registry and the audit log honest, and a librarian keeps the vault itself organized. The books are somebody's actual job, which is the only reason the books were current on the night I needed them.
A daily cap. The work-schedule limits how many agents run on any given day, because my attention is the scarcest resource in the system and pretending otherwise is how fleets rot.
The vault is the brain. The agents are hands. Hands, it turns out, are replaceable in an afternoon.
The proof showed up this week
Here is the part that convinced me the system is real and not just a story I tell myself. This week I adopted a new posting schedule across three accounts, and one of the lanes needed an agent that did not exist yet. A brand-new agent for a brand-new content lane was stood up, registered in the ledger, and rostered onto the schedule in a single morning.
Not because I am fast. Because the governance system already defined what “building an agent properly” means. The definition format existed, the registration step existed, the schedule had a slot waiting. Building the agent was closer to filling out a form than to starting a project, and that is the quiet payoff of the boring ledger: it is slow paperwork on the way in and pure speed exactly when you need it.
What I would tell you to steal
If you are building with agents, or honestly building anything you would grieve losing, these are the pieces I would carry out of this story:
- Treat agents as replaceable and their definitions as precious. The running instance is cattle. The written role, boundary, and contract are the crown jewels.
- Keep the brain off the machine that does the work. My vault survived because a cleanup utility could not reach it. Yours can be a synced vault, a repo, anything whose existence does not depend on one disk.
- Write the role down before you build the worker. The one-sentence goal you cannot write is the agent you should not build.
- Put a human gate on anything you cannot take back. Publishing, sending, deleting. Drafts are reversible, and reversibility is what makes delegation safe.
- Let the record outlive the actor. An append-only log meant I could see exactly what my system had been doing before the incident, instead of trusting my memory of it.
I still watch Summer House. I still use CleanMyMac, though these days I read the dialog like it owes me money. The difference is that I now know precisely which folder I would carry out of a fire, and it is the boring one, full of markdown, quietly syncing somewhere my worst click cannot follow.
Further reading
- I Built My Own OpenClaw Lab on Free Cloud Infrastructure and Skipped the $600 Mac Mini. Part 1 of this story: the impulse buy that did not happen and the safe-lab thesis this whole system grew from.
- Obsidian Sync documentation. The mechanism that kept the fleet's brain off-machine. Any synced vault gives you the same survival property.
- Claude Code subagents documentation. The primitive my agents are built on: scoped roles, limited tools, separate contexts.
- Anthropic, Building Effective Agents. The case for simple, composable agent patterns over clever complexity, which is the same argument this post makes with reality television in it.