Argus
  • Features
  • Memory
  • Pricing
  • Compare
  • Changelog
  • Docs
~argus§beta · built in the open

Argus remembers what broke last time.It simulates what could break next.

Learns from your team’s review feedback. Simulates real failure scenarios against your diff. Runs on your own keys — zero hidden costs.

Install GitHub Appfreevs. CodeRabbit, Greptile & Cubic
Open on GitHubBeta · first 100 teams get 50% off launchBuilt in the open
live review
repo
acme/billing-service
pr
#1047 — invoice rounding
signal
3 regressions · 1 bug
argus/acme/billing-service·#1047
reviewing4.3s
$argus scan--pr=#1047→matched Feb 14 rounding regression·3 scenarios reproduced
Fix invoice rounding in EU
checkout flow
open@bela.k
agents
triage
security
memory
memory

2 months ago — @jordan shipped an almost-identical rounding change. 0.01 drift × 2,113 invoices.

services/billing/invoice.ts·L42–L58
+7−3
41 const total = cart.items.reduce((s, it) => s + it.price, 0);
42− const tax = total * region.vatRate;
43+ const tax = round(total * region.vatRate, 2);
44 return { total, tax, grand: total + tax };
Argusbugseen in PR #927 — rounding bug

mixedCurrencycases banker’s rounding for EUR — our tests still expect half-up. Last time (Feb 14), @jordan merged a near-identical change and it caused 0.01 drift on 2,113 invoices.

failure simulation·4 scenarios3 failed
  • EUR · €19.99 × 3reproduced
  • CHF · 49.00 (half-round)reproduced
  • USD · tax bucketok
  • GBP · mixed-currency cartreproduced
2,147 tokens·$0.0042 (your key)
BYOK — your key, your modelReviewed in 4.3s12 reactions indexed
view full review
01Institutional Memory

Every bug it catches,it remembers forever.

The Q1 rounding bug in EU billing? Argus caught it again in your latest diff. It learns from reactions and replies — not just the repo. Your last reviewer starts from zero. Argus doesn't.

Memory · timeline

Recurring patterns across your repo

12
patterns
  1. Dec
    12
    2024
    PR #388race

    Race condition in webhook retry logic

    01
  2. Jan
    24
    2025
    PR #412rounding↻ pattern re-matched

    Q1 rounding bug in eu-billing

    Argus recognized the Q1 pattern in your latest diff and applied the same safeguard automatically.

    1211
  3. Nov
    03
    2024
    PR #301timezone

    Time-zone drift in scheduled reports

    03
  4. Aug
    19
    2024
    PR #228cache

    Cache key collision on multi-tenant fetch

    04
invoice.ts
billing / L142Pattern matched
pattern3f7a · rounding / float-drift
seen 3×
142-return Math.round(total * 100);
142+return toFixed(Math.round(total), 2);
143 // guard against float drift · suggested by Argus
A
Argus00:02

Same class of rounding bug as PR #412. Suggesting the same guardrail so it doesn’t ship twice.

Team · reactions👍 / 👎 on Argus reviews
MK
RL
JN
AS
+8
MK· most active47 reactions

Learns from your team.
Not just the code.

Reactions, replies, and who tends to be right compound into a ranking Argus uses on every review.

See how Argus ranks→
02 · Failure Simulation

Simulates failure scenarios against your actual diff

Most reviewers pattern-match. Argus stress-tests: null inputs, PVC adoption edge cases, race conditions. It tells you exactly where prod could break — before merge.

Live simulationdiff.patch → argus.sim
pkg/storage/pvc_reconciler.go+target HEAD
136 func (r *Reconciler) Claim(ctx context.Context) error {
137 r.mu.Lock()
138 defer r.mu.Unlock()
139- if r.closed { return ErrClosed }
140+ if atomic.LoadInt64(&r.inFlight) >= maxClaims {
141+ return fmt.Errorf("claim: %w", ErrBusy)
142+ }
143+ atomic.AddInt64(&r.inFlight, 1)
144 defer atomic.AddInt64(&r.inFlight, -1)
145 return r.reconcile(ctx)
146 }
scenarios6 total · 1 flagged
  • Null storage class on claim creationpass
  • PVC adoption w/ orphaned finalizerpass
  • Race condition when consumed-PVC count > 200Critical

    > could yield ~250× concurrent claims. Add bounded ch on line 143.

  • Context cancellation mid-reconcilepass
  • Graceful shutdown with pending opspending
  • Hot quorum loss during writepending
Scenario coverage

Edge surface

87%
T+0.42sLIVEsim · 87/100
87 runsedge cases
2 flaggedpush diff
143 linesuggested fix
How it works

From diff to verdict in seconds

Real-time simulation
  1. Parsestep 01
    01

    Read the diff

    AST-level analysis of every changed line, its callers, and its blast radius across the repo.

    tree-sitter · ~120ms
  2. Simulatestep 02
    02

    Generate scenarios

    Stress tests synthesized from your diff — null inputs, race conditions, adoption edge cases.

    ≤ 40 scenarios / diff
  3. Poststep 03
    03

    Report to the PR

    One structured review comment: noisy paths, memory matches, and the exact lines to re-check.

    GitHub · GitLab
