Convierte el registro-decisiones-v1.md en la documentación real del repositorio y Mintlify.
Idiomas: repo en inglés (DEC-I1); Mintlify EN/ES. Cada lote cierra con criterios verificables.
Los lotes se generan en orden; dentro de un lote los documentos son paralelizables por agentes.
Lote 0 — Enmienda de constitución (1 documento, el único que toca el CLAUDE.md raíz)
- Amendment: agregar
QueuePortyNotificationChannelPorta las categorías de puertos permitidas (DEC-C3); codificar la regla de binding por composition root de módulo (DEC-C4); referenciar los estándares nuevos (notifications.md) y actualizados. - Cierre: diff mínimo sobre el CLAUDE.md raíz aprobado por Daniel línea por línea (mismo rito que la constitución original).
Lote 1 — Estándares (6 documentos, todos en /docs/standards/)
data.md(actualización mayor): tablas paramétricas (DEC-B2/B3/B4), money (DEC-B5/B6), particionamiento (DEC-B8), retención/export (DEC-B7), clasificación de datos ynational_id(DEC-A4), regla extensible-por-tenant.events.md: catálogo de eventos de dominio de los 4 contexts, correlation_id end-to-end (DEC-E7), convención de nombres.jobs.md: QueuePort, consumidores idempotentes (processed_jobs, DEC-C6), reintentos/DLQ/dead_letters(DEC-C5), colas por canal con prioridad transaccional (DEC-E8).api.md: paths por módulo (DEC-D1/D2), permisosmodule.resource.action(DEC-D5), SLOs Runtime/Management (DEC-D7), deprecación (DEC-D3), rate limits publicados (DEC-D4), acceso terceros sin IP allowlist (DEC-D6).notifications.md(NUEVO): cascada niveles 0–3,resolveChannels(), preference center, quiet hours/caps, trazabilidad, matriz canal×fase (DEC-E1..E8).security.md(actualización): roles de máquina, write keys, masking/permiso dedicado denational_id, auditoría de acceso.
- Cierre: cada estándar con reglas MUST/NEVER + anti-ejemplos; dependency-cruiser y CI actualizados donde aplique.
Lote 2 — ADRs (12 documentos, serie transversal en /docs/adr/)
- Placeholders declarados (se escriben cuando toque): proveedor SMS (F1b), wallet passes (F2), multi-moneda/FX (F2), WhatsApp (F2).
- Cierre: formato ADR existente; estado Accepted tras visto bueno de Daniel.
Lote 3 — Specs de módulo (4 documentos, /docs/specs/)
core-spec.md,loyalty-spec.md,messaging-spec.md,crm-spec.md: entidades e invariantes, tablas por schema (con paramétricas y particiones marcadas), eventos de dominio emitidos/consumidos, endpoints con su permiso único, reglas RBAC, SLOs, y puntos de extensión (program_id, money_component, rule_effect_types abierto — DEC-H2/H3/H4).- Cierre: toda tabla del registro aparece en exactamente una spec; cero contradicciones con estándares (revisión cruzada por agente).
Lote 4 — Glosario, diagramas y slices canónicos
- Glosario: adiciones EN↔ES (contact, member, ledger, lot, redemption, suppression, marketable contact…) + sinónimos prohibidos (“cliente final” NUNCA “usuario”; “member” NUNCA “user”).
- Diagramas con skill
diagram-design(DEC-I2), fuentes HTML en repo + export SVG a Mintlify: C4 contexto y contenedores de la suite ampliada; ERD por schema (4); secuencias de los 4 caminos calientes (track→efectos, redeem idempotente, blast dual-carril, notificación con trazabilidad); state machine de send_status y de redemption. - Spec del slice canónico #2
trackEvent(arquetipo pipeline asíncrono, DEC-I5), siete capas, análogo al existente. - Cierre: gallery de diagramas renderiza con la paleta de marca Softcrum (onboarding del skill contra el sitio).
Lote 5 — Runbooks (/docs/runbooks/)
- Brecha de datos 72h (DEC-J4, bloqueante pre-lanzamiento) · deliverability y warm-up de dominios · gestión de particiones (creación, default, export+purge por retención) · restore de tenant extendido con datos del módulo · replay de dead letters.
- Cierre: cada runbook ejecutable paso a paso por una persona sin contexto previo.
Lote 6 — Task specs iniciales (plantilla existente)
- Migración fundacional: schemas + paramétricas seed + particiones designadas + audit_log + processed_jobs/dead_letters.
- Enmienda aplicada: puertos QueuePort/NotificationChannelPort + adaptadores Vercel Queues/Resend/FCM/in-app/webhook.
- Pipeline de ingesta (fast-ack + processor idempotente).
- Slice canónico
trackEventcompleto (valida TODO el sistema contra la realidad — análogo al rol de createInitiative). - Extensiones de CI: lint de particiones (partition key en queries), validación de permisos por endpoint, seeds de paramétricas.
- Cierre: cada spec pasa el Definition of Done actualizado (incluye presupuestos p95 como ítems).
Lote 7 — Paquete legal (borradores para revisión de abogado — DEC-J2, pendiente P-2)
- DPA (anexo de tratamiento) ES · política de privacidad ES/EN · ToS ES/EN · RAT interno Softcrum + especificación del generador de RAT por tenant · lista de subencargados con base de transferencia internacional · plantilla DPIA · anexo de medidas técnicas y organizativas · acta de designación de DPO (Daniel, provisional).
- REGLA: ningún documento de este lote se firma ni publica sin revisión de abogado chileno especializado en datos. Son borradores profesionales de trabajo.
- Cierre: paquete entregado al abogado; observaciones incorporadas; versionado en Comply.
Lote 8 — Mintlify (docs.softcrum.com, bilingüe — DEC-I1/I3)
- Estructura EN/ES por módulo: overview, conceptos, procesos y procedimientos, diagramas (export del lote 4), guías de integración (quickstart track/identify, token exchange, webhooks, widget), API reference generada desde OpenAPI, changelog y política de deprecación, página de rate limits por plan (DEC-D4), subencargados y trust center.
- Cierre: navegación completa en ambos idiomas; API reference sincronizada con el código (OpenAPI como fuente).