-​-dangerously-skip-reading-code

Scope and limits of “code conforms to spec” automation

  • Several comments argue full automation is impossible in general (halting problem, Rice’s theorem), but others note practical subsets can be checked, especially for “human-comprehensible” programs.
  • Formal verification exists (PSL, Lean, total functional programming, theorem provers), but writing precise specs/proofs is harder than writing code and rarely scales to whole systems.
  • Natural-language specs are seen as too ambiguous; any spec precise enough for formal checking effectively becomes a programming language.

Specs, markdown, and “code as artifact”

  • Many discuss shifting rigor from code to specs/tests: markdown/RFC-style specs as primary artifacts; code and tests generated from them.
  • Some propose plans/specs as the PR unit; implementation is “just” an artifact that could even be regenerated from scratch.
  • Skeptics point out this resembles long-standing requirements-management tools and methodologies (UML, BPML, DOORS, CASE, PRIDE) that never eliminated programmers.
  • Several note that highly detailed specs “are the code”; if the problem were just missing rigor in specs, it would have been solved before LLMs.

AI-generated code, review, and reliability

  • Strong concern that LLMs make human-style mistakes but faster, and humans are poor at spotting subtle misalignments in unfamiliar code.
  • Some envision near-future “infallible” agents; others counter that current systems still make the same structural errors, with no clear path to infallibility.
  • Treating LLM output like bytecode and not reading it is criticized: bugs (especially security/privacy issues) require responsibility and human understanding.
  • Proponents argue heavier automated testing and spec-driven harnesses can provide sufficient confidence, but critics doubt tests alone can cover all critical behaviors.

Process, economics, and organizational effects

  • Many push back on “rework is almost free”: real systems have customers, data migrations, UX expectations, and public APIs that make change expensive.
  • Commenters see AI as drastically reducing coding time, but not the need for product understanding, coordination, design, and quality assurance.
  • Some compare AI enthusiasm to outsourcing hype: better specs, more tests, and tolerance for mediocre code often end up more work than doing it well directly.
  • There’s concern about “slop coding”: maximizing LOC and agent activity over maintainability, and about leadership mandates for spec-driven/agentic processes that engineers find low value.

Tools, languages, and spec styles

  • Suggestions include RFC 2119 keywords, XML/OpenSpec formats, contract-based languages, and theorem-prover-backed languages.
  • Experience is mixed: such approaches can steer models well when specs are complete, but specs often become verbose, granular, and harder to read than code.