Build1 distinct publisher3 min readUpdated
A Stack Overflow blog post argues that zero-spec agent work just turns a human into the oracle. The practical question is what share of your acceptance criteria you can make executable.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A post on the Stack Overflow blog, filed under its Dispatches from O'Reilly series, argues against the now-common line that detailed specs are old-world overhead: give the model a rough goal, let it explore, fix what comes back, move on [0][1]. That matters for anyone running agents in a real codebase, because the cheap-looking option does not remove specification cost, it moves it onto a person. Someone still has to decide whether the result matches the real goal, and according to the author, that person becomes the oracle [3]. The mechanics are unremarkable and that is the point. A simple prompt looks cheap because implementation starts immediately, and then the correction loops start: review output, clarify intent, ask for changes, rerun tests, find the next gap, repeat [2]. Each pass bills the same human. At the other extreme, full formal specification is expensive up front, since acceptance criteria, contract tests and BDD scenarios all take real effort [4]. The author's claim is that the downstream cost differs because more of the oracle is executable: a test checks the same condition every time, and it does not get tired, rushed, or optimistic five minutes before lunch [5]. So the decision is not spec versus no spec. It is where the minimum total cost sits, and for most agentic work the post puts that in the middle: enough structure to constrain the work, enough examples to make intent concrete, and enough executable checks that review does not become guessing [6]. Zero spec, in the author's framing, is not lean; it is costly vibe-coding [7]. There is a structural reason this suddenly bites. Software engineering was never mainly about typing code; it was about deciding what should exist, what should never happen, which trade-offs matter, and what "done" means in the real world [8]. Teams used to discover missing specification through human friction: a reviewer catching an edge case, QA finding the path nobody described, a senior engineer carrying half the requirements in his head [9]. Agents make implementation much cheaper and faster, so an underspecified idea can become a plausible system before anyone has agreed what the system means [10]. Vague requirements used to run into human slowness; now they run into machine speed [11]. Implementation cost was the forcing function, and we called the result process [12]. The step most people skip, per the post, is that the spec needs review too [13]. A careful spec can still contradict itself, cover the happy path while saying nothing about retries, rate limits or partial failure, describe behavior that cannot be verified, or be precise in exactly the wrong way and say what you wrote instead of what you meant [14]. When an agent executes a flawed spec faithfully, the implementation can look coherent and pass the checks you supplied, so fixing it means unwinding code and reasoning together [15]. Hence the recommendation to treat spec validation as its own line item, with plain questions: is this internally consistent, is it complete enough, which parts are testable, where are we still leaning on human judgment, and which failure modes were silently assumed [16]. The concrete workflow offered is two-agent: ask for the smallest spec that would let another agent implement the work safely, including assumptions, nongoals, acceptance criteria, edge cases, observable outcomes and open questions, with each claim marked as automatable test or human review [17]. Then hand that draft to a different agent and tell it to find contradictions, ambiguous terms, hidden dependencies, untestable claims, missing failure modes, and places where an implementation could pass the written criteria while violating the intent [18]. The author's modest claim is that this lowers the cost of reaching a spec worth human judgment, not that it removes judgment [19].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
The piece was published on stackoverflow.blog under the headline "Dispatches from O'Reilly: The right amount of spec for agentic development".
The author reports repeatedly seeing the idea that detailed specs are old-world overhead now: give the model a rough goal, let it explore, fix what comes back, move on. The author says it sounds efficient but hides the cost.
A simple prompt looks cheap and tempting because it gets implementation started right away; then the correction loops start: review output, clarify intent, ask for changes, rerun tests, find the next gap, and do it again.
Someone still has to decide whether the result matches the real goal; that person becomes the oracle.
Zero spec is not intelligent and lean; it is just costly vibe-coding.
Software engineering was never mainly about typing or even producing code; it was about deciding what should exist, what should never happen, which trade-offs matter, and what "done" means once the problem touches the real world.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single-source practitioner argument, no data
Everything rests on one opinion essay from one publisher. The descriptive and prescriptive claims are internally coherent and specific enough to act on, including verbatim prompts, but the load-bearing economic claims about correction-loop cost, executable oracles and the middle optimum carry no measurements, trials, or worked examples, and no second source corroborates them. The supplied body is also truncated mid-argument.
No adoption signal in supplied material
The source reports no releases, deployments, benchmarks, usage disclosures or team counts. It says the author 'keeps seeing' a narrative in conversations and that people 'skip' spec review, which is anecdotal impression rather than an observable adoption event. No adoption observation can be grounded without inventing facts.
Prescriptions slightly outrun the evidence
The register is deliberately deflationary: it attacks the zero-spec narrative, concedes formal specs are expensive, and hedges with 'for most agentic work' and 'I think'. That keeps the gap small. It is still positive because confident prescriptions, a named cost minimum in the middle and a claim that the two-agent loop lowers cost are delivered with no measurement, and because the surrounding cluster framing generalizes a single author's experience into practice guidance.
Branded content series with methodology alignment
The post is an explicitly branded 'Dispatches from O'Reilly' item carried on a developer-platform blog, so both the publishing partner and the platform benefit from framing specification, testing and BDD practice as newly urgent skills to learn. That is a visible content-marketing alignment. It is moderate rather than high because no product, license, price or funding interest is being sold in the text, and the argument cuts against the prevailing agent-tooling hype rather than with it.
Coherent but uncorroborated and truncated
Confidence in what the source says is high, since the claims are direct quotations of an unambiguous argument. Confidence in whether the argument is correct is low: one publisher, one author, zero measurement, no adoption evidence, and a body that cuts off mid-section. The reasoning is plausible and consistent with known failure modes, which keeps this above the floor.
build
The command injection fix Cursor writes still runs your code1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 21, 2026