Real before-and-after evidence
Transplants the changed test onto the actual base revision, then compares it with head.
Deterministic counterfactual testing for pull requests—run the changed regression test against the real code before and after the fix.
The missing CI check
Ordinary CI tells you the branch passes. PatchProof answers the harder review question: would this exact test have caught the bug before the fix existed?
Diff-aware adapters identify added and materially changed pytest, Jest, and Vitest cases.
The test-side patch is transplanted onto an isolated worktree of the real base revision—never the production fix.
Base assertion failure plus head pass can become proven; uncertainty stays inconclusive.
Evidence you can inspect
$ patchproof check --base origin/main --head HEAD PatchProof 0.1.0-alpha.3 Base: 41e8c91b0f21 Head: a02f7d43c8aa PROVEN tests/orders.test.ts::rejects negative quantity base: assertion_failure head: pass Aggregate: PROVEN
Designed for trust
pytest, Jest, and Vitest with case-aware selection and conservative fallback.
Continuously exercised on Linux, macOS, and Windows with Node.js 22 and 24.
No telemetry, API key, required AI model, or external proof service.
Built for honest automation
PatchProof does not claim the whole patch is correct. It verifies one valuable fact with reproducible evidence: the submitted test distinguishes the fixed implementation from its base. Opt-in reason checks can also require the base failure to match the intended assertion exactly.
Explore the public historical benchmarks, read the security model, or see how PatchProof compares with mutation testing and coverage.
Inspect first, approve the commands, then produce deterministic evidence locally or in GitHub Actions.