03/BYOK & Transparency

Your LLM. Your cost. Full transparency.

Bring your own key — 11 providers supported. See exact token spend per agent per review. Route Haiku for triage, Opus for deep analysis. No surprises, no lock-in.

Bring your own key

Eleven providers. One of yours.

Connect any provider. Rotate keys anytime. Never touch ours.

Anthropicclaude-sonnet-4.5
Live
OpenAIgpt-5
Vertexgemini-2.5
OpenRouterrouter
Groqllama-3.3
Togetheropen-models
DeepSeekv3
Bedrockaws
Azureopenai
Fireworksmixtral
Zhipuglm-4
Keys stored encrypted locally. Never leave your machine.
Live cost breakdown

Per agent. Per review.

Streamingpr #4128 · main
Review total14,072 tokens · 4 agents
$0.043
  • 01triagehaiku-4.51,742t$0.002
  • 02securityhaiku-4.53,012t$0.005
  • 03memorysonnet-4.54,128t$0.006
  • 04synthesissonnet-4.55,190t$0.030
Per-agent tuning

Match model to task.

Cheap models for triage. Powerful models for depth. Switch per agent.

Triagehaiku-4.5fast / cheap
↓⏎
Model · roleUSD / 1M tok
haiku-4.5fast / cheap
in 0.80·out 4.00
sonnet-4.5balanced
in 3.00·out 15.00
opus-4.1deep analysis
in 15.00·out 75.00
Usage, not seats

Pay per review. Not per seat.

Seat licenses punish growing teams. Argus bills only tokens your reviews burn.

quiet week12 reviews
$0.52
busy day84 reviews
$3.61
hiring sprint240 reviews
$10.32
Your OpenAI, Anthropic, or Bedrock key. We never see the bill.
Argus Opened

Every reviewer makes trade-offs.
Here are ours in the open.

We built Argus because the bots shipping today forget what broke yesterday. This isn't a benchmark — it's a feature matrix you can audit.

github.com/northwest-co/app/pull/2347
Argus
Open

feat(checkout): retry failed Stripe webhooks with backoff

jkblanc·wants to merge 2 commits intomain·17m ago·unresolved
src/checkout/webhooks.ts+4·−1
unified·viewed
@@@@ -118,4 +118,7 @@async function handleWebhook
118118 async function handleWebhook(event: Stripe.Event) {
119119 const handler = handlers[event.type];
120− await handler(event);
120+ await retryWithBackoff(() => handler(event), {
121+ retries: 8, factor: 2, minTimeout: 500,
122+ });
121123 }
P
pauluhnreviewed1 day agorequested changes

Backoff retries can saturate Stripe's webhook quota. Combined with Stripe auto-retries, a single failing event triggers up to 56 calls — one incident in this repo (PR #1597). Gate the 503s upstream and prevent payment_intent.succeeded from re-entering linked subscriptions.

arguspattern match · webhookscommentedjust nowblocker · memory-hit

Pattern matches a prior webhook-quota fix in this repo. Suggesting the same guardrail to avoid re-shipping the class of bug.

suggested guardrail·src/checkout/webhooks.ts
applycopydiff
if (await seenRecently(event.id, "15m")) return 200;
await retryWithBackoff(() => handler(event), {
  retries: 3,
  factor: 2,
  onFail: (e) => deadLetter.push(event, e),
});
  • 01Cap retries at 3 (match Stripe's native envelope)accept
  • 02Failover to dead-letter queueaccept
  • 03Suppression window on repeat `evt_*` idsaccept
Comparison

Argus vs 9 alternatives

See all 9 alternatives
Tool
Memory
Failure sim
BYOK
Transparency
Price · 20-dev team
A
ArgusYou are here
AI code reviewer with memory
$19/mo
CRCodeRabbit
$24/dev
GRGreptile
partial
$30/dev
QDQodo
$38/dev
CUCubic
$30/dev
SGSemgrep
partial
$40/dev
CDCodacy
partial
$25/dev
SCSourcery
partial
$24/dev
SQSonarQube
partial
$32/dev
GCGitHub Copilot
$19/dev
includedmissingpartialself-host onlyLast audited 2026-04-16·sources
50 FREE REVIEWS / MONTH2-MIN INSTALLBYOK — YOUR KEY, YOUR BILL

Install Argus.Your next bad merge gets caught.

One-click GitHub App. Bring your own LLM key. See every token spent. Free tier — 50 reviews/month on 3 repos, no credit card.

▸Install GitHub App — FreeSee Argus vs CodeRabbit & Greptile→
→No credit card→BYOK — paid keys never leave your machine→Free tier · 50 reviews/mo→$19/mo on Pro · less than one coffee per workday
Built in the openBring your own key. Every prompt, every token, every cost — visible.
Open repo →
ARGUS
ARGUS
ARGUS
v0.1.02026.04.16Built in the openBITO
PricingCompareDocsBlogChangelog
ARGUSRemembers. Simulates. Built in the open.
© 2026 ArgusAll systems operational