
AI agents can work safely on legacy codebases when changes are constrained, observable, and supported by behavior-preserving tests. Legacy code is risky because requirements are often implicit and seemingly unused behavior may still matter to customers or integrations.
Begin with read-only analysis. Ask the agent to map entry points, dependencies, data flows, test commands, and high-churn modules. Add characterization tests around the target behavior before refactoring. Keep each change small, preserve public interfaces, and avoid mixing cleanup with a functional change unless necessary.
Use a clean git worktree or clone on a dedicated branch, restrict destructive commands, and require focused plus full-suite validation. Compare logs, performance, and database effects where tests are weak. A human familiar with the system should review assumptions about “dead” code, compatibility, and deployment.
Verdent can help through Plan Mode, workspace isolation, parallel analysis, and Reviewer. Multiple workers can investigate separate modules, but shared legacy dependencies should be changed in a controlled order. Safe agent use is less about trusting the model and more about building a reversible process. If the system cannot be reproduced or tested, invest in observability and harnesses before increasing autonomy.
