[ADN] Commit final DB-First - Actualización completa de documentación, herramientas y componentes

This commit is contained in:
Ricardo Monla
2026-03-12 06:03:48 -03:00
parent 4b000aeb89
commit e554bb5d0d
37 changed files with 1479 additions and 122 deletions
+22 -13
View File
@@ -1,5 +1,6 @@
#!/usr/bin/env ruby
# frozen_string_literal: true
ENV['TZ'] = 'America/Argentina/Buenos_Aires'
# tools/adn.rb — Interfaz de línea de comandos unificada para el sistema ADN
# ============================================================================
@@ -12,6 +13,8 @@
# Subcomandos disponibles:
# validador [--watch] [--fix] Validar cumplimiento del ADN en bitácoras
# contexto <nodo> [--cmd] Obtener contexto topológico de un nodo
# nodos <acción> [opciones] Gestión de nodos (agrupar, listar, buscar)
# jornada <acción> [modo] [hora] Gestión de jornada (iniciar, cerrar, estado)
# salud [--dashboard] [--json] Ver salud general del sistema ADN
# generar bitacora [fecha] Generar nueva bitácora (fecha: YYYY-MM-DD)
# generar nodo <nombre> Generar ficha de nodo
@@ -28,15 +31,9 @@ require 'fileutils'
require 'date'
require 'time'
module ADN
# El script ahora está en adn/tools/run, por lo que la raíz es 2 niveles arriba
PROJECT_ROOT = File.expand_path('../..', __dir__)
NODOS_DIR = File.join(PROJECT_ROOT, 'nodos')
PROYECTOS_DIR = File.join(PROJECT_ROOT, 'docs', 'proyectos')
# Corrección a las rutas de bitácoras y logs
BITACORAS_DIR = File.join(PROJECT_ROOT, 'docs', 'bitacoras')
LOGS_DIR = File.join(PROJECT_ROOT, 'docs', 'bitacoras', '_hist')
require_relative 'core/constants'
module ADN
# Aseguramos que los directorios existan
FileUtils.mkdir_p(LOGS_DIR) unless Dir.exist?(LOGS_DIR)
FileUtils.mkdir_p(BITACORAS_DIR) unless Dir.exist?(BITACORAS_DIR)
@@ -51,8 +48,9 @@ require_relative 'cli/plan'
require_relative 'cli/backup'
require_relative 'cli/triggers'
require_relative 'cli/conocimiento'
require_relative 'cli/cierre'
require_relative 'cli/inicio'
require_relative 'cli/jornada'
require_relative 'cli/proceso'
require_relative 'cli/estados'
require_relative 'core/conciliador'
require_relative 'core/colores'
@@ -66,6 +64,7 @@ require_relative 'cli/contexto'
require_relative 'cli/generar'
require_relative 'cli/salud'
require_relative 'cli/ayuda'
require_relative 'cli/nodos'
# ─── CLI Principal ──────────────────────────────────────────────────────
class ADNCLI
@@ -95,6 +94,8 @@ class ADNCLI
SubcomandoSalud.new(args, @logger).ejecutar
when 'generar'
SubcomandoGenerar.new(args, @logger).ejecutar
when 'nodos'
ADN::SubcomandoNodos.new(args, @logger).ejecutar
when 'conocimiento'
ADN::SubcomandoConocimiento.new(args, @logger).ejecutar
when 'db'
@@ -103,10 +104,18 @@ class ADNCLI
ADN::SubcomandoBackup.new(args, @logger).ejecutar
when 'triggers'
ADN::SubcomandoTriggers.new(args, @logger).ejecutar
when 'cierre'
ADN::SubcomandoCierre.new(args, @logger).ejecutar
when 'jornada'
ADN::SubcomandoJornada.new(args, @logger).ejecutar
when 'proceso'
ADN::SubcomandoProceso.new(args, @logger).ejecutar
when 'estados'
ADN::SubcomandoEstados.new(args, @logger).ejecutar
when 'inicio'
ADN::SubcomandoInicio.new(args, @logger).ejecutar
# Compatibilidad: redirigir a jornada iniciar
ADN::SubcomandoJornada.new(['iniciar'] + args, @logger).ejecutar
when 'cierre'
# Compatibilidad: redirigir a jornada cerrar
ADN::SubcomandoJornada.new(['cerrar'] + args, @logger).ejecutar
when 'ayuda', 'help', '-h', '--help'
SubcomandoAyuda.new(args, @logger).ejecutar
when 'evolucion'