Legacy code is rarely removed because developers cannot confidently determine whether an apparently unused function is truly dead or quietly connected to production behavior. Traditional static analysis can identify direct references, but legacy systems often rely on dynamic dispatch, configuration files, string-based handlers, and indirect dependencies. Necro is an AI-powered code archaeology system built with IBM Bob 2.0 to investigate these ambiguous pieces of legacy code. Instead of simply detecting unused functions, Necro reasons across the repository and classifies suspicious modules into actionable categories: Safe to Delete, Secretly Load-Bearing, Undocumented but Valuable, and Normal — No Action. Each classification is accompanied by an evidence trail showing the repository locations and relationships that support the decision. For code confirmed to be removable, Necro can also provide a generated deletion artifact, turning analysis into an actionable engineering decision. Our demonstration uses a deliberately realistic legacy repository containing functions that appear unused through direct inspection but have hidden connections through routing and configuration. One example, track_user_event, has no direct import but is connected through dynamic dispatch and route configuration — demonstrating why naive dead-code detection can be dangerous. Necro's goal is to reduce the uncertainty surrounding legacy-code cleanup: instead of asking “Can I delete this?”, developers can ask “What evidence tells me whether I can safely touch it?”
Category tags: