This reminded me of Naur's "Programming as Theory Building" [1], the article's "the common understanding of what its concepts mean, where the boundaries are, which invariants matter, who owns what, and why the system has the shape it does" is Naur's theory, and the author's "friction" is what teams build that theory.
I guess whether AI written code means you can't build a theory of a program is an open question - but I don't see why you can't have AI written code that keeps the system knowable and extendable, in the same way that any long lived program or system can be. It's _just_ a question of being disciplined in the same way you'd need to be with developing and maintaining any long lived artefact.
[1] https://pages.cs.wisc.edu/~remzi/Naur.pdf
I guess whether AI written code means you can't build a theory of a program is an open question - but I don't see why you can't have AI written code that keeps the system knowable and extendable, in the same way that any long lived program or system can be. It's _just_ a question of being disciplined in the same way you'd need to be with developing and maintaining any long lived artefact.
[1] https://pages.cs.wisc.edu/~remzi/Naur.pdf