prove → fix → verify → coach
7 min
is what it took to review, prove, fix, and verify five planted bugs in a small Python module — a task that would take an experienced developer roughly 3 hours 45 minutes by hand.
~32× faster on this run, across five bug classes: a remote-code-execution risk, an off-by-one total, an unvalidated quantity, float-based money math, and duplicated logic.
Most AI review tools stop at suggesting a fix. ProofFix treats a suggestion as a claim that has to be checked.
Write a test that fails, so the bug is demonstrated — not asserted.
Apply the smallest patch, then run the full suite to confirm nothing else broke.
Explain why it happened and how to avoid the same mistake next time.
Each stage below ran as its own IBM Bob mode, with access limited to what that job needed — read-only for review, edit-and-run for fixes, markdown-only for the report.
Five bugs were deliberately planted in a small shopping-cart module. Click a finding to see the proof, the fix, and the lesson.
eval()
critical
28×
eval() with a plain dictionary lookup.eval or exec; use a lookup table instead.float
medium
30×
Decimal throughout.float for currency; use a fixed-point type from the start.The same run also surfaced three additional real issues beyond these five — a related empty-cart edge case, an unguarded negative-quantity update, and a float/Decimal mismatch in the discount table.
Each mode has exactly the access its job needs — nothing more.
| Mode | Role | Access |
|---|---|---|
| Reviewer | Finds and ranks issues by risk | Read only |
| Debugger | Writes the failing test, applies the fix, runs the suite | Read, edit, run commands |
| Coach | Writes the report and scores the run | Edit limited to Markdown files |