Files
INFRAESTRUCTURA/scripts/monitor_estado
2026-10-03 17:13:39 +02:00
..
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00
2026-10-03 17:13:39 +02:00

Monitor de estado — Telegram + correo + Jira

Proceso en segundo plano que cada 30 minutos recoge lo del día en curso, lo archiva por fuente, genera un resumen IA y emite un aviso por voz local cuando algo requiere atención. Nunca envía mensajes a ningún medio (solo lee y avisa localmente).

Spec y plan: biblioteca_negocio_prolongo/specs/005-monitor-estado-conversaciones/.

Qué recoge

  • Telegram (sesión dedicada ~/.telegram-agent/sessions/monitor): Oscar Rodríguez, Isa, Daniel García Jiménez, Antonio Romero y el canal "Desarrollo software".
  • Correo jminguez@prolongo.es: últimos 24 h (no marca leído).
  • Jira proyecto DS: incidencias nuevas (desde el ciclo anterior) y tickets sin asignar no cerrados. Solo lectura.

Uso

python scripts/monitor_estado.py ciclo            # un ciclo y salir
python scripts/monitor_estado.py ciclo --solo correo
python scripts/monitor_estado.py daemon           # bucle cada 30 min (segundo plano)
python scripts/monitor_estado.py estado           # último resumen + rutas
python scripts/monitor_estado.py login-telegram --qr   # autorizar sesión Telegram (una vez)
python scripts/monitor_estado.py simular --de DAX --texto "Confirmado el desarrollo"
  • simular inyecta entradas ficticias en un directorio aislado (estado/monitor/simulacion/): no crea correos reales, no toca datos reales y nunca envía a Telegram.

Arranque y vigilancia

  • Tarea programada Monitor Estado (al iniciar sesión) → scripts/monitor_estado_watchdog.ps1 -Once.
  • Plugin global de OpenCode ~/.config/opencode/plugins/monitor-estado-bootstrap.ts → relanza el watchdog al arrancar OpenCode.
  • El watchdog lanza daemon solo si no corre; el propio monitor tiene un lock (instancia única).
  • Instalación: scripts/instalar_global.ps1.
powershell -ExecutionPolicy Bypass -File scripts/monitor_estado_watchdog.ps1 -Once
powershell -ExecutionPolicy Bypass -File scripts/monitor_estado_watchdog.ps1 -Stop

Configuración

estado/monitor/config.json (se autogenera desde config.example.json): intervalo, retención (30 días), fuentes de Telegram, correo, Jira, IA (OmniRoute) y aviso de voz.

Datos y logs

estado/monitor/
  conversaciones/  correo/  jira/   # ficheros del día por fuente (<YYYY-MM-DD>.md)
  visto/                            # estado "ya visto" (dedup)
  resumen_actual.md/.json           # último resumen
  ultimo_ciclo.json
  monitor_estado.out.log / .err.log # salida del daemon

Tests

python -m pytest tests/ -q

Requiere: pip install pytest qrcode (Telethon/gspread ya usados por otros watchers).