Other AI reviewers guess. We verify.

Your team merges more AI-written code every week. Veridical reviews it the way your most exacting engineer would - catching the changes that quietly break production and attaching an evidence-backed, advisory merge receipt. On fresh, never-seen pull requests, graded blind, we find more real defects than the tools topping the public code-review board, and we lead them head-to-head.

See the leaderboard

We lead the field on real defects.

Leaderboard - F1

Board: live published rows · Veridical: projected onto the same scale

projected #1

ReviewerF1PRF0.5
Veridical - projected onto the board's scale
Veridicalprojected
6475.855.370.6
Live board - codereview.withmartian.com
Gemini Code Assist
59.272.949.866.7
Greptile
57.174.546.366.4
Claude
55.864.149.360.5
CodeRabbit
55.064.947.760.5
Cubic Dev AI
54.071.843.363.4
Cursor
52.773.741.063.6
Qodo
48.862.340.256.1
GitHub Copilot
48.462.039.655.7

The leaderboard is the public board's own scale (codereview.withmartian.com, current month). The Veridical row is a projection onto that scale; the others are live board listings. Read a projected row and a live row as two different measurements. F0.5 is computed from each tool's precision and recall.

On identical pull requests, on the question that decides real value - is the finding a real defect? - we out-find every tool we tested: F1 67-72 versus 50-58, beating the board’s current #1 by +9.0. On the board’s own acted-on scale the Veridical row is a projection (F1 64) - shown as a projection, not a live listing. Our instrument reproduces the live board within ±1 F1 for every tool.

How it works

Four stages stand between a raw diff and your merge button. By the time anything reaches you, it has earned its place - a ranked review and one score you can act on.

  1. Read every change closely

    Each diff gets read for the issues that actually matter - the ones a fast skim leaves on the floor.

  2. Score it honestly

    Every finding carries a confidence that means what it says: a high number is high assurance, not a louder guess.

  3. Prove it before you see it

    We don't forward a hunch. A finding is confirmed before it reaches your PR - so what lands is real, not a maybe.

  4. Hand you one decision record

    A ranked review and an advisory safe-to-merge score, with the evidence needed for your own merge decision.

See exactly what we caught

Not a wall of suggestions. The handful of findings that would have 500'd a request or leaked a tenant - each posted on the line, with the failing input that proves it.

A different catch every few seconds

Each one a confirmed bug - the failing input that proves it and a safe-to-merge read-out, posted inline. Data loss, auth leaks, crashes, races.

github.com/discourse/discourse
Auth disclosureblocking

app/models/topic_link_click.rb:95

Veridicalbot

A link-click fallback returns a stored link’s URL without re-running the visibility check - a user can confirm and obtain redirect URLs for links inside private topics they cannot access.

verifiedcreate_from(mismatched post/topic) → returns link.url, no can_see? check
safe-to-merge0.11

gate requires ≥ 0.95 to merge

Real catches · hover to pause

The verdict on the PR

Every finding ranked by what it costs you, behind one gate you can merge against.

Veridical · 2 findings · 1 blocking
Blocked - 1 unresolved regression
14 files reviewed+218 −96ranked worst-first

Link-click fallback skips the visibility check

app/models/topic_link_click.rb:95Auth disclosure

create_from(mismatched post/topic) → returns link.url, no can_see?

0.12

Visibility guard silently drops valid clicks

app/models/topic_link_click.rb:107Silent data drop

link.post == nil on a public topic → create_from returns nil

0.40
Gate: safe-to-merge ≥ 0.95currently 0.18

PR summary · gated on safe-to-merge

Product direction

One number your merge policy can use.

Every review already carries an evidence-backed advisory score. This illustrates the planned branch-protection workflow: your repository owns the threshold and the merge decision, and Veridical never merges code on its own.

Merge box · GitHub
github.com/getsentry/sentry/pull/118240
j-rivera wants to merge 2 commits intomain

Some checks were not successful

1 failingand3 successful checks

  • CI / build(20.x)Successful
  • CI / unit342 passedSuccessful
  • CI / lintno problemsSuccessful
  • Veridical / safe-to-merge1 counterexampleFailing
Veridicalsafe-to-merge
0.18

HOLD - safe-to-merge 0.18counterexample attached

ConfigStore.get('signupLocalities') === undefined → .includes() throws

Merging is blocked - a required check is failing.

