[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:
@@ -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/`
|
||||
Reference in New Issue
Block a user