Overview
Agents left unaided tend to produce more shallow modules, not fewer. They create files and abstractions locally without maintaining a coherent module map. Human architectural direction remains necessary.
A deep module is not permission to ignore its internals indefinitely. Its interface and tests must accurately represent the behavior that matters. If the boundary is wrong, the module can hide complexity rather than control it.
Refactoring toward deeper modules is itself risky work. It should be performed with feedback loops and in bounded steps rather than as an untested repository-wide rewrite.