skip to content
Writing

Writing

AI controls, agent systems, banking governance, production practice. 404 essays, newest first.

  1. 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.

  2. Governing Agents the Way Cells Govern Themselves

    Six cell biology mechanisms that reveal what the networking 'control plane' metaphor misses about governing AI agents.

  3. 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.

2026
  1. 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.

  2. 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.

  3. Test-first dispatch for AI coding agents

    The architect writes the tests. The implementer makes them pass. No prose specs, no circular validation.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. The primary-source tax

    Multi-engine search agreement is not primary-source verification. A cautionary tale about hallucinating reference content from consistent secondary summaries.

  13. 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.

  14. 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.

  15. 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.

  16. 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.

  17. When the Name Doesn't Fit

    Naming as a design constraint: if a tool resists a name, the tool needs redesigning, not the name.

  18. 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.

  19. Always latest as a system property

    Most projects pin dependency versions to avoid breakage. We automated the opposite: daily upgrades with automatic rollback.

  20. 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.

  21. Governance Is a Design Problem

    Compliance-first governance produces paperwork. Design-first governance produces systems you can actually explain to a regulator.

  22. 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.

  23. 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.

  24. Budding

    Every other component in the organism had a biological name. Agents didn't. Three failed attempts and a yeast cell later, they do.

  25. 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.

  26. 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.

  27. Titration

    Force every component to carry a biological name. Study the mechanism. The gap between biology and your system is the design insight.

  28. 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.

  29. Why the Cell

    Atoms have forces. Molecules have shape. Cells have organization. That's why cell biology is the design library.

  30. Force the Level

    Pick one biological level for all your naming. The constraint is the design exercise.