AI code review in practice — checking PRs against your ADRs and incidents
How AI code review differs from a linter or a generic assistant: every pull request checked against your architecture decisions, past incidents, and team rules.
Most "AI review" tools do the same thing: they hook into a pull request and post generic notes about style, naming, and potential bugs. That's useful, but it doesn't solve the real review problem in a mature team — context. A linter doesn't know that six months ago you decided all refunds must go through the ledger service. It doesn't remember the incident caused by missing idempotency in payments. It has no idea about your internal conventions.
In this article we'll look at what separates meaningful AI code review from a "smart linter," and how to automate pull request checks so they're grounded in your project's real context.
The problem: review without memory
Classic code review relies on a few senior engineers who remember the project's history. They know why things were done a certain way, which mistakes were already made, and where the fragile parts are. But that knowledge:
- doesn't scale — 40 engineers won't all have a reviewer with full context;
- leaks away — people leave, and the history of decisions leaves with them;
- is uneven — a junior and a senior review the same diff very differently.
Generic AI assistants don't fix this, because they have no access to your history. They only work with the diff text.
The fix: context-grounded review
Meaningful AI code review checks every diff not against abstract "best practices," but against the concrete artifacts of your project:
- Architecture decisions (ADRs). If a change violates a decision — say, "all queries must filter by
tenant_id" — it surfaces before merge. - Past incidents. If similar code already caused an outage, the reviewer reminds you.
- Team rules and conventions. Naming, module boundaries, patterns — checked automatically on every PR.
The result isn't "100 stylistic nits" but a few precise, substantive notes: what breaks the architecture, what repeats an old mistake, what diverges from the requirements.
What it looks like in ShipGrid
When a pull request opens, ShipGrid gathers context from a linked knowledge graph — ADRs, incidents, requirements, history — and checks the diff against it. In the PR comment you see a score, architecture violations linked to the specific ADR, and suggested fixes that match your patterns.
$ shipgrid review PR #847
Score 8.5 / 10
Security PASS (0 critical, 1 low)
Architecture 2 ADR violations detected
→ ADR-007: Payment service must use idempotency keys
→ ADR-012: All queries must include tenant_id filter
✓ Review posted to GitHub PR #847
What the team gets
- Less noise. Reviewers spend time on meaning, not on style.
- Preserved memory. Context doesn't walk out the door with people.
- One standard. Every PR is reviewed the same way, no matter who opened it.
AI-powered code review automation isn't a replacement for senior engineers — it's a way to give every engineer their context at the moment it matters: when reviewing a change.
Want to try AI review on your own repository? Get in touch — we'll tailor a pilot to your team and stack.