I keep seeing teams treat code review like either a quality gate or a teaching moment, and it never seems to be both for long. The first one keeps bugs out, but the second one is what actually spreads context when someone leaves or the code gets messy later.
Where do people land on this in practice — do you optimize reviews for catching issues fast, or for making the team smarter over time?