Actualizado el 18-oct-2026. Primera versión de la arquitectura de esta épica.
Qué responde. Cómo funciona por dentro FT-MIG-04: qué piezas participan, en qué orden hablan, qué APIs hay que construir con su request y su response, y qué le entrega a la épica siguiente.
Para quién. Los equipos que van a construir la épica, QA y arquitectura.
Estado. [Propuesta] del TL del Nuevo PIM, 18-oct-2026, construida sobre ADR-12. La spec de cada épica dice el qué; estas páginas, el cómo.
Fuente. docs/arquitectura/por-epica/epicas/FT-MIG-04.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-MIG-04-convivencia-sincronizacion-y-corte.md.
En 30 segundos
Mientras P360 siga vivo es la fuente, y el Nuevo PIM tiene que seguirlo sin desfase aunque las pantallas ya trabajen sobre el PIM desde R1 y R2. Esta épica mantiene la copia al día, escribe en P360 por MS-03 lo que se cambia en las pantallas nuevas, detecta lo que se desvía y lleva el corte de R3: P360 queda sin tráfico y el PIM pasa a ser la fuente, con vuelta atrás probada.
- Módulo dueño: MS-03 Migración y convivencia. También participan: MS-02 Producto, MS-05 Auditoría.
- Etapa M · Migración. Recibe de otras épicas y entrega «PE-M · Producto migrado».
- APIs: construye 4 y usa 7 que construyen otras épicas.
- Eventos: publica 2 y consume 0.
1. Dónde encaja
Recibe
| De | Qué |
|---|---|
| FT-MIG-03 · Migración inicial de productos desde P360 | La carga completa de productos, conciliada y firmada antes de R2. |
| FT-MIG-02 · Migración de plantillas, atributos y listas de valores | La copia del catálogo al día y conciliada. |
| FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… | La tabla de equivalencias con P360 (P360_CODES) y cada cambio de estado para la convivencia. |
| FT-INT-06 · Avisos de cambios a Entrada Única y consumidores | El interruptor por tópico para encender el emisor de avisos del PIM en la misma ventana en que se apaga el de P360. |
| FT-INT-01 · Publicación a e-commerce | La salida a la tienda sin broker, lista para encenderse en el corte. |
| FT-INT-02 · Publicación a OMS, DWH y Señalización | Las salidas a OMS, Señalización y DWH sin P360. |
| FT-INT-03 · Entrada de SKUs creados en SAP | La lectura del 122 lista para encenderse por interfaz en el corte. |
| FT-INT-04 · Catálogos maestros, precios y costos desde SAP/S4H | La lectura de los datos maestros de SAP lista para encenderse por interfaz en el corte. |
| FT-PLT-10 · Fachada v1 compatible con P360 para Entrada Única y Foro | Cada operación de plantilla de P360 sin tráfico del navegador, lista para quitarse, y el interruptor de los dos avisos de catálogo para el corte. |
| FT-PRD-09 · Contrato de propuestas con Entrada Única | Las rutas de Entrada Única y de P360 que dejan de llamarse en R2, cada una con su reemplazo, y el adaptador upc-eans que se borra con P360 en R3. |
| FT-RAC-04 · Consistencia entre sistemas y gobierno de datos proactivo | El universo conciliado y la confirmación escrita de Gobierno de Datos antes de cortar. |
| FT-RAC-07 · Reportes, exportes, importes y búsquedas por atributos | Los reportes del portal resueltos con datos del PIM, condición para apagar el backend de Entrada Única. |
Entrega
| A | Qué |
|---|---|
| PE-M · Producto migrado | Cada cambio de P360 aplicado en la copia hasta el corte y, desde el go, el producto con el PIM como fuente y sus salidas encendidas. |
| FT-ARQ-01 · Núcleo headless | La escritura en P360 por MS-03 (API-03-009 y API-03-010) que usa la API de producto mientras P360 sea la fuente. |
| FT-USR-01 · Identidad y autenticación de usuarios internos… | La corrida de usuarios de MS-03 que concilia P360, Entrada Única y Foro por la cuenta del proveedor de identidad, antes de que el directorio sea la fuente en R2. |
2. Diagrama de contexto
Quién participa y cómo se conecta. Las pantallas llegan por el BFF del portal, que valida el token y compone; cada módulo vuelve a validar el token y decide sus permisos con los roles de MS-13.
🟩 Verde: nuevo, se construye · 🟦 Azul: ya existe y se queda, se reutiliza su código · 🟧 Naranja: temporal o se retira (se apaga en R3) · ⬜ Gris: sistema externo · ★ módulo dueño
3. Diagrama de flujo
El camino principal, paso por paso. Cuando una pantalla llama a un módulo se ven dos flechas: la pantalla al BFF y el BFF al módulo. Los eventos salen del outbox del módulo después de guardar; quien los consume ignora los repetidos.
Los pasos en texto
| Paso | De | A | Qué hace | API o evento |
|---|---|---|---|---|
| 1 | MS-03 Migración y convivencia | P360 | Lee los recibos de cambio que ya escribe P360 | — |
| 2 | MS-03 Migración y convivencia | P360 | Vuelve a leer completa cada familia que cambió | — |
| 3 | MS-03 Migración y convivencia | MS-02 Producto | Traduce los estados con la tabla P360_CODES | API-02-030 |
| 4 | MS-03 Migración y convivencia | Base pim | Compara la huella y guarda su cursor | — |
| 5 | MS-03 Migración y convivencia | MS-02 Producto | Reemplaza la familia con origen P360_SYNC | API-02-056 |
| 6 | Gobierno de Datos | Entrada Única · Vendor Center | Corrige un producto en la pantalla nueva | — |
| 7 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Confirma el cambio que Producto ya validó | API-02-057 |
| 8 | MS-02 Producto | MS-03 Migración y convivencia | Pide escribir el cambio en P360 | API-03-009 |
| 9 | MS-03 Migración y convivencia | P360 | Aplica el cambio con los servicios de P360 | — |
| 10 | MS-03 Migración y convivencia | MS-02 Producto | Recarga la familia como quedó en P360 | API-02-056 |
| 11 | MS-02 Producto | MS-03 Migración y convivencia | Lee el recibo y cierra el del usuario | API-03-010 |
| 12 | Entrada Única · Vendor Center | MS-03 Migración y convivencia (por el BFF) | Revisa atraso, deriva y conexiones vivas | API-03-007 |
3.1 Deriva: lo que la sincronización no vio
3.2 Corte de R3 con go/no-go y vuelta atrás
3.3 P360 quita un EAN (adaptador hasta R3)
4. Si algo sale mal
- P360 rechaza una escritura que el PIM ya validó. MS-03 deja el recibo como rechazado con el motivo de P360; Producto no cambia su copia y quien hizo el cambio ve el rechazo en su recibo. Si P360 dijo que no, nada se reintenta solo.
- La familia cambió en P360 mientras alguien la editaba en la pantalla nueva. La escritura responde 409 VERSION_CONFLICT con la versión de P360; el portal recarga la familia y la persona decide sobre lo vigente. Las pantallas de P360 de lo que ya se mudó quedan en sólo lectura.
- La sincronización se atrasa más de 60 minutos. Se enciende la alarma del tablero de convivencia; los recibos de P360 son durables, así que MS-03 retoma desde su cursor sin perder ni duplicar.
- Falla una compuerta del go. No hay go: P360 nunca dejó de ser la fuente, se liberan hacia P360 las escrituras retenidas y todo sigue como en R2. Volver toma menos de una hora.
- Hay que volver a P360 después del go. Hasta el día 14, MS-03 sigue escribiendo en P360 cada cambio del PIM con los procesos de salida de P360 apagados; volver es regresar Producto al modo de convivencia sin recapturar nada. Después del día 14 sólo se corrige hacia adelante.
5. APIs
Las que construye esta épica (4)
POST /internal/migration/p360-writes · Escribir en P360 mientras sea la fuente
| Campo | Valor |
|---|---|
| API | API-03-009 · MS-03 Migración y convivencia |
| Para qué | Mientras P360 sea la fuente de un dato, el módulo dueño no escribe en su copia: le pide a MS-03 que aplique en P360 el cambio que ya validó. MS-03 lo aplica con los servicios de P360, en orden por familia, vuelve a leer la familia y la recarga en el dueño. Responde 202 con su recibo. |
| En esta épica | Escribir en P360 el cambio que validó Producto |
| Quién la llama | MS-02 Producto, MS-01 Catálogo |
| Permiso | Sólo MS-02 y MS-01 (cuenta de servicio) |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key |
Request
{
"writeId": "wr-55e0c2-1",
"origin": {
"module": "MS-02",
"requestId": "req-55e0c2",
"actor": {
"area": "GOBIERNO_DE_DATOS",
"role": "Gobierno"
}
},
"entity": {
"type": "PRODUCT",
"productId": "PRD-0004812",
"legacyIdentifier": "1033301",
"expectedVersion": 7
},
"operation": "UPDATE_VALUES",
"changes": [
{
"path": "variants[VAR-0004812-01].attributes.COLOR",
"before": "ROJO",
"after": "AZUL"
},
{
"path": "attributes.ALTO_EMPAQUE",
"before": null,
"after": "32 cm"
}
]
}
Response · 202
{
"success": true,
"data": {
"requestId": "req-p3w-7781",
"status": "ACCEPTED",
"receiptUrl": "/internal/migration/p360-writes/req-p3w-7781"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 409 | VERSION_CONFLICT | La familia cambió en P360 después de la versión que validó el dueño |
| 422 | BUSINESS_ERROR | P360 ya no es la fuente de ese dato: después del corte el dueño escribe directo |
| 503 | DEPENDENCY_UNAVAILABLE | P360 no responde; la escritura queda pendiente y se reintenta en orden |
| 409 | IDEMPOTENCY_MISMATCH | Se repite la llave con otro cambio |
GET /internal/migration/p360-writes/{requestId} · Recibo de una escritura en P360
| Campo | Valor |
|---|---|
| API | API-03-010 · MS-03 Migración y convivencia |
| Para qué | Dice cómo va una escritura en P360: pendiente, aplicada (con la versión que quedó en la copia del dueño) o rechazada por P360 con su motivo, para que el dueño cierre el recibo de quien hizo el cambio. |
| En esta épica | Recibo de la escritura en P360 |
| Quién la llama | MS-02 Producto, MS-01 Catálogo |
| Permiso | Sólo MS-02 y MS-01 (cuenta de servicio) |
| Cabeceras | Authorization, X-Request-Id |
| Parámetros | requestId = req-p3w-7781 |
Request
null
Response · 200
{
"success": true,
"data": {
"requestId": "req-p3w-7781",
"writeId": "wr-55e0c2-1",
"status": "APPLIED",
"p360": {
"operation": "UPDATE_VALUES",
"answeredAt": "2026-10-18T15:04:09Z",
"result": "OK"
},
"reloadedVersion": 8,
"finishedAt": "2026-10-18T15:04:11Z"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 404 | NOT_FOUND | El recibo no existe o ya venció (se guardan 30 días) |
GET /api/v2/migration/coexistence/status · Tablero de la convivencia
| Campo | Valor |
|---|---|
| API | API-03-007 · MS-03 Migración y convivencia |
| Para qué | Cómo va la convivencia: quién es la fuente de cada dato, atraso de la sincronización desde P360, último barrido, diferencias de presencia y de huella, escrituras pendientes hacia P360 y, por cada conexión de P360, su reemplazo y su tráfico. Es la evidencia para cortar y para apagar P360. |
| En esta épica | Tablero de convivencia: atraso, deriva, escrituras y conexiones vivas |
| Quién la llama | BFF del portal |
| Permiso | MIG-ADMIN y el comité de corte |
| Cabeceras | Authorization, X-Request-Id |
| También la usan | FT-RAC-08 |
Request
null
Response · 200
{
"success": true,
"data": {
"phase": "R2",
"source": {
"catalog": "P360",
"products": "P360"
},
"sync": {
"receipts": {
"lagSeconds": 340,
"p95LagSeconds": 610,
"lastPosition": "rcpt-88412311",
"alarm": false
},
"groupSweep": {
"lastRunAt": "2026-10-18T15:00:00Z",
"diffs": 0
},
"presence": {
"lastRunAt": "2026-10-18T06:00:00Z",
"missing": 3,
"extra": 0
},
"hash": {
"lastFullRunAt": "2026-10-12T04:00:00Z",
"diffs": 0,
"weeksWithoutDrift": 2
}
},
"writesToP360": {
"pending": 4,
"failedLast24h": 1,
"p95Seconds": 6
},
"connections": [
{
"id": "S4",
"name": "Productos a la tienda por el broker",
"replacement": "MS-08 al Product Data Service",
"trafficLast7d": 0
},
{
"id": "E15",
"name": "122 de ECC",
"replacement": "MS-07",
"trafficLast7d": 3104
},
{
"id": "UPC-EANS",
"name": "P360 quita un EAN (API-02-074)",
"replacement": "Se borra con P360 en R3",
"trafficLast7d": 57
},
{
"id": "EU-SYNC",
"name": "Conciliación de P360 contra la base de Entrada Única",
"replacement": "Se apaga; la cubre la conciliación de MS-03",
"trafficLast7d": 0
}
],
"readyToCut": false,
"blockers": [
"E15 todavía lo lee P360"
]
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 403 | AUTHORIZATION_ERROR | Quien llama no opera la migración |
POST /internal/migration/identifier-blocks · Reservar un bloque de Identifier
| Campo | Valor |
|---|---|
| API | API-03-008 · MS-03 Migración y convivencia |
| Para qué | Reserva un bloque de 1,000 Identifier en la secuencia de la base de P360 que comparte P360, para que lo que cree el PIM después del corte no choque con P360 mientras siga encendido y una vuelta atrás no repita números. Deja el bloque en el mapa de identificadores. |
| En esta épica | Bloques de Identifier mientras P360 siga encendido |
| Quién la llama | MS-02 Producto |
| Permiso | Sólo MS-02 (cuenta de servicio) |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key |
| También la usan | FT-PRD-01 |
Request
{
"requestedBy": "catalog-product",
"size": 1000,
"reason": "Se gastó el 80 % del bloque 1033000"
}
Response · 200
{
"success": true,
"data": {
"blockId": "blk-1034000",
"from": "1034000",
"to": "1034999",
"reservedAt": "2027-05-03T10:15:00Z"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 503 | DEPENDENCY_UNAVAILABLE | la base de P360 no responde; MS-02 sigue con sus dos bloques de reserva |
| 409 | IDEMPOTENCY_MISMATCH | Se repite la llave con otro tamaño |
Las que usa y construye otra épica (7)
Su request y su response están en la página de la épica que la construye.
| API | Método y ruta | Para qué, aquí | La construye |
|---|---|---|---|
| API-02-030 | GET /api/v2/workflow/config/{type} | Leer la tabla de equivalencias de estados con P360 (P360_CODES) | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-056 | POST /internal/product/bulk-load/products | Reemplazar en la copia la familia que cambió en P360 | FT-ARQ-01 · Núcleo headless |
| API-02-057 | POST /api/v2/product-plans/{planId}/apply | Confirmar en Producto el cambio hecho en la pantalla nueva | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-03-003 | GET /api/v2/migration/reconciliation?runId= | Deriva de la semana y conciliación final | FT-MIG-02 · Migración de plantillas, atributos y listas de valores |
| API-03-011 | POST /api/v2/migration/runs/{runId}/signoffs | Firmar dos semanas sin deriva y el go | FT-MIG-01 · Perfilado y limpieza previa |
| API-05-006 | POST /internal/audit/bulk-load/status-history | Cargar el último tramo de la historia de estados | FT-ARQ-02 · Bitácora inmutable y versionado de producto, plantilla y… |
| API-02-074 | DELETE /productmanagement/proposals/upc-eans | El único adaptador que queda: P360 quita un EAN con el contrato de hoy, hasta R3 | Capa temporal hasta R3 |
6. Eventos
Publica
| Evento | Cuándo | Quién lo consume |
|---|---|---|
catalog.product.changed/PRODUCT_UPDATED | Producto aplica en su copia un cambio de P360, con origen P360_SYNC | FT-ACT-05, FT-ARQ-02, FT-IA-01, FT-PLT-07, FT-PRD-05, FT-RAC-06 |
catalog.product.changed/EAN_CHANGED | P360 quita un EAN por el adaptador upc-eans | FT-ARQ-02, FT-PRD-03 |
7. Datos
Cada colección tiene un solo dueño, el único que escribe en ella.
| Colección | Dueño | Qué guarda | Esta épica |
|---|---|---|---|
mig_runs | MS-03 | Cada corrida de migración con sus conteos. | escribe |
mig_reconciliation | MS-03 | Las diferencias entre P360 y el Nuevo PIM durante la convivencia. | escribe |
mig_issues | MS-03 | Lo que no se pudo migrar y por qué. | escribe |
mig_id_map | MS-03 | El mapa de identidad entre sistemas: cada ID heredado de P360, Omega o Entrada Única con su llave en el Nuevo PIM y cómo se resolvió, y los bloques de Identifier reservados en la secuencia de P360. | escribe |
mig_p360_writes | MS-03 | Cada escritura que MS-03 hace en P360 por encargo de MS-01 o MS-02 mientras P360 es la fuente: el cambio, su llave de idempotencia, la respuesta de P360 y la versión recargada. Se borra 30 días después y se apaga con P360. | escribe |
products | MS-02 | La familia del producto con sus variantes, valores, imágenes (URL), clasificaciones, estado, tareas abiertas y rechazos. | escribe |
audit_events | MS-05 | Quién cambió qué, cuándo, desde dónde, con el antes y el después. | escribe |
product_reference_tables | MS-02 | Configuración del motor de estados y del matching: transiciones, estados externos y pesos. | lee |
8. Historias que cubre
| Historia | Prioridad | Cómo la cubre |
|---|---|---|
| FT-MIG-04·H1 · Incremental sin deriva | P1 | pasos 1, 2, 3, 4, 5; API-02-056 |
| FT-MIG-04·H2 · Deriva | P1 | flujo «Deriva: lo que la sincronización no vio»; API-03-003, API-03-011 |
| FT-MIG-04·H3 · Un solo maestro | P1 | pasos 6, 7, 8, 9, 10, 11; API-03-009, API-03-010 |
| FT-MIG-04·H4 · Corte coordinado y reversible | P1 | flujo «Corte de R3 con go/no-go y vuelta atrás»; API-03-011, API-03-008 |
| FT-MIG-04·H5 · Reemplazar los cinco módulos y todas las conexiones | P1 | pasos 12; flujo «P360 quita un EAN (adaptador hasta R3)»; API-03-007, API-02-074 |
| FT-MIG-04·H6 · Sincronizar mientras conviven | P1 | pasos 1, 2, 5; flujo «Deriva: lo que la sincronización no vio» |
9. Decisiones de esta épica
Las tomó el TL como arquitecto; quedan como [Propuesta] hasta que el equipo de la épica las revise.
- D-MIG-04-1. Un solo maestro por dato: hasta el corte de R3, P360 es la fuente de producto y de catálogo, y el PIM es una copia que MS-03 mantiene por cuatro vías (recibos durables con relectura de la familia, barrido de grupos cada 600 s, presencia diaria por rangos y huella semanal). Sólo MS-03 escribe en la copia, por la carga interna. Por qué: Sólo con eventos a Omega le faltaron 6,828 productos; un consumidor nuevo de la cola de P360 le quitaría mensajes a los que ya existen. Se apoya en PD-11, DMS-85, DMS-76.
- D-MIG-04-2. Las pantallas cambian una sola vez al BFF por oleadas (R1 catálogo, categorías, activos y avisos; R2 propuestas, variantes, carga masiva, reportes, el módulo M6 y el portal del estudio), sin capa de compatibilidad. Mientras P360 sea la fuente, Producto valida con sus reglas y escribe en P360 por MS-03 (API-03-009): MS-03 aplica con los servicios de P360, en orden por familia, relee y recarga la copia en segundos, y el recibo del usuario se cierra con el de MS-03. Por qué: Es la decisión 20 que adopta ADR-12: nadie más que MS-03 escribe en P360 y la copia nunca se adelanta a la fuente, así que no hay dos maestros. Se apoya en ADR-12, PD-12, RSG-48.
- D-MIG-04-3. PD-12 queda así: el catálogo no se congela ni corta antes. Si su administración pasa al PIM en R1, se escribe en P360 por MS-03 igual que el producto, y lo que los servicios de P360 no acepten se sigue editando en P360 hasta R3. Catálogo y producto pasan juntos a ser fuente en el corte de R3. Por qué: Congelar de R1 a R3 dejaría a Gobierno de Datos meses sin ajustar plantillas, y cortar el catálogo antes obligaría a P360 a validar productos con un catálogo que ya no es suyo. Se apoya en PD-12, DEC-PLT-13.
- D-MIG-04-4. Los cambios de la convivencia avisan con los eventos normales del dueño y origen P360_SYNC, para la bitácora y las cachés; los adaptadores los ignoran hasta el go porque P360 sigue entregando a los destinos. La carga completa sigue sin eventos (D-ARQ-01-7). Por qué: Sin aviso, las cachés de vistas y la bitácora no verían los cambios de meses de convivencia; sin el filtro por origen, se publicaría dos veces. Se apoya en DMS-81, DEC-65, FT-ARQ-01.
- D-MIG-04-6. Corte de R3 con guion y go/no-go: retener escrituras hacia P360, último tramo, conciliación final, valor de la secuencia y primer bloque de Identifier, siembra del estado de entrega y firma del comité. A los criterios G1–G7 del plan se suma G8: cada conexión de P360 con reemplazo y tráfico cero (API-03-007). En el go se encienden MS-07, MS-08 y MS-10 por interfaz y el emisor de avisos del PIM en la misma ventana en que se apaga el de P360; no se republica el catálogo. A más tardar en R3 se apagan, cuando su tráfico llega a cero, el backend de Entrada Única, el servicio de catálogo de Foro, el el servicio de usuarios de Foro y P360. Por qué: Nada se apaga mientras tenga una conexión sin reemplazo o tráfico; encender cada salida en la ventana evita dos productores. Se apoya en DMS-87, DMS-88, RN-MIG-07, FT-INT-06.
- D-MIG-04-7. Vuelta atrás: antes del go no hay nada que deshacer, porque P360 nunca dejó de ser la fuente. Del go al día 14, MS-03 sigue escribiendo en P360 cada cambio del PIM con los procesos de salida de P360 apagados, y volver es regresar Producto al modo de convivencia; los fronts no cambian de dirección porque siempre llaman al BFF. Al día 14 se apaga la escritura y P360. Por qué: Sin capa de compatibilidad ya no se vuelve cambiando la URL de los fronts; mantener P360 al día 14 días evita recapturar a mano. Se apoya en DMS-89, PD-12.
- D-MIG-04-8. Desde el go y mientras P360 siga encendido, Producto toma bloques de 1,000 Identifier de la secuencia de la base de P360 por MS-03 (API-03-008) con dos de reserva; al apagar P360 sigue con su contador propio. Antes del go el PIM no crea productos: los crea P360 por la escritura de MS-03. Por qué: Una vuelta atrás no debe repetir números que ya dio el PIM. Se apoya en DMS-78, DMS-83.
- D-MIG-04-9. La convivencia sigue el orden de las oleadas: catálogo y usuarios antes de R1, productos antes de R2. La corrida de usuarios (tipo USERS de API-03-001) concilia por la cuenta del proveedor de identidad a los usuarios de P360, Entrada Única y Foro antes de que el directorio sea la fuente en R2; las contraseñas no se migran. Por qué: Cada pantalla que cambia al BFF necesita su copia completa y a sus usuarios desde su primer día. Se apoya en ADR-12, FT-USR-01.
Qué falta decidir
| ID | Qué falta |
|---|---|
| PD-11 | Probar en QA que un cambio de valor mueve el recibo y la fecha de la familia en P360 (Arquitectura con el equipo de P360). |
| PD-12 | Confirmar qué del catálogo y del producto aceptan los servicios de P360 para la escritura por MS-03. |
| DUD-12 | Mecanismo de sincronización y orden de corte probados en el ensayo de convivencia. |
| DUD-13 | Calendario de ensayos y del corte contra la UAT. |
| PD-10 | Si el broker sigue para OMS y Mirakl después de R3. |
Fuentes
- [D]
trazabilidad/features/FT-MIG-04-convivencia-sincronizacion-y-corte.md: la ficha de la épica, con sus historias, reglas y bloqueos. - [D] ADR-12 · Un solo sistema: backend compartido y una sola base (sección 3.4).
- [D]
docs/arquitectura/por-epica/base/: piezas, colecciones, eventos y el hilo de punta a punta. - [D]
docs/arquitectura/omega-a-pim-headless/contratos-api.md: convenciones y endpoints de partida. - [D]
docs/arquitectura/maquina-de-estados-to-be/propuesta-maquina-de-estados.md§7: estados, tareas y canales. - [I] Las decisiones de la sección 9 son del TL sobre esas fuentes.