🌙 Reflection — 2026-08-12

Mercredi W33  ·  CDN J26/44 fermeture estivale  ·  FSH fermé (mercredi Labo pur)  ·  22:00 Paris  ·  Stack 15/15 MCPs OK
🚨 URGENT J14 — Disputes Uber STALE 340h (deadline dépassée)
Session uber_storage_state.json expirée ~29/07/2026. Aucun litige Uber traité depuis 14 jours. Délai glissant Uber : 7–14j → pertes automatiques potentielles pour les litiges reçus autour du 29/07–04/08. Action : run headed Playwright Uber + re-save session.

TL;DR — 3 points clés

Timeline

Heure ParisAgent / SourceÉvénementRésultat
01:06disputes-dailyScan litiges Uber/DeliverooSTALE 340h J14+ · soumissions=0 · disputables=0
04:01justifs-sweeperBatch justificatifs nuitexit=0 · fetch_free rc=1 (J68+) · edenred timeout (J68+)
04:49amazon-justifsAmazon → Pennylaneexit=0 · factures UNMATCHED persistantes + nouvelles uploadées
06:02hermes-resto-briefBrief matinal Bastilleexit=0 · Phase 5 Licences J-30 non démarrées · Orange Pro technicien 3 sept
07:03hermes-managerStack monitoringexit=0 · 15/15 MCPs OK · 0 FAILED · gmb-weekly PermissionError non résolu (prochain Lun 17/08)
07:04daily-kpiKPI 2026-08-12 publiéexit=0 · FSH Lun 10 carryover J+2 (€1 298) · CDN estival · bug W19 J5 · bug Thu14 J5
08:00zelty-watchCatchup 630min + 47 cycles0 events · 0 orders (CDN estival + FSH mercredi fermé = attendu)
08:45–09:45WA Labo 92Ops cuisine — hiyashi chicken + mangues mûresHiyashi : demi-paquet poulet chashu · Mangues : jeter si trop mûres (jus excessif → perte)
09:12WA Labo 92Décongélation poulet chashuJames demande décongélation 1 paquet · défrost en eau
10:00combo-retardSurveillance shifts mercredi0 alertes · 13 shifts Labo inspectés · 143 cycles
10:20rekki-recap-13hRecap livraisons 12/08skip idempotent · 4 orders · flag déjà présent (recap envoyé hier soir via trigger 11:19)
14:12WA Labo 92Acompte Celian 100€Vérification cumul demandée par "241519030194389"
16:07WA James DMVideo "le truc a ramener à Lyon" — objet HBContexte non documenté (HB = ?). 1 data point.
19:58hermes-yatai-waBridge WA monitoringexit=0
22:00yatai-reflectRéflexion nocturneRapport généré

KPI du jour

CDN Châteaudun
Fermé
Estival J26/44 — reprise Mar 02/09
FSH Saint-Honoré (mercredi)
Fermé
Mercredi Labo pur — 4ème data point confirmé
FSH Lun 10/08 (carryover J+2)
€1 297.84
40 cmds · 18.9% livraison · €43/h · €32.45/cmd
MTD août (service seul)
€12 613
397 cmds · €33/h · MS/CA 41.1%
SemaineCDN serviceFSH serviceTotalMS/CANote
S (W33 partiel)€1 297.84 (Lun seulement)€1 297.84184.8%Distorsion attendue : 1j CA / semaine complète labor planifié
S-1 (label "W19")€9 085.76€9 085.7635.9%⚠️ Label "W19" incorrect (devrait être W32)
N-1 (W20 2025)€2 650€270€2 92029.0%Baseline historique
⚠️ MS/CA 184.8% = distorsion attendue (1 jour CA / semaine complète labor planifié) — documentée dans CLAUDE.md. Ne pas alerter.
⚠️ Bug S-1 label "W19" — J5 consécutifs (08→12/08). Valeurs correctes, label faux. À corriger dans render_kpi.py.
⚠️ Bug "only Thu 14 evening data" FSH — J5 consécutifs. Requête résiduelle Jeu 03/07 dans fetch_kpi_data.py.

Patterns détectés

