Writing
AI controls, agent systems, banking governance, production practice. 404 essays, newest first.
- AI Controls Architecture
Risk teams know risk. The open problem is designing controls for systems that are non-deterministic, probabilistic, and attackable in natural language.
- Governing Agents the Way Cells Govern Themselves
Six cell biology mechanisms that reveal what the networking 'control plane' metaphor misses about governing AI agents.
- The Risk Without an Engineering Solution
Every other agentic AI risk has an engineering answer. Prompt injection doesn't. That changes everything about how you design controls.
- Biology as a Design Constraint: How Cell Biology Names Generate Architecture
Using cell biology naming not as metaphor but as engineering manual — how mTOR's biology predicted circuit breakers, autophagy, and negative feedback loops before we designed them.
- Your AI Agent's Quality Gate Is Lying to You
A 96% rejection rate that was actually a 96% false positive rate — how a monitoring blind spot turned a productive overnight batch into apparent failure.
- Test-first dispatch for AI coding agents
The architect writes the tests. The implementer makes them pass. No prose specs, no circular validation.
- I made my coding agent dispatch system improve itself
I dispatched a 952-line monolithic CLI through my own coding-agent dispatch system to be refactored into seven modules. It worked. Notes on what self-bootstrap reveals about agent harness design.
- What 16,000 Simon Willison posts reveal about the state of AI coding agents
I scraped 16,181 of Simon Willison's posts and analysed the 395 from 2026. An inflection in November 2025, GLM-5 closing the gap, and why the harness — not the model — is the competitive moat.
- 4 Principles for Agent-Facing CLI Design
Most advice about making CLIs agent-friendly is just good CLI design. Only four principles are actually agent-specific.
- Correctness is model-determined
I benchmarked four AI coding harnesses on 12 tasks using the same model. The harness barely matters for correctness — it's all about the model.
- The architect-implementer split: why your expensive model shouldn't write code
Smart model plans, cheap model builds. The pattern everyone's converging on for AI coding agents — and the piece nobody's shipped yet.
- Building porin: a library for agent-facing CLIs
I turned the seven patterns into a zero-dependency Python library. Then I added MCP bridge support. Here's what I learned about the gap between patterns and code.
- Seven patterns for agent-facing CLIs
Three independent authors converged on nearly identical patterns for CLIs that AI agents invoke. Here's what they agree on, what's missing, and why nobody has built a framework for it yet.
- The Name Collision That Found Two Tools
When a dispatcher and an executor share a name, you don't have a naming problem. You have an architecture problem.
- The primary-source tax
Multi-engine search agreement is not primary-source verification. A cautionary tale about hallucinating reference content from consistent secondary summaries.
- CLI, MCP, or code mode: the answer depends on who's running the sandbox
Willison says CLIs beat MCP. Cloudflare says server-side code mode beats both. They're both right, because they're answering different questions.
- Why I didn't package my AI organism
I designed an elegant framework install for my personal AI system. Then I listed the hard problems and shipped a three-hour cleanup instead.
- Ten Things I Learned From the Agent Skills Gold Rush
A day of reading skill repositories taught me less about the skills themselves than about how much I'd missed of the surrounding ecosystem.
- What I Found Evaluating 5 Agent Skill Repos
Five skill repositories, a day of reading code, and a significant correction I had to make the same afternoon.
- When the Name Doesn't Fit
Naming as a design constraint: if a tool resists a name, the tool needs redesigning, not the name.
- The rename that built a tool
I renamed one concept across 130 files. The pain crystallized into a tool that will do the next rename in minutes.
- Always latest as a system property
Most projects pin dependency versions to avoid breakage. We automated the opposite: daily upgrades with automatic rollback.
- The dispatch layer was eating the quality, not the model
We blamed the LLM for a 54% task failure rate. The real culprit was seven layers of dispatch infrastructure between intent and execution.
- Governance Is a Design Problem
Compliance-first governance produces paperwork. Design-first governance produces systems you can actually explain to a regulator.
- The Cell Biology Agent Design Manual
Engineering metaphors give you clean abstractions. Biology gives you resilient ones. Twenty design heuristics from four billion years of R&D.
- Split on Access Control, Not Abstraction
Repo boundaries enforce access control, not abstraction. Directories handle abstraction. If two things have the same visibility requirement, they belong in the same repo.
- Budding
Every other component in the organism had a biological name. Agents didn't. Three failed attempts and a yeast cell later, they do.
- Enzyme, Receptor, Cell Type
Three components of a living system map cleanly to tool, skill, and agent. The biology isn't decoration -- it's the test.
- Autopoiesis
The defining property of life is not metabolism or reproduction -- it's autopoiesis. A system that continuously produces and maintains itself. That's the north star.
- Titration
Force every component to carry a biological name. Study the mechanism. The gap between biology and your system is the design insight.
- The Architecture Biopsy
A method for finding gaps in AI systems that architecture reviews miss. Force a naming constraint, and the breaks reveal what's missing.
- Why the Cell
Atoms have forces. Molecules have shape. Cells have organization. That's why cell biology is the design library.
- Force the Level
Pick one biological level for all your naming. The constraint is the design exercise.