Handwritten code tends to fail where the author was tired or rushed. Generated code fails where the model was confident and wrong — which is a very different search problem, and it defeats the review habits most of us built over the last decade.
So we wrote the differences down. The checklist is short on purpose: error handling on the unhappy path, boundaries between modules, anything touching money, time zones or permissions, and every dependency the diff introduces.
The most valuable item is the least technical one: does this code do something the specification never asked for? Extra abstraction, a speculative config flag, a helper nobody called. Generated code is generous, and generosity is how a codebase gets heavy.
Here is the full checklist, with an example of each failure mode caught in a real pull request.