ADR-010: Modular Boundaries & Isolated Domain
Estado
Accepted (seed default) — enmendable; no elige stack
Contexto
Hace falta una forma de pensar el software antes de fijar lenguaje o framework.
Decisión
- Organizar por módulos / bounded contexts de negocio.
- Preferir un deployable modular; microservicios solo con ADR y necesidad demostrada.
- Aislar el dominio de detalles de infraestructura (DB, transporte, vendors) — estilo puertos y adaptadores / hexagonal ligero.
- Casos de uso (o application services) fuera de la capa de entrega.
- Sin acceso al almacenamiento interno de otro módulo; comunicación por contratos públicos, orquestación o eventos (ADR-014).
- DDD táctico solo donde haya reglas reales — no ceremonias en CRUD trivial.
Layout de carpetas y DI concretos = ADR de tecnología del proyecto.
Consecuencias
- Se puede diseñar y especificar sin haber elegido Nest/Django/Go/etc.
- Al elegir stack, este ADR se traduce a estructura real sin cambiar el espíritu.
Ver DOC-010 §1.