Reflection — 2026-07-17

Vendredi · Semaine ISO W29 (J5/7)  ·  22h00 Paris  ·  Stack 15/15 MCPs  ·  ← index reflections  ·  KPI →  ·  ← 2026-07-16

TL;DR
CDN W29 (partiel Lun→Jeu)
€3 040.45
vs S-1 €5 609 (−45.8%) · vs N-1 €13 860 (−78.1%)
FSH W29 (partiel Lun→Mer)
€2 492.29
vs S-1 €8 494 (−70.7%) · vs N-1 €16 646 (−85.0%)
Juillet MTD (1→17)
€33 393.62
vs M-1 €53 489 (−37.6%) · vs N-1 €70 001 (−52.3%)
Rekki 17/07 (livraisons Labo)
3 orders
W15062616 · W15062734 · U15065318 · RECAP 5 709B

Timeline

Heure ParisAgent / SourceÉvénementRésultat
01:10disputes-dailyScan litiges Uber/Deliverooexit=0 · 0 soumissions · 0 disputables
04:00justifs-sweeperScan + fetch facturesexit=0 · free rc=1 (J43) · edenred timeout (J43)
04:49amazon-justifsBackfill Amazon → Pennylaneexit=0 · 42 UPLOADE, 9 UNMATCHED, 5 DEMANDE_REQUISE
06:02hermes-resto-briefBrief matinal restosexit=0
07:07daily-kpiKPI W29 publié (J5)CDN +Jeu 16 carryover (€794) · FSH +Mer 15 carryover (€729) · anomalie Jeu CDN ouvert!
07:03hermes-managerMonitoring stackexit=0 · 15/15 MCPs · 0 FAILED · 0 restart
08:00 (catchup 630min)zelty-watchReprise surveillance CDN+FSH0 orders · api_fail=0 · catchup-silent (user pref)
09:17rekki-poll-todayTRIGGER event-drivenChoiseul + Bastille ont commandé pour 18/07
09:17rekki-recap-13hRECAP 17/07 (run #1)3 orders · PDF 5 709B · envoyé Labo 92
09:52–09:55James → WADécision CDN fermeture estivale"Je perd moins en fermant / Juste loyer et credit" · "Ils ont tous accepté congé sans solde"
10:00–22:00combo-retard143 cycles · 23 shifts0 alertes · Labo actif uniquement (pattern Jeu/Ven sans service)
10:20 (cron 12:20)rekki-recap-13hRECAP 17/07 (run #2 cron)idempotent skip · déjà traité
Journée (×47 cycles)zelty-watchSurveillance CDN+FSH0 orders · 0 events · api_fail=0 (Ven sans service apparent)
~09:57–10:23James → WASaaS prospects + infra commandesPartage credentials Zelty Yatai · "Direct" sur Metro · 23635420327 demande sachets nori FSH
13:34–17:15James → WALivraison mystère LaboPaquet couloir cuisine 16h20 → photo → "Open it and put in fridge" → confirmé 17h15
19:59hermes-yatai-waMonitoring bridge WhatsAppexit=0
20:00whatsapp-ocrTentative run nuitéeexit=1 · J7 consécutif en échec (hermes a relancé · rc=1 non timeout)
20:00hermes-resto-reflectReflect restos + rappelsexit=0 · ODR SFR deadline 22/07 (J5 urgence) · RDV Enedis 22/07 14h

Patterns détectés

PatternDonnéesStatut
Rekki trigger fenêtre 10h45–12h00 17/07 : trigger 11h17 Paris (Choiseul + Bastille ont commandé pour 18/07) · dans la fenêtre attendue Conforme CLAUDE.md ✓
FSH carryover mid-week = J+2 FSH Mer 15 visible dans KPI 17/07 (pas dans 16/07) · CDN Mer 15 visible dans KPI 16/07 (J+1) · asymétrie CDN/FSH confirmée Pattern ré-observé
CDN carryover Jeu = J+1 CDN Jeu 16 : €794.48 / 33 cmds visible dans KPI 17/07 · était "fermé" dans KPI 16/07 1er data point Jeu CDN
combo-retard 23 shifts Ven = Labo seul 23 shifts inspectés tout la journée · identique au pattern Jeu (Labo pur) · zelty 0 orders Ven 17 Vendredi aussi sans service ?
justifs free + edenred rc=1 J43 consécutif (depuis 05/06) · free RuntimeError "liste factures Sosh" · edenred selector timeout Structurel, action requise
whatsapp-ocr toujours en échec J7 (exit=1 Sat 11/07 · timeout Sun 12/07 · J5 silence · run ce soir exit=1) · hermes a tenté restart → même résultat Structurel, escalade requise

Anomalies

🔴 [CRITIQUE] "Jeudi = sans service CDN+FSH" — FAUX pour CDN (W29) CDN Jeu 16/07 = €794.48 · 33 cmds visible via Zelty carryover J+1 dans KPI 17/07.
Hier (16/07), la reflect a déclaré "3e data point Jeudi Labo pur" basé sur zelty 0 orders à 22h — exactement le même faux négatif que Mardi 02/06 (€0 à 22h → €1289 le lendemain).
FSH Jeu 16 reste fermé ✓ — la règle est valide pour FSH uniquement.
Les 2 data points précédents W21 (28/05) + W23 (04/06) étaient aussi basés sur zelty 0 orders à 22h → risque identique de faux négatif.
Action : RÉVOQUER "Jeudi = sans service CDN+FSH — CONFIRMÉ". Remplacer par "FSH Jeu = fermé (à confirmer sur 3 semaines suivantes)" + "CDN Jeu = possiblement ouvert (1 data point W29)".
🔴 [CRITIQUE] Mercredi 15/07 (post-14 juillet) : CDN ET FSH ouverts CDN Mer 15 = €892.98 · 37 cmds (carryover J+1, visible hier) · FSH Mer 15 = €729.28 · 30 cmds (carryover J+2, visible aujourd'hui).
Mercredi "normalement fermé" (confirmé W21+W23+W28) mais le lendemain de la Fête Nationale = exception.
Hypothèse : ouverture de compensation après mardi férié (14 juillet), ou planning estival différent.
1 data point — ne pas établir de règle, mais noter l'exception.
🟡 [WARN] Vendredi 17/07 = sans service apparent zelty-watch 0 orders tout la journée (47 cycles) · combo-retard 23 shifts Labo uniquement · CDN Ven 17 = "fermé" dans KPI.
CDN fermeture estivale débute demain (Sam 18/07) → possible fermeture anticipée ou "pont".
Alternativement : zelty carryover Ven → les orders apparaîtront dans le KPI de demain (Sam 18) ou lundi.
James message 09:52 "Je perd moins en fermant" corrobore une décision de fermeture anticipée.
À confirmer dans le KPI de demain (ou lundi si CDN déjà fermé estivalement).
🟡 [WARN] whatsapp-ocr — J7 en échec, run tenté ce soir exit=1 Hermes a relancé whatsapp-ocr ce soir à 20:00 (nouveau run, pas juste un timeout) — résultat : exit=1 (exit code error, non timeout).
Backlog estimé 80+ médias (53 connu au 27/06, +5-10/semaine estimé).
Priorité : photos stock non OCRisées → données stock non traçées → Rekki potentiellement sous-dimensionné.
🟡 [WARN] Artifact "only Thu 14 evening data" FSH — J12 persistant Ligne dans daily-kpi.log : "FSH: Brut HT €160 · Net HT €130 · ~81.8% livraison (only Thu 14 evening data)"
Apparu le 06/07, toujours présent le 17/07 (12 jours consécutifs). Impact sur KPI HTML = 0 (FSH OK dans rapport).
Origine probable : requête Zelty résiduelle sur le Jeu 14 juillet tardif avec peu de données FSH (ou "14" = 14h soir, split midi/soir).
À investiguer dans ~/yatai/scripts/fetch_kpi_data.py (balise log qui produit "only Thu 14 evening data").
🟢 [INFO] ODR SFR deadline dans 5 jours (22/07) Commande 22/06, délai 30j → deadline 22/07. Rappel hermes-resto-reflect : RDV Enedis PRIMO aussi le 22/07 à 14h.
Deux deadlines le même jour (ODR + RDV). Action requise avant mercredi.
🟢 [INFO] CDN W29 vs N-1 : −78.1% — distorsion structurelle fermeture estivale CDN W29 ne compte que Lun 13 + Mar 14 + Mer 15 + Jeu 16 (4 jours vs 6 jours N-1). Comparaison WoW/YoY non pertinente.
Juillet MTD €33 393 vs N-1 €70 001 (−52.3%) : partiellement imputable à fermeture CDN à partir de demain.
Juillet 2026 sera structurellement bas pour CDN (44 jours fermés).

Propositions CLAUDE.md

Proposition #1 (hash jeu_cdn_revert_w29) — URGENTE · Section: auto-applied 2026-07-16

RÉVOQUER "Confirmer Jeudi = sans service CDN+FSH (3 data points W21+W23+W29)"
### CORRECTION — règle auto-appliquée 2026-07-16 "Jeudi = sans service CDN+FSH — CONFIRMÉ"

La règle est INVALIDE pour CDN :
- CDN Jeu 16 (W29) = €794.48 · 33 cmds visible via Zelty carryover J+1 dans KPI 17/07
- Hier, la reflect déclarait "Jeu W29 = Labo pur (3e data point)" basé sur zelty 0 orders à 22h → FAUX NÉGATIF
- Les data points W21 (28/05) + W23 (04/06) étaient identiquement basés sur zelty 0 orders à 22h → risque de faux négatif non éliminé
- FSH Jeu 16 confirme fermé ✓ (0 orders zelty + 0 carryover le lendemain)

Règle mise à jour :
- FSH Jeudi = fermé (à re-confirmer sur 3 data points clean, zelty + KPI lendemain)
- CDN Jeudi = ouvert (1 data point W29 €794 · à confirmer sur W30+)
- Supprimer la mention "CONFIRMÉ (3 data points)" du titre
Justification : même pattern de faux-négatif que Mardi 02/06 (0 orders à 22h → €1289 le lendemain). La règle anti-faux-négatif de CLAUDE.md s'applique ici.

Proposition #2 (hash mer_post_ferie_exception) · Section: "Mercredi = sans service CDN+FSH"

Exception "Mercredi fermé" : lendemain de jour férié = service potentiel
### Exception "Mercredi fermé" — lendemain de jour férié (1er data point 2026-07-15)
- Mercredi 15/07/2026 (lendemain de la Fête Nationale Mardi 14/07) : CDN 37 cmds €892.98 · FSH 30 cmds €729.28
- Les deux restos ouverts exceptionnellement le mercredi suivant un mardi férié
- Hypothèse : compensation de service après jour férié, ou planning estival modifié
- Ne pas conclure "Mer fermé" la semaine où un jour férié tombe un Mar/Lun
- 1 data point — à confirmer sur prochain mercredi post-férié avant fixation en règle

Proposition #3 (hash whatsapp_ocr_j7_update) · Section 8 Open issues

Mise à jour whatsapp-ocr — J7 + run ce soir exit=1
### whatsapp-ocr — J7 en échec, exit=1 non timeout (mise à jour 2026-07-17)
- Hermes a tenté un restart ce soir 17/07 à 20:00 → exit=1 (exit code error, non timeout)
- Distinction importante : exit=1 = crash Python, timeout = hang >10min (différents bugs)
- Dernier run sans erreur : exit=0 avant le 11/07 (exact date inconnue)
- Backlog estimé 80+ médias (53 au 27/06 + ~5-10/semaine × 3 semaines)
- Options à décider avec James : (a) fix script Python exit=1, (b) 2 runs/nuit, (c) augmenter cap, (d) purge manuelle
- [ ] URGENT : dépacer 80 médias avant risque de perte irréversible données stock

KPI W29 — détail journalier (Zelty carryover pris en compte)

JourCDN cmdsCDN Net HTFSH cmdsFSH Net HTNote
Lun 1324€658.4129€1 156.22CDN service · FSH service
Mar 14 (Fête Nat.)19€694.5820€606.79CDN ouvert · FSH ouvert (carryover J+1/J+2)
Mer 1537€892.9830€729.28CDN ouvert · FSH ouvert — exception post-14juillet (carryover J+1/J+2)
Jeu 1633€794.48€0CDN OUVERT (carryover J+1, visible aujourd'hui) · FSH fermé ✓
Ven 17?en attente?en attenteZelty 0 orders à 22h — carryover probable J+1 (Sam 18) · CDN fermeture estivale Sam