provefab.

Turns labelled GitHub, Jira or Linear issues into pull requests that arrive green, reviewed by a second model, with their evidence.

Terminal

curl -fsSL https://provefab.com/install.sh | sh

With an agent

Set up Provefab on this repository: follow https://provefab.com/docs/agents/

The agent writes the configuration; sign-ins, keys and the service stay with you. Agent guide Provision the sandbox runtime and offline dependencies first. Supported versions and logins

inputGitHub, Jira or Linear issues you label
outputpull requests with their evidence
agentsCodex · Pi; Claude stages temporarily unavailable
decidesyour fmt, lint and tests
reviewsa second model family
after mergeopt-in checks and a human-reviewed revert PR
routingcheapest model that fits
runs onMac and Linux builds; native enforcement tested on Mac

See it work

45 seconds: what Provefab says no to on the way to a pull request, and the one decision it leaves to you.

01How it works

Agents write the code. Your checks decide what ships.

Every issue runs the same line. Rust coordinates each station; agents work in a separate worktree, with native command restrictions and guarded tool calls.

  • You
  • AI agent
  • Provefab
  • Your checks
  1. Label (by you)

    issue #42

    You label an issue. That is the go-ahead.

  2. Route (by Provefab)

    sonnet · gpt-5.5

    Picks the cheapest model that can do the job.

  3. Plan (by an AI agent)

    reproduce first

    An agent reads the code and plans. Bugs are reproduced first.

  4. Implement (by an AI agent)

    +15 −2

    An agent writes the change in a worktree, with native enforcement and a guard.

  5. Check (by your checks)

    failing test, then 42 tests pass

    Your offline fmt, lint and tests decide. Red goes back to the agent.

    ↺ red test → fix
  6. Review (by an AI agent)

    +1 test

    A model from another family reviews. Each finding becomes a test.

    ↺ finding → test → fix
  7. Pull request (by Provefab)

    PR #43 ✓ ready to merge

    Opened with its evidence. You click merge.

You merge. Pro can auto-merge small, tested changes.

02Why you can trust it

Your checks decide. Protect what defines a pass.

Validation protection is an explicit list you configure. It does not isolate every host secret. Security and support limits

A

Native sandbox plus a guard

Commands and their children run with network denied and writes limited to the worktree and private temporary files. Known credential paths are denied. Missing enforcement stops the run.

B

Cross-model review

The reviewer runs on a different model family than the implementer whenever your catalog has one, so one model's blind spots don't approve themselves.

C

Protect the checks you rely on

Declare your validation scripts, configuration and dependencies as protected paths. Those paths stay unwritable. Other deleted or disabled tests are flagged in the PR and block auto-merge.

$ provefab status
28 sandbox#10 pr_open waits for your review
29 sandbox#12 merged two models approved
22/22issues turned into PRs while building itself
2model families on every merge
03Pricing

Free to run. Pro when you want it to merge.

Free

Functional Source License, on GitHub
€0
 
  • +Labelled issues become verified pull requests
  • +Issues from GitHub, Jira Cloud or Linear (Jira and Linear in beta); pull requests on GitHub
  • +Your checks, a guard on every agent, cross-model review
  • +Pull requests wait for your review
  • +Risk-aware checks: migrations, CI, dependencies and your own sensitive paths get stricter review
  • +Repository rules: your conventions in one file, given to every stage and checked by the reviewer
  • +Reviews of your own pull requests on request: a label or /provefab review, one summary comment, nothing from the pull request runs
Star on GitHub
Pro

Pro

Per GitHub organization · unlimited repositories and developers
€79/ month
or €790 / year
In the United States: $89 / month or $890 / year
  • +Everything in Free
  • +A second reviewer on a different model
  • +Merge policies: ready to merge by default, or auto-merge small, tested PRs only when every fail-closed check passes; risky changes never merge without a person unless you allow them
  • +Cost reports: cost per merged PR, per model and repository
  • +Reviewer calibration: which review model's findings your team keeps, with sample sizes
  • +Rule proposals: Provefab drafts your team's rules from its decisions, in one pull request a week at most that you merge or close
04Questions

Runtime, login and offline check prerequisites

Does my code leave my machine?+

Issue text and code needed for a stage go to your configured model providers; Jev receives issue text when configured. Provefab keeps the change record on your machine. Model calls use a supported login; sandboxed commands have no network access.

Which plans and workers work?+

Codex 0.162.1 accepts supported personal logins stored in files or an API key; workspace and managed modes refuse. Pi 1.0.3's sandboxed Bash was tested with SRT 0.0.79. All Claude stages temporarily refuse before version/auth probes because implicit host context loading is unverified. Select Codex or Pi and replace Claude entries in your catalog; keep user state. Check the docs before choosing a worker.

