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 contextcustomer-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.