# 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 ```powershell 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 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 (.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 ```powershell python -m pytest tests/ -q ``` Requiere: `pip install pytest qrcode` (Telethon/gspread ya usados por otros watchers).