Skip to main content
Estado: Propuesto · Fecha: 2026-08-15 · Refs: DEC-B1, v0.2 §1
Traducción. Autoritativo: ../../adr/adr-009-customer-core-shared-context.md.

Contexto

Loyalty, Messaging y CRM necesitan todos perfiles de contacto, identidades, consentimientos, eventos de comportamiento y segmentos. Construirlos dentro de cualquiera de esos módulos acopla a los otros y obliga a refactorizar cuando un módulo nuevo necesite segmentos.

Decisión

Un cuarto bounded context customer-core (schema core) es dueño de: contactos, identidades, fusiones, consentimientos, tracked_events, segmentos, definiciones de atributos, taxonomías de eventos, más las tablas transversales de plataforma (currencies, national_id_types, audit_log, usage_snapshots, processed_jobs, dead_letters). Reglas de dependencia (impuestas por dependency-cruiser): loyalty/messaging/crm PUEDEN importar core; core NUNCA los importa; ellos NUNCA se importan entre sí — la comunicación es solo por eventos de dominio (outbox).

Consecuencias

  • Cualquier módulo futuro consume perfiles y segmentos sin tocar loyalty. + Un solo dueño de la superficie de PII y cumplimiento. − Un contexto más que gobernar; los cambios en core exigen revisión cruzada entre módulos.