srooter> review — a 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's metered, budgeted, audited, and grounded in your org's code graph and ADRs. It's 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
- Your code never leaves your repo — only model calls cross the gateway, governed and hashed.
- A council, not one model — several reviewers verify, a chair synthesizes, refuters kill false positives.
- No per-seat tax — you pay model tokens at cost, audited on the same bill as the rest of your traffic.
How a review runs
A pipeline ported from a proven local council — it verifies before it flags, and an unstable agent never fails the run.
A planner sizes the review to the change’s blast radius — small diff, small council; auth/data change, more eyes.
Large PRs split deterministically into bounded chunks, so every model call sees a bounded input no matter how big the PR.
Tool-using agents verify before flagging — they grep/read the repo, query your cortex graph, and read your ADRs to confirm a finding is real.
A chair synthesizes; adversarial refuters try to disprove every blocking finding. Survivors become the verdict, each citing file:line.
srooter> review vs the review bots
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 → 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'll correct it.
Your policy outranks the diff
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 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 —————— srooter review — REQUEST_CHANGES HIGH api/orders.py:88 — query on tenant table missing org_id (ADR-012)
Three ways to run it
srooter review --base origin/main on your branch. Verdict to stdout, progress to stderr, exit 1 on request-changes.
review-init drops in a GitHub Action that runs --post on every PR and comments the verdict.
The 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.