← Arquitectura por épica

FT-IA-05 · Enriquecimiento continuo después de crear el SKU y después…

Arquitectura del Nuevo PIM por épica · corte del 18-oct-2026

Propuesta del TL: no sustituye la spec de cada épica

Actualizado el 18-oct-2026. Primera versión de la arquitectura de esta épica.

Qué responde. Cómo funciona por dentro FT-IA-05: 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-IA-05.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-IA-05-enriquecimiento-continuo-post-sku-publicacion.md.

En 30 segundos

En Marketplace el SKU nace con lo mínimo para vender rápido, sobre todo en la carga masiva, y el contenido se completa después sin frenar la venta. Esta épica corre la IA una sola vez después de crear el SKU y otra después de publicar (con fuentes externas por marca y modelo), aplica sola lo de confianza alta, manda a Gobierno de Datos lo de confianza baja, marca el artículo como enriquecido y revisa la calidad con IA (QA con IA) antes de aprobar.

  • Módulo dueño: MS-15 IA y enriquecimiento. También participan: MS-01 Catálogo, MS-02 Producto.
  • Etapa 7 · Calidad y categoría. Recibe «PE-6 · SKU asignado», «PE-7 · Imágenes listas», «PE-9 · Publicado por canal» y entrega «PE-10 · Cambio aprobado».
  • APIs: construye 2 y usa 9 que construyen otras épicas.
  • Eventos: publica 3 y consume 4.

1. Dónde encaja

Recibe

DeQué
PE-6 · SKU asignadoEl producto En enriquecimiento: SAP devolvió el 122 y cada variante tiene SKU.
PE-7 · Imágenes listasLas imágenes listas en MS-11, con URL congelada, que necesita QA con IA.
PE-9 · Publicado por canalEl producto Publicado en su canal: arranca el enriquecimiento posterior por marca y modelo.
FT-IA-03 · Enriquecimiento de atributos opcionales con IA y política…La política: qué atributos se persiguen, cuáles son de contexto y la ventana de enriquecimiento desde el SKU.
FT-FLU-05 · Reglas de negocio en la carga masivaLos productos de la carga masiva, creados sin IA.
FT-PRD-10 · Catalogación por API del proveedor o sellerLos valores que mandó el proveedor por API, con origen PARTNER_API por campo, para buscar sólo los que faltan.

Entrega

AQué
FT-RAC-03 · Publicación por rangos de score y revisión de calidad…El resultado de QA con IA (pasa, o lo que no cuadra con su ruta sugerida para QA manual) y los atributos enriquecidos que suben la calificación.
PE-10 · Cambio aprobadoEl cambio por enriquecimiento posterior aplicado a un producto aprobado: vuelve a Aprobado y sus canales pasan de Publicado a Enviado.

Cambios de estado que hace

TransiciónDe → aCuándo
T09Aprobado → En modificaciónAlguien cambia un producto aprobado.
T10En modificación → AprobadoEl cambio se aplica o se descarta.

Tareas que abre o cierra: QA con IA, Gobierno de Datos, QA manual.

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

Sistemas externos

Nuevo PIM · un solo sistema

Pantallas y sistemas

Personas

Enriquecer productos ya creados
Estado y resultado de un trabajo de IA
y 1 más

Vista efectiva de una plantilla por n…

Foto del producto para publicar

Reconoce la imagen y busca datos en u…
Revisa imagen contra título, descripc…
y 1 más

AI_ENRICHMENT_READY
AI_QUALITY_READY

AI_ENRICHMENT_READY
AI_QUALITY_READY
y 1 más

Lee fuentes externas por marca y mode…

PRODUCT_UPDATED

Estado y resultado de un trabajo de IA
Configuración de la IA
y 2 más

Revisar valores en el momento
Confirmar un plan de Producto

Gobierno de Datos

Administración del catálogo

Entrada Única · Vendor Center

BFF del portal

MS-01 Catálogo

MS-02 Producto

★ MS-15 IA y enriquecimiento

Base pim

Eventos

Modelos de IA

Sitios web públicos

Contexto de FT-IA-05

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.

