détecteur-silence

Détecte les pannes invisibles par la surveillance des erreurs : un processus qui devient silencieux sans planter ni émettre d'exception.

Qu'est-ce que détecteur-silence ?

Le détecteur de silence est un outil spécialisé pour identifier les défaillances silencieuses dans les flux de données, là où les erreurs explicites (exceptions, plantages) sont absentes. Il se base sur l'analyse des timestamps d'émission : si le dernier signal est plus ancien qu'un seuil calculé à partir de l'intervalle attendu et d'un multiplicateur configurable, il déclenche une alerte. Cela permet de détecter qu'un processus (logger, heartbeat, cron job, boucle d'agent, flux de données) a cessé de fonctionner sans bruit. L'outil est particulièrement utile pour les tâches d'intégrité quotidienne, où une simple vérification déterministe peut prévenir des découvertes tardives. Il supporte les environnements CLI (via fichier JSON) et Python (import de fonction) et est livré avec un benchmark reproductible (83,8% de précision). Les limites sont documentées : les faux positifs surviennent dans une zone grise autour du seuil, et le multiplicateur permet d'équilibrer latence de détection et fausses alarmes.

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

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait détecteur-silence ?

Détecte les pannes que la surveillance des erreurs ne voit pas : un processus qui devient silencieux. Pas d'exception, pas de plantage — il cesse simplement d'émettre, et vous le découvrez des jours plus tard.

Quand l'utiliser

  • Vous avez un flux d'horodatages d'émission (un logger, heartbeat, cron job, boucle d'agent, flux de données) et une cadence attendue, et vous voulez savoir s'il s'est arrêté.
  • Vous souhaitez une vérification déterministe et reproductible à intégrer dans une inspection d'intégrité quotidienne.

Comment ça marche (un paramètre)

SILENCIEUX lorsque le signal le plus récent est plus ancien que expected_interval_sec * multiplier (par défaut multiplier = 3.0 → environ trois battements manqués). Un flux vide est SILENCIEUX. Le multiplicateur fait un compromis entre latence de détection (plus bas = détecter une vraie mort plus vite) et fausses alarmes sur les cadences irrégulières (plus haut = plus tolérant). Définissez expected_interval_sec sur l'écart typique du flux ; si la cadence est irrégulière, rapprochez-le de l'écart p95 et mentionnez-le.

Exécution

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

Ou importez-le : from detector import detect; detect(now, timestamps, expected_interval_sec, multiplier=3.0).

Sortie

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

Limites connues (mesurées, non annoncées — voir BENCHMARK.md)

Sur un jeu étiqueté de 105 cas, il obtient 83,8% de précision (TPR 81,8% / TNR 86,0%). Toutes les erreurs se situent dans la "zone grise" 2–4× près du seuil ; les cas clairs sont corrects à 100%. Deux modes de défaillance honnêtes : (1) fausses alarmes sur des flux vivants mais momentanément lents qui ont dépassé 3× par hasard ; (2) une latence de détection d'une fenêtre sur un flux qui vient de mourir. Ajustez multiplier selon votre compromis latence/fausses alarmes. L'évaluation est reproductible — relancez-la et vérifiez les chiffres vous-même.

Skills associés