# Unfix > We unfix your fix — to prove it. Unfix is the second key for AI-written C/C++ and firmware: an independent, deterministic verifier that checks whether a bug fix really removes the bug, on your own tests and real hardware, and returns VERIFIED or REJECTED with evidence. Unfix does not write code. Working name during development: "cplus". Made by U-Pump. Contact: hello@unfix.dev ## How it works 1. Reproduce: build in a clean sandbox (or flash the board) and confirm the bug fails on the base version, 3 of 3 runs. 2. Apply the fix: run the reference tests with sanitizers (ASan/UBSan/TSan); the bug must be gone, 3 of 3 runs; other tests must still pass. 3. Revert check: remove the fix and confirm the same bug returns. If it doesn't, the test never proved anything. 4. Anti-masking scan: flag disabled sanitizers, weakened or deleted tests, added sleeps/retries in the diff. Verdicts: VERIFIED (fixed, with evidence), REJECTED (not fixed, or masked), NOT VERIFIABLE (evidence cannot decide). Per-test verdicts on your rig (/check): FIXED (the test failed before the change and passes now), BROKEN (the test passed before and fails with the change), FLAKY ON THE BENCH (the test is unstable without the change too; fix the rig before trusting any result), FLAKY, WORSE (it was flaky before, and the change makes it significantly worse). For a single bug fix, /fix gives one verdict: VERIFIED, REJECTED or NOT VERIFIABLE. No LLM decides the verdict. ## Where it runs - MCP tool inside AI coding agents (Claude Code, Codex and others) - GitHub pull request check that posts the verdict and evidence as a PR comment - Terminal app (/bug, /fix, /check, /report) - Real boards: STM32 NUCLEO via ST-Link today - Built for closed networks. No cloud, no LLM — Unfix runs entirely on your machines. After a one-time setup, builds and tests run with the network off. ## Evidence - Public benchmark: an AI coding agent fixed 10 real bugs from fmt, spdlog, zlib-ng and cpp-peglib; judged against maintainers' hidden reference tests, 4 VERIFIED, 6 REJECTED. https://github.com/u-pump/cplus-bench - Demo video (1 min 46 s): https://unfix.dev/assets/unfix-demo.mp4 ## Who it is for C/C++ and embedded teams of 20–200 engineers, starting with medtech and other regulated products (evidence suitable for an IEC 62304-style change record). Design partner pilots: hello@unfix.dev ## FAQ ### What is Unfix? Unfix is an independent verifier for bug fixes in C, C++ and firmware. It does not write code. It checks whether a fix — written by a developer or an AI coding agent — really removes the bug, and returns VERIFIED or REJECTED with evidence. ### How does Unfix verify a fix? It reproduces the bug on the base version (it must fail every run), applies the fix and re-runs the tests with sanitizers, checks that other tests still pass, then removes the fix and confirms the bug comes back. It also scans the diff for masking: disabled sanitizers, weakened or deleted tests, added delays. ### Why "unfix"? Because the strongest proof that a fix works is to take it out again: if the bug does not come back when the fix is removed, the test never proved anything. ### Does Unfix use an LLM to decide the verdict? No. The verdict comes from builds, tests, sanitizers and hardware runs. Same input, same answer. ### Does it work with firmware and real boards? Yes. Unfix can build firmware, flash a real board (today STM32 NUCLEO via ST-Link) and run the tests on the hardware. /check gives per-test verdicts on your rig: FIXED (failed before the change, passes now), BROKEN (passed before, fails with the change), FLAKY ON THE BENCH (unstable without the change too; fix the rig before trusting any result) and FLAKY, WORSE (flaky before, significantly worse with the change). For a single bug fix, /fix gives one verdict: VERIFIED, REJECTED or NOT VERIFIABLE. ### Where does Unfix run? As an MCP tool inside AI coding agents such as Claude Code and Codex, as a GitHub pull request check that posts the verdict as a comment, in the terminal, and on your hardware rig. Built for closed networks. No cloud, no LLM — Unfix runs entirely on your machines. After a one-time setup, builds and tests run with the network off. ### What did the public benchmark show? An AI coding agent fixed 10 real bugs from open-source C/C++ projects (fmt, spdlog, zlib-ng, cpp-peglib). Judged against the maintainers' own hidden reference tests, Unfix verified 4 fixes and rejected 6. ### Who is Unfix for? C/C++ and embedded teams of roughly 20–200 engineers, starting with medtech and other regulated products where "the agent said so" is not an acceptable answer. ## Links - Home: https://unfix.dev/ - Benchmark: https://github.com/u-pump/cplus-bench