Problem
- Legacy PHP rarely allows safe big-bang rewrites because it is unclear which behaviors are accidental and which are part of the system contract.
- The project shows a small-step strategy: freeze behavior first, extract a service next, then improve structure.