15 KiB
Plan Integral: Integración ADN con dtic-BITACORAs (Base de Datos)
Fecha: 8 de marzo de 2026
Autor: Sistema ADN
Versión: 1.0
Ubicación: docs/plan/260308-1200_Plan_Integral_ADN_BITACORAs.md
Estado: PLANIFICACIÓN (no iniciado)
📋 Resumen Ejecutivo
Este plan establece la integración completa del sistema ADN (actualmente basado en archivos .md) con el sistema de producción dtic-BITACORAs (basado en base de datos). El objetivo es desarrollar herramientas Ruby modulares y reutilizables que permitan la automatización first, reduciendo progresivamente la dependencia de la IA, mientras se mantiene la capacidad de orquestación manual y automática.
Meta principal: Reducir la dependencia de IA de 5-10 acciones/día a menos de 0.5 acciones/día en 8 semanas, migrando el 100% de las operaciones a herramientas Ruby autónomas que interactúen directamente con la base de datos dtic-BITACORAs.
🎯 Objetivos Estratégicos
Objetivo Principal
Integrar el ADN del proyecto srv-ns8 con dtic-BITACORAs mediante herramientas Ruby que interactúen directamente con la base de datos, reduciendo la dependencia de IA a menos de 0.5 acciones/día en 8 semanas.
Objetivos Específicos
- Migrar datos críticos de archivos
.mda la base de datos dtic-BITACORAs (100% en 8 semanas) - Desarrollar herramientas CLI Ruby para operaciones CRUD en la BD (95% operaciones vía CLI)
- Implementar sistema de triggers y automatizaciones basadas en eventos BD (80% eventos automáticos)
- Crear API RESTful para integración con frontend y otros sistemas
- Reducir dependencia de IA del 100% al 5% en operaciones diarias
- Documentar completamente el sistema para mantenimiento autónomo
🔄 Reutilización de Herramientas Existentes (tools/adn/)
Componentes Directamente Reutilizables
- CLI Framework (
adn.rb) - Extensible para comandos de BD - Sistema de Logging (
logger.rb) - Para registro estructurado - Validador de Estructura (
validador.rb) - Adaptable a validaciones de BD - Configuración Centralizada (
config.yml) - Ampliable para conexiones BD
Componentes a Adaptar
- Hook Git pre-commit - Para validación de scripts Ruby, no archivos .md
- Generador de Plantillas - Para crear scripts de automatización, no documentos
Componentes a Descartar
- Validador de formato .md - Reemplazado por validadores de datos BD
- Sistema de archivos .md - Migrado a BD
🏗️ Arquitectura Propuesta
Estructura de Directorios
tools/
├── adn/ # Herramientas existentes (compatibilidad)
├── bitacoras-db/ # NUEVO: Herramientas específicas para BD
│ ├── core/ # Componentes reutilizables
│ ├── cli/ # Comandos CLI para BD
│ ├── api/ # API REST (futuro)
│ ├── importers/ # Migradores .md → BD
│ ├── triggers/ # Sistema de automatización
│ └── dashboard/ # Frontend autónomo
├── shared/ # Componentes compartidos
│ ├── validators/ # Validaciones reutilizables
│ ├── connectors/ # Conectores a servicios externos
│ └── templates/ # Plantillas para código
└── config/ # Configuración compartida
├── database.yml # Configuración BD
└── adn.yml # Configuración ADN extendida
Stack Tecnológico
- Backend: Ruby 3.x + PostgreSQL/MySQL (según dtic-BITACORAs)
- CLI: Thor (ya usado en
adn.rb) - API: Sinatra (liviano) o Rails API (si se necesita más estructura)
- Frontend: HTML/CSS/JS simple (sin frameworks pesados)
- Automatización: Cron + Sistema de triggers propio
- Monitoreo: Logs estructurados JSON + métricas de rendimiento
📅 Fases de Implementación (8 semanas)
✅ FASE 0: Preparación y Análisis (Semana 0 - PRE-REQUISITOS)
- A1: Documentar esquema actual de dtic-BITACORAs (Esquema documentado en base de datos PostgreSQL)
- A2: Identificar endpoints o métodos de conexión a BD (Completado durante implementación Fase 1)
- A3: Establecer entorno de desarrollo Ruby con gemas necesarias (Completado durante implementación Fase 1)
- A4: Crear repositorio o estructura de directorios inicial (Completado durante implementación Fase 1)
- A5: Definir protocolo de migración de datos .md → BD (Completado durante implementación Fase 1)
- A6: Establecer métricas base de dependencia de IA (Completado durante implementación Fase 1)
🟡 FASE 1: Núcleo de Conexión BD (Semana 1-2)
Objetivo: Establecer conexión robusta y operaciones CRUD básicas
Semana 1: Conexión y Modelos
- 1.1: Investigar y documentar esquema BD dtic-BITACORAs (Implementado en herramientas ADN BITACORAs)
- 1.2: Crear clase
BitacoraDBcon conexión configurable (Implementado en herramientas ADN BITACORAs) - 1.3: Implementar modelos Ruby para tablas principales (Implementado en herramientas ADN BITACORAs)
- 1.4: Crear sistema de migración inicial (Implementado en herramientas ADN BITACORAs)
- 1.5: Desarrollar scripts de validación de datos BD (Implementado en herramientas ADN BITACORAs)
- 1.6: Configurar logging específico para operaciones BD (Implementado en herramientas ADN BITACORAs)
- 1.7: Documentar API interna de la clase
BitacoraDB(Implementado en herramientas ADN BITACORAs)
Semana 2: Operaciones Básicas y Pruebas
- 2.1: Implementar CRUD completo para eventos/bitácoras (Implementado en herramientas ADN CLI y BD)
- 2.2: Crear sistema de búsqueda y filtrado
- 2.3: Desarrollar herramientas de backup/restore de BD (Implementado en herramientas ADN CLI y BD)
- 2.4: Escribir pruebas unitarias para operaciones BD
- 2.5: Crear documentación de instalación y configuración
- 2.6: Migrar primeros 10% de datos críticos a BD (Implementado en herramientas ADN CLI y BD)
- 2.7: Validar integridad de datos migrados (Implementado en herramientas ADN CLI y BD)
🟠 FASE 2: Herramientas CLI Avanzadas (Semana 3-4)
Objetivo: Extender CLI existente con comandos específicos para BD
Semana 3: Extensión de CLI
- 3.1: Integrar comandos BD en CLI existente (Implementado en herramientas ADN CLI y BD)
- 3.2: Implementar
adn db evento:crearcon validaciones (Implementado en herramientas ADN CLI y BD) - 3.3: Implementar
adn db evento:listarcon filtros avanzados (Implementado en herramientas ADN CLI y BD) - 3.4: Crear
adn db salud:bdpara diagnóstico de BD (Implementado en herramientas ADN CLI y BD) - 3.5: Desarrollar
adn importarpara migración masiva (Implementado en herramientas ADN CLI y BD) - 3.6: Agregar autocompletado a comandos CLI
- 3.7: Crear sistema de help contextual para comandos (Implementado en herramientas ADN CLI y BD)
Semana 4: Automatización Básica
- 4.1: Implementar sistema de triggers basado en YAML (Implementado en herramientas ADN CLI y BD)
- 4.2: Crear monitor de cambios en BD (polling/LISTEN)
- 4.3: Desarrollar acciones automáticas para eventos comunes
- 4.4: Configurar notificaciones (Slack/email) desde triggers
- 4.5: Crear sistema de plantillas para eventos recurrentes
- 4.6: Implementar validación automática de datos entrantes
- 4.7: Documentar sistema de triggers con ejemplos reales
🔴 FASE 3: Sistema Integrado (Semana 5-6)
Objetivo: Desarrollar API y componentes reutilizables
Semana 5: API y Componentes Compartidos
- 5.1: Diseñar e implementar API REST básica (Sinatra)
- 5.2: Crear módulos compartidos en
tools/shared/ - 5.3: Implementar sistema de autenticación/authorización
- 5.4: Desarrollar validadores reutilizables para front/back
- 5.5: Crear sistema de caché para consultas frecuentes
- 5.6: Implementar paginación y ordenamiento en API
- 5.7: Documentar endpoints API con OpenAPI/Swagger
Semana 6: Dashboard y Frontend
- 6.1: Desarrollar dashboard web básico (HTML/CSS/JS)
- 6.2: Implementar visualización de métricas en tiempo real
- 6.3: Crear componentes UI reutilizables
- 6.4: Integrar gráficos y reportes automáticos
- 6.5: Implementar sistema de búsqueda en frontend
- 6.6: Crear vistas para móvil/responsive
- 6.7: Documentar uso del dashboard
🟣 FASE 4: Madurez y Autonomía (Semana 7-8)
Objetivo: Reducir al mínimo la dependencia de IA y optimizar
Semana 7: Optimización y Autonomía
- 7.1: Implementar sistema de sugerencias automáticas
- 7.2: Crear scripts de mantenimiento autónomo
- 7.3: Optimizar consultas y rendimiento de BD
- 7.4: Implementar sistema de versionado de datos
- 7.5: Crear herramientas de análisis de uso del sistema
- 7.6: Desarrollar sistema de reportes automáticos
- 7.7: Reducir dependencia IA a < 1 acción/día
Semana 8: Documentación y Transición
- 8.1: Documentar arquitectura completa del sistema
- 8.2: Crear guías de onboarding para nuevos desarrolladores
- 8.3: Desarrollar suite completa de pruebas
- 8.4: Crear plan de rollback y contingencia
- 8.5: Documentar lecciones aprendidas y mejoras futuras
- 8.6: Realizar migración completa 100% .md → BD
- 8.7: Establecer métricas finales y KPI alcanzados
📊 KPIs y Métricas de Éxito
KPIs de Autonomía
| KPI | Línea Base | Meta Semana 4 | Meta Semana 8 | Medición |
|---|---|---|---|---|
| Acciones IA/día | 5-10 | < 3 | < 0.5 | adn metrics autonomia |
| % Operaciones vía CLI Ruby | 0% | 60% | 95% | Logs del sistema |
| Eventos creados automáticamente | 0% | 40% | 80% | BD eventos.source |
| Tiempo de carga (evento) | N/A | < 10s | < 2s | adn metrics rendimiento |
| Datos en BD vs .md | 0%/100% | 40%/60% | 100%/0% | adn metrics migracion |
KPIs de Calidad
- Cobertura de pruebas: > 80% (medido con SimpleCov)
- Tiempo de respuesta API: < 200ms (p95) (medido con NewRelic o similar)
- Disponibilidad del sistema: 99.5% (monitoreo 24/7)
- Documentación completa: 100% de componentes documentados
- Mantenibilidad: Score CodeClimate > 4.0
🛠️ Checklist de Inicio (Pre-requisitos)
Información Requerida
- Esquema de BD dtic-BITACORAs (tablas, relaciones, tipos de datos)
- Método de conexión (host, puerto, credenciales, driver)
- Requisitos de seguridad (SSL, VPN, firewalls)
- Volumen de datos actual (número de registros, tamaño estimado)
- Cronograma de migración (ventanas de mantenimiento)
Entorno de Desarrollo
- Ruby 3.x instalado y configurado
- Gemas base: pg (o mysql2), thor, sinatra, rake
- Acceso a BD de desarrollo (réplica o sandbox)
- Sistema de control de versiones (Git)
- Entorno de pruebas configurado
Recursos Humanos
- Responsable técnico asignado
- Equipo de desarrollo identificado (si aplica)
- Stakeholders informados del plan
- Usuario final (tú) disponible para feedback temprano
🔄 Flujo de Trabajo Propuesto
Diario
- Ejecutar
adn db salud:bdpara verificar estado - Revisar triggers automáticos ejecutados
- Crear eventos vía CLI (
adn db evento:crear) - Monitorear métricas de autonomía
Semanal
- Ejecutar migración incremental (.md → BD)
- Revisar reportes automáticos de uso
- Actualizar documentación según avances
- Ajustar triggers basado en patrones detectados
Mensual
- Análisis completo de métricas de autonomía
- Optimización de consultas y rendimiento
- Revisión de seguridad y backups
- Planificación de próximas mejoras
⚠️ Riesgos y Mitigación
| Riesgo | Probabilidad | Impacto | Mitigación |
|---|---|---|---|
| Esquema BD incompatible | Media | Alto | Fase 0 de análisis detallado |
| Pérdida de datos en migración | Baja | Crítico | Backups + migración incremental |
| Rendimiento insuficiente | Media | Medio | Optimización progresiva + caché |
| Dependencia IA no reduce | Alta | Alto | Enfoque en herramientas autónomas desde día 1 |
| Falta de adopción del equipo | Baja | Medio | CLI familiar (extensión de adn.rb) |
| Cambios en dtic-BITACORAs | Media | Alto | Abstraction layer + pruebas de regresión |
📈 Medición del Progreso
Sistema de Checkpoints
- Checkpoint Semana 2: Conexión BD operativa + migración 10%
- Checkpoint Semana 4: CLI completo + triggers básicos
- Checkpoint Semana 6: API funcional + dashboard básico
- Checkpoint Semana 8: Sistema autónomo + documentación completa
Métricas Automáticas
# Comandos para medir progreso (por implementar)
adn metrics autonomia # Muestra nivel de dependencia IA
adn metrics cobertura # Cobertura de código y pruebas
adn metrics rendimiento # Tiempos de respuesta y uso BD
adn metrics migracion # Porcentaje de datos migrados
Tablero de Control
Se implementará un dashboard en /dashboard/progreso que muestre:
- Gráfico de avance por fases
- KPIs actuales vs metas
- Tareas completadas/pendientes
- Alertas de riesgos
🚀 Próximos Pasos Inmediatos
-
Completar Fase 0 (Pre-requisitos):
- Proporcionar esquema de BD dtic-BITACORAs
- Confirmar método de conexión y credenciales
- Establecer entorno de desarrollo Ruby
-
Iniciar Fase 1 (Semana 1):
- Crear estructura de directorios inicial
- Implementar clase
BitacoraDBbásica - Conectar con BD de desarrollo
-
Planificar primera migración:
- Seleccionar primeros archivos .md a migrar
- Definir formato de transformación
- Establecer criterios de validación post-migración
📝 Notas Finales
Este plan representa una transformación completa del sistema ADN hacia una arquitectura basada en base de datos, manteniendo los principios de autonomía, modularidad y reutilización. La clave del éxito está en:
- Iteraciones pequeñas y frecuentes - No intentar migrar todo de una vez
- Feedback continuo del usuario final (tú) - Validación temprana y ajustes rápidos
- Enfoque en herramientas autónomas desde el inicio - Cada comando CLI debe ejecutarse sin IA
- Documentación en paralelo al desarrollo - No dejar para el final
Estado actual: PLANIFICACIÓN COMPLETADA ✅
Siguiente acción: Iniciar Fase 0 (Pre-requisitos)
🔄 Historial de Cambios
| Fecha | Versión | Cambios | Autor |
|---|---|---|---|
| 2026-03-08 | 1.0 | Creación inicial del plan integral | Sistema ADN |
Documento generado automáticamente por el sistema ADN - Última actualización: 2026-03-08 12:00