What it means
Spec-driven development means the specification is the durable artefact and the code is downstream of it. Not a document written to satisfy a process — a document precise enough that a competent engineer, or a competent agent, could implement from it and arrive somewhere you would recognise.
This is not new as an idea. What is new is the economics. Writing the code used to be the expensive part, so specifications were a tax you paid to avoid rework. Now the code is cheap and the thinking is not. A prompt produces a branch; it does not produce agreement about what should exist. The agreement is the scarce thing, and it needs somewhere to live that is not a chat log.
The practical shape most teams land on is two documents and a gate between them: requirements, which answer what and why, and an implementation plan, which answers how. The gate matters more than the documents. A specification nobody has to approve is a suggestion.
