If you use an AI coding agent long enough, you will see this: the agent says "Done - all tests pass", and it's true only because a test was skipped, deleted, or quietly weakened in the same change.
It's a known failure mode (see anthropics/claude-code#7074). Asking the agent nicely in CLAUDE.md doesn't fix it, because the agent is the one grading its own work.
I built BuildProof around one rule: the agent's claim is never accepted on its word. A separate check decides, and it fails closed - if it can't prove the work is good, the change is rejected.
After Claude Code finishes a turn (as a hook), or on a pull request (as a GitHub Action), it:
The demo page shows real output - a change that "passes" by weakening a test, and how it gets rejected:
👉 https://buildproof.mgrprosnetwork.com/demo
npm install -g buildproof
Package: https://www.npmjs.com/package/buildproof
Full disclosure: I'm the maker. It's a commercial tool with a 14-day free trial, not open source.
I'd really like feedback from people who run agents on real codebases: what other ways have you seen an agent "fake" a green build? Every trick you've seen becomes a new check.