
Every developer has faced the same fear: opening an old codebase they didn't write, with no documentation, and being afraid to change anything because they don't know what else might break. This fear causes technical debt to pile up indefinitely teams adopt a "if it still works, don't touch it" philosophy, leaving outdated dependencies and fragile patterns untouched until they eventually fail in production. LegacyLens is a two-phase companion built entirely around IBM Bob 2.0, designed to remove this fear by making legacy code both understandable and safely modifiable. In Phase 1 (Understand & Modernize), Bob running in a custom "Legacy Analyst" mode reads the target codebase and explains its structure, purpose, and risk areas in plain language. It then proposes a prioritized modernization plan (dependency upgrades, refactoring outdated patterns) before executing any change, keeping the developer in the loop at every decision point. In Phase 2 (Predict & Catch Cascading Bugs), a separate custom mode/subagent called "Ripple Tracer" takes over. Using Bob's full-repository context, it traces every file connected to the code that was just changed, predicts the impact, runs the existing test suite, and -if a bug is found - traces the root cause across files rather than stopping at the point where the error surfaced. The result is a Modernization Impact Report that shows exactly what changed, what was affected, and what still needs human review. Our target users are developers and small teams who inherit legacy codebases without dedicated QA support, and tech leads who need to assess risk before approving a refactor or upgrade. During development, Bob itself generated a real, working sample project (a small Node.js/Express app) containing an intentional legacy pattern: a pricing function called from three different files, only one of which had test coverage. When Bob modernized this function from a callback pattern to async/await, it deliberately left one caller (invoice.js) with a missing "await" keyword - a classic silent bug that produces `undefined` values without throwing any exception. The existing test suite still passed 5/5, because it only covered the file that was correctly updated. This is precisely the blind spot LegacyLens is designed to catch: bugs that pass CI but corrupt data silently in production. What makes LegacyLens creative and unique is that it treats Bob not as an external API being called by our own backend, but as the core reasoning engine itself using custom modes, subagents, and full-repository context as the actual product, not just a coding assistant used behind the scenes. There is no separate backend or database; the intelligence lives entirely inside Bob IDE. This approach directly increases productivity by cutting the time to understand unfamiliar code from hours to minutes, and most importantly surfaces cascading, silent bugs before they reach production, rather than after a customer reports broken data.
27 Sep 2026