You give your AI coding agent a task. It gets to work. Thirty tool calls later you have code — and it’s not what you needed. The agent understood the words but missed the intent. It made a dozen small decisions that individually seemed reasonable, and collectively built the wrong thing. This isn’t a capability […]

Read More →

Spec-driven development treats a structured specification—not the codebase—as the system of record. This post maps who does what when you work that way: from turning product intent into an agent-readable spec, through API contracts and UI rules, to validation that implementation still matches what you wrote down. Table of contents Overview Spec-driven development (SDD) is […]

Read More →

A practitioner’s guide to knowing which one you actually need. “Spec-driven” is not one practice. It is a ladder—spec-first (write then ship, spec often rots), spec-anchored (spec and code stay checked in CI), and spec-as-truth / spec-as-source (humans edit only the spec; code is generated). This piece maps the three levels (after Birgitta Böckeler on martinfowler.com), their tradeoffs, a cheat sheet, and […]

Read More →

Large Language Models (LLMs) all predict text, but they differ a lot in how they follow instructions, use context, handle tools, and optimize for safety, speed, or cost. If you treat them as interchangeable, you’ll ship brittle prompts. If you treat them as different runtimes with different affordances, you’ll get reliable results. This post explains the major differences across […]

Read More →