[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
+16 -5
View File
@@ -22,9 +22,10 @@ ENV['TZ'] = 'America/Argentina/Buenos_Aires'
# tailscale <acción> [opciones] Gestión de identidades Tailscale
# conocimiento asimilar <archivo> Asimilar documentación al ADN
# evolucion <propuesta.md> Gestionar propuesta de evolución del ADN
# msp <subcomando> Gestión de MSPs (auditar, registrar, listar)
# ayuda [subcomando] Mostrar ayuda detallada
#
# Documentación completa: docs/plan/260307-1400_Plan_Mejoras_ADN.md
# Documentación completa: docs/proy/p2604_mejoras_ADN/P2604_mejoras_ADN.md
require 'optparse'
require 'json'
@@ -43,7 +44,6 @@ end
require_relative 'core/logger'
require_relative 'core/eventos'
require_relative 'core/triggers'
require_relative 'core/validador'
require_relative 'cli/db'
require_relative 'cli/plan'
require_relative 'cli/backup'
@@ -67,6 +67,7 @@ require_relative 'cli/generar'
require_relative 'cli/salud'
require_relative 'cli/ayuda'
require_relative 'cli/nodos'
require_relative 'cli/msp'
# ─── CLI Principal ──────────────────────────────────────────────────────
class ADNCLI
@@ -126,10 +127,10 @@ class ADNCLI
@logger.info("Subcomando 'evolucion' será implementado en Fase 2")
puts "#{Color::YELLOW}⚠ El subcomando 'evolucion' será implementado en Fase 2#{Color::RESET}"
puts " Ver plan: docs/plan/260307-1400_Plan_Mejoras_ADN.md"
when 'triggers'
ADN::SubcomandoTriggers.new(args, @logger).ejecutar
when 'plan'
ADN::SubcomandoPlan.new(args, @logger).ejecutar
when 'msp'
SubcomandoMsp.new(args, @logger).ejecutar
else
@logger.error("Subcomando desconocido: #{subcomando}")
puts "#{Color::RED}✗ Subcomando desconocido: '#{subcomando}'#{Color::RESET}"
@@ -141,10 +142,20 @@ class ADNCLI
puts "\n#{Color::YELLOW}⚠ Interrumpido por el usuario#{Color::RESET}"
@logger.info("Ejecución interrumpida por usuario")
exit 130
rescue OptionParser::InvalidOption => e
@logger.error("Opción inválida: #{e.message}")
puts "#{Color::RED}✗ Error: opción inválida #{e.message}#{Color::RESET}"
puts "Usa './adn/tools/run ayuda' para ver las opciones disponibles"
exit 1
rescue ADN::Error => e
@logger.error("Error de aplicación: #{e.message}")
puts "#{Color::RED}✗ #{e.message}#{Color::RESET}"
exit 1
rescue => e
@logger.error("Error inesperado: #{e.message}", { backtrace: e.backtrace })
puts "#{Color::RED}✗ Error inesperado: #{e.message}#{Color::RESET}"
puts "#{Color::DIM}#{e.backtrace.first}#{Color::RESET}" if ENV['ADN_DEBUG']
puts "#{Color::DIM}#{e.backtrace.first(3).join("\n")}#{Color::RESET}" if ENV['ADN_DEBUG']
puts "\n#{Color::YELLOW}💡 Ejecuta con ADN_DEBUG=1 para ver el trace completo#{Color::RESET}"
exit 1
end
private