Turing College Logo

Burden of Proof

Burden of Proof

About this project

Language Models invent bugs as confidently as they find them. Everything here is built to make the difference visible.

Ask a language model to review code and it will find real bugs. It will also invent plausible ones, and you cannot tell which is which without redoing the review by hand — at which point the tool has cost you time instead of saving it.

Burden of Proof is built entirely around that problem. Three commitments shape every part of it.

Finding something is not the same as it being true, so discovery and judgement are separate model calls with opposing instructions — the second is told the claim is false and asked to prove it, and only findings that survive are shown.

Proposing a fix is not the same as fixing, so each fix ships with a generated regression test, run against the original code where it must fail and the patched code where it must pass; a test that passes both times is reported as worthless.

Not knowing is a third answer, so wherever it could not check something — no type checker, no test runner, a test that observed nothing — it says so rather than picking the reassuring reading or the alarming one.

It reviews uncommitted work, a branch, or a GitHub pull request, and pauses at two points for a person to decide. Nothing touches your repository before you approve it: patches are applied and validated in a throwaway git worktree, and model-written code runs in a container with no network and dropped capabilities.

Built as a LangGraph state machine with four ways in — a CLI, a FastAPI service, a Next.js interface, and an MCP server that makes it callable as a tool from any MCP-compatible assistant.

A review is held open by a saved checkpoint rather than a running process, so one started in a terminal can be finished in a browser or a chatbot.

48/48 detection on a seeded-bug suite across two languages, scored independently with DeepEval, behind 2,011 backend tests. Superseded measurements are kept in full rather than overwritten, and the documentation states what has been measured separately from what the tool is asked to do.

Created byChaitanya Mudili
Published atAugust 27, 2026
CourseAI engineering
Looking for
Freelance projectsNew job