There's a paper from 1972 that describes — with precision — the crisis AI coding agents are creating right now.

David Parnas published "On the Criteria To Be Used in Decomposing Systems into Modules" when software ran on mainframes and a large program was 10,000 lines. The paper argued that the conventional way of breaking systems apart (by execution steps: input → process → output) was wrong, and that systems should instead be decomposed by design decisions that are likely to change.

The reason was human cognition. Not compiler efficiency. Not runtime performance. The hard bottleneck of software engineering, Parnas argued, is the developer's ability to understand the system well enough to change it safely. Modular boundaries exist to protect human comprehension. Everything else is secondary.

Fifty-three years later, AI coding agents generate complex logic 5-7x faster than humans can comprehend it. Developers accept code through what can only be called cognitive surrender — they review the output, the tests pass, and they merge it without building a mental model of how or why it works.

Parnas diagnosed this exact failure mode half a century before it existed. And his cure still works.