Legacy Bridge
IBM Bob modernizes legacy Java. Bob's own tests decide what ships.
Results from real Bob runs
BLOCKED in 2 of 2 runs
Run 1 report · Run 2 report
Base64 · Apache 2005
Ticket: "reimplement on top of java.util.Base64". Bob's version changed behaviour; 8 of Bob's own tests failed. In run 1 even Bob's repair missed a 57-byte edge case and was refused.Run 1 report · Run 2 report
VERIFIED
Report
Metaphone · Apache 2005
A ~300-line refactor. 117 Bob tests pass (Bob hardened its suite from 4/5 to 5/5 traps); an independent check found 0 of 136,800 outputs changed.Report
BLOCKED → repaired
Report
Invoice · teaching example
Ticket: "simplify the branching logic". Bob changed > 10 to >= 10: 10 widgets would cost $23.75, not $25.00.Report
How it works
- Bob writes characterization tests that pin down what the legacy code does today; they must pass on the untouched code (Bob fixes its own wrong ones).
- Mutation check: the code is broken on purpose, one real behaviour at a time; if a break slips through, Bob hardens its suite.
- Bob modernizes the class from a normal ticket.
- The gate re-runs Bob's tests: all pass → VERIFIED and applied; any fail → BLOCKED, nothing applied, failures go back to Bob to repair, and the repair must pass the same gate.
Evidence
19 real IBM Bob calls, 2.54 Bob coins, each with prompt, answer, raw output, cost and Bob Task ID:
bob_sessions/.
Replay the whole pipeline without a Bob account: see the README.
Slides: PDF.