---
title: "The Rise of Spec Driven Development"
date: 2026-02-06
author: Drew Breunig
description: "A month after whenwords, spec-driven development is spreading. Ports and emulators are the easy wins, but generated code still needs care."
tags: ["oss", "ai", "spec driven development"]
url: https://www.dbreunig.com/2026/02/06/the-rise-of-spec-driven-development.html
---

![](https://www.dbreunig.com/img/free_puppies.jpg)

It's been a month since I launched [`whenwords`][whenwords], and since then there's been a flurry of experiments with _spec driven development_ (SDD): using coding agents to implement software using only a detailed text _spec_ and a collection of [conformance tests](https://en.wikipedia.org/wiki/Conformance_testing).

### Github Could Use a 'Docs Review' UI

First off, despite `whenwords` being a couple Markdown docs and a YAML test set, people have submitted valuable PRs. [Mathias Lafeldt][mathias] spotted a disagreement about rounding, where the spec instructed the agent to round _up_ in several scenarios, [but three tests were rounding down](https://github.com/dbreunig/whenwords/commit/c7278227dac8688546da3740c7064af18a14a44a). Others have suggested there should be some [CI][ci] (despite their being no code) and [wonder what that should be](https://github.com/dbreunig/whenwords/issues/9). 

There's been enough action on [the repo](https://github.com/dbreunig/whenwords) to give us an idea of what open source collaboration could look like in a SDD world. And it feels more like commenting in and marking up a Google Doc than code merges. I would love to see Github lean into this and build richer Markdown review, like Word or Google Docs, allowing for easier collaboration and accessibility to a wider audience.

### Emulation & Porting are _the_ Low-Hanging SDD Use Case

By far, the hardest part of starting a SDD project is creating the tests. Which is why many developers are opting for borrowing existing test sets or deriving by referencing a source of truth.

Here's a few examples:

- [**Anthropic wrote a C compiler in Rust**](https://www.anthropic.com/engineering/building-c-compiler). They used [existing test suites](https://gcc.gnu.org/onlinedocs/gccint/Torture-Tests.html) and used GCC as a source of truth for validation and generating new tests.
- [**Vercel created a bash emulator in TypeScript**](https://github.com/vercel-labs/just-bash). They created and curated an amazing set of [shell script spec tests](https://github.com/vercel-labs/just-bash/tree/main/src/spec-tests) and [have been feeding these to Ralph](https://x.com/cramforce/status/2015513111487553667?s=20). (To make this even more meta, I've been following their commits and [Clauding them into Python](https://github.com/dbreunig/just-bash-py)).
- [**Pydantic created a Python emulator...in Python**](https://github.com/pydantic/monty). This sounds silly, but it's useful in the same way Vercel's `just-bash` is: it's a super lightweight sandbox for AI agents. (In fact, I've [already wrapped it in a `CodeInterpretter`](https://github.com/dbreunig/dspy-monty-interpreter) for use with DSPy's [RLM](https://alexzhang13.github.io/blog/2025/rlm/) module)

Now... It's worth noting that most of these examples didn't emerge perfectly. Anthropic's C-compiler just kinda punted on [the hard stuff](https://www.anthropic.com/engineering/building-c-compiler#:~:text=I%20tried%20(hard!)%20to%20fix%20several%20of%20the%20above%20limitations%20but%20wasn’t%20fully%20successful.%20New%20features%20and%20bugfixes%20frequently%20broke%20existing%20functionality.) and admits the generated code is inefficient[^clean]. Pydantic's Python emulator lacks `json`, `typing`, `sys`, and other standard libraries. Though I'm sure those will come soon. Vercel's `just-bash` sports _outstanding_ coverage, though [people continue to find bugs](https://x.com/mitsuhiko/status/2018452351900934433?s=20).

This is the big takeaway from watching the last few weeks of SDD: agents and a pile of tests can get you _really_ far, _really_ fast, but for complex software they can't get you over the line. Edge cases will generate new tests, truly hard problems will resist SDD implementation, and architectural issues will prohibit parallelism agents. 

Vercel's CTO and `just-bash` creator, Malte Ubl, [sums it up best](https://x.com/cramforce/status/2018159890381017419):

![Software is free now. (Free as in puppies)](https://www.dbreunig.com/img/puppies.jpg)

You can [Ralph](https://ghuntley.com/ralph/) up a port or emulator in a weekend or two, but _now you have to take care of it_.

[whenwords]: https://www.dbreunig.com/2026/01/08/a-software-library-with-no-code.html
[mathias]: https://github.com/mlafeldt
[^clean]: There is lots to pick apart in Anthropic's piece (I have had multiple compiler and related people ping me about how misrepresentative it is), but the most laughable claim is that this is, "a clean-room implementation". The idea that using an LLM trained on the entire internet, all of Github, and warehouses full of books is a clean room environment is absurd.

-----
