Summary
- Analyze codebases for architectural friction and propose module-deepening refactors as testability improvements.
- Explores codebases organically to surface shallow modules, tightly-coupled components, and untested seams rather than following rigid heuristics Applies John Ousterhout's "deep module" principle: small interfaces hiding large implementations for better testability and AI navigability Generates multiple radically different interface designs (minimalist, flexible, caller-optimized, ports & adapters) via parallel sub-agents, then recommends the strongest approach Creates GitHub issue RFCs documenting the problem space, design trade-offs, and refactoring rationale