Noisy reviewers train teams to stop reading.
Thirty comments on a PR means the one that matters is buried. Verdict posts at most five findings, and often none.
Zavton Verdict · private alpha from late November
Zavton Verdict reviews every pull request for bugs, security issues and engineering quality, and says clearly when there is nothing to fix.
What this PR does: adds retry logic to the payment webhook handler and moves idempotency keys to Redis.
| Severity | Issue | Where |
|---|---|---|
| High | Retries can double-charge: nothing stops a second charge after a timeout | webhooks/pay.ts:88says when it breaks, not “consider…” |
| Medium | Redis keys never expire, so memory grows without bound | lib/idem.ts:21two findings. no nits. |
Zavton CR-1 · 41 sResolved since last review: 0Thumbs up or down on each comment@zavton help
What this PR does: lets team admins invite members by email, with a signed token that expires in 48 hours.
Checked
Unchecked res.json() at L52: guarded by the status check at L40.
Loose email pattern: the invite is confirmed by link, so a bad address can’t join.
silence, explained.Zavton CR-1 · 23 sThumbs up or down@zavton help
Why quiet
Verdict is built the other way round: say less, and make every word worth reading.
Thirty comments on a PR means the one that matters is buried. Verdict posts at most five findings, and often none.
You pay once per reviewed pull request. Re-reviews on the same PR are free, and you can set a spend cap.
Verdict runs on Zavton CR-1, our own model. Code is reviewed in memory and discarded after the review.
How it works
Pick the repos Verdict may read. About two minutes, no config file needed.
Verdict reviews it in minutes and keeps one summary comment, edited in place on every push.
A thumbs-down with a reason teaches Verdict what your team cares about. No weeks of tuning.
A real review
Severity, a concrete failure, the reason, and a fix you can commit in one click. And a short list of what it chose to leave alone.
webhooks/pay.ts86 const event = parse(req.body);87 for (let i = 0; i < MAX_RETRY; i++) {88 const result = await charge(event);89+ await idem.save(event.id, result);90 if (result.ok) break;
// let the provider dedupe the retries
const result = await charge(event, {
idempotencyKey: event.id,
});Confidence: highMedium if charge() already dedupes by event id
Principles
At most five findings per PR, each with a concrete failure scenario. No style nits. When there is nothing to fix, it says so plainly.
Pay per reviewed pull request, once. Re-reviews are free. Set a spend cap. Free for open source.
Runs on Zavton CR-1, our own model. Your code isn’t sent to third-party AI providers and isn’t stored after the review.
For startups with 5–50 engineers and no time for a second reviewer on every PR, and open-source maintainers reviewing outside contributions.
Waitlist
Private alpha from late November 2026. Public beta in January 2027. Price announced at beta.
No. It is processed in memory and discarded after the review.
Zavton CR-1, our own fine-tuned code-review model.
No, unless your organisation explicitly opts in.
GitHub first. GitLab at general availability.
You pay per reviewed PR, and it’s free for public repos. The price is announced at beta.