Yatai

🌙 Reflection — 2026-09-10

Jeudi W37  ·  CDN J11 réouverture  ·  Stack 15/15 MCPs OK  ·  22:00 Paris  ·  ← index  ·  KPI →

TL;DR — 3 points clés

Snapshot KPI du jour

CDN W37 (Lun+Mar+Mer)
€12 131
161 cmds · Jeu fermé
FSH W37 (Lun+Mar)
€4 166
145 cmds · Mer+Jeu fermés
MTD Septembre
€36 493
1005 cmds · €68/h groupe
RestoJeu 10Carryover aujourd'huiNote
CDNferméCDN Mer 9 = €1 133 / 46 cmds (J+1) ✓Attendu — Jeu = sans service
FSHferméFSH Mar 8 = €2 367 / 84 cmds (J+2) ✓FSH Mer 9 attendu dans KPI Ven 11 (J+2)
CDN Mar 8€9 558 excep.Visible depuis hier (carryover J+1) — privatisation déjeuner probable

Timeline — 2026-09-10

Heure (Paris)Agent / SourceÉvénementRésultat
~00h–06hBridge WABridge déconnecté overnight (suite J1 Sep 9)KO Tous WA-agents impactés
01:09disputes-dailyScan litiges Uber/DeliverooSTALE 1036h · J43+ · soumissions=0
04:00justifs-sweeperBatch justificatifs nuitexit=0 · fetch_free rc=1 · fetch_sfr rc=1
04:00 UTCrekki-poll-todayZ15481878 + Z15488369 → WHATSAPP_FAIL×402 + ×407 tentatives · PDFs non livrés
04:50amazon-justifsAmazon → Pennylane backfillexit=0 · factures créées/rapprochées ✓
06:00hermes-resto-briefBrief Asian Smash Bastilleexit=0 · blockers Enedis + permis exploitation
06:19 UTCrekki-poll-todayV15489957 → WHATSAPP_FAIL×154 tentatives · PDF non livré
06:30 UTCrekki-poll-todayV15489981 → WHATSAPP_FAIL×135 tentatives · PDF non livré
07:00daily-kpiKPI W37 publié (CDN Mer 9 + FSH Mar 8 carryover)exit=0 · PDF WA FAILED
07:05hermes-managerMonitoring stackexit=0 · 15/15 MCPs OK ✓
07:35self-repairfetch_sfr → lancement Claude repairEn cours (résultat inconnu)
08:00 UTCzelty-watchCatchup 630 min · Jeu = 0 ordersRAS · attendu (Jeu fermé)
08:58stuart-watchSurveillance coursiers Jeuexit=0 · 1er coursier Z15481878 déjà réservé
09:31 UTCrekki-poll-todayZ15490919 → WHATSAPP_FAIL×162 tentatives · PDF non livré
09:34 UTCrekki-poll-todayW15490980 → WHATSAPP_FAIL×155 tentatives · PDF non livré
09:35 UTCrekki-poll-todayTRIGGER recap — Choiseul + Bastille ont commandé pour Sep 11FAILED to start recap service
10:20 Parisrekki-recap-13hCron fallback · PDF RECAP_2026-09-10.pdf (2398B)exit=1 ×2 · PDF généré mais WA fail
10:00–22:00combo-retard143 cycles · 23 shifts Labo inspectés31× HTTP 500 WA · 0 alerte retard
19:58hermes-yatai-waCheck bridge WhatsAppexit=0 (reconnexion probable)
20:00hermes-resto-reflectRéflexion Asian Smash Bastilleexit=0
22:00yatai-reflectRapport nuit— (ce rapport)

Patterns détectés

1. WhatsApp bridge instabilité nocturne — J2 consécutif (Sep 9 + Sep 10)
Bridge déconnecte pendant la nuit (entre ~minuit et 06h Paris), hermes-yatai-wa 19:58 reconnecte/vérifie (exit=0). Impact total : rekki PDFs, combo-retard alertes, daily-kpi PDF — tout WA-dépendant est KO de 06h à ~20h. 2 data points — trop tôt pour règle ferme, à confirmer sur Sep 11.
2. Retry storm rekki sans backoff — escalade quotidienne
Si WhatsApp bridge KO, rekki-poll-loop.sh retente sans backoff ni max-retry. Z15481878 : ×164 (Sep 9) → ×566 (Sep 10) = ×3.4 en 1 jour. À ce rythme : ~1922 tentatives demain si non corrigé. Bug code confirmé (send_whatsapp_file() sans max_retry ni sleep exponentiel).
3. FSH carryover J+2 — 5ème confirmation (FSH Mar 8 → KPI Jeu 10)
FSH Mar 8 = €2 367 / 84 cmds absent du KPI Mer 9, présent dans KPI Jeu 10 (J+2). Règle stable : ne pas conclure "FSH fermé" si KPI J+1 affiche 0.
4. CDN carryover J+1 — 2ème data point (CDN Mer 9 → KPI Jeu 10)
CDN Mer 9 = €1 133 / 46 cmds absent du KPI Mer 9, présent dans KPI Jeu 10 (J+1). 1er data point: Sep 2 (CDN Lun 31/08 → Mer 02/09). À confirmer sur Sep 11 pour stabiliser.
5. Jeudi = fermé CDN+FSH — confirmé W37 (zelty 0 + api_fail=0 + Labo 23 shifts)
Règle déjà CONFIRMÉE (W21+W23+W29) — cohérent avec W37 post-CDN-estival.

Anomalies

🔴 [CRITIQUE] WhatsApp bridge déconnecté overnight J2 — 6 PDFs Rekki non livrés au Labo 92 (Z15481878, Z15488369, V15489957, V15489981, Z15490919, W15490980). KPI PDF non reçu par James. combo-retard 31× HTTP 500. Pattern émergent. Hypothèse : session WhatsApp expire/se déconnecte la nuit, le bridge ne se reconnecte pas automatiquement.
🔴 [CRITIQUE] Retry storm rekki ×566 pour Z15481878 — Bug send_whatsapp_file() sans backoff. Ressources VPS gaspillées, logs saturés. Escalade ×3.4/jour. Fix : max_retry=5 + sleep exponentiel dans le loop.
🔴 [CRITIQUE] rekki event-driven trigger FAILED — "FAILED to start recap service" à 09:35 UTC. sudo systemctl start claude-agent-cron@rekki-recap-13h.service a échoué. Cron 12:20 (fallback) a tourné mais exit=1 (WA fail). PDF bien généré (2398B). Cause du trigger fail inconnue (service déjà actif ? sudoers ? race condition ?).
🔴 [CRITIQUE] disputes Uber STALE J43+ — 1036h depuis dernier scrape Uber (~29/07/2026). Session expirée, soumissions=0 depuis 43 jours. Litiges en délai glissant : pertes définitives sur >14j.
🟡 rekki-recap-13h exit=1 ×2 — PDF bien généré (2398B pour Sep 10), WhatsApp envoi échoué (bridge KO). systemd signale failure pour comportement externe (WA). Exit code devrait distinguer "script error" de "WA send fail".
🟡 whatsapp-ocr exit=1 J35+ — Sat 09-05 exit=1. Bug LAST_SEEN unbound non corrigé. Backlog estimé ~170+ médias. Prochain run naturel Ven 12/09.
🟡 fetch_free + fetch_sfr rc=1 chronic — Free : RuntimeError portail Sosh. SFR : re-cassé après repair 02/09 (lifecycle session ~18j → expiration ~20/09 prévue). Self-repair sfr lancé à 07:35.
🟡 KPI label S-1 "W19" incorrect J31+ — Cosmétique, valeurs correctes. Fix dans render_kpi.py toujours en attente.

Propositions CLAUDE.md

Proposition 1 — ADD section 7 (Infrastructure) : Bug critique rekki retry storm
### Bug critique : rekki-poll-loop.sh retry storm sans backoff (depuis 2026-09-09)
- Si WhatsApp bridge KO, rekki-poll-loop.sh retente à l'infini sans backoff ni max-retry
- Escalade observée : Z15481878 ×164 (09/09) → ×566 (10/09) = ×3.4/jour
- Root cause : send_whatsapp_file() ne limite pas les retries et n'a pas de sleep exponentiel
- Fix requis : max_retry=5 + sleep exponentiel (2s, 4s, 8s, 16s, 32s) dans send_whatsapp_file()
- Impact sans fix : VPS logs saturés, bridge surchargé, debug impossible
  
Justification : bug code confirmé sur 2 jours consécutifs, escalade documentée, critique pour la stabilité des logs.
Proposition 2 — ADD section 7 (Infrastructure) : Pattern bridge WA nocturne (observation)
### WhatsApp bridge instabilité nocturne (en observation depuis 2026-09-09)
- Pattern observé : bridge déconnecte pendant la nuit (~00h-06h Paris)
- Hermes-yatai-wa à 19:58 Paris reconnecte/vérifie (exit=0) mais trop tard dans la journée
- Impact : rekki PDFs non livrés, combo-retard alertes KO, daily-kpi PDF non reçu
- Data points : 09/09 (bridge KO depuis ~11h33) · 10/09 (bridge KO depuis ~04h UTC)
- 2 data points consécutifs — à confirmer sur 11/09 avant règle ferme
- Action possible : ajouter un check bridge au réveil (06h Paris) via hermes-yatai-wa
  
Justification : pattern émergent critique, 2 jours consécutifs, impact total sur tous les agents WA-dépendants.
Proposition 3 — MISE À JOUR section "CDN carryover J+2 après longue fermeture" : 2ème data point CDN J+1
### CDN carryover J+1 — 2ème data point (2026-09-10)
- CDN Mer 9/09 = €1 133 / 46 cmds : absent du KPI Mer 9 (J0), visible dans KPI Jeu 10 (J+1)
- 1er data point : CDN Lun 31/08 (réouverture) → visible KPI Mer 02/09 (J+2 post-longue-fermeture)
- Le J+2 du 31/08 était probablement dû à la longue fermeture estivale (accumulation 44j)
- En fonctionnement normal : CDN carryover = J+1 (cohérent avec pattern documenté)
- Ne pas conclure "CDN fermé" si KPI du lendemain affiche 0 — attendre KPI J+1
  
Justification : 2ème data point en fonctionnement normal post-réouverture. Cohérent avec règle générale J+1 pour CDN.
Proposition 4 — ADD section 8 Open Issues : trigger rekki-recap-13h FAILED
- [ ] rekki-recap-13h : event-driven trigger échoué le 10/09/2026 09:35 UTC
  "FAILED to start recap service" — sudo systemctl start claude-agent-cron@rekki-recap-13h.service KO
  Cron 12:20 (fallback) a compensé mais exit=1 (WA bridge KO)
  Cause inconnue : service déjà actif ? race condition ? sudoers expiré ?
  À surveiller : si trigger event-driven échoue systématiquement → investiguer allow-sudo.conf
  
Justification : 1 data point, mais le trigger event-driven est un mécanisme clé documenté dans CLAUDE.md. Un échec silencieux du sudo systemctl start mérite d'être tracé.