Réflexion Yatai — 2026-07-09

Jeudi · Semaine ISO W28 (J4)  ·  22:00 Paris  ·  Stack 25/25 exit=0 · 15/15 MCPs

TL;DR

KPI W28 (snapshot 07:04 Paris)

CDN W28 MTD
€2 994
Lun+Mar+Mer · 101 cmds
FSH W28 MTD
€2 885
Lun+Mar · 77 cmds
Groupe W28 MTD
€5 879
vs S-1 €18 597 (−68%) · vs N-1 €29 129 (−80%)
Juillet MTD (J9)
€19 636
vs M-1 €30 450 (−36%) · vs N-1 €37 508 (−50%)

FSH Mar 7 = €1 494 confirmé ce matin (anomalie d'hier résolue : zelty carryover J+1 ✓). CDN Mer 8 = €1 099 idem carryover J+1.

Timeline du jour

Heure ParisAgent / SourceÉvénementRésultat
01:08disputes-dailyScan litiges Uber/Deliverooexit=0 · 0 soumissions · 0 disputables
04:02justifs-sweeperScan + fetch toutes facturesfree/edenred rc=1 (J35)
04:50amazon-justifsBackfill Amazon → Pennylaneexit=0 · UPLOADE+RAPPROCHÉS (factures historiques)
06:01hermes-resto-briefBrief matinal restosexit=0
07:02hermes-managerMonitoring stack15/15 MCPs · 0 restart · 0 FAILED
07:04daily-kpiKPI W28 J4 publiéexit=0 · CDN Mer 8 = €1 099 (carryover J+1 ✓) · FSH Mar 7 = €1 494 (résolution anomalie hier) · artifact "Thu 14" J4
08:00zelty-watchCatchup 630min au démarrage0 orders CDN/FSH · catchup-silent (user pref)
08:00–22:00zelty-watch47+ cycles toutes les 15min0 orders CDN/FSH · api_fail=0 → Jeudi W28 = sans service (3ème DP)
08:58stuart-watchCascade Choiseul X14999954Courier 1st booked · cascade idle (1 seul order)
09:13rekki-poll-todayTrigger recap J10 détectéChoiseul + Bastille ont commandé pour 2026-07-10
09:13rekki-recap-13hRecap J09 event-drivenexit=0 · 1 order (J09) · PDF 2 887B · recap J10 déjà déclenché
09:30WA James"Pr info le 14juillet : pyramides et bastille seront fermé"14/07 = Choiseul(?) + Bastille fermés · Stuart pas de livraison (routes)
09:38WA James"il manque le rib de fsh sur pennylane de chateaudun"FSH RIB absent Pennylane CDN → action manuelle requise
09:38WA James"Tu pourras payer qq facture de location de materiel / Genre 3 factures devrai suffire"3 factures matériel à payer pour équilibrer les comptes
09:45WA James"Tu tes trompé de 30cts sur la facture choiseul"67cts payé au lieu de 97cts → régularisation sur prochaine facture
10:00–22:00combo-retard80+ cycles · 22–23 shifts Labo inspectés0 alerte retard (Labo actif, jeudi = production)
19:10combo-retard1 alerte retard envoyéeRetard soirée détecté · WA James ✓
19:59hermes-yatai-waMonitoring WhatsAppexit=0
20:00yatai-reflectrun-once starting (ce rapport)

Patterns détectés

Jeudi = sans service CDN+FSH — CONFIRMÉ (3 data points)

W21 (28/05) · W23 (04/06) · W28 (09/07) — trois jeudis consécutifs avec zelty 0 orders + api_fail=0 + Labo actif (~22 shifts combo-retard). Signal fiable : les 3 confirmations ont eu le KPI lendemain vérifiant l'absence de CA jeudi. Proposer règle stable.

Mercredi CDN — OUVERT (contredit la règle "CONFIRMÉ") — RÉVOCATION proposée

KPI 09/07 montre CDN Mer 8 = €1 099 / 38 cmds. La règle "Mercredi = sans service CDN+FSH — CONFIRMÉ" (auto-applied 2026-07-08) était basée sur zelty-watch 0 orders à 22h, sans vérifier le KPI du lendemain. Même pattern d'erreur que "Mardi = Labo pur" (révoqué) et "Lundi = fermé" (révoqué). W25 (Lun-Sam confirmé) et W28 (Mer 8 = €1099) prouvent que CDN est ouvert mercredi. FSH Mer 8 = "(fermé)" dans ce KPI — mais FSH W28 montre seulement Lun+Mar, possible schedule réduit juillet ou zelty carryover J+2 à confirmer.

FSH zelty carryover J+1 pour Mardi W28 — confirmé

Hier (2026-07-08 22h) : FSH Mar 7 = "(fermé)" dans le KPI. Aujourd'hui (09/07) : FSH Mar 7 = €1 494 / 41 cmds. Délai J+1 confirmé pour FSH mardi. Pattern cohérent avec règle carryover WE (J+2) mais délai mid-semaine = J+1.

Artifact "Thu 14 evening data" — J4 consécutifs (06/07→09/07)

Ligne FSH: "Brut HT €160 · Net HT €130 · ~81.8% livraison (only Thu 14 evening data)" apparaît dans daily-kpi.log depuis 4 jours. Le rapport HTML est correct (FSH Lun 6 = €1 390 affiché correctement). Il s'agit d'un artifact de debug dans fetch_kpi_data.py — probablement une requête résiduelle sur le créneau "14h" du jeudi W27 (03/07). Persistance J4 = bug structural, pas transitoire.

Juillet MTD — tendance basse persistante (J9)

MTD = €19 636 (585 cmds) vs M-1 €30 450 (−36%) vs N-1 €37 508 (−50%). Tendance démarrée fin mai, s'accentue en juillet. Hypothèses : effet chaleur + schedule réduit été (CDN et FSH semblent fermer plus tôt dans la semaine en W28 vs schedule W25 Lun-Sam/Lun-Ven). À corréler avec planning horaires Combo HR.

Anomalies

🔴 Règle "Mercredi = sans service CDN+FSH — CONFIRMÉ" INCORRECTE pour CDN

KPI 09/07 07:04 : CDN Mer 8 = €1 099 / 38 cmds. La règle a été auto-appliquée hier soir sur la base de zelty-watch 0 orders à 22h — sans attendre la vérification KPI du lendemain matin (règle anti-faux-négatif pourtant documentée dans CLAUDE.md). C'est le 3ème cas d'une règle "jour = fermé" révoquée par carryover zelty. Action : révoquer la règle dans CLAUDE.md.

🔴 justifs-free/edenred — J35 consécutifs sans résolution (05/06 → 09/07)

fetch_free : RuntimeError "Free invoices page failed to load". fetch_edenred : wait_for_selector timeout 20s. Chaque nuit depuis 5 semaines. Backlog Pennylane croissant. Bloqué sur "go" James pour run headed/screenshot. Root cause connue : redesign portails.

🟡 Artifact "Thu 14 evening data" — J4 (06/07→09/07)

Bug structural dans fetch_kpi_data.py. Le log affiche "FSH: Brut HT €160 · Net HT €130 · ~81.8% livraison (only Thu 14 evening data)" chaque nuit, distinct des données FSH réelles dans l'HTML. Hypothèse : requête résiduelle sur créneau 14h+ du jeudi W27 (03/07) stocké dans un cache. À investiguer et corriger.

🟡 ODR SFR — deadline J−13 (22/07/2026)

Commande 22/06/2026, délai remboursement 30j → deadline 22/07. Aucune action visible dans les logs. Risque de perte du remboursement. Action manuelle requise.

🟡 FSH RIB manquant sur Pennylane (Châteaudun)

James WA 09:38 : "il manque le rib de fsh sur pennylane de chateaudun". Impact : paiements FSH bloqués ou imputés au mauvais compte. Action manuelle requise sur Pennylane.

🟡 Erreur 30cts facture Choiseul

James WA 09:45 : "67cts payé au lieu de 97cts — Tu pourras faire une regule sur la prochaine". Delta à tracker pour la prochaine facture Choiseul.

🟡 Schedule juillet W28 : CDN et FSH ferment plus tôt dans la semaine

CDN W28 : service Lun+Mar+Mer uniquement (vs Lun-Sam confirmé W25). FSH W28 : service Lun+Mar uniquement (vs Lun-Ven confirmé W25). Hypothèse : schedule d'été réduit en juillet. Ou fermeture liée à panne clim + réparation fin juin ayant impacté la reprise. 1 semaine de données → trop tôt pour règle, mais à surveiller W29.

🟢 Résolution anomalie J-1 : FSH Mar 7 zelty carryover J+1 confirmé

Hier (08/07 22h) : FSH Mar 7 apparaissait "(fermé)" → KPI 09/07 montre €1 494 / 41 cmds. Zelty carryover J+1 pour les mardis FSH. Aucune fermeture effective. Règle anti-faux-négatif a fonctionné.

Propositions CLAUDE.md

#1 — RÉVOQUER "Mercredi = sans service CDN+FSH — CONFIRMÉ" pour CDN

### CORRECTION "Mercredi = sans service CDN+FSH" — auto-applied 2026-07-08 INCORRECTE pour CDN

La règle auto-appliquée le 2026-07-08 "Mercredi = sans service CDN+FSH — CONFIRMÉ (3 data points W21+W23+W28)"
est INCORRECTE pour CDN :
- KPI 2026-07-09 07:04 : CDN Mer 8 = €1 099 / 38 cmds (carryover J+1, pas une fermeture)
- W25 (15-21/06) : CDN Lun–Sam confirmé → CDN ouvert le mercredi

Root cause : zelty-watch 0 orders à 22h ne prouve pas la fermeture (carryover possible jusqu'à J+2).
La règle anti-faux-négatif (section auto-applied 2026-06-04) n'a pas été appliquée hier soir.

Révision :
- CDN mercredi : OUVERT (à re-confirmer sur W29)
- FSH mercredi : statut incertain (FSH Mer 8 = "(fermé)" dans KPI W28 — mais possible carryover J+2 ou schedule réduit juillet)
- Ne pas auto-appliquer de règle "fermé mercredi" sans KPI lendemain confirmant 0 CA
Justification : 3ème révocation d'une règle "jour = fermé" basée sur zelty 0 orders à 22h. Impératif de corriger pour éviter de polluer CLAUDE.md avec des règles fausses.

#2 — CONFIRMER "Jeudi = sans service CDN+FSH" (3 data points)

### Jeudi = sans service CDN+FSH — CONFIRMÉ (3 data points W21+W23+W28)

- Supprimer la mention "potentiel" et "À confirmer sur 11/06/2026"
- Data points confirmés : 28/05/2026 (Jeu W21) · 04/06/2026 (Jeu W23) · 09/07/2026 (Jeu W28)
- Signal fiable : zelty 0 orders + api_fail=0 TOUTE la journée (47+ cycles) + KPI "(fermé / pas de service)"
  + Labo actif (~22-23 shifts combo-retard = production cuisine vendredi)
- Distinguer de "CDN Lun-Sam W25" : le schedule été juillet semble réduit (W28 CDN Jeu = fermé)
- À re-vérifier en septembre si schedule normal reprend
Justification : 3 data points sur 6 semaines (W21, W23, W28), signal zelty multi-cycles robuste, Labo actif confirme que les shifts ne sont pas service.

#3 — Documenter fermeture 14 juillet (Pyramides + Bastille)

### 14 juillet 2026 — fermetures confirmées (depuis WA James 09/07)
- Pyramides (= Choiseul 2e ?) + Bastille 11e : fermés le 14/07/2026
- Stuart annulé : routes Paris fermées pour fête nationale (Bal Bastille, cortège)
- James WA 09/07 09:30 : "pyramides et bastille seront fermé"
- Pas de commandes Rekki à prévoir pour livraison 14/07
- Pattern à généraliser : 1er Mai, 14 juillet, fêtes locales → vérifier disponibilité Stuart

Note : "Pyramides" = probablement Choiseul 2e (quartier Pyramides/Bourse/Louvre)
CDN (9e Châteaudun) et FSH (8e Saint-Honoré) : statut 14/07 non confirmé
Justification : fermeture explicitement confirmée par James. À noter pour le planning rekki-poll et stuart-watch du 14/07.

#4 — Escalader bug "Thu 14 evening data" vers Open Issues

### Bug ouvert : artifact "Thu 14 evening data" dans daily-kpi.log — ESCALADE J4+ (depuis 2026-07-06)
- Ligne persistante : "FSH: Brut HT €160 · Net HT €130 · ~81.8% livraison (only Thu 14 evening data)"
- J4 consécutifs (06/07, 07/07, 08/07, 09/07) — confirmé structural, pas transitoire
- Impact HTML = 0 (FSH correct dans le rapport). Impact log = bruit potentiellement masquant.
- À investiguer dans ~/yatai/scripts/fetch_kpi_data.py
  Chercher : log qui produit "only Thu 14 evening data"
  Hypothèse : données FSH créneaux 14h+ du jeudi 03/07 (W27) restent dans un cache ou
  une variable non réinitialisée entre les runs quotidiens
- [ ] Fix : identifier + corriger la source de ce log
Justification : J4 = structural, doit être escaladé. La section CLAUDE.md open issues avait déjà une note "à investiguer" — escalade urgence.