Essays & notes
Notes on AI, systems, and
software that works in the real world.
Writing on decision frontiers, LLM agents in production, and accidental financial software.
Latest writing
All posts-
Who writes the 571 criteria
Harvey grades its agents against 571 criteria per data room and never says who wrote them. Ramp does. That one line decides whether your eval measures your domain.
-
What breaks when the loop works alone (part 2)
Four measured failures from running an agent box 24/7: credentials that clobber each other, errors your phone never shows, the OOM-killer, and cattle-not-pets.
-
Run agents on your own server without opening ports
Loop engineering needs somewhere to live: an agent box on your server — an outbound daemon, your own worktree engine, and access without opening a single port.
-
Your role isn't your title: five archetypes for agent teams
Prototyper, builder, sweeper, grower, maintainer. When the agent absorbs execution, what sets you apart is your posture in the product lifecycle, not your title.
-
Loop engineering: the loop you're not in
Loop engineering isn't 'design loops, not prompts'. Three decisions: when to raise or lower a loop, how to let it go, and what tool it needs to close itself.
-
The verification ladder: six levels, from types to humans
Generating code is nearly free; verifying it is not. Six levels of verification, from types to human judgement, so the cheapest checker proves each claim.
-
Build your domain benchmark before you build the agent
Ramp evaluates its accounting agent against 237 tasks and 3,469 accountant-written criteria. Why the private domain benchmark decides more than the model.
-
Four boundaries for an agent with access to your books
An agent that reconciles invoices and posts to your ledger holds the keys to your bank. The four boundaries that decide whether a prompt injection can move money.