--- asset_id: PLAN-EL-AuditVault-Salud-v01 version: v01 tipo: PLAN — Plan de saneo estado: 🟡 v01 · en ejecución intellibank: IB-EL-EmpowerLabs owner: Victor Heredia sherpa: SherpaX (Cowork) ratificador: Victor Heredia proposito: Hoja de ruta priorizada para sanear la salud del vault tras la auditoría. fecha_creacion: 2026-06-15 fecha_ultima_actualizacion: 2026-06-15 tags: [PLAN, salud, vault, EL] --- # Plan de Salud del Vault — v01 Hoja de ruta para subir la salud del vault de **17/100** hacia ≥80, priorizada por impacto. Basada en el escaneo del 2026-06-15. ## Principio: separar lo accionable de lo arquitectónico Buena parte de la "deuda" cruda es **espejo intencional** (la capa Raw/ del wiki, el inbox CloudVault). No hay que "arreglarlo", hay que **reconocerlo** para que el chequeo no lo penalice. Lo demás sí es trabajo real. ## Prioridad 1 — WikiLinks rotos accionables (884 en el vault, 20 dentro del wiki) - **Activos nombrados que faltan/renombraron** (lo importante): `[[Re100X-CAM-Metodo-v02]]` ×21, `[[BMF-Registry-Activos-v01]]` ×17, `[[BMF-MPB-Kernel-v01]]` ×16, `[[SOMA-XX-Core-v01]]`, `[[MePB-XX-MasterBrainCodeDistiller-v02]]`, etc. → por cada uno: ¿existe con otro nombre/versión? Corregir el enlace o crear la nota stub. - **Plantilla/meta** (`[[Concepto relacionado 1]]`, `[[enlace]]`, `[[WikiLinks]]`): limpiar de las plantillas para que no cuenten. - **Falso positivo del escáner** `[[\]]` ×34: afinar el regex (ver Prioridad 5). - Herramienta: `wiki_validator.py` lista los rotos Wiki→Wiki con su página origen. ## Prioridad 2 — Cobertura del wiki (279 fuentes Raw/ sin página Wiki) La señal más fuerte de "no está actualizada": solo ~24% de lo ingestado tiene página sintetizada. - Generar páginas Wiki/ para las fuentes Clase C y de alto valor primero (CP-, MePB-, TP-, SOP-). - Usar el skill `llm-wiki-validator` (Mode 2, Check 3) para priorizar coverage gaps. - Registrar avances en `index.md` (Check 5: index sync). ## Prioridad 3 — Naming fuera de BMF (337 notas) - **Exención canónica (ya aplicada en el chequeador v01.1):** las páginas de `Wiki/` usan **nombre = concepto** (`SherpaX.md`, `WORX.md`, guías pedagógicas…). Ese es su dominio de naming propio — **NO se renombran al patrón `TIPO-…-vNN`**. `obsidian_health.py` ya las exenta, así que el grueso de "111 en IB-WikiX" deja de contar como violación. Lo que sí se revisa es `Raw/` y los bancos operativos. - Concentrado (ya sin las páginas Wiki/) en IB-MONEX (58), CloudVault (50) y archivos sin tipo/versión. - Definir la **regla canónica final** de naming (incluye `BC-`/`BCV-`, render `_html/_docx/_pdf/_xlsx`, minutas con fecha). - Renombrar por lotes los que claramente violan (sin tipo, sin versión). Las minutas con fecha: decidir si `MIN-...-YYYY-MM-DD` es válido y ajustar el chequeador en consecuencia. ## Prioridad 4 — Duplicados (mayoría espejo) - 88% de los duplicados por contenido involucran IB-WikiX/Raw → **espejo por diseño**. Acción: marcar `Raw/` como capa-espejo y **excluirla del chequeo de duplicados** (no consolidar). - CloudVault (inbox): decidir política — ¿se vacía periódicamente a su banco IB-? Los duplicados ahí son tránsito, no permanentes. - Duplicados **reales** (mismo contenido en dos bancos IB- distintos): consolidar a uno y enlazar. ## Prioridad 5 — Afinar el chequeador (deuda del propio pack) 1. ✅ **Hecho (v01.1):** excluir `.claude/` del escaneo. 2. Regex de WikiLinks: ignorar `[[\]]` y patrones con backslash. *(pendiente)* 3. Opción "duplicados espejo vs reales": excluir `IB-WikiX/Raw/` y `CloudVault/` del cálculo de duplicados que penaliza. *(pendiente)* 4. Lista de excepciones de bancos no-IB (CloudVault) para no penalizar lo intencional. *(pendiente)* 5. ✅ **Hecho (v01.1):** `obsidian_health.py` exenta páginas `Wiki/` (nombre = concepto) del naming BMF. 6. ✅ **Hecho (v01.1):** `wiki_validator.py` exenta **guías pedagógicas** (sin Asset Header, con pie `Versión · Última actualización`) del Check 4 de headers. > **Nota de scoring:** el `health_score` es binario (6 chequeos todo-o-nada), por lo que un solo incidente reprueba un bloque entero. Para que la meta ≥80 sea alcanzable, el ítem pendiente más importante es pasar a **scoring proporcional** + reconocer espejos (ítems 2-4). Mientras tanto, leer el score junto con los conteos crudos, no solo. ## Prioridad 6 — Higiene (informativo, no baja la nota) - **919 notas huérfanas**: revisar las que están en bancos IB- (no en Raw/inbox) y enlazarlas desde su índice. - **143 adjuntos sin usar** (PDF/docx/pptx): mover a un `_Attachments/` o archivar para liberar espacio. ## Métrica de cierre Re-correr `obsidian_health.py` + `wiki_validator.py` después de cada prioridad y registrar el delta. Meta: salud ≥80 con el chequeador afinado y los espejos reconocidos.