Replace code reviews with verified intentAviator Verify
Aviator

Replace code reviews
with verified intent

Agents check every PR deterministically against its acceptance criteria and your team's invariants. Reviewers read the intent and the decisions behind it, and approve with the evidence in front of them.

Inbox / acme/billing #4823 · mbauer · 3h ago
Rate-limit the /webhook endpoint to prevent retry storms
Intent

Stop retry storms from taking down webhook delivery. Cap each subscriber at 100 requests a minute, tell clients when to retry, and keep limits adjustable per plan.

Decisions
One rate limit applies to every plan

Aviator agent: Make it per-plan now. One value will be wrong for the largest customers.

m

mbauer's agent: Follow-up. No plan sends more than 20 a second today.

Acceptance Criteria
1Requests above 100/min per subscriber return 429
2429 responses include a Retry-After header
3Queued retries back off exponentially, up to 5 attempts
Invariants
1Network calls set a timeout
Why it failed: httpx.post in webhooks/retry.py:88 is called without a timeout.View invariant
2No hardcoded secrets
3Structured logs on exceptions
4Migrations are backward-compatible
Intent

What the change is for, captured from the coding chat.

“Stop retry storms from taking down webhook delivery.”

Acceptance criteria

What done means, checked one by one.

Over 100/min returns 429
429 includes Retry-After
Retries back off
Decisions

The choices agents argued out, and the ones left for you.

One rate limit for every plan?
m
Invariants

Rules from your own review comments, checked on every PR.

Network calls set a timeout
From 3 review comments
Evidence

Screenshots, test output, and code for every verdict.

101 requests
429 on the 101st
Audit trail

An immutable record from intent to deploy.

Intent
Verified
Approved
Deployed

From startups to Fortune 500s, the world's most effective engineering teams ship with Aviator.

MetaNotionSlackFigmaSquareDoorDashCoda
SecureframeVerkadaWorkOSCyeraHeadwayAnrokPort

Human review doesn't scale with AI-generated code

The review gate is still there. It just isn't stopping anything.

+242.7%

incidents per PR

+54%

bugs per developer

+31.3%

PRs merged with no review at all

+13.8%

work restarts

Faros AI Engineering Report 2026 · 22,000 developers, 4,000+ teams

Verification5 of 5 passed
Requires authentication
Auth middleware on every /webhook route
Code scan
No new dependencies
package.json unchanged
Code scan
Returns 429 when exceeded
Fired 101 requests, captured the 429
Preview scenario
P99 latency under 200 ms
Sandbox benchmark, p99 142 ms
Test run
Empty state matches the design
Judged against the spec, 92% confidence
AI fallback

Deterministic verification for AI generated code

Each criterion gets the check that fits it, and every check leaves evidence. AI is only a fallback, and it's labeled when used.

Test run
Tests and benchmarks
Code scan
Reads the code
Preview scenario
Runs a live preview
AI fallback
Only if nothing decides

How it works

Step 1 / 5

Work with your agent

Build with Claude Code, Cursor, or Codex the way you already do.

claude · acme/billing
> rate-limit the /webhook endpoint, retries are taking it down
⏺ Update(webhooks/limiter.py)
12+LIMIT_PER_MINUTE = 100
13+if hits > LIMIT_PER_MINUTE:
14+ return 429, {"Retry-After": wait}
⏺ Bash(pytest tests/webhooks)
⎿ 14 passed in 2.1s
> also keep the limit per plan

What you review

Instead of the diff, reviewers read what the change is for, what done means, and the choices behind it. Invariants cover the rest in the background.

  1. 01

    Intent

    What it's for, and whether it's the right thing to build.

  2. 02

    Acceptance criteria

    What done means, each with a verdict and evidence.

  3. 03

    Decisions

    The choices behind the change, argued out by the author's agent and a review agent. You weigh in where you disagree.

  4. 04

    Invariants

    Guardrails from your own reviews: drawn from past review comments, approved by the team that owns the code, then checked on every PR that touches it.

01Intent

Rate-limit the /webhook endpoint

Cap each subscriber at 100 requests a minute, and tell clients when to retry.

02Acceptance criteria
Requests above 100/min per subscriber return 429
429 responses include a Retry-After header
03Decisions
One rate limit applies to every plan

Aviator agent: Make it per-plan now.

m

mbauer's agent: Follow-up. No plan sends 20 a second today.

04Invariants
Network calls set a timeout

From review comments on 3 PRs, owned by @platform

Decisions outlive the review

Your team's week
Key decisions in your code, without reading the PRs.
Memory for agents
Agents see past decisions, so settled trade-offs aren't argued again.
Follow-ups that stick
“Do it later” becomes a linked ticket.
Rules from patterns
A decision that keeps recurring becomes a proposed invariant.
This week in acme/billing12 PRs · 4 decisions

Return 429, not 503, for rate-limited requests

Settled · #4823

Make the rate limit per-plan

Follow-up · BILL-212

Keep the Stripe SDK on v15 until the v3 migration lands

Settled · #4815

Outbound HTTP calls always set a timeout

Proposed invariant · seen in 4 PRs

AI code review is still a review

AI code reviewers are great but they're only sampling the code without knowing intent. They can't verify that the implementation matches what you meant to build.

AI Code Review
Aviator Verify
How it works
Reads the diff, posts comments
Runs preview scenarios and tests, scans code, checks invariants
What's verified
Whatever the model notices
Every criterion the team agreed to
Knows intent
No, guesses from code
Yes, captured before the PR
Reproducibility
New comments each run
Same evidence per criterion
Team patterns
One-off observations
Invariants: your past review comments, reused
Audit trail
Comments
Immutable record per criterion

Audit-ready from day one

Every verification leaves an immutable, timestamped record. Generate SOC 2 evidence packages on demand.

Segregation of Duties
Spec approval, implementation, and verification are separate actors.
Full Traceability
Every change links to approved intent and verification results.
Export Reports
SOC 2, ISO 27001, or custom frameworks.

Audit trail

PR #218 / Add rate limiting

Complete

Spec created

10:23 AM

alex@acme.co

Reviewed

10:45 AM

jordan@acme.co

Approved

11:02 AM

jordan@acme.co

Implemented

2:30 PM

alex@acme.co

Verified

2:31 PM

Aviator AI

Deployed

2:35 PM

CI/CD

Works with your stack

Integrates seamlessly with the tools you already use

Ready to verify the AI code?

Install the CLI and submit your first intent. No credit card required.

$brew install aviator-co/tap/aviator