There is ALWAYS the option to leave the old code in place and switch between the old and new at will. If only you had this desire.
Did you maintain any code for more than 10+ years? This approach is asking for disaster.
I already dozen of times throw away old code and add new one that behave only around 90% same as old. If each time try I keep old version
then we would need have 1048 "version" of game to test (as each combination of flags need to be check separately).
Meridian would probably quit long time ago as now single version of code I create need weeks to test.
And more importantly, I do not change default behavior because "I want to" but because "I need to".
I mess with this code to allow scripts to modify AI calculation. If I keep old code then then I would need disable this scripts if old code is used.
And of course sometimes I go too far and need to backpedal, but then I need simply add new code or refactor again everything but using different assumptions.