Don’t just reviewthe PR, PRoove it

An AI review you can reproduce. One SPEC-backed test runs on the real base and head commits. See the evidence, test the fix, then choose whether to apply it.

The model proposes. Tests prove. A human approves.

REAL TEST · REAL COMMITS

Base passes.
PR fails.
Now you know.

applyDiscount(100, 150) → expected 0 / received -50

See the actual proof in PR #2 ↗

The problem

A confident AI commentisn’t proof.

A reviewer can be wrong

A plausible AI comment is still a hypothesis until a test reproduces the behavior.

You reproduce it by hand

The developer still has to find the exact input that makes the change fail.

Then verify the fix

Even a convincing patch needs to pass the same regression test before you trust it.

PR opened.
One test proposed.

The model reads the base SPEC and proposes one deterministic test for the changed checkout line.

HOW PRoove WORKS

The model proposes.
The test decides.
You approve.

One test on the base and the PR. A fix tested before it is suggested. The final commit is yours.

Base PASS.
Head FAIL.

Git worktrees run that same test on the actual base and head SHAs. Execution, not model confidence, decides the verdict.

HOW PRoove WORKS

The model proposes.
The test decides.
You approve.

One test on the base and the PR. A fix tested before it is suggested. The final commit is yours.

Fix tested.
Human approves.

PRoove tests a one-line repair on the head before offering a GitHub Commit suggestion. After a human applies it, the original test runs again: FIX VERIFIED.

HOW PRoove WORKS

The model proposes.
The test decides.
You approve.

One test on the base and the PR. A fix tested before it is suggested. The final commit is yours.

Live proof

Real evidence in a real PR.Open the original.

2

The same SPEC-backed test: base PASS, PR head FAIL. Expected 0, received -50. Open the actual GitHub comment and its logs.

PR #2 · Live Proof CardOpen Proof Card ↗
1

A separate demonstration: a verified suggestion was committed by a human and the original regression test passed again.

PR #1 · Completed cycleSee completed cycle ↗
S

Non-negative price: applyDiscount(price, discountPercent) must return a value ≥ 0. The discount cannot make a price negative.

SPEC.md · Source ruleRead the contract ↗

PR #2 shows the live bug. PR #1 shows the separate completed fix cycle.

Open live PR ↗

BEHIND THE PROOF

A hypothesis is not a verdict.

GitHub Actions runs the TypeScript bot. Vitest checks one SPEC-backed test in isolated worktrees. Only executed results appear in the Proof Card.

Today: the controlled TypeScript/Vitest checkout fixture and same-repository PRs.

Architecture

The model proposes.Tests decide.

GitHub Actions → TypeScript bot → model hypothesis → Git worktrees + Vitest → Proof Card + GitHub suggestion. The model proposes a test and a candidate fix; it cannot assign the verdict.