How Sennin Reviews Code
Recursive Context Collection
Diff doesn’t exist in isolation — it’s part of a conversation. When an MR/PR arrives, Sennin doesn’t just look at the changed lines:
- Issues and discussions — if a comment references an issue, Sennin follows the link and reads it.
- Cross-references — if that issue points to another PR or design doc, Sennin checks those too.
- Linked materials — any attached documents or external links are parsed to ensure nothing important is missed.
This recursive approach means Sennin builds the same mental map of the project that a senior engineer would, instead of reacting blindly to isolated code changes.
Deep Reasoning with GPT-5
Once the context is assembled, Sennin uses GPT‑5 in max‑reasoning mode. Rather than fast, surface‑level feedback, it runs extended reasoning chains to identify the most concerning or ambiguous parts of the diff.
For every potential concern, Sennin:
- Searches the repo — to see how similar logic is handled elsewhere and to align with existing patterns and callsites.
- Checks documentation — looks up framework and library references and official docs.
- Iterates — refines hypotheses until it separates real issues from noise.
This cycle can repeat several times until Sennin converges on a solid decision.
From Noise to Signal
The result is fewer nits and more reviews that matter. Instead of flagging everything, Sennin focuses on what could break production, confuse future maintainers, or deviate from the project’s established patterns.
Reviews take longer, but the signal is closer to what you’d expect from a senior engineer who actually read the history.