Releases: EricFinland/proof
Releases · EricFinland/proof
Release list
Proof v2.0.0
Major upgrade. Proof now closes the loop: it catches the lie, makes the agent fix it, and keeps score.
New
- Honesty ledger +
proof stats: every verification is recorded; see your agent's honesty rate, lies caught, clean streak, and worst-offending check. proof check: verify any claim text without a transcript. Works from any coding agent, shell, or CI step.proof check "tests pass" --root . --json.proof.toml: pin exact test/build/typecheck/lint commands per repo, set the serve command and base URL for http checks, tune max fix cycles. Config beats auto-detection; the claim's own command beats both.- HTTP v2: response body assertions (
returns 200 with "ok"), automatic local server boot (.proof.toml serve, package.json dev/start, or Procfile) with clean process-tree teardown, and live verification of deploy claims. - Fix loop: after a FAIL, the agent is re-blocked with the previous receipts and "attempt N of 3" until it actually fixes the problem; Proof gives up gracefully after max cycles instead of nagging forever.
- Runner detection for Maven, Gradle (wrapper aware), .NET, Make, Mix, Composer, and Bun/pnpm/yarn/npm by lockfile.
--jsonon verify/check/stats for CI pipelines;--version; Claude Code plugin manifest.
Numbers
- 199 tests (was 71), CI green on Linux and Windows across Python 3.11-3.13
- Still pure Python standard library, zero dependencies
- Still strict: any failed claim fails the turn; missing tooling is INCONCLUSIVE, never a false PASS
Install
npx skills add EricFinland/proof
Proof v1.0.0
First stable release.
Proof arms a Claude Code Stop hook that fires whenever the agent claims work is complete ("tests pass", "it works", "deployed"). An independent verifier then runs the real checks and returns a strict PASS/FAIL/INCONCLUSIVE verdict with command-output receipts. The agent can no longer self-certify.
Highlights
- Automatic: arm once per project, zero configuration after that
- 8 verifier strategies: tests, build, typecheck, lint, command, http, repro, filecheck
- Strict verdict: any single failed claim fails the whole turn
- Independent by construction: the verifier runs in a fresh context and trusts only execution output, never prose
- Crash-safe hook with a per-claim recursion guard, verified once per session
- Pure Python standard library, no dependencies
- Cross-platform: CI green on Linux and Windows across Python 3.11-3.13
- 71 tests, including an end-to-end acceptance test that reproduces the demo
Install
cd <your project>
python /path/to/proof/scripts/proof.py arm
See the README for the full demo, including a real-world catch where a project's "all tests pass" claim was false because the suite did not even import.