The point about reviews becoming stale after an agent applies fixes is easy to underestimate. Every fix is effectively a new code change with its own failure modes, not just a resolution of the original issue.
I also liked the distinction between CI and code review. Tests and linters can tell you whether the code builds and behaves, but they rarely catch design issues like missing timeouts, weak error context, or shutdown edge cases. That's why treating review as an iterative loop—review → fix → re-review makes much more sense for AI-assisted development than a single approval pass. In practice, the final review often ends up finding defects introduced while addressing the first round of feedback.