1. Mercredi = fermé FSH/CDN — 4ème data point W33 (12/08)

zelty-watch 0 orders · api_fail_streak=0 · combo-retard 13 shifts Labo central. Data points : 27/05 (W21) · 03/06 (W23) · 08/07 (W28) · 12/08 (W33). Règle déjà confirmée dans CLAUDE.md — data point supplémentaire parfaitement cohérent. Pattern stable.

2. FSH Lundi → carryover J+2 (1er data point explicite)

FSH Lun 10/08 (€1 297.84 / 40 cmds) invisible dans KPI Mar 11/08, visible dans KPI Mer 12/08. Délai d'ingestion Zelty de 47-48h pour un lundi. À confirmer sur Lun 18/08 et Lun 25/08 (CDN toujours estival → FSH seul resto actif). Si confirmé : ne jamais conclure "FSH fermé lundi" sur le KPI du mardi matin.

3. Trigger Choiseul+Bastille dans la fenêtre documentée (W33)

11/08 09:19 UTC = 11:19 Paris, dans la fenêtre 10h45–12h00. Recap déclenché pour 4 orders (livraison 12/08). Cron fallback 12:20 non utilisé (trigger event-driven suffisant). Pattern stable depuis W20.

4. CDN estival J26/44 — stack stable, 0 alerte parasite

zelty-watch : 47 cycles silencieux, 0 fausse alerte "CDN 0 orders". combo-retard : 0 alert CDN service (absents). hermes-manager : 0 restart non planifié. La fermeture estivale CDN est gérée proprement par l'ensemble de la stack depuis J1 (18/07).

Anomalies

🔴 HIGH — Disputes Uber STALE J14+ (340h)

Session uber_storage_state.json expirée ~29/07/2026. STALE 340h dans lessons.jsonl. Aucun litige Uber traité depuis 14 jours. Soumissions=0 aujourd'hui, disputables=0 — pas de perte détectée ce soir. Mais le délai glissant Uber (7–14j) signifie que les litiges reçus entre 29/07 et 04/08 sont en limite ou dépassement.

Hypothèse : session expirée (confirmé hermes-manager). Lifecycle ~34j (25/06→29/07). Prochaine expiration si réauth faite rapidement : ~02/09/2026 (coïncide réouverture CDN).
Action immédiate : run headed Playwright Uber + re-save uber_storage_state.json.

🔴 HIGH — Bastille Phase 5 Licences non démarrées à J-30

