Skip to content
Product

How PR Quorum reviews a pull request

From the moment a PR opens, PR Quorum reads the diff like a disciplined review team: specialists fan out, noisy findings get filtered, and GitHub receives one focused review that maintainers can act on.

01 · Anatomy

The review pipeline

Each PR triggers a fan-out across specialist reviewers. They return typed findings, the aggregator removes repeats, and only the strongest comments reach GitHub.

GitHub webhookpull_request.opened | synchronize
Inngest functionconcurrency 5/repo · 2 retries
Reviewers (parallel)OpenRouter chat-completions
AggregatorZod-validated · dedupe · severity sort
Single review postsummary body + inline at diff position
PR opened
acme-payments/api · #2841
0.0s
Webhook received
pull_request.synchronize
0.2s
Diff fetched
46 files · +1,284 / −188
0.8s
Reviewers · 3 in parallel
~22s
Correctnessdeepseek-v4-profound 3
Securitydeepseek-v4-profound 1
Architecturedeepseek-v4-proclean
Aggregator
filter < min_confidence · dedupe · sort by severity
< 0.1s
Posted to GitHub
POST /pulls/n/reviews · event=COMMENT
0.3s
total23.9s
02 · Why teams ship faster

Built for signal, not volume

DEDUPE
One signal per defect

Multiple reviewers can spot the same issue. PR Quorum merges duplicates, ranks by severity and confidence, then posts only the comments worth reading.

min_confidence: 0.75
max_inline_comments: 10
POLICY
Repository-specific policy

.ai-review.yml lets every repository define what strict means: tighter checks on authentication paths, quieter generated files, draft skips, and per-reviewer model overrides.

.ai-review.yml
├ trigger: [opened, synchronize]
├ skip.draft_prs: true
└ rules.min_confidence: 0.85
ADVISORY
Advisory by design

PR Quorum posts as 'COMMENT', gives maintainers a clear verdict signal, and leaves merge control with the team.

event: "COMMENT"
verdict: "needs_attention"
03 · Capabilities

Everything you need for production repositories

Inline + summary review

A single POST /pulls/n/reviews carries the summary body and inline comments at lines that map to a diff position.

Specialist catalog + custom reviewers

Eight built-in reviewer templates—3 on by default and 5 ready to enable—plus custom reviewers with their own system prompt, focus list, and model.

OpenRouter model routing

Reviewers call OpenRouter chat completions in parallel. The default model is deepseek/deepseek-v4-pro.

Repository-level .ai-review.yml

Trigger events, skip.draft_prs, rules.min_confidence, rules.max_inline_comments, and per-reviewer model overrides.

Confidence floor

Findings below min_confidence (default 0.75) are dropped before posting.

Inngest workflow

Background job with concurrency 5/repo and 2 retries. Status persists in review_runs.

Webhook signature check

GitHub webhooks are HMAC-verified before any DB writes.

Quota enforcement

Reviews count toward your plan each calendar month. New reviews pause at the limit, while reviews using your own OpenRouter key remain uncapped.

Your OpenRouter key

OpenRouter keys are encrypted with AES-256-GCM and used at review time on Pro and higher plans. Reviews using your key do not count against the monthly quota.

Put PR Quorum on your next PR

Install the GitHub App, choose your repositories, and see what PR Quorum catches on your next pull request.