> ## Documentation Index
> Fetch the complete documentation index at: https://internal.softcrum.com/llms.txt
> Use this file to discover all available pages before exploring further.

# TS-001 — Migración fundacional (Engage/CRM)

> Objetivo: los schemas core/loyalty/messaging/crm con todas las tablas de v1, semillas paramétricas, particiones designadas y tablas de plataforma.

> Traducción. Autoritativo: [`../../task-specs/ts-001-foundational-migration.md`](/task-specs/ts-001-foundational-migration).

Arquetipo: comando síncrono (patrones de `createInitiative` para los servicios; migraciones SQL
custom). Referencias: DEC-B\*, ADR-011/013/017/018, standards/data.md.

En alcance: definiciones `pgSchema` en Drizzle · tablas paramétricas + semillas `is_system` +
generación de unions Zod · columnas de dinero según el estándar · `contacts` con `national_id`
(+ catálogo de tipos, normalizadores, validadores de DV al menos para CL, BR y AR, y formato
genérico para el resto) · DDL particionado por migraciones SQL + job de pre-creación de particiones
(cron fan-out) · `audit_log`, `processed_jobs`, `dead_letters`, `usage_snapshots` · RLS y tenant
guards en todas las tablas · hook de creación automática del programa por defecto al aprovisionar un
tenant.

Fuera: cualquier endpoint, cualquier lógica de worker más allá del job de particiones.

Aceptación: migraciones idempotentes sobre base de desarrollo nueva y existente ·
dependency-cruiser en verde con las reglas de schema nuevas · las semillas generan los unions TS que
consume el build de `packages/core` · particiones DEFAULT vacías tras un test sintético de cambio de
mes · tests de denegación RLS por tabla.