hermes-resto-brief signale : "Phase 5 Licences non démarrée à J-30 (DDPP, permis exploitation → délai admin 3-6 semaines)". Si ouverture ~11/09/2026 (J-30 depuis aujourd'hui 12/08), le délai admin de 3-6 semaines signifie que les dossiers DDPP et permis d'exploitation doivent être déposés MAINTENANT au plus tard. Orange Pro technicien = 3 septembre → internet non opérationnel à une ouverture avant le 3 sept.

Hypothèse : dates d'ouverture non encore fixées ? Ou ouverture décalée après Orange Pro (3 sept) → J-30 recalculé.
Action : confirmer avec James la date d'ouverture cible et lancer les démarches DDPP immédiatement.

🟡 MED — Bug KPI "only Thu 14 evening data" FSH — J5 consécutifs

Artifact dans daily-kpi.log : "FSH: Brut HT €160 · Net HT €130 · ~81.8% livraison (only Thu 14 evening data)". J5 consécutifs (08→12/08). Non transitoire. Impact rapport HTML = 0 (FSH affiché correctement dans les sections principales). Requête résiduelle sur FSH Jeu 03/07 dans fetch_kpi_data.py.

Hypothèse : variable de date non réinitialisée dans une sous-requête de fetch_kpi_data.py — probablement une requête "comparaison avec semaine précédente" fixée à Jeu 03/07 par une date hardcodée ou mal calculée.

🟡 MED — Bug KPI S-1 label "W19" — J5 consécutifs

Label S-1 affiche "W19" (mai 2026) au lieu de W32 (semaine réelle). J5 consécutifs (08→12/08). Valeurs S-1 correctes (€9 085 FSH W32). Impact : comparaisons WoW illisibles dans l'UI — un lecteur ne peut pas interpréter la colonne "vs S-1" sans le bon label.

Hypothèse : calcul de semaine ISO mal initialisé lors du changement de semaine calendaire — probablement dans render_kpi.py ou fetch_kpi_data.py.

🟡 MED — whatsapp-ocr structurellement arrêté J32+ (backlog ~100+ médias)

Dernier exit=1 : Sat 08/08. Dernier verify exit=0 : Sun 09/08 19:38. Prochain run naturel : Ven 15/08 (timer Ven/Sam uniquement). Bug LAST_SEEN unbound (fix 1 ligne : LAST_SEEN=None). Backlog estimé ~100+ médias (53 connus au 27/06 + ~5/semaine × 7 semaines = ~88). Hermes-manager règle ≥2 : pas de restart automatique.

Si Ven 15/08 échoue → J35 de downtime total stock OCR. Fix trivial disponible, en attente "go" James.

🟡 MED — fetch_free + fetch_edenred rc=1 — J68+ consécutifs

Structural depuis 05/06/2026. fetch_free : RuntimeError "Free invoices page failed to load". fetch_edenred : page.wait_for_selector timeout. En attente "go" James pour run headed/screenshot diagnostic. Impact : factures Free Mobile + reçus Edenred non récupérés (backlog Pennylane croissant).

Propositions CLAUDE.md

Proposition 1 — METTRE À JOUR section 8 Open Issues : disputes-daily Uber (J14+)

Justification : J14+ (340h stale). Déjà documenté (auto-applied 2026-08-06 à J8, 2026-08-10 proactif). Mettre à jour le compteur et signaler l'urgence maximale.

- [ ] disputes-daily Uber : réauthentifier uber_storage_state.json — CRITIQUE J14+
  STALE 340h au 12/08/2026 · soumissions=0 · disputables=0 aujourd'hui
  Session expirée ~29/07/2026 (lifecycle ~34j : 25/06→29/07→prochaine ~02/09)
  Risque : délai glissant litiges Uber 7–14j → pertes potentielles pour litiges 29/07–04/08
  Action : run headed Playwright Uber + re-save uber_storage_state.json
  Deadline : IMMÉDIATE

Proposition 2 — AJOUTER : FSH Lundi → carryover J+2 (1er data point)

Justification : FSH Lun 10/08 (€1 297.84 / 40 cmds) invisible dans KPI du mardi 11/08, visible dans KPI du mercredi 12/08. Premier data point explicite d'un délai J+2 pour les lundis FSH. Utile pour ne pas conclure "FSH fermé lundi" sur le KPI du lendemain matin.

### FSH carryover lundi → J+2 (1er data point 2026-08-12)
- FSH Lun 10/08 (€1 297.84 / 40 cmds) visible dans KPI Mer 12/08 uniquement (J+2)
- Invisible dans KPI Mar 11/08 (J+1)
- Pattern cohérent avec carryover FSH WE (J+2 documenté) — étendu aux lundis
- À confirmer sur Lun 18/08 et Lun 25/08 avant fixation en règle
- Ne pas conclure "FSH fermé lundi" si le KPI du mardi matin affiche 0 pour le lundi

Proposition 3 — METTRE À JOUR section 8 : whatsapp-ocr (J32+, prochain run Ven 15/08)

Justification : la section 8 référence "prochain run Ven 01/08" (date passée depuis 11 jours). Mise à jour avec état réel.

### whatsapp-ocr structurellement arrêté (mise à jour 2026-08-12)
- J32 depuis 11/07 · Dernier exit=1 : Sat 08/08 · Dernier verify exit=0 : Sun 09/08
- Backlog estimé ~100+ médias (53 connus au 27/06 + ~5/semaine × 7 semaines)
- Prochain run naturel : Ven 15/08 (timer Ven/Sam — pas quotidien)
- Bug LAST_SEEN unbound — fix trivial 1 ligne — en attente décision James
- Si Ven 15/08 échoue encore → J35 de downtime total stock OCR
- [ ] Action : initialiser LAST_SEEN = None + guard (< 5 min) avant Ven 15/08