# ALTHEIA Core 2.5 · Arquitectura Brand Pack ## Decisión Core 2.5 incorpora **Brand Pack** como capa canónica independiente. No se integra su edición en Sector Blueprint Architect porque ambas capas tienen ciclos de vida, responsables y frecuencia de cambio distintos. ```text Core 2.5 └─ Sector Pack (qué significa el sector y sus D01-D45) └─ Brand Pack (qué opera realmente una marca/cliente) └─ Identity Corpus / Master Farm └─ Study Pack (fase posterior) ``` El módulo responsable es **ALTHEIA Brand Pack Architect 1.1**. La versión del módulo y la del contrato son independientes: el módulo puede evolucionar sin invalidar los paquetes `altheia_brand_pack_1.0` ya aprobados. La versión 1.1 separa validación técnica y aprobación, documenta fuentes y supuestos y exige revisión humana; una aprobación demostrativa queda marcada expresamente como no productiva. ## Responsabilidad de cada capa ### Sector Pack - Fija las 45 dimensiones, su semántica, anchors y señales de evidencia. - Define el universo sectorial posible de ofertas, canales, ciclo de vida, relación y campos de perfil. - Es compartido por múltiples marcas del mismo sector. - Su identidad es `sector_id@pack_version`; la huella D01-D45 detecta cambios semánticos. ### Brand Pack - Identifica cliente y marca objetivo. - Selecciona un subconjunto operativo de ofertas y canales del Sector Pack. - Define competidores, estados, roles, tipos de relación y reglas específicas. - Registra versión SemVer, ascendencia, changelog, aprobación, procedencia y control de calidad. - Su identidad es `sector_id/brand_id@pack_version`. - Su huella `brand_pack_hash` se calcula sobre el contenido operativo, no sobre metadatos temporales. Un Brand Pack nunca redefine D01-D45. Si una dimensión no funciona, el cambio pertenece al futuro flujo de evolución del Sector Pack, no a la personalización de marca. ## Versionado canónico - `patch`: correcciones sin cambiar el significado operativo (texto, alias, metadatos). - `minor`: incorporación compatible de ofertas, canales, competidores o reglas. - `major`: retirada o reinterpretación incompatible de capacidades operativas. - `initial`: primera versión de una marca sobre un Sector Pack. Los paquetes aprobados son inmutables. Para cambiar uno se importa la versión previa en Brand Pack Architect, se crea una nueva versión, se documenta el cambio y se vuelve a aprobar. El campo `based_on_brand_pack_id` conserva la genealogía. ## Compatibilidad y aislamiento de clientes Core 2.5 exige simultáneamente: 1. mismo `sector_pack_id`; 2. misma `dimension_semantics_hash`; 3. mismo `brand_pack_id`; 4. misma `brand_pack_hash`. Por tanto, dos clientes pueden compartir Sector Pack, pero no pueden mezclarse en una misma Master Farm. Incluso si reutilizasen por error el mismo número de versión, una diferencia de contenido cambia la huella y bloquea la consolidación. ## Flujo implementado en esta fase 1. Brand Pack Architect carga y valida el Sector Pack. 2. La persona responsable selecciona ofertas, canales y taxonomía de relación, informa marca/cliente y aprueba una versión. 3. Profiles Generator 2.5 exige ambos packs, restringe los datos generados al catálogo de marca e incorpora `sector_context` y `brand_context` a cada perfil. 4. Archetyping 2.5 conserva packs, contextos y huellas al clasificar. 5. Master Farm 2.5 consolida únicamente paquetes idénticos en ambas capas y embebe los contratos completos en la salida. Los módulos de investigación y testing continúan en 2.4 durante esta fase. No deben consumir una Master Farm 2.5 hasta que se implemente su adaptación explícita; no existe conversión silenciosa. ## Contratos - Brand Pack: `schemas/altheia_brand_pack_1.0.schema.json` - Perfil: `schemas/altheia_profile_multisector_2.5.schema.json` - Master Farm: `schemas/altheia_master_farm_2.5.schema.json` - Runtime: `apps/altheia-multisector-runtime-v2-5.js` - Core de consumo futuro: `apps/altheia-synthetic-research-core-v2-5.js` ## Estructura recomendada ```text brand-packs/ 00-Version-1.0/ BANCA/ CLIENTE_O_MARCA/ altheia__brand_pack_.json ``` Esta estructura separa físicamente los paquetes de marca de `sectores/` y evita confundir una variante de cliente con una nueva definición sectorial.