ADR-040: In-process events
Estado
Accepted — 2026-08-23
Contexto
ADR-014 (seed) pide eventos entre módulos. DOC-004 lista los de V1. IVPrior tiene un ADR largo de EDA. IVPrior no necesita bus cloud el día 1.
Decisión
- Eventos de dominio in-process (Nest EventBus o equivalente) para sincronía en el mismo request cuando el consumidor es liviano.
- Outbox → Redis/worker (ADR-022) cuando el consumidor es I/O (email, AI, terceros).
- Nombre = pasado (
InvoiceBecameOverdue), payload mínimo (DOC-004). - Un módulo no importa el repositorio de otro; oye el evento o llama un use case público.
- No Kafka, EventBridge ni outbox distribuido multi-servicio en V1.
Consecuencias
- Tests: publisher con bus fake; outbox con publishedAt nulo = pendiente.
- Extraer a microservicio exigiría ADR-042 + este amendment.