What requirements don't you have?
Sean Goedecke · 19 October 2026
Read the originalSean Goedecke, a software engineer and writer on system design, says that about half the large AI-generated changes he reviews add a requirement nobody asked for.
Goedecke argues that well-designed systems gain speed and simplicity by deliberately dropping requirements, such as always-current data or concurrent writes. Coding agents have little business context, so they add locks, repeated checks and edge-case handling unprompted, until a short change grows into a very large one.
- Elegant systems drop requirements on purpose: Unicorn drops shared state between server processes, S3 drops multi-file transactions and SQLite drops concurrent writes.
- Deciding which requirements to drop needs both technical and business knowledge, and engineers and product managers often struggle to trust each other on it.
- AI coding agents treat hypothetical edge cases as bugs and add safeguards for them unless told otherwise.
- Goedecke tells the agent in the prompt that stale or briefly inconsistent cached data is acceptable, and scans each change first for unneeded locks and layers.
A team that reviews AI-written code can check each change for requirements the agent invented, not only for errors; this is an inference and is not the author's claim. The piece reflects one engineer's experience and gives no measured data beyond his own estimate.
When reviewing an AI-generated change, look first for added locks, extra checks and layers that no requirement calls for.
State in the prompt to an AI coding agent which requirements the change may ignore, such as stale cached data.
Derived by Working Surface from the article; more in the Playbook. Source line: About half the time I review a large AI-generated change, I notice some unnecessary requirement that makes the diff more complex.
20 October 2026: as AI agents make code fast to write, the scarce work moves to human judgement about what to build, what to leave out, whether the work is right, and how teams stay aligned.