Interestingly, your whole comment implicitly has the answer to this. In the future you don't add code or read it, you only add test cases and have the loops work on covering the new case.
I don't know that I agree, especially with LLMs as they are right now.
Maintainability isn't just for humans. An LLM working in an unmaintainable codebase has the same problems we do. It doesn't necessarily follow that if your code can pass your tests today then it will be able to pass the tests of tomorrow. I'm in healthcare. Regulations and payor rules change constantly. I don't know what tomorrow will bring, but I do know that the code I have an LLM generate tends to focus on the here and now (at the expense of the future). Sometimes that's okay, though. I don't know much about writing a compiler, so it could theoretically work.
This is by no means an anti-AI post (I use the hell out of these tools). But I can still see the cracks in them.
The existing test cases were created based on understanding the code. Creating good tests that cover every case you care about without understanding the code is not possible.
These big ports we are hearing about are of projects with hundreds (prob thousands) of unit tests. Not only are the models typically trained with the original code bases in their dataset, but the test suites themselves have project architecture encoded in them..
Ultimately there isn't enough information on how to most effectively maintain and evolve large, complex software with LLMs yet. We aren't even a year out from Opus 4.5.
Interestingly, your whole comment implicitly has the answer to this. In the future you don't add code or read it, you only add test cases and have the loops work on covering the new case.