# 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. #