Which systems does Provefab run on?+

Builds are available for macOS (Apple Silicon and Intel) and Linux (x86_64 and ARM64), with launchd or systemd user services. Native sandbox enforcement was exercised on Apple Silicon macOS; Linux enforcement remains unverified. SRT must be provisioned separately. A missing or unverifiable runtime stops execution, with no unsandboxed fallback.

How does Provefab keep model costs down?+

Jev rates how hard each issue is, how much planning it needs and how risky a mistake would be. Provefab then runs each stage on the cheapest model that meets that level: your plan first, then your API keys by price. Prices update daily. An implementation that keeps failing moves one tier up.

What happens after a pull request is merged?+

If you opt in, Provefab runs your repository's commands again on the exact commit its pull request produced. A failing command is rerun once, so a flaky test does not count as a failure. If the failure is confirmed, Provefab checks the current branch: when a later commit already fixed it, it only tells you. Otherwise it can open a revert pull request, but only if the reverted code passes the same commands and the merge can be undone as one commit. Reverts always wait for human review. This checks your commands, not deployments or production health.

What does Provefab keep about each change?+

A local record of what it observed, what the models claimed and what you decided. Reply /provefab F2 rejected (or accepted, fixed, waived) on a pull request to record your decision on a review finding; only commands from the issue author, and repository owners, organization members and collaborators, count. provefab export writes the record as JSON Lines with free text removed by default; provefab prune deletes the record of finished tasks last updated before a date. It is free, stays on your machine, and is what Pro's calibration report is built from.

Does it merge without me?+

Not unless you turn it on. By default a pull request arrives green, with its evidence, and waits for your click. Pro can auto-merge small changes under a policy you set: size cap, excluded paths, a test change required.

What happens when a change touches something sensitive?+

Provefab checks which files each round changed. Migrations, CI, dependencies, infrastructure, secret-looking files and paths you name are treated as risky: your extra commands for that area run, the review runs on the frontier tier when a frontier model from another provider is configured (otherwise the usual cross-provider reviewer stays), the pull request gets a Risk section and the issue gets a label. Pro never auto-merges a risky change unless you allow its category, and never when the changed files cannot be determined. This raises scrutiny; it does not prove a change harmless.

Can Provefab review pull requests my team writes?+

Yes. Put the provefab:review label on a pull request, or comment /provefab review (owners, members and collaborators only), and Provefab reviews it with a model from your catalog, your repository rules and the risk policy. It keeps one summary comment on the pull request, updated on each new review, and records the findings so your team can mark them accepted, rejected or fixed. It never approves, requests changes on or merges a person's pull request, and the pull request's code never runs: the reviewer reads the change with read-only commands inside its own checkout.

Does Provefab learn our conventions?+

Yes, through a rules file you control. Write your conventions in .provefab/rules.md, one numbered rule each, optionally limited to some paths: every task reads them from your base branch, the agents follow them and the reviewer reports a violation with the rule's number. Provefab Pro can also propose new rules from the decisions your team records (findings you reject, changes you request when closing a pull request), each backed by at least two of them, in one pull request a week at most; merging it approves the rules, closing it refuses them. Rules guide the agents; they do not guarantee correct code.

Can my issues live in Jira or Linear?+

Yes, in beta. A repository can take its issues from a Jira Cloud project or a Linear team: the same label hands a ticket to Provefab, which reports progress with labels and comments on the ticket and never changes its status. The code and the pull request stay on GitHub, and the ticket key goes in the branch and the pull request title so your Jira or Linear GitHub integration links them. Sign in once with provefab login jira or provefab login linear; the credentials stay in the macOS Keychain, or on Linux in a file readable by your account only (mode 600), not encrypted. Beta means it is tested against recorded API responses, not yet against live sites.

What happens when the license expires?+

Pull requests keep opening and each one still shows its cost; the second reviewer, auto-merge, cost reports, calibration reports and rule proposals stop.

Does Pro phone home?+

Only to renew your key, and you can turn that off. The license check itself never needs the network.

Can I get a refund?+

Yes. Your first payment is refunded in full if you ask within 14 days. Renewals are not refunded; you can cancel any time and keep Pro until the end of the paid period.

How do I cancel?+

From the Polar customer portal at polar.sh/provefab/portal: sign in with your purchase email, then cancel. You keep Pro until the end of the paid period. The portal also has your invoices and the provefab-pro download.

What is the Functional Source License?+

You can use, change and share Provefab for anything except a competing product. Each version becomes Apache 2.0 two years after its release.