204 lines
8.7 KiB
YAML
204 lines
8.7 KiB
YAML
# triggers.yml — Configuración de triggers para sincronización automática del ADN
|
|
# =============================================================================
|
|
# Este archivo define las reglas de triggers que implementan el Principio de
|
|
# Armonía Integral: cuando un dato cambia en un sitio, se propaga automáticamente
|
|
# a todos los demás.
|
|
#
|
|
# 📅 Última actualización: 2026-03-07 (Fase 2: Automatización Inteligente)
|
|
# 📚 Referencia: adn/02_bitacora.md (Triggers de sincronización en cascada)
|
|
# 📚 Plan: docs/plan/260307-1400_Plan_Mejoras_ADN.md
|
|
#
|
|
# Estructura de un trigger:
|
|
# - evento: Tipo de evento que dispara el trigger
|
|
# - condicion: Expresión que debe cumplirse (opcional)
|
|
# - accion: Acción a ejecutar cuando se dispara el trigger
|
|
# - descripcion: Descripción humana del propósito del trigger
|
|
# - habilitado: true/false (permite desactivar triggers individualmente)
|
|
#
|
|
|
|
# ─── Triggers de Bitácoras (Sincronización en Cascada) ──────────────────
|
|
# Implementan los triggers definidos en adn/02_bitacora.md sección 5.
|
|
|
|
bitacoras:
|
|
# Trigger 1: Detalle → En Proceso
|
|
# Cuando se inserta una nueva viñeta en la cronología de una tarea activa (⏳),
|
|
# se actualiza la columna DETALLE de esa misma tarea en la tabla "En Proceso".
|
|
- evento: "nueva_viñeta_cronologia"
|
|
condicion: "estado_tema == '⏳'"
|
|
accion: "actualizar_detalle_en_proceso"
|
|
descripcion: "Propagar detalles de tareas activas a tabla En Proceso"
|
|
habilitado: true
|
|
|
|
# Trigger 2: Cierre → Resumen Integral
|
|
# Cuando el estado de la última tarea activa de un Nodo cambia de ⏳ a ✅ (o ⚠️),
|
|
# se desencadena la redacción o actualización de su RESUMEN INTEGRAL.
|
|
- evento: "estado_cambiado"
|
|
condicion: "estado_anterior == '⏳' and (estado_nuevo == '✅' or estado_nuevo == '⚠️')"
|
|
accion: "actualizar_resumen_integral"
|
|
descripcion: "Generar resumen integral al cerrar actividades de un nodo"
|
|
habilitado: true
|
|
|
|
# Trigger 3: Cambio de Día → Rollover
|
|
# Al crear un nuevo archivo de bitácora:
|
|
# 1. Migrar actividades Pendientes y En Proceso hacia las tablas del nuevo día.
|
|
# 2. En la bitácora del día fenecido, cambiar Estado Tema de las tareas migradas a ➡️.
|
|
# 3. Inyectar hipervínculos bidireccionales de trazabilidad transdiaria.
|
|
- evento: "nueva_bitacora_creada"
|
|
condicion: ""
|
|
accion: "ejecutar_rollover"
|
|
descripcion: "Migrar tareas pendientes/en proceso al nuevo día con referencias bidireccionales"
|
|
habilitado: true
|
|
|
|
# Trigger 4: Actualización de Métricas Híbridas
|
|
# Cuando se registra una métrica híbrida ([Físico/Remoto:]), extraer los datos
|
|
# para el dashboard de telemetría.
|
|
- evento: "metrica_hibrida_registrada"
|
|
condicion: ""
|
|
accion: "extraer_metricas_telemetria"
|
|
descripcion: "Extraer métricas híbridas para gráficos del dashboard"
|
|
habilitado: true
|
|
|
|
# Trigger 5: Validación de Formato en Tiempo Real
|
|
# Cuando se guarda una bitácora, validar automáticamente el formato.
|
|
- evento: "bitacora_guardada"
|
|
condicion: ""
|
|
accion: "validar_formato_adn"
|
|
descripcion: "Validar formato del ADN después de guardar cambios"
|
|
habilitado: true
|
|
|
|
# ─── Triggers de Nodos (Actualización de Ontología) ──────────────────────
|
|
# Mantienen la coherencia entre las fichas de nodos y la ontología del sistema.
|
|
|
|
nodos:
|
|
# Trigger 1: Cambio en Ficha de Nodo → Actualizar Ontología
|
|
# Cuando se modifica una ficha de nodo (ej: IP, rol, estado), actualizar
|
|
# la referencia correspondiente en adn/01_ontologia.md.
|
|
- evento: "nodo_modificado"
|
|
condicion: ""
|
|
accion: "actualizar_ontologia"
|
|
descripcion: "Propagar cambios de nodos a la ontología del sistema"
|
|
habilitado: true
|
|
|
|
# Trigger 2: Nuevo Nodo → Crear Referencia en Proyectos Relacionados
|
|
# Cuando se crea una nueva ficha de nodo, verificar si pertenece a algún
|
|
# proyecto y agregarlo a la sección "Nodos Involucrados".
|
|
- evento: "nuevo_nodo_creado"
|
|
condicion: ""
|
|
accion: "vincular_nodo_a_proyectos"
|
|
descripcion: "Vincular nuevo nodo a proyectos relacionados"
|
|
habilitado: true
|
|
|
|
# Trigger 3: Cambio de Estado de Nodo → Actualizar Dashboard
|
|
# Cuando cambia el estado operativo de un nodo (ej: ✅ → ⚠️), actualizar
|
|
# el dashboard de monitoreo.
|
|
- evento: "estado_nodo_cambiado"
|
|
condicion: ""
|
|
accion: "actualizar_dashboard_estados"
|
|
descripcion: "Reflejar cambios de estado de nodos en el dashboard"
|
|
habilitado: true
|
|
|
|
# ─── Triggers de Proyectos (Integración Transversal) ─────────────────────
|
|
# Conectan proyectos con sus bitácoras y nodos asociados.
|
|
|
|
proyectos:
|
|
# Trigger 1: Nuevo Hito de Proyecto → Registrar en Bitácora
|
|
# Cuando se agrega o completa un hito en un manifiesto de proyecto,
|
|
# registrar el evento en la bitácora del día actual.
|
|
- evento: "hito_proyecto_actualizado"
|
|
condicion: ""
|
|
accion: "registrar_en_bitacora"
|
|
descripcion: "Registrar hitos de proyectos en bitácoras diarias"
|
|
habilitado: true
|
|
|
|
# Trigger 2: Cambio en Proyecto → Actualizar Referencias Cruzadas
|
|
# Cuando se modifica un manifiesto de proyecto, actualizar las referencias
|
|
# en nodos y bitácoras relacionadas.
|
|
- evento: "proyecto_modificado"
|
|
condicion: ""
|
|
accion: "actualizar_referencias_cruzadas"
|
|
descripcion: "Mantener coherencia en referencias a proyectos"
|
|
habilitado: true
|
|
|
|
# Trigger 3: Cierre de Proyecto → Generar Reporte Final
|
|
# Cuando un proyecto cambia a estado ✅, generar un reporte de cierre
|
|
# y archivar documentación relevante.
|
|
- evento: "estado_proyecto_cambiado"
|
|
condicion: "estado_nuevo == '✅'"
|
|
accion: "generar_reporte_cierre"
|
|
descripcion: "Generar reporte de cierre para proyectos finalizados"
|
|
habilitado: true
|
|
|
|
# ─── Triggers de Evolución del ADN (Propagación de Cambios) ──────────────
|
|
# Implementan la Evolución Progresiva: cuando se actualiza una hebra del ADN,
|
|
# propagar los cambios a las dependencias.
|
|
|
|
adn:
|
|
# Trigger 1: Nueva Regla en ADN → Actualizar Bitácoras Activas
|
|
# Cuando se agrega o modifica una regla en una hebra del ADN, verificar
|
|
# si las bitácoras activas necesitan actualizarse.
|
|
- evento: "hebra_adn_modificada"
|
|
condicion: ""
|
|
accion: "verificar_impacto_bitacoras"
|
|
descripcion: "Propagar cambios en hebras ADN a bitácoras afectadas"
|
|
habilitado: true
|
|
|
|
# Trigger 2: Cambio en Iconografía → Actualizar Referencias Visuales
|
|
# Cuando se actualiza adn/04_iconografia.md, escanear bitácoras y proyectos
|
|
# para actualizar iconos obsoletos.
|
|
- evento: "iconografia_actualizada"
|
|
condicion: ""
|
|
accion: "actualizar_iconos_obsoletos"
|
|
descripcion: "Actualizar iconografía en toda la documentación"
|
|
habilitado: true
|
|
|
|
# Trigger 3: Nueva Directiva IA → Notificar y Aplicar
|
|
# Cuando se actualiza adn/05_ia.md, notificar al operador y aplicar
|
|
# las nuevas directivas en las siguientes interacciones.
|
|
- evento: "directivas_ia_actualizadas"
|
|
condicion: ""
|
|
accion: "notificar_y_aplicar_directivas"
|
|
descripcion: "Aplicar nuevas directivas de IA tras actualización"
|
|
habilitado: true
|
|
|
|
# ─── Configuración de Ejecución ──────────────────────────────────────────
|
|
configuracion:
|
|
# Habilitar/deshabilitar todo el sistema de triggers
|
|
sistema_habilitado: false # Cambiar a true en Fase 2
|
|
|
|
# Modo de ejecución
|
|
modo: "batch" # batch, instantaneo, cron
|
|
intervalo_cron: "*/5 * * * *" # Ejecutar cada 5 minutos si modo=cron
|
|
|
|
# Logging y depuración
|
|
logging:
|
|
nivel: "INFO" # DEBUG, INFO, ADVERTENCIA, ERROR
|
|
archivo: "../../logs/adn/triggers.log"
|
|
formato: "json" # json, texto
|
|
|
|
# Seguridad
|
|
verificar_permisos: true
|
|
max_ejecuciones_paralelas: 3
|
|
|
|
# Notificaciones
|
|
notificar_errores: true
|
|
notificar_ejecucion_exitosa: false
|
|
|
|
# ─── Notas de Implementación ─────────────────────────────────────────────
|
|
#
|
|
# 📋 ESTADO: CONFIGURACIÓN PRELIMINAR
|
|
# Este archivo define la configuración para el sistema de triggers que será
|
|
# implementado en la Fase 2 del plan de mejoras del ADN.
|
|
#
|
|
# La implementación del motor de triggers se encuentra en:
|
|
# tools/adn/triggers.rb (Fase 2)
|
|
#
|
|
# Los triggers se ejecutarán mediante:
|
|
# ruby tools/adn.rb triggers [--test] [--force]
|
|
#
|
|
# Para probar triggers individualmente durante el desarrollo:
|
|
# ruby tools/adn.rb triggers --test --trigger="nombre_del_trigger"
|
|
#
|
|
# ⚠️ ADVERTENCIA: No modificar manualmente las secciones marcadas como
|
|
# "GENERADO AUTOMÁTICAMENTE" una vez que el sistema esté en producción.
|
|
#
|