EventosBase·pimModelos de IAMS-01 CatálogoMS-15 IA y enriquecimientoMS-02 ProductoEventosBase·pimModelos de IAMS-01 CatálogoMS-15 IA y enriquecimientoMS-02 Producto1. Pide enriquecer el SKU recién creadoPOST /api/v2/ai/enrichments2. Lee qué atributos se persiguen y cuáles llena la IAGET /api/v2/taxonomies/PRODUCT/nodes/{id}/effective3. Lee lo que ya trae: busca sólo lo que faltaGET /internal/product/products/{id}/publication-snapshot?versio…4. Reconoce la imagen y busca datos en un solo paso5. Guarda valores en atributos y unidades de la plantilla6. Avisa que el enriquecimiento está listoAI_ENRICHMENT_READY7. Entrega el enriquecimientoAI_ENRICHMENT_READY8. Lee los valores propuestos con su confianzaGET /api/v2/ai/jobs/{jobId}9. Aplica lo de confianza alta y marca «enriquecido»10. Con imágenes listas, pide QA con IAPOST /api/v2/ai/quality-reviews11. Revisa imagen contra título, descripción y atributos12. Avisa el resultado con su confianzaAI_QUALITY_READY13. Entrega el resultado de QA con IAAI_QUALITY_READY
Flujo principal de FT-IA-05
Los pasos en texto
PasoDeAQué haceAPI o evento
1MS-02 ProductoMS-15 IA y enriquecimientoPide enriquecer el SKU recién creadoAPI-15-004
2MS-15 IA y enriquecimientoMS-01 CatálogoLee qué atributos se persiguen y cuáles llena la IAAPI-01-028
3MS-15 IA y enriquecimientoMS-02 ProductoLee lo que ya trae: busca sólo lo que faltaAPI-02-054
4MS-15 IA y enriquecimientoModelos de IAReconoce la imagen y busca datos en un solo paso—
5MS-15 IA y enriquecimientoBase pimGuarda valores en atributos y unidades de la plantilla—
6MS-15 IA y enriquecimientoEventosAvisa que el enriquecimiento está listocatalog.ai.result/AI_ENRICHMENT_READY
7EventosMS-02 ProductoEntrega el enriquecimientocatalog.ai.result/AI_ENRICHMENT_READY
8MS-02 ProductoMS-15 IA y enriquecimientoLee los valores propuestos con su confianzaAPI-15-008
9MS-02 ProductoBase pimAplica lo de confianza alta y marca «enriquecido»—
10MS-02 ProductoMS-15 IA y enriquecimientoCon imágenes listas, pide QA con IAAPI-15-005
11MS-15 IA y enriquecimientoModelos de IARevisa imagen contra título, descripción y atributos—
12MS-15 IA y enriquecimientoEventosAvisa el resultado con su confianzacatalog.ai.result/AI_QUALITY_READY
13EventosMS-02 ProductoEntrega el resultado de QA con IAcatalog.ai.result/AI_QUALITY_READY

3.1 Después de publicar: completar por marca y modelo

Base·pimModelos de IASitios web públicosMS-15 IA y enriquecimientoMS-02 ProductoEventosBase·pimModelos de IASitios web públicosMS-15 IA y enriquecimientoMS-02 ProductoEventos1. Entrega el acuse: el canal quedó PublicadoDELIVERY_RESULT2. Pide completar vacíos importantes del publicadoPOST /api/v2/ai/enrichments3. Lee fuentes externas por marca y modelo4. Lleva lo leído a la estructura de la plantilla5. Avisa el enriquecimientoAI_ENRICHMENT_READY6. Entrega los valores propuestosAI_ENRICHMENT_READY7. Aplica opcionales de confianza alta, nunca datos maestros8. Avisa el cambio para republicarPRODUCT_UPDATED
Después de publicar: completar por marca y modelo

3.2 Confianza baja: revisa Gobierno de Datos

MS-15 IA y enriquecimientoEntrada Única · Vendor CenterBase·pimMS-02 ProductoMS-15 IA y enriquecimientoEntrada Única · Vendor CenterBase·pimMS-02 ProductoGobierno de DatosBFF1. Abre Gobierno de Datos con los valores dudosos2. Abre su cola: primero los de 85 a 953. Ve cada valor con su fuente y su confianzaGET /api/v2/ai/jobs/{jobId}4. Acepta, corrige o descarta cada valor5. Pide el plan con los valores aceptadosPOST /api/v2/products/{id}/values/plans6. Confirma y cierra la tareaPOST /api/v2/product-plans/{planId}/applyGobierno de DatosBFF
Confianza baja: revisa Gobierno de Datos

