I realized that what I wanted to know was how this PR affects the various code-paths in my codebase. And the best way to know the codepath is the generate an Abstract syntax tree. So I built a tool which takes a PR, parses the codebase's AST, then maps the code graph with user journeys in the codebase. It presents these steps in natural language, identifies which step in the journey has changed, and lets you easily see the code—not just the function code but the whole call graph, with annotations showing what has changed and what hasn't. For me and the people who've used it, it is immensely useful : to know if something important has changed, and what and why. Personally, my review time has reduced 10x — and even better, I've built a much stronger mental model of how the system is working, even understanding parts of the system I would not normally touch or work on because of cognitive load.
Here is an example: https://logphase.github.io/underscore-demo-ddd/#/journeys
and the tool: https://underscore.logphase.ai/