[ADN] Fase 10: Saneamiento y Consolidación - Un solo punto de verdad

- S1: Eliminar 'triggers' duplicado en run (líneas 109/131)
- S2: Eliminar cli/commit.rb (truncado, sin uso)
- S3: Eliminar cli/inicio.rb y cli/cierre.rb (legacy, jornada.rb los reemplaza)
- S4: Mover 4 planes obsoletos de docs/plan/adn/ a docs/_hist/plan/adn/
- S5: Mover 14 backups de planes y 3 docs técnicos a docs/_hist/
- S6: Eliminar manifiesto vacío P2604_proyecto_p2604.md
- S7: Corregir referencia a plan obsoleto en run
- S8: Dejar de cargar core/validador.rb obsoleto en run
- S9: Limpiar progreso duplicado en P2604_mejoras_ADN.md
- Agregar Fase 10 al plan P2604 con 10 tareas
- Un solo punto de verdad: adn/README.md
- Un solo plan: docs/proy/p2604_mejoras_ADN/P2604_mejoras_ADN.md
- Registro en bitácora: evento 1073
This commit is contained in:
Ricardo Monla
2026-03-15 14:33:32 -03:00
parent b13a389568
commit cfd0e8452a
36 changed files with 1563 additions and 238 deletions
@@ -0,0 +1,200 @@
# P2604 - Mejoras al ADN
> Menos es Más + Mejora Continua + Armonía Integral
## Enfoque
Mejoras atómicas, incrementales y reutilizables. Una herramienta por vez.
---
## Diagnóstico Integral
### Archivos Analizados
- `tools/run` (punto de entrada)
- `tools/cli/*.rb` (18 subcomandos)
- `tools/core/*.rb` (10 módulos)
- `tools/db/**/*.rb` (importers, exporters, core)
- `Gemfile`, `.bundle/config`
### Problemas Identificados
| # | Problema | Archivo(s) | Principio | Severidad |
| :--- | :--- | :--- | :--- | :--- |
| 1 | Sin tests para módulos core | `core/*.rb` | Menos es Más | Alta |
| 2 | Banner DEPRECATED incompleto | `cli/validador.rb` | Armonía | Media |
| 3 | core/validador.rb sin deprecation | `core/validador.rb` | Armonía | Media |
| 4 | Constantes de colores hardcodeadas | `core/colores.rb` | Menos es Más | Baja |
| 5 | Sin handler de errores global | `run` | Armonía | Alta |
| 6 | db/exporters sin tests | `db/exporters/*.rb` | Menos es Más | Media |
| 7 | Logger sin rotación | `core/logger.rb` | Mejora Cont. | Baja |
| 8 | Help inconsistente entre CLI | `cli/*.rb` | Armonía | Baja |
---
## Plan de Mejoras (8 Fases)
### Fase 1: Tests Core (Menos es Más)
**Objetivo**: Coverage progresivo, un módulo a la vez.
| ID | Módulo | Tests | Estado |
| :--- | :--- | :--- | :--- |
| T1 | `spec/db/evento_spec.rb` | 3 | ✅ |
| T2 | `spec/core/colores_spec.rb` | 6 | ✅ |
| T3 | `spec/core/validador_spec.rb` | 6 | ✅ |
| T4 | `spec/cli/help_spec.rb` | 0 | 📍 |
**Total tests: 15 passing**
### Fase 2: Deprecation Banners (Armonía)
| ID | Archivo | Acción | Estado |
| :--- | :--- | :--- | :--- |
| D1 | `cli/validador.rb` | Banner agregado | ✅ |
| D2 | `core/validador.rb` | Revisar - útil para validaciones | ⏸️ |
| D3 | `db/exporters/md_exporter.rb` | Banner agregado | ✅ |
### Fase 3: Manejo de Errores (Armonía)
**Objetivo**: Consistencia en manejo de excepciones.
| ID | Mejora | Estado |
| :--- | :--- | :--- |
| E1 | Agregar `rescue` global en `run` | ✅ |
| E2 | Estandarizar mensajes de error | ✅ |
| E3 | Logging de excepciones no manejadas | ✅ |
**Herramientas creadas:**
- `core/error_handler.rb` - helper reutilizable
- Excepciones personalizadas en `core/constants.rb`: `ADN::Error`, `ADN::DBError`, `ADN::ValidationError`
### Fase 4: Constantes y Config (Menos es Más)
| ID | Mejora | Estado |
| :--- | :--- | :--- |
| C1 | Documentar constantes en constants.rb | ✅ |
| C2 | Agregar constantes reutilizables (estados, modos) | ✅ |
| C3 | Validar constantes al inicio | ✅ |
**Mejoras:**
- `constants.rb` ahora incluye: estados (⏳✅❌⚠️⏸️📍), modos (P/R), DB config, excepciones
### Fase 5: Logger Mejorado (Mejora Continua)
| ID | Mejora | Estado |
| :--- | :--- | :--- |
| L1 | Agregar rotación de logs | ✅ |
| L2 | Niveles de log configurables | ✅ |
| L3 | Output JSON estructurado | ✅ |
**Mejoras:** Rotación por tamaño (>10MB), mantiene 7 archivos, nivel mínimo configurable
### Fase 6: Help Consistente (Armonía)
| ID | CLI | Mejora | Estado |
| :--- | :--- | :--- | :--- |
| H1 | Todos | HelpFormatter helper | ✅ |
**Herramienta creada:** `core/help_formatter.rb`
### Fase 7: Documentación Técnica
| ID | Documento | Contenido | Estado |
| :--- | :--- | :--- | :--- |
| DOC1 | `docs/tecnica/adn_cli.md` | Referencia CLI | ✅ |
| DOC2 | `docs/tecnica/adn_core.md` | Módulos core | ✅ |
| DOC3 | `docs/tecnica/adn_tests.md` | Guía de testing | ✅ |
### Fase 8: CI/CD (Futuro)
| ID | Mejora | Estado |
| :--- | :--- | :--- |
| CI1 | GitHub Actions para tests | ✅ |
| CI2 | Lint automatizado | ✅ |
**Archivos creados:**
- `.github/workflows/test.yml`
- `.github/workflows/lint.yml`
- `adn/tools/.rubocop.yml`
---
## Extensión P2604: Integración MSP (Marzo 2026)
> **Objetivo**: Integrar NotebookLM MSPs con el flujo de trabajo ADN
### Fase 9: Integración MSP (Armonía Integral)
| ID | Mejora | Herramienta | Estado |
| :--- | :--- | :--- | :--- |
| M1 | Auditoría de MSPs | CLI `msp:auditar` | ✅ |
| M2 | Registro de MSPs en BD | CLI `msp:registrar` | ✅ |
| M3 | Listado de MSPs disponibles | CLI `msp:listar` | ✅ |
| M4 | Documentación de integración | `docs/mcps/MSPs-ADN.md` | ✅ |
| M5 | Reutilizar NodosInfo en CLI | `nodos.rb`, `contexto.rb` | ✅ |
---
### Fase 10: Saneamiento y Consolidación (Armonía + Menos es Más)
> **Objetivo**: Un solo punto de verdad (`adn/README.md`) y un solo plan (`P2604`).
> Eliminar código muerto, archivos obsoletos y duplicaciones.
| ID | Mejora | Tipo | Estado |
| :--- | :--- | :--- | :--- |
| S1 | Eliminar `when 'triggers'` duplicado en `run` | Fix bug | ✅ |
| S2 | Eliminar `cli/commit.rb` (truncado, sin uso) | Limpieza | ✅ |
| S3 | Eliminar `cli/inicio.rb` y `cli/cierre.rb` (legacy, reemplazados por `jornada.rb`) | Limpieza | ✅ |
| S4 | Mover planes obsoletos de `docs/plan/` a `docs/_hist/` | Consolidación | ✅ |
| S5 | Mover docs técnicos duplicados (`docs/tecnica/`) a `docs/_hist/` | Consolidación | ✅ |
| S6 | Eliminar manifiesto vacío `docs/proyectos/P2604_proyecto_p2604.md` | Limpieza | ✅ |
| S7 | Corregir referencia a plan obsoleto en `run` | Fix | ✅ |
| S8 | Dejar de cargar `core/validador.rb` obsoleto en `run` | Limpieza | ✅ |
| S9 | Limpiar progreso duplicado en este plan | Doc | ✅ |
| S10 | Migrar `SubcomandoSalud` al namespace `ADN::` | Refactor | ⏳ |
---
## Progreso
```
Fase 1: ██████████ 100% (T1-T3: 15 tests)
Fase 2: ██████░░░░ 67% (D1, D3 done)
Fase 3: ██████████ 100% (E1-E3: error handler)
Fase 4: ██████████ 100% (C1-C3: constants.rb)
Fase 5: ██████████ 100% (L1-L3: logger.rb)
Fase 6: ██████████ 100% (H1: HelpFormatter)
Fase 7: ██████████ 100% (DOC1-DOC3: docs/tecnica/)
Fase 8: ██████████ 100% (CI1-CI2: GitHub Actions)
Fase 9: ██████████ 100% (M1-M5: MSP CLI)
Fase 10: █████████░ 90% (S1-S9 done, S10 pendiente)
```
---
## Métricas Totales
| Métrica | Valor |
| :--- | :--- |
| Tests pasando | 15 |
| Archivos creados | 12 |
| Archivos modificados | 8 |
| Archivos limpiados/movidos | 20+ |
| Fases completadas | 9/10 (90%) |
| Documentos técnicos | Consolidados en `adn/README.md` |
---
## Próxima Acción
**S10**: Migrar `SubcomandoSalud` al namespace `ADN::` y reescribir para consultar DB (DB-First)
---
## Referencias
- Punto de verdad: [`adn/README.md`](../../adn/README.md)
- ADN IA: [`05_ia.md`](../../adn/05_ia.md)
- Bitácoras: ID 1054-1056, 1073
- Planes históricos movidos a: `docs/_hist/plan/`