a builder's codex
codex · operators · Thorsten Ball · ins_ball-specification-bug-era

As AI handles coding reliably, most software bugs shift from implementation errors to specification errors

By Thorsten Ball · Engineering Lead, Amp at Sourcegraph; author of Register Spill newsletter · 2026-09-19 · essay · What I believe about the future of software development

Tier B · TL;DR
As AI handles coding reliably, most software bugs shift from implementation errors to specification errors

Claim

When AI agents can reliably produce correct implementations of stated intent, the dominant bug class shifts from implementation errors (wrong code) to specification errors (wrong ask).

Mechanism

Coding bugs exist because of the gap between human intent and machine execution. When AI narrows that gap reliably, failures concentrate at the earlier boundary: what the human asked versus what the human actually needed. Specification bugs survive AI because they originate before code generation begins. They are not coding problems. No amount of AI coding capability eliminates the error of asking for the wrong thing.

Conditions

Holds when: AI coding reliability is high enough that implementation errors are rare for the task class at hand.

Fails when: AI reliability is still partial, and implementation errors remain frequent enough to warrant traditional debugging and code review.

Evidence

Ball published these beliefs from direct experience building and shipping with Amp. His framing is direct:

"Most bugs won't be 'coding' bugs...they'll be 'you asked for the wrong thing' bugs"

Signals

Counter-evidence

Code review and testing remain relevant while AI reliability is partial in the current period. Security vulnerabilities can emerge from AI-generated code in ways that bypass specification-level thinking entirely. Safety-critical domains may retain high implementation error rates for some time because stakes demand additional human verification layers.

Cross-references

Open the interactive view → View original source → Markdown source →