If we rephrased this to "When I reject my coworkers code even if it works" and give the same reasons there would be zero dissent. There is this weird idea that seems to come up with AI that any solution must be good and adequate. Software Engineering is all about rejecting code that works for the right code that works.
Yeah, but I think there's a difference here: If your coworker puts up code that you don't understand quickly, in most environments people give it an approval, as withholding approval is meant to indicate that there's a problem with the code. It's very rare that you'd actually force them to wait to merge until they've explained the code to your satisfaction.
(There are workplaces where that's the norm, I know -- it tends to be a thing with smaller teams with codebases that everyone understands fully, and much less a thing with larger teams where different people have areas of the code they understand more than others.)
With AI code, though, it's _your code_ and you can't give it a lgtm, you actually need to dig at it until you do fully understand it, fully agree with it, and could justify it to a hostile reviewer. It's a different level of rigor.
Not all engineers apply that rigor, though, which becomes a problem.
That sounds like you're just creating an artificial distinction. If you let other engineers merge their code without looking at it too closely nothing makes the AI any different other than pretending it's "your code" even though it's a git commit full of code you didn't write. At that point you're dealing with functionally a junior engineer's code and if you don't have a culture of good code review etc, that's an issue and maybe you shouldn't be using full agentic coding? You're taking a team of people with no practice in doing code review and making that their entire job - that's not going to end well and just saying "it's _your code_" is basically asserting a fantasy and hoping it works out. If you didn't write the code, it's not your code!
What? No… we would jump on a call and talk through it for 5 minutes.
I’m not saying you must see into the soul of every line, but “no idea what I’m looking at, LGTM” misses the point of code review.
I have never been on a team where that’s okay.
On the teams where I've worked which had a proper code review policy not understanding has been explicitly stated as a reason to pause and ask for clarification. You cannot give a pass for code you don't understand.
Which means it doesn’t matter if the code is from AI or not.
If it’s not good it’s not good.