3.3 Fuentes, ventana y umbrales

Base·pimMS-15 IA y enriquecimientoEntrada Única · Vendor CenterBase·pimMS-15 IA y enriquecimientoEntrada Única · Vendor CenterAdministración del catálogoBFF1. Ordena las fuentes externas por su valor de verdad2. Lee la configuración del enriquecimientoGET /api/v2/ai/config3. Pide el plan: fuentes, ventana y umbralPOST /api/v2/ai/config/plans4. Confirma el planPOST /api/v2/ai-plans/{planId}/apply5. Guarda la versión nueva de la configuraciónAdministración del catálogoBFF
Fuentes, ventana y umbrales

4. Si algo sale mal

  • El producto ya pasó por este disparo o está fuera de su ventana. MS-15 lo omite y lo dice en el trabajo (skipped); no se paga el modelo y el producto sigue su camino.
  • Una fuente externa trae otra estructura u otras unidades. MS-15 lo lleva al atributo que ya existe y a sus unidades (pulgadas a centímetros); lo que no tiene atributo se queda en el trabajo de IA y no entra al producto.
  • El modelo de QA con IA no responde. La tarea cae a QA manual con el motivo «sin dato» y nada se aprueba sin revisión (FT-RAC-03).
  • El enriquecimiento posterior cambia un producto ya publicado. Sólo se aplican opcionales de confianza alta, nunca datos maestros de SAP; el producto vuelve a Aprobado, los canales pasan a Enviado y la tienda conserva lo publicado hasta el acuse.

5. APIs

Las que construye esta épica (2)

POST /api/v2/ai/enrichments · Enriquecer productos ya creados
CampoValor
APIAPI-15-004 · MS-15 IA y enriquecimiento
Para quéBusca, para 1 a 100 productos con SKU o ya publicados, sólo los atributos enriquecibles que les faltan, con reconocimiento de imagen y fuentes externas en un mismo paso, los lleva a la estructura y a las unidades de la plantilla y da una confianza por atributo. Respeta la ventana de enriquecimiento y una sola pasada por disparo; nunca propone datos maestros que van a SAP. Responde 202 y avisa con AI_ENRICHMENT_READY.
En esta épicaEnriquecer después del SKU o después de publicar, una sola vez por disparo
Quién la llamaMS-02 Producto
PermisoSólo MS-02 (cuenta de servicio)
CabecerasAuthorization, X-Request-Id, Idempotency-Key
Escribe enai_jobs
Publicacatalog.ai.result/AI_ENRICHMENT_READY
También la usanFT-PRD-10

Request

{
  "trigger": "SKU_ASSIGNED",
  "business": "MKP",
  "scope": "MISSING_ENRICHABLE",
  "items": [
    {
      "productId": "PRD-0004812",
      "version": 9
    },
    {
      "productId": "PRD-0004813",
      "version": 4
    }
  ]
}

Response · 202

{
  "success": true,
  "data": {
    "jobId": "job-0004100",
    "status": "ACCEPTED",
    "items": 2,
    "skipped": [],
    "links": {
      "self": "/api/v2/ai/jobs/job-0004100"
    }
  }
}

Errores

HTTPCódigoCuándo
422VALIDATION_ERRORMás de 100 productos o un disparo que no existe
409BUSINESS_ERRORTodos los productos ya pasaron por este disparo o están fuera de su ventana: no hay nada que enriquecer
409IDEMPOTENCY_MISMATCHSe repite la llave con otros productos
POST /api/v2/ai/quality-reviews · Revisar la calidad con IA
CampoValor
APIAPI-15-005 · MS-15 IA y enriquecimiento
Para quéRevisa con IA la coherencia de un producto o de una variante: imagen contra título, género, talla y color, y anomalías de la imagen principal cuando esa revisión esté encendida. Dice la confianza, qué no cuadra con una corrección sugerida y si alcanza el umbral de la tarea. Con respond=SYNC (calificación de MS-06 o una sola variante) contesta 200 en línea; con ASYNC (QA con IA) responde 202 y avisa con AI_QUALITY_READY.
En esta épicaRevisar la calidad con IA antes de aprobar (QA con IA)
Quién la llamaMS-02 Producto, MS-06 Evaluación
PermisoSólo MS-02 y MS-06 (cuentas de servicio)
CabecerasAuthorization, X-Request-Id, Idempotency-Key
Escribe enai_jobs
Publicacatalog.ai.result/AI_QUALITY_READY
También la usanFT-FLU-01, FT-IA-04, FT-PRD-05, FT-RAC-02, FT-RAC-03

Request

{
  "productId": "PRD-0004890",
  "version": 12,
  "business": "MKP",
  "purpose": "SCORE",
  "respond": "SYNC",
  "variantId": null,
  "checks": [
    "IMAGE_VS_TITLE",
    "IMAGE_VS_GENDER",
    "IMAGE_VS_SIZE",
    "COLOR_VS_IMAGE"
  ]
}

Response · 200

{
  "success": true,
  "data": {
    "jobId": "job-0004188",
    "status": "DONE",
    "confidence": 0.62,
    "acceptThreshold": 0.85,
    "passes": false,
    "findings": [
      {
        "check": "IMAGE_VS_TITLE",
        "attribute": "TITULO",
        "finding": "La imagen muestra una playera de niño y el título dice «hombre»",
        "confidence": 0.91,
        "suggestion": {
          "value": "Playera de algodón con estampado para niño"
        }
      },
      {
        "check": "IMAGE_VS_SIZE",
        "attribute": "TALLA",
        "finding": "La talla capturada es de adulto y las imágenes son de niño",
        "confidence": 0.84,
        "suggestion": {
          "value": "8"
        }
      }
    ],
    "route": {
      "suggested": "PROVEEDOR",
      "why": "Los datos del producto no coinciden con su imagen"
    }
  }
}

Errores

HTTPCódigoCuándo
404NOT_FOUNDEl producto o la variante no existen
422VALIDATION_ERRORUn chequeo que no existe o que está apagado en la configuración
503DEPENDENCY_UNAVAILABLEEl modelo no respondió: la tarea cae a la persona (QA manual) y nada se queda detenido

Las que usa y construye otra épica (9)

Su request y su response están en la página de la épica que la construye.

APIMétodo y rutaPara qué, aquíLa construye
API-15-008GET /api/v2/ai/jobs/{jobId}Leer los valores propuestos, su fuente y su confianzaFT-IA-04 · Integración de los modelos de IA existentes
API-15-010GET /api/v2/ai/configVer fuentes, ventana y umbrales del enriquecimientoFT-IA-04 · Integración de los modelos de IA existentes
API-15-011POST /api/v2/ai/config/plansCambiar fuentes, ventana o umbral con su impactoFT-IA-04 · Integración de los modelos de IA existentes
API-15-012POST /api/v2/ai-plans/{planId}/applyConfirmar el cambio de configuraciónFT-IA-04 · Integración de los modelos de IA existentes
API-01-028GET /api/v2/taxonomies/PRODUCT/nodes/{id}/effectiveLeer qué atributos se persiguen, cuáles son de contexto y cuáles son datos maestrosFT-PLT-06 · Configuración de atributos por plantilla y por negocio…
API-01-001GET /api/v2/attributesBuscar el atributo que ya existe para lo que descubre la IAFT-PLT-02 · Catálogo de atributos
API-02-054GET /internal/product/products/{id}/publication-snapshot?version=Leer lo que ya trae el producto y su origen por campoFT-CAT-05 · Sitios, enrutamiento y visibilidad por negocio
API-02-012POST /api/v2/products/{id}/values/plansGuardar los valores que acepta Gobierno de DatosFT-RAC-01 · Motor de validación en línea y candados de datos…
API-02-057POST /api/v2/product-plans/{planId}/applyConfirmar los valores y cerrar la tareaFT-FLU-01 · Motor de estados configurable con dos carreteras y reglas…

6. Eventos

Publica

EventoCuándoQuién lo consume
catalog.ai.result/AI_ENRICHMENT_READYMS-15 termina un enriquecimiento después del SKU o de publicarMS-05 (bitácora)
catalog.ai.result/AI_QUALITY_READYMS-15 termina la revisión de calidad con IAFT-RAC-03, FT-RAC-06
catalog.product.changed/PRODUCT_UPDATEDMS-02 aplica los valores enriquecidos con origen IAFT-ACT-05, FT-ARQ-02, FT-IA-01, FT-PLT-07, FT-PRD-05, FT-RAC-06

Consume

EventoPara quéQuién lo publica
catalog.ai.result/AI_ENRICHMENT_READYMS-02 aplica lo de confianza alta, manda lo bajo a Gobierno de Datos y marca el artículo como enriquecidoesta misma épica
catalog.ai.result/AI_QUALITY_READYMS-02 cierra QA con IA o abre QA manual (FT-RAC-03)esta misma épica
catalog.delivery.result/DELIVERY_RESULTMS-02 sabe que el canal quedó Publicado y pide el enriquecimiento posteriorFT-CAT-02, FT-CAT-05, FT-INT-01, FT-INT-02, FT-INT-05, FT-INT-07, FT-PRD-02
catalog.product.changed/MEDIA_CHANGEDMS-15 vuelve a revisar la calidad con IA cuando cambian las imágenes de un producto en enriquecimiento o aprobado.FT-ACT-02, FT-ACT-04, FT-ACT-06

7. Datos

Cada colección tiene un solo dueño, el único que escribe en ella.

ColecciónDueñoQué guardaEsta épica
ai_jobsMS-15Cada trabajo de IA con su entrada, su resultado y su confianza.escribe
ai_configMS-15Qué modelo atiende cada tarea y con qué umbral.escribe
template_viewsMS-01La vista efectiva ya resuelta por plantilla y negocio: qué atributos pide y cuáles son obligatorios.lee
productsMS-02La familia del producto con sus variantes, valores, imágenes (URL), clasificaciones, estado, tareas abiertas y rechazos.lee
attributesMS-01Cada atributo: tipo, lista, restricciones, grupos e identificadores externos.lee

8. Historias que cubre

HistoriaPrioridadCómo la cubre
FT-IA-05·H1 · Que la IA enriquezca después de crear mis SKUsP1pasos 1, 2, 3, 4, 5, 6, 7, 8, 9; API-15-004
FT-IA-05·H2 · Completar con scraping por marca y modelo, después de publicar, los atributos…P1flujo «Después de publicar: completar por marca y modelo»
FT-IA-05·H3 · Dar seguimiento a los atributos que faltan después de publicarP2flujo «Confianza baja: revisa Gobierno de Datos»
FT-IA-05·H4 · Acotar el enriquecimiento posteriorP3flujo «Fuentes, ventana y umbrales»; API-15-011
FT-IA-05·H5 · Bandera de enriquecidoP1pasos 9
FT-IA-05·H6 · Fuentes con valor de verdadP2flujo «Fuentes, ventana y umbrales», «Después de publicar: completar por marca y modelo»
FT-IA-05·H7 · Confianza por atributoP1flujo «Confianza baja: revisa Gobierno de Datos», «Fuentes, ventana y umbrales»
FT-IA-05·H8 · Normalizar lo que viene de fueraP2pasos 5; flujo «Después de publicar: completar por marca y modelo»
FT-IA-05·H9 · Un solo paso de enriquecimientoP2pasos 4
FT-IA-05·H10 · Guardar lo que descubre la IAP2pasos 5; API-01-001
FT-IA-05·H11 · Enriquecer sin frenar la publicaciónP1pasos 9; flujo «Después de publicar: completar por marca y modelo»
FT-IA-05·H12 · Intento único y completar lo que faltaP2pasos 3; API-15-004, API-02-054

9. Decisiones de esta épica

