latest post
Compile, don't emerge
Emergence is the discovery phase, compilation is the production phase — and detecting when an agent procedure has converged is counting, not a model
I noticed something watching agents not as a developer but as a data engineer — the kind of person professionally annoyed when the same work gets redone for no reason.
I run a self-hosted panel that issues per-client connection configs, and every couple of weeks somebody needs a new one. Five minutes of work: open the panel, add the client, hand over the config. And every time, the agent figures it out from scratch. In one session it went for the panel API, got a 404 on the first endpoint it tried, decided to improvise, and started writing to the database directly — database locked, restarting the service snapped the ssh channel, a phantom client stuck in the panel, manual reverts. In another it came out clean on the first pass: the right panel endpoint, a database backup before the mutation, a restart, and a check that the new client is actually visible in the live config.
So the procedure exists. It’s sitting in my own history — in the session where it worked. It’s just that the next session starts from zero and is under no obligation to find it again.
Eventually I stopped eyeballing it and counted. I wrote a miner that reads my own Claude Code transcripts — every project, every session, no model anywhere in the loop — and asked it which work I keep re-deriving. Issuing a config: six sessions, three projects. Six times an agent reasoned its way toward a procedure that one of those very sessions had already found.
That’s the mismatch: we’ve built a whole industry around growing an agent’s behavior from scratch on every run — in exactly the places where it should have been compiled long ago.