Continue with evidence
Required checks passed and deterministic risk is low or medium. Preserve the report and hand the patch to review.
For coding agents
PatchProof turns repository policy and changed-file risk into a structured outcome. The agent can read what failed, fix the patch, rerun the same checks, and preserve the proof a reviewer needs.
A machine-readable stopping condition
Local verification prints a concise decision for people and writes a redacted JSON report for tools. Risky, blocked, and unknown verdicts return a nonzero exit code.
Required checks passed and deterministic risk is low or medium. Preserve the report and hand the patch to review.
Checks passed, but high static risk needs review. The agent should surface the finding rather than silently treating green execution as approval.
A required check failed or timed out, or critical risk is blocked by policy. The next action comes from the top concerns.
A practical local loop
When the head is omitted or set to HEAD, PatchProof includes committed diff, staged changes, unstaged tracked changes, and untracked files. That keeps the proof aligned with what the coding agent really changed.
.patchproof.yml..patchproof/reports.# Run from an authorized project checkout
node /path/to/authorized/patchproof-source/apps/runner/dist/cli/index.js run \
--base origin/main \
--head HEAD
# Inspect the latest durable proof
node /path/to/authorized/patchproof-source/apps/runner/dist/cli/index.js \
report --latest
Evidence an agent can act on
Failed steps, timeouts, risk categories, and lifecycle interruptions have typed context and a bounded recommendation.
Added, modified, deleted, renamed, copied, staged, and untracked evidence keeps the proof tied to the real patch.
Deterministic rules flag weakened test, CI, authorization, dependency, Docker, environment, and PatchProof configuration.
Runner and cloud presentation boundaries reduce the chance that a credential value appears in logs or report metadata.
The verification contract lives in the repository rather than in a prompt that disappears when the agent session ends.
Local proofs record the configuration path, working directory, timestamps, duration, and evidence counts. Shared cloud proofs also add commit, branch, and runner context.
Keep authority explicit
The CLI must run from a project checkout the operator is already authorized to use. A self-hosted runner needs its own legitimate Git access. PatchProof does not make a private repository public or bypass its access controls.
Use bounded runner credentials, environment access, network policy, and operating-system isolation appropriate for untrusted project commands. Never share an operator API token with code executing on a runner.
Read the security boundaryOnly verify repositories and patches you are authorized to process.
The customer controls runner machines, secrets, network access, and package registries.
A proof informs the decision; it does not replace human review or production safeguards.
Start from source
Use an authorized PatchProof source checkout with Node.js 22 or newer, then run deterministic verification inside the repository your agent is changing.