Execution-backed verificationLocal-first · open source

AI writes code fast.It leaves itunoptimized, untested, or unreviewed.

CodeVetter helps engineers evaluate coding-agent changes. It binds the requested task to the exact change, runs repository-owned checks, and preserves a pass, fail, or unverified verdict with the evidence and limitations behind it.

Exact source identityExecutable checksExplicit unknownsNo hosted verifier
Verification receipt anatomy
Illustrative fields · not a benchmark result
Requested task

Reject expired sessions without breaking valid refreshes.

Exact change

main…agent/session-expiry · a13c9f2

Repository-owned checks
1 failed
pnpm test auth/session.test.tsexit 1
pnpm typecheckexit 0
Measurable verdict
Fail
The requested behavior is not verified.
Evidence

The expired-session assertion reproduced against the exact agent revision.

Limitation

The browser refresh journey was not executed, so that behavior remains unverified.

Inspect published benchmark evidence →

The unit of trust is the whole chain.

A finding or green command alone is not proof. CodeVetter keeps task identity, execution, evidence, and uncertainty connected.

  1. 01 · Task

    Preserve the requested outcome.

  2. 02 · Change

    Bind the exact agent revision.

  3. 03 · Execute

    Run authoritative local checks.

  4. 04 · Evidence

    Retain outputs and limitations.

  5. 05 · Verdict

    Pass, fail, or unverified.

27
Published synthetic cases
inspectable inputs and scorer
29
Labeled expected findings
bounded recognition evidence
3
Verdict states
pass · fail · unverified
0
Required hosted verifier
execution and product state stay local

The public corpus measures a narrow recognition task. It is not evidence of production-wide accuracy or external-user adoption.

Verification contract

Proof that survives the next question.

A verdict is useful only when another engineer—or another agent—can inspect what ran, against which change, and what still remains unknown.

Task identity first

The requested behavior and acceptance boundary stay attached to the run, so the verifier cannot silently grade an easier task.

Exact change, not “latest”

Base and head identities, repository state, and the agent-produced patch travel with the evidence.

Executable checks decide

Repository-owned tests, builds, browser flows, API checks, and qualified workloads establish the verdict boundary.

Evidence stays portable

Commands, bounded output, artifacts, status, and provenance are retained in machine-readable verification records.

Failures stay classified

Agent regressions remain separate from existing failures, environment problems, timeouts, and missing coverage.

Unknown is a real outcome

Missing or irrelevant evidence produces unverified—not a confidence score dressed up as success.

Use the bundled verifier

Run the exact change from your repository.

The Apple-silicon release bundles the codevetter CLI and local MCP sidecar inside the desktop app. The desktop app is the visual workbench; the CLI is the direct execution path.

/Applications/CodeVetter.app/Contents/MacOS/codevetter check \ --range main...HEAD \ --task "Reject expired sessions" \ --json

Run it from the repository you want to verify. Provider-backed review requires a supported local agent CLI; repository-owned checks remain the verdict boundary.

CodeVetter desktop review workbench showing a real local review result, finding list, evidence status, and code inspection panel
Repository-tracked capture of the current desktop review workbench.local app · fixture-backed review
Operating loop

From agent claim to inspectable verdict.

CodeVetter is designed around acceptance evidence, not a second model’s confidence.

  1. Step 01

    Freeze the task and change

    Record the requested behavior, exact revision range, repository state, and the checks that can actually observe success.

    task: reject expired sessions
    change: main…a13c9f2
    scope: auth/session
  2. Step 02

    Run the evidence boundary

    Execute the smallest authoritative repository-owned checks. Review findings may suggest risk, but they do not become the verdict.

    test: exit 1
    typecheck: exit 0
    browser: not run
  3. Step 03

    Keep verdict and limits together

    Export the result with commands, bounded output, artifacts, provenance, and explicit gaps so another person or agent can re-check it.

    verdict: fail
    evidence: retained
    limits: explicit
Provider boundary

Models can suggest.
Execution decides.

Optional model-backed review can identify risks and propose checks. The measurable verdict still comes from task-relevant execution evidence—not provider confidence.

CodeVetter has no hosted review backend. When you start a provider-backed review, selected prompt and code context go directly to the provider you configured under that provider’s policy.

Optional analysis routes
Anthropic
User-configured provider
User configured
OpenAI
User-configured provider
User configured
OpenRouter
User-configured gateway
User configured
Current availability

What you can use today.

No placeholder plans, unsupported installers, or hosted-service promises.

Public build

macOS · Apple silicon

The current GitHub release publishes an aarch64 DMG and updater archive. Other platform installers are not currently published.

Product model

Local, no CodeVetter account

Product state and verification evidence live on the machine. Model-backed review is optional and uses the credentials or authenticated CLI you configure.

Source

Open source · ISC

The repository, benchmark cases, scorer, product docs, and release workflows are public and inspectable on GitHub.

Current public artifact · macOS Apple silicon

“Looks good” is not a verdict.

Inspect the evidence contract first, then download the current local desktop build from the project’s GitHub release.

No CodeVetter accountLocal SQLite stateISC source license
Plain answers

Understand the boundary.

Questions about scope, evidence, and availability

What is CodeVetter?
CodeVetter is an execution-backed verification and evaluation system for coding agents. It connects a requested task and exact agent change to executable checks, retained evidence, explicit limitations, and a pass, fail, or unverified verdict.
Who is CodeVetter for?
It is for engineers and teams evaluating or supervising coding-agent changes who need reproducible acceptance evidence before they trust, compare, or ship an agent result.
Is CodeVetter another AI code reviewer?
Review is one input, not the authority. A model can identify suspicious code and suggest what to test, but CodeVetter treats task-relevant execution evidence as the verdict boundary.
Does my repository go to a CodeVetter server?
No hosted CodeVetter verification backend is required. Product state and execution evidence stay local. If you start an optional provider-backed review, selected prompt and code context go directly to the provider you configured under its policy.
Does CodeVetter work offline?
Local checks, stored evidence, and the desktop viewer can operate without a CodeVetter service. Any review that calls Anthropic, OpenAI, or OpenRouter still requires network access to that provider.
What does a verdict prove?
Only the declared task and evidence boundary. A pass does not prove behavior that was never checked, and missing or irrelevant evidence must remain unverified instead of being converted into confidence.
What can I download today?
The current public GitHub release contains an Apple-silicon macOS DMG and updater archive. The source is available under the ISC license. Other platform installers and a Homebrew cask are not currently published.
What does the public benchmark show?
It publishes 27 synthetic cases and 29 labeled expected findings with the inputs, outputs, scorer, and limitations. It measures a bounded recognition task, not production-wide accuracy or customer adoption.