The Problem A bug report is not a bug fix. Between "a customer complained" and "a reviewed pull request" sits slow, serial, manual work: decide whether the report is new or a duplicate, find the request in the logs, follow the stack trace, find the policy document that defines correct behaviour, write a reproducing test, fix, verify, and write a PR for the right reviewer. We estimate about 2.7 hours per bug, mostly spent gathering context rather than on engineering judgement. It also produces errors. Duplicate reports get fixed twice. Wrong-result bugs leave no stack trace to follow. Under pressure the reproducing test is skipped, so the bug returns. Fixes that contradict an unread policy cause rework in review. The solution: BugFlow BugFlow gives each kind of work to the right actor. 1. Deterministic steps go to a toolkit: A stdlib-only Python CLI does the following: - Links each report to its log evidence and fingerprints the failure. - Merges duplicates, ranks by severity and routes to CODEOWNERS. - For bugs with no stack trace, finds the faulty line through the governing policy section. - Writes a one-page debug brief per bug. - Enforces a gate: the suite must pass and every bug needs a named regression test. - Drafts PRs and times every stage. 2. Judgement steps go to IBM Bob agents. `/bugflow` starts a custom **BugFlow Lead** mode. It runs the toolkit, reads the issues and policy documents, and spawns **one fixer subagent per unique bug, in parallel. Each fixer writes a failing regression test first, confirms the failure, applies the smallest policy-compliant fix and passes the gate. The Lead reviews each fix against the cited policy, drafts PRs and reports the impact. Demonstrated impact (live run on a sample checkout service) - 4 reports became 3 unique bugs. A duplicate, worded differently by VIP support, was detected automatically and closed through the canonical fix. - 3 fixer subagents ran concurrently and fixed a float-rounding cent mismatch, a strict comparison that blocked buying the last unit, and a case-sensitive lookup that caused HTTP 500 errors. - 3 regression tests were added, each failing before its fix. The gate passed, and 3 PRs were drafted for the right teams. - It took 4.0 minutes of measured wall-clock time against an estimated **500-minute** manual baseline (about 124× faster). The baseline estimates are itemised in PROBLEM.md. Errors are prevented by construction. Fixes need a failing-first test. Duplicates close through one fix. Every root cause cites the rule it broke, and every PR reaches its owner. BugFlow works on any repository with bug reports, logs and policy docs. Engineers review fixes instead of hunting for context.
Category tags: