← Arquitectura por épica

FT-PLT-04 · Grupos de atributos y mínimos de información por sistema…

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-PLT-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-PLT-04.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-PLT-04-grupos-de-atributos-y-minimos.md.

En 30 segundos

Cada sistema que recibe productos (SAP, la tienda, OMS, Marketplace, Señalización, el almacén de datos) necesita un juego distinto de atributos, y hoy esas listas viven escondidas en código y en siete tipos de «grupo» que no se hablan. Esta épica junta los atributos en grupos con tipo: por destino, por sección, por permiso o para la etapa de placeholder. Así se sabe qué viaja a cada sistema, cuál es su mínimo y qué negocios lo exigen, sin listas fijas en ningún adaptador.

  • Módulo dueño: MS-01 Catálogo. También participan: MS-08 Adaptadores de salida.
  • Etapa C · Configura el catálogo. Recibe «PE-T · Usuario con permisos y bitácora» y entrega «PE-C · Catálogo vigente».
  • APIs: construye 4 y usa 3 que construyen otras épicas.
  • Eventos: publica 3 y consume 3.

1. Dónde encaja

Recibe

DeQué
PE-T · Usuario con permisos y bitácoraEl administrador de Gobierno de Producto ya identificado, con sus roles del directorio de MS-13.
FT-PLT-02 · Catálogo de atributosLos atributos con su relevancia por destino, que son la base de la salida a cada sistema.

Entrega

AQué
PE-C · Catálogo vigenteLos grupos vigentes y la salida efectiva por destino (API-01-105): qué atributos viajan a cada sistema y cuáles son su mínimo.
FT-PLT-06 · Configuración de atributos por plantilla y por negocio…Los mínimos por destino: el de SAP llena la capa de datos maestros de los tres negocios y el de cada canal marca qué es requerido para publicar en él.
FT-INT-01 · Publicación a e-commerceLa salida a la tienda y su mínimo de atributos, que el adaptador lee de MS-01 en lugar de una lista propia.
FT-INT-02 · Publicación a OMS, DWH y SeñalizaciónLa salida a OMS, Señalización y DWH con su mínimo de atributos, por la misma API.
FT-USR-02 · Matriz de roles y permisos por módulo, acción, negocio y…Los grupos de tipo permiso (qué atributos van juntos); quién los ve o edita lo decide la matriz de MS-13.

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

Grupos de atributos
Plan de cambio de grupos
y 3 más

ATTRIBUTE_GROUP_CHANGED
ATTRIBUTE_CHANGED
y 1 más

ATTRIBUTE_GROUP_CHANGED

Salida efectiva por destino

Muestra que viajará a Marketplace por…

Manda sólo esos atributos en el archi…

Administración del catálogo

Entrada Única · Vendor Center

BFF del portal

★ MS-01 Catálogo

MS-08 Adaptadores de salida

Base pim

Eventos

o9 (planeación de compras)

Contexto de FT-PLT-04

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.

MS-08 Adaptadores de salidaEventosBase·pimMS-01 CatálogoEntrada Única · Vendor CenterMS-08 Adaptadores de salidaEventosBase·pimMS-01 CatálogoEntrada Única · Vendor CenterAdministración del catálogoBFF1. Abre los grupos de atributos por destino2. Lista los grupos con su tipo y su salidaGET /api/v2/attribute-groups3. Agrega tres atributos al grupo de OMS y marca su mínimo4. Pide el plan de pertenencia y mínimoPOST /api/v2/attribute-groups/plans5. Confirma y abre la solicitud de cambioPOST /api/v2/catalog-plans/{planId}/apply6. Otro administrador aprueba la solicitudPOST /api/v2/catalog-change-requests/{changeRequestId}/decision7. Guarda la pertenencia y la salida efectiva de cada atributo8. Avisa el cambio del grupo de OMSATTRIBUTE_GROUP_CHANGED9. Avisa los atributos que ahora viajan a OMSATTRIBUTE_CHANGED10. Entrega el cambio del grupo al adaptadorATTRIBUTE_GROUP_CHANGED11. Lee la salida efectiva de OMS: atributos 2, 6 y 8GET /api/v2/attribute-outputsAdministración del catálogoBFF
Flujo principal de FT-PLT-04
Los pasos en texto
PasoDeAQué haceAPI o evento
1Administración del catálogoEntrada Única · Vendor CenterAbre los grupos de atributos por destino—
2Entrada Única · Vendor CenterMS-01 Catálogo (por el BFF)Lista los grupos con su tipo y su salidaAPI-01-014
3Administración del catálogoEntrada Única · Vendor CenterAgrega tres atributos al grupo de OMS y marca su mínimo—
4Entrada Única · Vendor CenterMS-01 Catálogo (por el BFF)Pide el plan de pertenencia y mínimoAPI-01-015
5Entrada Única · Vendor CenterMS-01 Catálogo (por el BFF)Confirma y abre la solicitud de cambioAPI-01-004
6Entrada Única · Vendor CenterMS-01 Catálogo (por el BFF)Otro administrador aprueba la solicitudAPI-01-103
7MS-01 CatálogoBase pimGuarda la pertenencia y la salida efectiva de cada atributo—
8MS-01 CatálogoEventosAvisa el cambio del grupo de OMScatalog.governance.changed/ATTRIBUTE_GROUP_CHANGED
9MS-01 CatálogoEventosAvisa los atributos que ahora viajan a OMScatalog.governance.changed/ATTRIBUTE_CHANGED
10EventosMS-08 Adaptadores de salidaEntrega el cambio del grupo al adaptadorcatalog.governance.changed/ATTRIBUTE_GROUP_CHANGED
11MS-08 Adaptadores de salidaMS-01 CatálogoLee la salida efectiva de OMS: atributos 2, 6 y 8API-01-105

3.1 Matriz de mínimos de una plantilla

EventosMS-01 CatálogoEntrada Única · Vendor CenterEventosMS-01 CatálogoEntrada Única · Vendor CenterAdministración del catálogoBFF1. Abre la matriz de mínimos de una plantilla2. Pide qué negocios y destinos exigen cada atributoGET /api/v2/taxonomies/PRODUCT/nodes/{id}/minimums3. Ve que OMS exige un atributo opcional en Marketplace4. Marca el nombre comercial como mínimo de la tiendaPOST /api/v2/attribute-groups/plans5. Confirma y abre la solicitudPOST /api/v2/catalog-plans/{planId}/apply6. Otro administrador aprueba la solicitudPOST /api/v2/catalog-change-requests/{changeRequestId}/decision7. Avisa las vistas con requeridos para publicarTEMPLATE_VIEW_CHANGEDAdministración del catálogoBFF
Matriz de mínimos de una plantilla

3.2 Grupo con comportamiento heredado

EventosMS-01 CatálogoEntrada Única · Vendor CenterEventosMS-01 CatálogoEntrada Única · Vendor CenterBFF1. Agrega un atributo al grupo de MarketplacePOST /api/v2/attribute-groups/plans2. Muestra que viajará a Marketplace por el grupo3. Excluye otro atributo de esa salida en el mismo planPOST /api/v2/attribute-groups/plans4. Confirma y abre la solicitudPOST /api/v2/catalog-plans/{planId}/apply5. Otro administrador aprueba la solicitudPOST /api/v2/catalog-change-requests/{changeRequestId}/decision6. Avisa la salida nueva de los dos atributosATTRIBUTE_CHANGEDBFF
Grupo con comportamiento heredado

3.3 Campos de la etapa placeholder

o9 (planeación de compras)MS-08 Adaptadores de salidaEventosMS-01 CatálogoEntrada Única · Vendor Centero9 (planeación de compras)MS-08 Adaptadores de salidaEventosMS-01 CatálogoEntrada Única · Vendor CenterBFF1. Marca los atributos válidos en la etapa placeholderPOST /api/v2/attribute-groups/plans2. Avisa el grupo de placeholder ya aprobadoATTRIBUTE_GROUP_CHANGED3. Entrega el grupo para el archivo de placeholdersATTRIBUTE_GROUP_CHANGED4. Lee qué atributos viajan como placeholderGET /api/v2/attribute-outputs5. Manda sólo esos atributos en el archivo de placeholdersBFF
Campos de la etapa placeholder

4. Si algo sale mal

  • Un destino exige un atributo que un negocio tiene opcional. La matriz lo marca como hueco; el atributo no frena el envío de la propuesta, pero la vista lo marca requerido para publicar en ese canal y la compuerta de publicación de MS-02 lo cobra.
  • Se agrega a un grupo un atributo inactivo o que no existe. El plan responde 422 VALIDATION_ERROR y no se abre ninguna solicitud.
  • Dos grupos de un atributo se contradicen (uno lo manda a Marketplace y otro lo excluye). Gana la exclusión explícita y el plan lo dice antes de confirmar; nada viaja por accidente.
  • El adaptador no alcanzó a leer la salida nueva. MS-08 aplica los avisos en orden por versión y, al arrancar, relee la salida de cada destino; nunca usa una lista propia.

5. APIs

Las que construye esta épica (4)

GET /api/v2/attribute-groups · Grupos de atributos
CampoValor
APIAPI-01-014 · MS-01 Catálogo
Para quéLista los grupos de atributos por tipo (sección, despliegue, destino, permiso, placeholder y los de hoy), con su orden, su salida a destinos y cuántos atributos tiene y cuántos son mínimo. Quién ve o edita un grupo de permiso no está aquí: es de MS-13.
En esta épicaListar los grupos con su tipo, su salida y su mínimo
Quién la llamaBFF del portal, MS-02 Producto, MS-13 Identidad y acceso
PermisoCAT-L; los módulos, con su cuenta de servicio
CabecerasAuthorization, X-Request-Id
Parámetrostype = DESTINO, q = oms

Request

null

Response · 200

{
  "success": true,
  "data": {
    "items": [
      {
        "groupId": "DESTINO:OMS",
        "type": "DESTINO",
        "name": {
          "es": "Lo que viaja a OMS"
        },
        "exportTo": [
          "OMS"
        ],
        "memberCount": 3,
        "minimumCount": 2,
        "order": 4,
        "parentGroupId": null,
        "status": "ACTIVE",
        "version": 5
      }
    ],
    "page": 1,
    "size": 50,
    "total": 1
  }
}

Errores

HTTPCódigoCuándo
400VALIDATION_ERROREl tipo de grupo no existe
POST /api/v2/attribute-groups/plans · Plan de cambio de grupos
CampoValor
APIAPI-01-015 · MS-01 Catálogo
Para quéRevisa sin escribir el alta o el cambio de un grupo, su salida a destinos, la pertenencia de atributos, su marca de mínimo y las exclusiones. Dice, atributo por atributo, a qué destinos viajará antes y después.
En esta épicaAlta y cambio de grupos, pertenencia, mínimo y exclusiones
Quién la llamaBFF del portal
PermisoCAT-E
CabecerasAuthorization, X-Request-Id, Idempotency-Key

Request

{
  "operation": "ADD_MEMBERS",
  "groupId": "DESTINO:OMS",
  "version": 5,
  "members": [
    {
      "attributeId": "ATR-0000002",
      "minimum": true
    },
    {
      "attributeId": "ATR-0000006",
      "minimum": true
    },
    {
      "attributeId": "ATR-0000008",
      "minimum": false
    }
  ]
}

Response · 200

{
  "success": true,
  "data": {
    "planId": "pln-9e2b40",
    "expiresAt": "2027-01-13T15:10:00Z",
    "requiresApproval": true,
    "items": [
      {
        "attributeId": "ATR-0000002",
        "outputs": {
          "before": [
            "TIENDA"
          ],
          "after": [
            "TIENDA",
            "OMS"
          ]
        },
        "minimumFor": {
          "after": [
            "OMS"
          ]
        }
      },
      {
        "attributeId": "ATR-0000006",
        "outputs": {
          "before": [
            "SAP"
          ],
          "after": [
            "SAP",
            "OMS"
          ]
        },
        "minimumFor": {
          "after": [
            "OMS"
          ]
        }
      },
      {
        "attributeId": "ATR-0000008",
        "outputs": {
          "before": [],
          "after": [
            "OMS"
          ]
        },
        "minimumFor": {
          "after": []
        }
      }
    ],
    "impact": {
      "views": 0,
      "destinations": [
        "OMS"
      ]
    },
    "applyUrl": "/api/v2/catalog-plans/pln-9e2b40/apply"
  }
}

Errores

HTTPCódigoCuándo
422VALIDATION_ERRORUn atributo no existe o está inactivo
422BUSINESS_ERRORUn grupo de destino apunta a un destino que no existe en el sistema
409VERSION_CONFLICTEl grupo cambió desde que se leyó
GET /api/v2/attribute-outputs · Salida efectiva por destino
CampoValor
APIAPI-01-105 · MS-01 Catálogo
Para quéDice qué atributos viajan a un destino (SAP, tienda, OMS, Marketplace, Señalización, DWH o el archivo de placeholders) y cuáles son su mínimo, con el motivo de cada uno. La leen los adaptadores y Producto: ninguno guarda listas de campos propias.
En esta épicaLa salida efectiva por destino que leen los adaptadores y Producto
Quién la llamaBFF del portal, MS-02 Producto, MS-08 Adaptadores de salida, MS-10 Exportador al DWH
PermisoCAT-L; los módulos, con su cuenta de servicio
CabecerasAuthorization, X-Request-Id
Parámetrosdestination = OMS
También la usanFT-PLT-02

Request

null

Response · 200

{
  "success": true,
  "data": {
    "destination": "OMS",
    "version": 12,
    "computedAt": "2027-01-13T15:20:02Z",
    "attributes": [
      {
        "attributeId": "ATR-0000002",
        "minimum": true,
        "because": "GRUPO DESTINO:OMS"
      },
      {
        "attributeId": "ATR-0000006",
        "minimum": true,
        "because": "GRUPO DESTINO:OMS"
      },
      {
        "attributeId": "ATR-0000008",
        "minimum": false,
        "because": "GRUPO DESTINO:OMS"
      }
    ],
    "excluded": []
  }
}

Errores

HTTPCódigoCuándo
404NOT_FOUNDEl destino no existe
GET /api/v2/taxonomies/PRODUCT/nodes/{id}/minimums · Matriz de mínimos de una plantilla
CampoValor
APIAPI-01-106 · MS-01 Catálogo
Para quéCruza, para una plantilla, lo que cada negocio pide (nivel y capa de la vista efectiva) con lo que exige cada destino, y señala dónde no cuadran: por ejemplo, un atributo que OMS exige y Marketplace tiene opcional.
En esta épicaLa matriz de mínimos por negocio y destino de una plantilla
Quién la llamaBFF del portal
PermisoCAT-L
CabecerasAuthorization, X-Request-Id
Parámetrosid = EU4-0412

Request

null

Response · 200

{
  "success": true,
  "data": {
    "templateId": "EU4-0412",
    "rows": [
      {
        "attributeId": "NOMBRE_COMERCIAL",
        "byBusiness": {
          "MER": "REQUIRED",
          "SUB": "REQUIRED",
          "MKP": "REQUIRED"
        },
        "requiredByDestination": [
          "TIENDA",
          "MARKETPLACE"
        ]
      },
      {
        "attributeId": "ATR-0000006",
        "byBusiness": {
          "MER": "REQUIRED",
          "SUB": "REQUIRED",
          "MKP": "OPTIONAL"
        },
        "requiredByDestination": [
          "OMS"
        ]
      }
    ],
    "gaps": [
      {
        "attributeId": "ATR-0000006",
        "business": "MKP",
        "issue": "OMS lo exige y Marketplace lo tiene opcional"
      }
    ]
  }
}

Errores

