detector-de-silencio

Detecta procesos que se detienen silenciosamente sin errores ni fallos, basándose en la falta de emisión de señales periódicas.

¿Qué es detector-de-silencio?

Este skill detecta fallos silenciosos que las herramientas de monitoreo basadas en errores no pueden ver: procesos que simplemente 'se quedan en silencio' sin lanzar excepciones o fallos. Es ideal para flujos con marcas de tiempo de emisión periódicas (loggers, heartbeats, cron jobs, loops de agentes, feeds de datos) donde se espera una cadencia determinada. Funciona comparando la última señal recibida con el intervalo esperado multiplicado por un factor configurable (por defecto 3.0), considerando SILENCIOSO cuando la última señal es más antigua que ese umbral. Los usuarios pueden ajustar el multiplicador para equilibrar la latencia de detección contra falsas alarmas en cadencias irregulares. Es compatible con cualquier flujo de datos temporal y se integra fácilmente como script Python importable o mediante entrada JSON en línea de comandos. La herramienta incluye una evaluación reproducible (benchmark) con 105 casos etiquetados que muestra una precisión del 83.8% (TPR 81.8% / TNR 86.0%), con todos los errores concentrados en la 'zona gris' cercana al umbral. Los modos de fallo documentados incluyen falsas alarmas en flujos vivos pero lentos que cruzan el umbral por casualidad, y una latencia de detección de una ventana en procesos que acaban de morir.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add alidoesAi/alidoesai-skills

Installed? Explore more Investigación y análisis de datos skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace detector-de-silencio?

Detecta el fallo que el monitoreo basado en errores no puede ver: un proceso que simplemente se queda en silencio. Sin excepción, sin caída — simplemente deja de emitir, y te enteras días después.

Cuándo usarlo

  • Tienes un flujo de marcas de tiempo de emisión (un logger, heartbeat, cron job, bucle de agente, feed de datos) y una cadencia esperada, y quieres saber si se ha detenido.
  • Quieres una verificación determinista y reproducible que puedas conectar en un barrido de integridad diario.

Cómo funciona (un solo parámetro)

SILENCIOSO cuando la señal más reciente es más antigua que expected_interval_sec * multiplier (por defecto multiplier = 3.0 → aproximadamente tres latidos perdidos). Un flujo vacío es SILENCIOSO. El multiplicador intercambia latencia de detección (más bajo = detectar una muerte real más rápido) contra falsas alarmas en cadencias irregulares (más alto = más tolerante). Establece expected_interval_sec en la brecha típica del flujo; si la cadencia es irregular, ajústalo cerca de la brecha p95 y menciona esa decisión.

Ejecutarlo

echo '{"now": 1750000000, "expected_interval_sec": 60,
       "timestamps": [1749999940, 1749999990]}' > input.json
python3 detector.py input.json     # exit 0 = saludable, exit 1 = silencioso (alertable)

O importarlo: from detector import detect; detect(now, timestamps, expected_interval_sec, multiplier=3.0).

Salida

{ "status": "silent", "reason": "last signal 19880s old vs threshold 180s",
  "last_age_sec": 19880, "threshold_sec": 180.0 }

Limitaciones conocidas (medidas, no afirmadas — ver BENCHMARK.md)

En un conjunto etiquetado de 105 casos obtiene una precisión del 83.8% (TPR 81.8% / TNR 86.0%). Cada error está en la 'zona gris' de 2–4× cerca del umbral; los casos claros son 100% correctos. Dos modos de fallo honestos: (1) falsas alarmas en flujos vivos pero actualmente lentos que cruzaron el 3× por casualidad; (2) una latencia de detección de una ventana en un flujo que acaba de morir. Ajusta el multiplier según tu preferencia de latencia/falsa alarma. La evaluación es reproducible — vuelve a ejecutarla y verifica los números tú mismo.

Skills relacionados