Yadda 3.0.0: BDD in the Age of AI Agents · Stephen Cresswell, maintainer of Yadda (acuminous) · Signal Over Noise, 15 August 2026
A maintainer had an agent modernise his library, and phase-separating the test edits is what kept the suite as evidence
Cresswell published Yadda 3.0.0, a modernisation of his JavaScript BDD library: Node only, node:test, ES6 source, TypeScript definitions, and the removal of CasperJS, PhantomJS, Bower and Component. He reports that he did it with Claude Code on Opus 4.8, working from a phased epic that the agent itself wrote, and that from starting the work to publishing the package took roughly a day of elapsed time while he was doing other things in parallel. That figure and his assessment that the agent "made remarkably few mistakes" are his own account of his own project, not a measurement.
He imposed one reusable constraint:
"I also deliberately avoided asking Claude to modify production code and the corresponding tests in the same step. If an agent changes both simultaneously, a green test suite becomes weaker evidence because it is free to change the definition of 'correct' at the same time as the implementation."
The rest of the piece argues that executable specifications are worth more now than when BDD was invented for human readers. A wiki, he writes, "cannot, by itself, tell you whether the system actually does it. An executable specification can." Yadda 3.1.0 added GitHub-flavoured Markdown as a spec format so the specification can sit beside the wiki and the issues that agents already read. He describes the resulting artifact as a contract rather than documentation: "An implementation agent can use it to understand the required behaviour. A testing agent can use it to determine what needs validating. A reviewing agent can use it to challenge an implementation. CI can continuously verify it."
He also names his own ceiling, and it is not the model. Running several agents in parallel via worktrees and session managers, he found he could keep three tasks moving comfortably, sometimes four or five, before losing track of which decision belonged to which agent: "the model is not overloaded and the machine is not overloaded. The bottleneck is the human coordinating the work."
The Hacker News thread stood at 54 points and 27 comments about ten hours after submission, read at 20:20 EDT. It is not uniformly agreeing. One commenter asks why natural language is the right abstraction layer at all when every other abstraction in a codebase is written in the programming language; another argues BDD did not survive its first decade. A third reports having run transcript to specification to issues for close to a year.
Why it matters: The phase-separation rule is the cheapest verification fix in this edition and it does not require adopting BDD. A test suite is only external evidence while the agent cannot edit it in the same breath as the code it is meant to constrain. Everything else here, the executable specification as a shared contract across implementation, review and CI, is a bet that the expensive half of BDD was writing the specification and that the cost has now moved.