HTTPCódigoCuándo
404NOT_FOUNDLa plantilla no existe

Las que usa y construye otra épica (3)

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-01-004POST /api/v2/catalog-plans/{planId}/applyConfirmar el plan y abrir la solicitudFT-PLT-01 · Fundamentos de gobierno de plantillas
API-01-103POST /api/v2/catalog-change-requests/{changeRequestId}/decisionAprobar la solicitud del grupoFT-PLT-01 · Fundamentos de gobierno de plantillas
API-01-053POST /internal/governance/bulk-load/{coleccion}Migrar los grupos de hoy como tipos, con su orden de P360FT-PLT-01 · Fundamentos de gobierno de plantillas

6. Eventos

Publica

EventoCuándoQuién lo consume
catalog.governance.changed/ATTRIBUTE_GROUP_CHANGEDSe aprueba el alta o el cambio de un grupo: su salida, su orden o su mínimoFT-ARQ-02
catalog.governance.changed/ATTRIBUTE_CHANGEDCambia la pertenencia, la exclusión o el mínimo de un atributo en sus gruposFT-ARQ-02, FT-PLT-02, FT-PLT-06
catalog.governance.changed/TEMPLATE_VIEW_CHANGEDUn mínimo nuevo cambia lo que es requerido para publicar en las vistas de las plantillasFT-ACT-01, FT-ACT-05, FT-IA-03, FT-PLT-06, FT-PLT-09, FT-PRD-01, FT-RAC-01, FT-RAC-02

Consume

EventoPara quéQuién lo publica
catalog.governance.changed/ATTRIBUTE_GROUP_CHANGEDMS-08 refresca qué atributos viajan a cada destino y al archivo de placeholdersesta misma épica
catalog.governance.changed/ATTRIBUTE_GROUP_CHANGEDMS-13 conoce los grupos de tipo permiso para ofrecerlos en la matriz de rolesesta misma épica
catalog.governance.changed/ATTRIBUTE_CHANGEDMS-01 recalcula las vistas efectivas de las plantillas que usan el atributoesta misma épica

7. Datos

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

ColecciónDueñoQué guardaEsta épica
attribute_groupsMS-01Grupos de atributos, incluidos los de permiso (quién ve y quién edita).escribe
attributesMS-01Cada atributo: tipo, lista, restricciones, grupos e identificadores externos.escribe
template_viewsMS-01La vista efectiva ya resuelta por plantilla y negocio: qué atributos pide y cuáles son obligatorios.escribe
governance_receiptsMS-01El recibo de cada escritura confirmada en el catálogo (antes operation_receipts).escribe
governance_outboxMS-01Los cambios del catálogo que esperan salir como evento (antes outbox).escribe
attribute_groupsMS-01Grupos de atributos, incluidos los de permiso (quién ve y quién edita).lee
attributesMS-01Cada atributo: tipo, lista, restricciones, grupos e identificadores externos.lee
template_viewsMS-01La vista efectiva ya resuelta por plantilla y negocio: qué atributos pide y cuáles son obligatorios.lee
taxonomy_nodesMS-01Plantillas y nodos de grupo de artículo, con la configuración de atributos de cada plantilla.lee

8. Historias que cubre

HistoriaPrioridadCómo la cubre
FT-PLT-04·H1 · Matriz de mínimosP1flujo «Matriz de mínimos de una plantilla»; API-01-106
FT-PLT-04·H2 · Salida por sistemaP1pasos 3, 4, 7, 8, 9, 10, 11; API-01-105
FT-PLT-04·H3 · Grupos y pertenenciaP1pasos 1, 2, 3, 4, 5, 6, 7; API-01-014, API-01-015, API-01-053
FT-PLT-04·H4 · Comportamiento heredadoP2flujo «Grupo con comportamiento heredado»; API-01-015
FT-PLT-04·H5 · Placeholder hacia PLMP3flujo «Campos de la etapa placeholder»; API-01-105. Fuera: PLM no tiene contrato ni pieza en el sistema: el grupo de placeholder sirve hoy al archivo de placeholders a o9 (FT-PRD-04) y servirá a PLM cuando se defina su contrato.

