Files
dtic-DIIAA/adn/triggers.yml
T

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: true # Habilitado 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:
# adn/tools/core/triggers.rb (Fase 2)
#
# Los triggers se ejecutarán mediante:
# ./adn/tools/run triggers [--test] [--force]
#
# Para probar triggers individualmente durante el desarrollo:
# ./adn/tools/run 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.
#