Most of the step to code review you mentioned can already be detected prior to code review itself by using automated tools(which you also mentioned).
IMHO only point of code review in any team should be to
- To help if anything can be improved. In terms of semantics , readability, architecture and/or security .
- Slowly introduce novices to better designs and help keep things simple rather than writing overly complicated code to solve simple problems.
Code review should not be used as a tool to ensure quality But rather to ensure progressive growth of the entire team.