
The Code Agent Crisis
Software engineering has had two crises before. They had the same shape: something became cheap, and the work moved to whatever was still hard. We are in the middle of a third.

Software engineering has had two crises before. They had the same shape: something became cheap, and the work moved to whatever was still hard. We are in the middle of a third.

An agent is a stochastic function with no memory. Everything you can improve is around it, which is why the durable engineering object is the loop, not the output. The argument from first principles, and the slogan that follows: fix the loop, not the output.

The concrete loop: five activities in a ring, three components the team owns, a persistent model of the engineer at the centre, and the routing rule that decides which layer a failure belongs to.
Autonomous cycles erode the understanding of the person accountable for the system. This essay makes that person a first-class component of the loop: a persistent model of what the engineer knows, consulted before the loop explains or asks anything, and updated every cycle. It is an objective the process works to keep, not a property it can prove it holds.
In one recorded day, a proof assistant refused a specification its engineer had approved, and later certified two true theorems about a tool whose hidden words a forty-word dictionary read off in milliseconds. A different station of the loop caught each defect. This essay walks that day, tool by tool, screen by screen, against a public record.
Introducing this blog — why I’m writing about software engineering in the agent era.