{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Dan Grafham · Field Notes",
  "home_page_url": "https://dangrafham.com/",
  "feed_url": "https://dangrafham.com/feed.json",
  "description": "Field notes on AI-assisted development. Doctrine engineering, supervision trees, and the operating model underneath.",
  "language": "en-US",
  "authors": [
    {
      "name": "Dan Grafham",
      "url": "https://dangrafham.com/about"
    }
  ],
  "items": [
    {
      "id": "https://dangrafham.com/after-loops",
      "url": "https://dangrafham.com/after-loops",
      "title": "After Loops",
      "summary": "The industry went loops-bad, then loops-good. Both consensuses stopped one tier short. What supervisors and signals are, why they were missing from both, and where the practitioner conversation is heading next.",
      "date_published": "2026-06-21T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/instructions-are-not-architecture",
      "url": "https://dangrafham.com/instructions-are-not-architecture",
      "title": "Instructions Are Not Architecture",
      "summary": "An instruction is one possible home for a rule, not the only one, and rarely the best one. Where every rule belongs in an autonomous system: trash and runtime are valid answers, and hidden context is drift, not doctrine.",
      "date_published": "2026-06-11T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/real-world-must-sign-for-it",
      "url": "https://dangrafham.com/real-world-must-sign-for-it",
      "title": "The Real World Must Sign For It",
      "summary": "An AI-first factory gets to re-audit the whole testing inheritance. Tests are instruments, end-to-end evals are the contract, and reality is the final approver. Oracle capture is what happens when the worker captures the contract. Deploy is not proof.",
      "date_published": "2026-06-10T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/commit-log-boring-part",
      "url": "https://dangrafham.com/commit-log-boring-part",
      "title": "The Commit Log Is the Boring Part",
      "summary": "Someone told me to show proof my agents ship work on their own. A screenshot is the wrong thing to ask for. It's the exhaust, not the engine. Here is the machinery that makes 'merged overnight' mean 'merged correctly,' and the honest line of what is actually autonomous.",
      "date_published": "2026-06-07T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/cages-and-constitutions",
      "url": "https://dangrafham.com/cages-and-constitutions",
      "title": "Cages and Constitutions",
      "summary": "The case against wrapping agents in control code is mostly right. Most of that scaffolding is a cage. But some of what looks like a rail is a constitution, the small set of boundaries that must hold no matter how capable the actor becomes. The agent can be free. The institution still needs a constitution.",
      "date_published": "2026-05-31T18:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/prompt-sprawl",
      "url": "https://dangrafham.com/prompt-sprawl",
      "title": "Prompt Sprawl",
      "summary": "Rules pile up in the prompt, where nothing can enforce them. After a week of sharpening one rule, I deleted the role instead. Prompt Sprawl is the anti-pattern; the fix is moving the rule out of the prompt and into the runtime.",
      "date_published": "2026-05-29T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/supervisor-tier",
      "url": "https://dangrafham.com/supervisor-tier",
      "title": "The Supervisor Tier",
      "summary": "Most agent systems bubble every failure up to a human supervisor at the top of the stack. Erlang solved this in 1986. EVE Online re-derived it in 2008. The agent layer is the third domain to need the pattern.",
      "date_published": "2026-05-21T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/prompt-injection-privilege-problem",
      "url": "https://dangrafham.com/prompt-injection-privilege-problem",
      "title": "Prompt Injection is a Privilege Problem",
      "summary": "Most current prompt-injection mitigation is security theater. Software security solved the same kind of bug class structurally in 1995. The agent industry is repeating the wrong path.",
      "date_published": "2026-05-21T10:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/pixel-pushing-trap",
      "url": "https://dangrafham.com/pixel-pushing-trap",
      "title": "The Pixel-Pushing Trap",
      "summary": "AI makes it easy to build more. You need to make sure you're building the right things. The factory is running. It's making the wrong thing.",
      "date_published": "2026-05-19T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/b2a-business-to-agent",
      "url": "https://dangrafham.com/b2a-business-to-agent",
      "title": "B2A: Business to Agent",
      "summary": "The third distribution model after B2B and B2C. Your customers are AI agents finding you before a human ever sees your URL. MCP is the new SEO, and the conversion funnel is a JSON schema.",
      "date_published": "2026-05-19T08:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/doctrine-bifurcation",
      "url": "https://dangrafham.com/doctrine-bifurcation",
      "title": "The Doctrine Bifurcation",
      "summary": "Doctrine bifurcates into two registers: compiled doctrine a runtime enforces, and interpretive doctrine agents read. Most agent frameworks have only one. The split is what makes audit-by-construction enforceable.",
      "date_published": "2026-05-18T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/doctrine-engineering",
      "url": "https://dangrafham.com/doctrine-engineering",
      "title": "Doctrine Engineering",
      "summary": "Prompt engineering scales to one agent. Doctrine engineering scales to one hundred. The next discipline, the practice that emerges when probabilistic compliance breaks at scale, and why the term-of-art slot is open right now.",
      "date_published": "2026-05-17T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/shipping-paralysis",
      "url": "https://dangrafham.com/shipping-paralysis",
      "title": "Shipping Paralysis & World Domination Scope",
      "summary": "Why AI making code free didn't make shipping easier, and the specific traps that keep a genuinely good project permanently local.",
      "date_published": "2026-05-08T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/ai-debt",
      "url": "https://dangrafham.com/ai-debt",
      "title": "AI Debt",
      "summary": "What happens when the framework starts serving itself instead of shipping the product. Distinct from technical debt; AI Debt lives in the prose, scaffolding, and meta-process around the code.",
      "date_published": "2026-04-25T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/humans-moving-upchain",
      "url": "https://dangrafham.com/humans-moving-upchain",
      "title": "Humans Moving Upchain",
      "summary": "The substrate-level shift that the entire AI moment is producing. Agents move in below. Humans relocate above.",
      "date_published": "2026-04-20T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/cambrian-explosion-of-software",
      "url": "https://dangrafham.com/cambrian-explosion-of-software",
      "title": "The Cambrian Explosion of Software",
      "summary": "Software was stuck single-celled for fifty years. AI is the oxygen. Why every software category is about to be re-founded, and how to tell which game you're playing.",
      "date_published": "2026-04-15T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/level-5-dark-factory",
      "url": "https://dangrafham.com/level-5-dark-factory",
      "title": "The Dark Factory",
      "summary": "A deep dive into Level 5: what it actually requires, what it looks like in practice, and what kind of person could architect one.",
      "date_published": "2026-04-08T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    },
    {
      "id": "https://dangrafham.com/five-levels-of-ai-programming",
      "url": "https://dangrafham.com/five-levels-of-ai-programming",
      "title": "Five Levels of AI Programming",
      "summary": "A working framework for the current state of AI-assisted development, and a clear map of where the industry is heading.",
      "date_published": "2026-04-03T12:00:00Z",
      "authors": [
        {
          "name": "Dan Grafham"
        }
      ]
    }
  ]
}
