Amelia's takeaway: when removing legacy code, treat it as a graph and traverse breadth-first from the top-level class or endpoint using a notebook. Track not just Ruby classes and methods but also i18n translation keys, CSS classes (used as JavaScript event hooks), and CSS rules; cross items out as you delete them. This reliably removes code 100% without leaving debris.