Design and review the shape of a system: layers and the dependency rule, ports and adapters, bounded contexts and feature boundaries, modular monolith vs microservices vs event-driven vs CQRS vs serverless, choosing design patterns without over-engineering, and enforcing all of it in CI with import checks. Use when the user asks "how should I structure this", "where does this code belong", "monolith or microservices", "should we use events/CQRS", "which pattern fits", "our modules are coupled", "enforce architecture", "clean architecture / hexagonal / DDD boundaries", or before splitting a service, adding a framework, or opening a module boundary.