.veridical.ymlmain
.veridical.ymlYAMLvalid
1version: 123# Gate the merge button on a calibrated score4auto_merge:5 gate: safe-to-merge >= 0.956 require_clean_ci: true78# Hold & comment on anything below the bar9on_hold:10 attach_counterexample: true11 block_merge: true12 comment: "veridical/findings"
required check activegate ≥ 0.95YAML · LF · UTF-8

Product direction

Cross-stack causality

Your code tools see the diff. Your SRE tools see the alert. Neither connects the two. We do. One view traces a production incident back through the deploy, the migration, and the constraint - to the exact guest-path line that violated it.

veridical.app/incidents

Integrations 500s

resolved
Ask across your stack…
Integrations 500s14:32 → 14:5119m

Product direction

A System Map that writes itself

Code, deploys, and data on one graph. Every module gets a wiki page that’s right the moment main moves - purpose, signatures, callers, the changes worth watching, and who owns it.

Ask anything about this codebase…
use-cache /

tiered-cache-handler.ts

auto-generated

updated 2h agoalways current with main327 lines

Purpose

Coordinates the in-memory and persistent cache tiers: serves warm reads and schedules background revalidation/sync after a read, so the next request gets fresh data without blocking.

Key functions

4 exported
  • 37scheduleBackgroundSync(store: WorkStore)
  • 58get(key: string): CacheEntry
  • 92set(key: string, entry: CacheEntry)
  • 120executeRevalidates(store: WorkStore)

Callers

4
use-cache/use-cache-wrapper.tscacheLife()server/app-render.tsxrenderToStream()use-cache/cache-handler.tsget()lib/incremental-cache.tsrevalidate()

Recent risky changes

  • high riskConcurrent warm reads serialize teardown - the Nth request blocks ~N×200mstiered-cache-handler.tsL372h ago
  • watchAn undefined work store silently leaves background syncs untrackedtiered-cache-handler.tsL41yesterday
  • routineAdded a read-through tier to the persistent cachetiered-cache-handler.tsL883 days ago

Owners

ARJKMP
A. Rios + 2 · CODEOWNERS

Pricing that scales with assurance

Transparent and predictable. Every plan includes monthly reviews on its engine - run a deeper engine on the PRs that matter, and pay per-review only when you go further. Every tier returns calibrated, verified findings; the deeper the engine, the more real defects it catches.

MonthlyAnnual2 months free

Open Source

Free

Run Veridical on eligible public repositories at no cost. Join the waitlist, connect the repository, and use the same Standard review workflow without entering payment details.

Standard

Board-leader level, fast

$16/dev/mo

billed annually

  • 15 reviews / mo included
  • Standard default engine
  • $0.75 per extra review
  • Pro engine ×2 premium reviews
  • 64 real-defect f1 (head-to-head)
  • basic deep verification + counterexamples
  • Advisory merge receipt
  • Cross-stack causality
  • Self-host / VPC, SSO, SLA, audit
Recommended

Pro

Best value

$33/dev/mo

billed annually

  • 15 reviews / mo included
  • Pro default engine
  • $1.75 per extra review
  • Ultra engine ×2 premium reviews
  • 70 real-defect f1 (head-to-head)
  • Deep verification + counterexamples
  • Advisory merge receipt
  • Cross-stack causality
  • Self-host / VPC, SSO, SLA, audit

Ultra

Maximum assurance

$83/dev/mo

billed annually

  • 25 reviews / mo included
  • Ultra default engine
  • $4.50 per extra review
  • all engines premium reviews
  • 72 real-defect f1 (head-to-head)
  • Deep verification + counterexamples - (deepest)
  • Advisory merge receipt
  • Designed cross-stack causality
  • Self-host / VPC, SSO, SLA, audit

Enterprise

Talk to us

Tuned to your stack - unmetered reviews, self-host or VPC, SSO/SAML, audit logs, support terms, and per-repo tuning. Private by design: model, retention, region, and contract settings are agreed during onboarding. For teams that need a controlled review record.

Talk to us

Reviews run on your plan's engine. Upgrade any PR to a deeper engine and it counts as 2-3 of your monthly reviews; go past your allowance and extra reviews bill at $0.75 / $1.75 / $4.50 each.

Far below the per-review cost of running a frontier model yourself.

Real-defect F1 67-72 - +9over the board's current #1

Know it's safe - before you merge.

Get the sharpest findings in the field and a single, calibrated review receipt on your own pull requests. Join the waitlist to run the product, or use the free plan on an eligible public repository.

Real-defect F1
67-72
Verdict per change
safeorhold

Start reviewing code

Join the waitlist and we will reach out as places open.

Join waitlistJoin waitlist - open source

We are onboarding design partners now.