Las tomó el TL como arquitecto; quedan como [Propuesta] hasta que el equipo de la épica las revise.

  • D-IA-05-1. MS-02 decide cuándo (al crear el SKU y al publicar, una sola vez por disparo) y MS-15 decide qué (sólo atributos enriquecibles y perseguidos que faltan, dentro de la ventana, de la fuente con más valor de verdad). Nada de esto es una tarea que bloquee: el producto se aprueba y se publica aunque el enriquecimiento no haya terminado. Por qué: Dos carreteras: el enriquecimiento corre fuera de la ruta de publicación y no frena la venta. Se apoya en RN-GEN-03, RN-ENR-08, RN-ENR-07.
  • D-IA-05-2. Después del SKU, lo que alcanza el umbral de su tarea se aplica sin persona (origen IA, visible para el seller como «agregado por IA» y corregible) y lo de confianza baja va a Gobierno de Datos, no al seller. En el alta, en cambio, todo lo sugerido lo confirma el usuario (FT-IA-01): son dos reglas acotadas por canal, la opción A de PD-27. Por qué: En la carga masiva el seller «puede que ni vea el paso»; mandar todo a revisión humana recrearía el cuello de botella, y sólo lo dudoso necesita a una persona. Se apoya en PD-27, PEN-47, DEC-47.
  • D-IA-05-3. El enriquecimiento nunca toca datos maestros que van a SAP: MS-15 no los propone y MS-02 rechaza escrituras de origen IA sobre ellos. Tampoco sobrescribe lo que mandó el dueño del contenido: sólo llena lo vacío. Por qué: Un dato maestro cambiado por la IA rompería la conciliación con SAP; lo del dueño gana. Se apoya en RN-INT-07, FT-PRD-10.
  • D-IA-05-4. Un solo paso por producto: reconocimiento de imagen y fuentes externas juntos, con las fuentes y su valor de verdad (el sitio de la marca antes que los marketplaces) por categoría, marca y grupo de artículos en la configuración de MS-15. Lo externo se lleva a la estructura y a las unidades de la plantilla; lo descubierto se mapea al atributo que ya existe y lo que no tiene atributo se queda en el trabajo de IA, sin entrar al producto, hasta que se decida PEN-167. Por qué: No pagar dos veces, no copiar errores de fuera y no duplicar atributos. Se apoya en PEN-167, PEN-192.
  • D-IA-05-5. QA con IA: MS-15 revisa la coherencia con el umbral de su tarea por negocio y devuelve qué no cuadra y a quién sugiere mandarlo; si su resultado decide o sólo se mide lo controla el interruptor del motor de MS-02 (FT-RAC-03). Si el modelo no responde, cae a QA manual. Por qué: La IA propone y el motor decide con una regla; ningún umbral vive en dos lugares. Se apoya en PD-27, DUD-35, FT-RAC-03.
  • D-IA-05-6. El artículo queda marcado como enriquecido, con fecha y trabajo, aunque no se encuentre nada; esa marca es la que impide repetirlo y la que dice qué falta enriquecer. Por qué: Saber qué sólo se publicó y qué además se enriqueció, sin gastar IA de más. Se apoya en PEN-34, RF-ENR-12.

Qué falta decidir

IDQué falta
PD-27Ratificar las dos reglas de validación humana acotadas por canal (alta: siempre confirma el usuario; después del SKU: por confianza).

También siguen abiertos: PEN-47, Quién valida lo que la IA agrega cuando el seller no ve el paso (aquí: Gobierno de Datos lo de confianza baja); PEN-34, La ventana real de enriquecimiento (aquí 90 días desde el SKU); PEN-167, Dónde guardar y cómo mapear lo que la IA descubre y no tiene atributo en la plantilla; PEN-192, Qué atributos enriquecidos se mandan a qué sistemas.

Fuentes

  1. [D] trazabilidad/features/FT-IA-05-enriquecimiento-continuo-post-sku-publicacion.md: la ficha de la épica, con sus historias, reglas y bloqueos.
  2. [D] ADR-12 · Un solo sistema: backend compartido y una sola base (sección 3.4).
  3. [D] docs/arquitectura/por-epica/base/: piezas, colecciones, eventos y el hilo de punta a punta.
  4. [D] docs/arquitectura/omega-a-pim-headless/contratos-api.md: convenciones y endpoints de partida.
  5. [D] docs/arquitectura/maquina-de-estados-to-be/propuesta-maquina-de-estados.md §7: estados, tareas y canales.
  6. [I] Las decisiones de la sección 9 son del TL sobre esas fuentes.