Your keys, metered at cost Multi-model council Code-graph grounded

Governed, multi-model code review
that knows your codebase.

Not another per-seat review bot. srooter review is a council of models that runs in your repo and routes every call through the gateway, so it is metered, budgeted, audited, and grounded in your org's code graph and ADRs. A tool you invoke, not a bot that auto-comments on every PR.

$pip install "srooter[review]" && srooter review-init && srooter review --base origin/main
Why it's different

Your keys, your repo, a council, one bill.

Your code never leaves your repo. Only model calls cross the gateway, governed and audited.
A council, not one model. Several reviewers verify, a chair synthesizes, refuters kill false positives.
No per-seat tax. On your own model keys you pay providers at cost and srooter adds no token fee, audited on the same bill as the rest of your traffic.
HOW A REVIEW RUNS

It verifies before it flags.

A pipeline ported from a proven local council. An unstable agent never fails the run.

01PlanA planner sizes the review to the change's blast radius. Small diff, small council; auth or data change, more eyes.
02DecomposeLarge PRs split deterministically into bounded chunks, so every model call sees a bounded input no matter how big the PR.
03ReviewTool-using agents verify before flagging: they grep and read the repo, query your cortex graph, and read your ADRs to confirm a finding is real.
04Chair + refuteA chair synthesizes; adversarial refuters try to disprove every blocking finding. Survivors become the verdict, each citing file:line.
SROOTER> REVIEW VS THE REVIEW BOTS

The opposite shape from a SaaS review bot.

CodeRabbit, Copilot, and Greptile are good SaaS review bots. You buy seats, your code goes to their cloud, one vendor model comments on every PR. srooter review is the opposite shape: your keys, your repo, a council, governed on one bill.

Capability srooter> CodeRabbit GitHub Copilot Greptile
Pricing model Your model keys, metered at cost (no per-seat review tax) Per-seat SaaS subscription Per-seat (Copilot Enterprise) Per-seat SaaS subscription
Where your code runs In your repo. srooter never runs your code Uploaded to vendor cloud Sent to vendor cloud Indexed in vendor cloud
Multi-model council Yes. GLM + DeepSeek + Kimi + Claude, you pick Single vendor model Single vendor model Single vendor model
Grounded in your code graph Yes, queries your org's iCPG over the gateway Repo embeddings (RAG) Repo + workspace context Yes, its own codebase graph
Reads your ADRs / decisions Yes, read_adr before flagging or clearing No No No
False-positive control Adversarial refuters must disprove every blocker; no file:line means dropped Confidence heuristics Model judgement Confidence + graph signals
Any-size PR Deterministic chunking. Every call sees a bounded input Truncates / samples large PRs Context-window bound Handles large repos
One governed bill Yes, review spend audited + budgeted with all model traffic Separate vendor invoice Separate vendor invoice Separate vendor invoice
Invoke vs auto-comment A tool you invoke (CLI / CI / MCP), not an always-on bot Auto-reviews every PR Auto-reviews every PR Auto-reviews every PR
Self-hostable gateway Yes, cloud or on-prem, bring your own keys No No Partial (enterprise)

Compared in good faith, June 2026. These are strong tools; if anything here is out of date, tell us and we will correct it.

YOUR POLICY OUTRANKS THE DIFF

Put your hard rules in one file.

docs/REVIEW_SKILL.md is read verbatim and outranks anything in a diff (diffs are untrusted material). Put your hard rules there (tenant isolation, no secrets, parameterized SQL) and every reviewer enforces them.

srooter reviewcouncil of 4
$ srooter review --base origin/main
[plan] blast radius: medium · council of 4
[review] glm · deepseek-pro · kimi · claude-opus (verify before flag)
[review] → search_cortex · read_adr · grep · read_file
[refute] 2 blocking findings → 1 survived refutation
VERDICT
srooter review: REQUEST_CHANGES
HIGH api/orders.py:88 · query on tenant table missing org_id (ADR-012)
THREE WAYS TO RUN IT

CLI, CI gate, or from your harness.

CLIRun srooter review --base origin/main on your branch. Verdict to stdout, progress to stderr, exit 1 on request-changes.
CI gatereview-init drops in a GitHub Action that runs --post on every PR and comments the verdict.
From your harnessThe review_changes MCP tool runs a council over a diff from inside Claude Code or Codex, no client needed.

Review on your terms, governed by default.

Bring your own keys, keep your code in your repo, and get a council that actually understands your codebase, all metered, budgeted, and audited with the rest of your AI traffic. No per-seat review tax, no code leaving your walls.

srooter review: governed, multi-model, code-aware PR review · srooter