--- type: SOP asset_id: SOP-MTX-MatriX-BuildPagesHub-v01 version: v01 status: Activo owner: Victor Heredia sherpa_owner: Jay ratificador: Victor Heredia fecha_creacion: 2026-07-16 intellibank: IB-MTX-MatriX proposito: > Procedimiento y script del build de MatriX: convierte las páginas canónicas Pages/PG-MTX-*.md en el bloque generado del MatriX-Hub-v01.html. Garantiza la regla de FUENTE ÚNICA (antídoto #3 del MasterPlan): el contenido se edita SOLO en Pages/; el hub se regenera, nunca se edita a mano. nota_sync: > El script vive EMBEBIDO en este markdown a propósito — la sync del vault se come archivos .js/.py sueltos (caso BZ-EL-BuzonScanner). No extraerlo a un archivo permanente dentro del vault. Destino formal futuro: skill sk-mtxbuild en el plugin (repo git, fuera del vault). tags: [SOP, MTX, MatriX, build, fuente-unica] --- # SOP · Build MatriX (Pages/ → Hub) ## Reglas 1. **El contenido canónico vive en `Pages/PG-MTX-*.md`** (plantilla: `PG-MTX-Plantilla-v01`). El hub NUNCA se edita a mano en el bloque `__PG_BUILD__` ni en páginas que ya tienen PG-. 2. El build **sobreescribe** en el hub las páginas con PG- canónica (por `nodo_map` → id del hub) y marca estado **📄**; conserva del hub la familia, ícono y conexiones base. 3. Correr el build **después de cada tanda de siembra** y antes de cualquier revisión de Victor. 4. Páginas nuevas fuera del MAP: primero se dan de alta en `MAP-MTX-MatriX-IndiceEstructura-v01` y en el diccionario MAPID del script. 5. **Plantilla obligatoria (lección 22-jul, caso D8):** el build solo parsea secciones numeradas (`## 1 ·` … `## 6 ·`). Una página con encabezados libres compila "en éxito" pero queda **vacía en el hub** (n1/n2/n3 = 0c). Regla: TODA página PG-, incluidas las 🔒 internas, usa la plantilla canónica; el warning de calidad es revisar los conteos `n1/n2/n3` en la salida del build — un `0c` es bandera roja. 6. **Build público (antídoto #5):** el artefacto que se comparte fuera de EmpowerLabs es `MatriX-Hub-Publico-v01.html`, generado por el segundo script de este SOP. Excluye **físicamente** (no con CSS/JS) las páginas `pub:false` y todo el nivel N3. El `MatriX-Hub-v01.html` interno NUNCA se comparte fuera — su "Modo cliente 👁" es solo un toggle de UI, el contenido sigue en el fuente. ## Cómo correrlo (lo hace cualquier SherpaX) 1. Copiar el script de abajo a `/tmp/mtxbuild.py`. 2. `python3 /tmp/mtxbuild.py ` 3. Verificar la salida (una línea ✅ por página) y que el hub reporte "Hub actualizado". 4. Validación rápida: extraer el `