A team uses a two-stage review in their subagent-driven development skill. Stage 1 checks correctness; Stage 2 checks code quality. Why separate these into two stages?