Index · every entry, no waiting

Writing

Notes on engineering and the visual world.

Append-Only or It Didn't Happen The four changelog entries I wrote while I was wrong are the point. An agent-improvement log has to be non-retconnable. AI / data agents 6 min read The Outer Loop Is the Product An eval collapse that looked like an agent failure was an empty tenant. The asset is not the agent's configuration. It is the loop that produces it. AI / data agents 7 min read Two Weeks On Call with My Agent My part of the shift fit on a phone For two weeks in August 2026 I was on call with Otter, my personal agent. It investigated… 12 min read Mirror: An E-Ink Screen That Shows One Thought an Hour This is not the usual agent post I write here. There is an agent in it, but it spends most of its time off screen — which,… Agents / AI 3 min read How Do You Know If Your Data Agent Is Any Good? A field guide to evaluating a data agent: why the answer key is software, the clock is a dependency, and most of the work is debugging… AI agents / agent evaluation 18 min read The 0.3% Bug That Wasn't What I learned the embarrassing way about debugging a system that can be wrong and right in the same way. I spent a few days hardening… AI / data agents 5 min read The Error Contract Matters More Than the Happy Path What a production data agent taught me about treating tool failures as control flow, not exceptions. AI / data agents 7 min read The System Prompt Is the Last Resort What I learned from a SQL subagent that hallucinated columns five times in a row, and the two-skill system I now run on every harness change. AI / Agents 11 min read What I Actually Learned Building a Data Agent This is the first post in a series about building data agents — systems that let people ask questions about business metrics in natural language. I'… AI / data agents 7 min read