Interesting post. The part about design reviews resonated with me a lot and reminded me of many ideas from Peter Drucker’s “The Effective Executive”.
It doesn’t make sense to me though to map code review outcomes on communication modes 1-to-1, especially requesting changes to Obnoxious Aggression. I think all code review outcomes may have features of multiple communication modes, except perhaps that “approve without comment” is always Ruinous Empathy, however, it might also be just neutral if the PR is trivial.
Whenever there are clerical or logical bugs in the code, typos, or other things that should clearly be fixed, I do request changes. It’s not that I don’t believe the author can fix these things, but they may introduce another bug in the process, or simply overlook and don’t address a specific request. If they do and merge the PR without a follow-up check, a follow-up PR may be required. When (and if) this is discovered, the author may be already busy with another task, widening the window when the codebase contains bugs.
So I don’t see how “requesting changes” is humiliating for the authors any more than CI/automated tests. Sure, in order to move faster we may default to a single round of review only, as well as skip code reviews entirely, but this is not a communication failure to require re-checking of code by other people.