AI Code Spring Cleaning - Multi-Release Legacy Management
# AI Code Spring Cleaning - Starting 19.0
## Problem
AI teams have accumulated technical debt and legacy patterns. Some code can be deleted, but much of it needs to stay functional while we build better alternatives. We learned as we go, and how we handle AI changed greatly over the past 2 years, but the code that was used to support the old style still remains in the monolith and AIGW. When we try to add new features, it becomes difficult to developers to understand what needs to be supported and how.
## Approach
This will be a gradual work. Each team audits their codebase to identify what code could be deleted, and what code needs to be marked as legacy
Most of the time we can't simply delete code, we need to maintain it. But trying to insert new code to. Code in the module `::Ai::Legacy_20_0::*` should not receive new features, it is on maintenance mode. Once 20.0 hits, all code in the legacy module will be deleted.
Teams can use this epic to create issues for clean up. It is strongly encouraged to use Duo agents for cleaning up the code, with engineers supervising the output. We should aim for 100% code written/removed by agents, this will server as well for engineers to practice agentic engineering.
## Timeline
- 18.10 - 19.0: Engineers create clean up issues either from experience or using agents to analyze their codebase, and apply the ~"ai-spring-cleaning" label
- 19.0 - 19.3: Kick off and work to remove/refactor the code or mark as legacy
- Legacy removal: 20.0
epic