Blog.
The lessons are organised by stage and meant to hold still. These aren't. They're dated, written the week the thought arrived, and some of them will age. That's the point of putting a date on them.
New posts most weeks. RSS.
Build evals before you roll anything out
Twenty real tasks from your backlog, a pass definition, cost recorded beside correctness, and a threshold gating rollout, built in two weeks, before adoption rather than after the fact.
- 4 min read
Ship your first agent-owned workstream in thirty days
Pick one bounded, reversible, recurring task, write the spec as the artifact you review, build the eval first, name an owner, cap the spend, and run it a month before deciding anything.
- 5 min read
Migrate the legacy service with agents, seam by seam
Pin the old service's behavior as characterization tests, cut the work into checkable units, run old and new behind a flag, and delete the old path on a named date, not "eventually."
- 5 min read
Set the autonomy tiers before you need them
An autonomy tier model sorts agent-authored change by how expensive it is to be wrong, with a named gate and owner per tier, written before the first bad merge forces the question.
- 4 min read
Onboard a junior into an agentic team
Spend the first thirty days on reading, not writing. Pair on review before implementation, run the spec-agent-review loop, and stop assigning work an agent already does better.
- 4 min read
An AGENTS.md that survives six months
Test every rule against one question: would a competent new hire need this sentence, and can it be checked. Then give the file an owner, a review trigger, and a real deletion policy.
- 5 min read
Turn your review queue back into flow
Pickup time and review time come back under control without hiring reviewers or slowing generation, once you treat the queue as a measurement problem instead of a discipline problem.
- 4 min read
Estimation is over, and this time there's no argument left
Agent-authored work severed the last link between task size and effort, so sizing rituals lost their reason to exist. Forecast from throughput, and stop asking anyone to guess.
- 4 min read
Agents are not headcount
A person absorbs ambiguity and carries context forward; an agent consumes attention and returns none. Put one in a headcount ratio with the other and both sides of the plan come out wrong.
- 4 min read
Context files are production code, and yours has no owner
AGENTS.md and CLAUDE.md are executed literally by a system that can't ask what you meant, yet almost nobody reviews, owns, or deletes them the way they would any other code that ships.
- 4 min read
An eval you wrote after the incident is a regression test
Writing a check right after an incident only encodes the failure you already caught. A real eval constrains behavior nobody has observed yet, which means it has to exist before, not after.
- 4 min read
Kill the AI pilot
A pilot is what you run when you can't roll back. If you can, skip the committee: hand the tool to one team, keep a real record, and decide in three weeks.
- 4 min read
Delete the AI council
A standing AI governance body built before the first failure invents work everyone routes around. Wait for the same failure twice, name it, then decide if a structure is the fix.
- 4 min read
Review is not the bottleneck. Trust is.
Reviewer capacity is fixed and generation isn't, so any plan that scales review loses on arithmetic. The lever that actually works shrinks how much change needs a human at all.
- 4 min read
Hire the juniors. They're your best eval.
A junior is the cheapest instrument you own for finding out whether your specs are actually complete. They fail where your agents fail, months earlier, out loud, with a name attached.
- 4 min read
Agents don't create technical debt. They create unowned code.
Debt implies someone knowingly borrowed and can repay it later. What an agent produces at volume is code nobody can explain, and that needs a name attached to it, not a refactor sprint.