Refactor(ADN): Optimización de la arquitectura y reparación de subcomandos

- Reestructuración del CLI en módulos discretos (core/, comando/, config/, clientes/)
- Migración del punto de entrada tools/adn.rb hacia el launcher ejecutable tools/adn/run
- Simplificación de nombres de comandos (remoción prefijo subcomando_)
- Corrección de rutas base transversales (PROJECT_ROOT, BITACORAS_DIR)
- Reescritura integral de sentencias require_relative
- Restauración de sintaxis en archivo sync.rb truncado
This commit is contained in:
Ricardo Monla
2026-03-07 09:45:21 -03:00
parent 39e3e130e6
commit c4c761e408
13 changed files with 365 additions and 75 deletions
+198
View File
@@ -0,0 +1,198 @@
# config.yml — Configuración centralizada para el sistema ADN
# =============================================================
# Este archivo define la configuración para todas las herramientas
# del sistema ADN. Todas las rutas son relativas al directorio
# raíz del proyecto (dtic-srv-NS8).
#
# 📅 Última actualización: 2026-03-07 (Fase 1: Núcleo Autónomo)
# 📚 Documentación: docs/plan/260307-1400_Plan_Mejoras_ADN.md
# ─── Rutas del proyecto ─────────────────────────────────────
rutas:
# Directorio raíz del proyecto (se calcula automáticamente)
proyecto: "../.."
# Directorios de contenido
adn: "../../adn"
bitacoras: "../../bitacoras"
nodos: "../../nodos"
proyectos: "../../proyectos"
logs: "../../logs/adn"
tmp: "../../tmp"
# Herramientas existentes
ns8_candados: "../ns8-candados/ns8-candados.rb"
# ─── Configuración del validador ────────────────────────────
validador:
# Modos de operación
watch_mode: false # Monitorear cambios en tiempo real (Fase 1)
strict_mode: true # Rechazar errores graves inmediatamente
# Validaciones específicas
validar_formato_tiempo: true # Formato HH:MM (sin "hs")
validar_iconografia: true # Iconos de estado correctos
validar_metricas_hibridas: true # Presencia de [Físico/Remoto:]
validar_referencias_rollover: true # Hipervínculos bidireccionales
# Hooks Git
pre_commit_hook: true # Rechazar commits con errores (Fase 1)
pre_push_hook: false # Validación antes de push (Fase 2)
# Notificaciones
notificar_desktop: false # Notificaciones desktop (libnotify)
notificar_email: false # Notificaciones email (Fase 3)
# ─── Sistema de triggers ────────────────────────────────────
triggers:
enabled: false # Habilitado en Fase 2
config_file: "triggers.yml" # Reglas de triggers (Fase 2)
# Triggers predefinidos (se implementarán)
detectar_cambio_estado: true # Estado ⏳ → ✅ dispara resumen
detectar_nueva_bitacora: true # Crear bitácora dispara rollover
detectar_modificacion_nodo: true # Cambio en nodo actualiza ontología
# Ejecución automática
ejecutar_en_cron: false # Tareas periódicas via cron (Fase 2)
intervalo_cron: "*/5 * * * *" # Cada 5 minutos
# ─── Motor de contexto ──────────────────────────────────────
contexto:
cache_habilitado: true # Cache de análisis topológico
cache_ruta: "../../tmp/contexto-cache.json"
cache_ttl: 300 # Tiempo de vida en segundos (5 min)
# Análisis automático
analizar_topologia: true # Analizar ontología y proyectos
sugerir_comandos_ssh: true # Generar comandos con ProxyJump
detectar_requisitos_acceso: true # Identificar saltos de red
# ─── Dashboard web ──────────────────────────────────────────
dashboard:
enabled: false # Habilitado en Fase 3
port: 4567 # Puerto del servidor Sinatra
host: "localhost" # Host de acceso
auto_open: true # Abrir navegador automáticamente
# Características
websockets: true # Actualizaciones en tiempo real
metricas_tiempo_real: true # Gráficos de métricas híbridas
alertas_visuales: true # Alertas de inconsistencias
# Integración
api_json: true # API JSON para integración externa
integracion_dashboard_principal: true # Con dashboard/index.html
# ─── Sistema de logging ─────────────────────────────────────
logging:
nivel: "INFO" # DEBUG, INFO, EXITO, ADVERTENCIA, ERROR
directorio: "../../logs/adn"
# Formatos
formato_archivo: "json" # JSON estructurado
formato_terminal: "color" # color, texto, none
# Rotación
rotacion_diaria: true # Nuevo archivo cada día
retencion_dias: 30 # Conservar logs por 30 días
# Depuración
debug_detallado: false # Backtraces completos (ADN_DEBUG=1)
# ─── Sistema de backup y versionado ─────────────────────────
backup:
enabled: false # Habilitado en Fase 3
directorio_destino: "../../dtic-BKPs/adn"
# Versionado semántico
versionado_semantico: true # adn-1.2.3.tar.gz
formato_version: "major.features.fixes"
# Frecuencia
automatico: false # Backup automático
frecuencia: "daily" # daily, weekly, monthly
# Cifrado
cifrar: true # Integrar con ns8-candados
comprimir: true # Comprimir en .tar.gz
# ─── Proceso de evolución del ADN ───────────────────────────
evolucion:
# Flujo de trabajo formal
propuestas_directorio: "../../docs/plan"
periodo_revision_horas: 48 # 48 horas para revisión
# Control de versiones
tag_commits: true # Tag [ADN-EVOL] en commits
requerir_aprobacion: true # Requerir aprobación explícita
# Comunicación
notificar_bitacoras: true # Comunicar a bitácoras activas
actualizar_indice: true # Actualizar 00_indice.md automáticamente
# ─── Seguridad e integración ────────────────────────────────
seguridad:
# Integración con ns8-candados
usar_ns8_candados: true # Usar bóveda de secretos
evitar_texto_plano: true # Nunca mostrar secretos
# Auditoría
auditar_uso_secretos: false # Log de uso de secretos (Fase 3)
log_accesos: true # Registrar accesos a herramientas
# Permisos
verificar_permisos_archivos: true # Verificar chmod 0600 en configs
# ─── Configuración de desarrollo ────────────────────────────
desarrollo:
# Pruebas
ejecutar_pruebas: false # Ejecutar spec/ al desarrollar
cobertura_minima: 80 # % mínimo de cobertura
# Debug
modo_verbose: false # Salida detallada
simular_errores: false # Simular errores para testing
# Métricas
reportar_metricas_desempeno: false # Tiempos de ejecución, etc.
# ─── Integración con dtic-BITACORAs ──────────────────────────
dtic_bitacoras:
# Configuración de API
api_url: "http://localhost:3002" # URL base de la API
api_timeout: 30 # Timeout en segundos
# Sincronización automática
sincronizacion_automatica: false # Sincronizar .md → DB automáticamente
sincronizar_al_iniciar: true # Sincronizar al iniciar herramientas
# Endpoints principales
endpoints:
salud: "/health"
nodos: "/api/nodos"
bitacoras: "/api/bitacoras"
entradas: "/api/entradas"
proyectos: "/api/proyectos"
# Formato de datos
formato_estado_default: "⏳"
formato_modo_default: "P"
# Cache
cache_habilitado: true
cache_ttl: 300 # 5 minutos
# ─── Reducción de dependencia de IA ─────────────────────────
autonomia:
# KPIs objetivo (8 semanas)
kpi_acciones_ia_dia: 2 # Meta: <2 acciones IA/día
kpi_triggers_automaticos: 90 # Meta: 90% triggers automáticos
kpi_scripts_sin_ia: 85 # Meta: 85% scripts sin IA
# Transición
fase_actual: 1 # 1-4 según plan
modo_transicion: "coexistencia" # coexistencia, transferencia, autonomia
# Monitoreo
reportar_metricas_autonomia: true # Generar reportes periódicos