Everyone warns that AI over-engineers. I expected a spec bloated with 2FA, microservices, and a Kubernetes cluster for a CRUD app. What I actually got was worse, because it was reasonable.
I gave ChatGPT one sentence describing a property-inspection app and got back a clean, professional brief. Then I read it like an engineer scoping the work, and found three failure modes worth naming:
The existential risk, buried in a subordinate clause. The app's core feature depends on a public land registry — and those are famously fragmented, often with no public API. The brief handled this make-or-break unknown with "integration with registry APIs or data sources where available." "Where available" is doing catastrophic amounts of load-bearing work. A generator optimizes for a document that looks complete; "this might be impossible, verify first" doesn't fill a section nicely, so it gets compressed and hidden.
A silent scope decision. It specced "document capture with automatic image organization" — deciding, without telling me, that documents are photos to file, not text to extract. But comparing a deed against the registry means pulling the parcel number off the image. That's OCR, non-trivial, and it was assumed away in the gap between "photograph" and "organize."
A state machine hiding inside two verbs. Inspections get "submitted" and "flagged." Innocent words that smuggle in a question nobody asked: is there an approval workflow? A supervisor role? If so, every inspection now has states, transitions, and per-state permissions — the difference between a form that saves data and a stateful workflow engine.
The root cause is the same each time: it never asks, it fills. A brief's job is to force decisions; a generator's job is to look finished. Those are opposite goals.
Full write-up (with the actual ChatGPT output): https://fsgen.com/blog/chatgpt-brief-teardown
Originally published on fsgen.com.
Top comments (0)