9. Decisiones de esta épica

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

  • D-PLT-04-1. Un solo modelo de grupo con tipo. Los siete mecanismos de hoy migran como tipos (sección del portal, despliegue, categoría de característica, permiso, ATG, SAP y relevancia) con su orden de P360, y los de la ERF entran como tipos nuevos: destino y placeholder. No se consolidan al corte. Por qué: Cada mecanismo tiene consumidores distintos; consolidarlos en el corte rompería la ficha de la tienda y la captura. La forma del dato no cambia si después se consolidan. Se apoya en PD-14, DUD-16.
  • D-PLT-04-2. La salida por destino es una sola cuenta: un atributo viaja a un destino si su relevancia lo dice o si pertenece a un grupo de ese destino, salvo una exclusión explícita, que siempre gana. El mínimo de atributos de cada destino es la marca «mínimo» en su grupo. MS-08, MS-10 y MS-02 la leen de API-01-105 y no guardan listas propias. Por qué: Que ningún sistema destino dependa de una lista escrita en código y que cambiar qué viaja sea una solicitud aprobada, no un despliegue. Se apoya en RF-PLA-07, RF-PLA-01, DEC-04.
  • D-PLT-04-3. El mínimo para publicar en cada canal lo decide publication_rules de MS-02 y sólo cita el grupo de MS-01 para la parte de atributos. Precio, categoría web, imagen principal y el orden entre canales (OMS antes que la tienda) son condiciones de MS-02, no grupos de atributos. Por qué: Un dueño por dato: MS-01 sabe de atributos y MS-02 de lo que tiene cada producto. Así el mínimo web «precio, nombre, categoría e imagen» se arma sin copiar ninguna lista. Se apoya en RN-PUB-05, ADR-12.
  • D-PLT-04-4. Quién ve o edita un grupo de tipo permiso lo decide sólo la matriz de MS-13 (rol por grupo de atributos); MS-01 dice qué atributos van juntos. Los campos de roles que traía el modelo de datos en el grupo no se usan. Por qué: Los permisos tienen un dueño, el directorio, y la identidad dejó MS-01 (ADR-12 sobre DMS-71). Se apoya en DUD-22, DEC-PLT-09, ADR-12.
  • D-PLT-04-5. Los mínimos por destino alimentan la vista efectiva: el mínimo de SAP es la capa 1 (datos maestros) en los tres negocios y frena el envío de la propuesta; el mínimo de cada canal no frena el envío: la vista lo marca requerido para publicar en ese canal. Por qué: Dos carreteras: antes del SKU frena lo indispensable para crear el artículo, y la calidad del contenido frena sólo la publicación por canal. Se apoya en PD-24, RF-PLA-05, RF-PLA-02.
  • D-PLT-04-6. El grupo de placeholder dice qué atributos valen en esa etapa y viajan en el archivo de placeholders a o9. PLM no tiene contrato ni pieza en el sistema y queda fuera hasta que se defina; cuando llegue, usará el mismo grupo. Por qué: La etapa de placeholder ya existe con o9 (FT-PRD-04); no se inventa un contrato con PLM que nadie ha descrito. Se apoya en RF-PLA-19.

Qué falta decidir

IDQué falta
PD-14Gobierno de Producto ratifica la taxonomía de grupos (propuesta del 17-oct: no se consolidan al corte).

También siguen abiertos: PEN-75, Los equipos de negocio entregan la lista real de obligatorios funcionales por negocio; PEN-76, El equipo del proyecto entrega el mínimo técnico de cada sistema destino; PEN-87, SAP confirma la lista completa de datos maestros que pide para crear el artículo (capa 1); PEN-02, Confirmar si se mantienen mínimos propios por sistema o un modelo único; aquí se propone mínimos por destino derivados de un solo catálogo.

Fuentes

  1. [D] trazabilidad/features/FT-PLT-04-grupos-de-atributos-y-minimos.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.