This "big pile of slop" argument for slowing down an enthusiastic team of developers is one of the biggest fallacies in software engineering right now. I'm talking about the idea that a system can at some point "fall over" without possibility of recovery.
Nothing (other than poor leadership) has ever prevented an engineering team from periodically going through cycles of refactoring and refining the architecture of their system to make sure it doesn't actually "fall over". In the age of AI, those "contraction cycles" can be a weekly or daily(!) activity, depending on the scope of said system and how it's being used in production.
Prior to AI, sure, "ball of mud" architecture was a thing, and often you had to throw a whole project's codebase out and start over. And yes, that was considered catastrophic. I have those scars.
But nowadays? Not at all. I predict that soon it will be considered a good thing to periodically distill the canonical knowledge encoded into an existing codebase into a rock-solid contract layer (e.g. invariants, black box testing, etc) and then delete all of the existing source code and its unit tests and have the latest frontier agents write it again, applying whatever architecture lessons have been learned since the last rewrite. Better, faster, stronger. Rust instead of Rails, sure, why not? Results are what matter in this industry, nothing else.
I actually think the only reason most people that might be reading this aren't further along on that "regenerative" timeline yet is simply the still relatively high cost of frontier tokens and/or failure of imagination.
This is not a years-out thing either. I see it coming clear as day. h/t
@chadfowler for turning me on to regenerative software ideas.