Yatai

Reflection — 2026-08-03

Lundi · Semaine ISO W32 · CDN J17/44 fermeture estivale · FSH lundi ouvert (zelty delay) · 22:00 Paris · Stack 15/15 MCPs OK   ← index reflections · KPI →  ← 2026-08-02

TL;DR

KPI du jour — FSH seul (CDN J17/44 fermeture estivale)

€8 333
FSH W31 total
−25.9% vs S-1
242
commandes FSH W31
€34.44
ticket moyen FSH
33.1%
% livraison FSH

⚠️ W32 (semaine en cours) : 0 CA visible pour l'instant — zelty ingestion delay attendu (FSH lundi ouvert, données visibles demain matin KPI). CDN = fermé estival jusqu'au 30/08.

Jour FSHCmdes%LivrNet HT€/hStatut
Lun 27/075120.4%€1 607.56€64/houvert
Mar 28/075122.4%€1 645.98€52/houvert
Mer 29/07275.3%€1 232.54€36/houvert
Jeu 30/074016.2%€1 388.01€45/houvert · carryover J+2 confirmé
Ven 31/074125.6%€1 358.65€36/hcarryover J+2 (apparu KPI 02/08)
Sam 01/083230.3%€1 100.62€33/hcarryover J+1 (apparu KPI 02/08)
Dim 02/08fermé (FSH dim)

Timeline

Heure ParisAgent / SourceÉvénementRésultat
01:08disputes-dailyScan litiges Uber/Deliverooexit=0 · Uber STALE 124h (session expirée ~29/07)
04:02–04:48justifs-sweeper, amazon-justifsBatch nuit : factures + Amazon → Pennylaneexit=0 · fetch_free rc=1 · Pennylane upload Content-Type 400 (nouveau)
06:03hermes-resto-briefBrief matinal restosexit=0
07:03daily-kpiKPI 2026-08-03 publié (W32 début)exit=0 · CDN estival · FSH 0 (zelty delay) · artifact "Thu 14" log cosmétique
07:04hermes-managerStack monitoringexit=0 · 15/15 MCPs OK · 0 FAILED
08:00 UTC (10:00 Paris)zelty-watchCatchup 630 min + démarrage cycles0 orders · 0 events · api_fail=0 (CDN estival + FSH zelty delay — attendu)
10:00 Pariscombo-retard-watcherDémarrage 143 cycles surveillance0 alertes · 13 shifts inspectés (Labo production CDN, CDN service fermé)
10:14 ParisWhatsApp DM James ← staff⚠️ "Sur Google Châteaudun est noté comme ouvert"James : "bizarre, je m'en occupe" · CDN fermé compte Google mais ouvert côté client
10:17 ParisWhatsApp DM JamesJames envoie screenshot Google Maps CDNBug Google Business confirmé — correction manuelle en cours
11:21 Paris (09:21 UTC)rekki-poll-todayTRIGGER recap — Choiseul + Bastille ordered for 2026-08-04Trigger systemctl envoyé (fenêtre 10h45–12h00 respectée)
12:20 Paris (10:20 UTC)rekki-recap-13hRecap livraisons 03/08 (3 orders : Y15190557, V15190956, W15191751)exit=0 · RECAP_2026-08-03.pdf 5211B · Labo 92 envoyé
Matin (08:35-09:50)WhatsApp DM JamesDiscussion concept restaurant : extraction, hotte, "une vietnamienne" consultantSignal développement nouveaux concepts (suite Asian Smash + explorations)
19:59hermes-yatai-waMonitoring WhatsApp bridgeexit=0 · 15/15 MCPs
20:00 (Sat 01/08)whatsapp-ocrRun hebdo samedi (dernier run)exit=1 · J23 structurel · bug LAST_SEEN unbound · backlog ~105 médias

Patterns détectés

Rekki trigger Choiseul+Bastille — stable été
Trigger 03/08 à 11:21 Paris. Historique fenêtre documentée 10h45–12h00 : 17/05 11:22 · 18/05 11:06 · 19/05 11:21 · 20/05 11:22 · 24/05 11:49 · 25/05 10:52 · 28/07 12:03 (hors fenêtre +3min) · 03/08 11:21. Pattern stable, cron 12:20 couvre les dépassements marginaux.
FSH Ven/Sam carryover Zelty — 2 data points confirmés
FSH Ven 31/07 (€1 358 · 41 cmds) : apparu KPI 02/08 = carryover J+2. FSH Sam 01/08 (€1 100 · 32 cmds) : apparu KPI 02/08 = carryover J+1. 1er data point : Ven 26/06 (apparu 28/06). 2ème data point : W31 (apparu 02/08). Pattern stabilisé → ne jamais conclure "FSH fermé" Ven ou Sam sans attendre le KPI du dimanche.
Google Business CDN non-mis à jour lors de la fermeture estivale
CDN fermé depuis le 18/07 (J17 au 03/08), mais Google Maps affiche toujours "ouvert" côté client. James a signalé l'avoir configuré "fermé" côté compte Google, mais le résultat n'est pas propagé côté client. Signal : message staff 10:14 Paris. Impact : potentiels clients se déplacent pour rien. Règle à créer pour les prochaines fermetures prolongées.
disputes-daily Uber session expiry — cycle ~5 semaines
1ère expiration : ~25/06/2026 (STALE 52h détecté 27/06). 2ème expiration : ~29/07/2026 (STALE 76h détecté 27/07, 124h au 03/08). Delta = ~34 jours entre expirations → session Uber valable ~5 semaines. Modèle prédictif : prochaine expiration ~02/09/2026. Action requise : rotation automatique mensuelle.

Anomalies

🔴 Google Maps CDN "ouvert" pendant fermeture estivale (J17)
Sévérité : HAUTE · CDN fermé depuis 18/07, affiché "ouvert" sur Google Maps côté public. Staff l'a signalé ce matin (10:14 Paris). James corrige manuellement ("je m'en occupe"). Hypothèse : délai de propagation Google Business OU la mise à jour n'a pas été sauvegardée correctement côté Google My Business Manager. Impact : clients Châteaudun qui se déplacent inutilement pendant les 44 jours de fermeture.
🔴 whatsapp-ocr — J23 structurel (exit=1, bug LAST_SEEN unbound)
Dernier exit=0 : avant le 11/07. Backlog estimé ~105 médias (53 au 27/06 + ~5.5/sem × 9 sem). Prochain run naturel : Ven 07/08 → J27 sans correction. Fix 1 ligne Python (LAST_SEEN = None). En attente décision James depuis J23. Photos stock non OCRisées → données stock non traçées.
🔴 disputes-daily Uber STALE 124h (escalade linéaire)
STALE : 52h (27/07) → 76h (01/08) → 100h (02/08) → 124h (03/08) = +24h/jour. Timer mort ou session uber_storage_state.json expirée ~29/07. Agent exit=0 (tourne) mais données Uber périmées. Risque : litiges Uber non traités, délai glissant Uber → perte automatique si deadline dépassée. Action : run headed Uber scraper pour réauthentifier la session.
🟡 justifs Pennylane : nouveau Content-Type 400 sur upload (fetch_sosh)
justifs-fetch.log : "Pennylane import failed 400: Content-Type must be application/json". Affecte l'upload des factures Sosh mensuelles (30.47€ × plusieurs mois). Anomalie nouvelle (n'était pas présente avant les auto-repairs récents). Hypothèse : le fix auto-repair fetch_sosh du 28/07 a introduit un bug dans le header de la requête Pennylane.
🟡 fetch_free + fetch_edenred — J60+ sans fix
fetch_free : RuntimeError "liste factures Sosh introuvable (session expirée)". fetch_edenred : page.wait_for_selector timeout (portail changé). Stagnation : aucune action depuis le 05/06. Factures Free Mobile + Edenred non récupérées. Action requise : run headed/screenshot pour diagnostiquer. En attente "go" de James.
🟢 FSH W32 : 0 CA visible (zelty ingestion delay — attendu)
Zelty-watch 0 orders toute la journée. Combo-retard 13 shifts (Labo CDN production uniquement). FSH lundi normalement ouvert (W31 Lun 27 = 51 cmds, €1 607). Données W32 attendues dans KPI 04/08 matin. Non-alarmant : pattern ingestion delay zelty connu et documenté.
🟢 Artifact "only Thu 14 evening data" dans daily-kpi.log — J26 cosmétique
Ligne log persistante depuis 06/07. Impact HTML = 0 (rapport affiche correctement "fermé" FSH). Ouvert en section 8 depuis le 08/07 — investigation fetch_kpi_data.py toujours pendante.

Propositions CLAUDE.md

#1 — FSH Jeudi ouvert CDN estival : CONFIRMER (2 data points W30+W31, seuil atteint)

Section : "CDN fermeture estivale 2026 (18/07 → 30/08)" · Justification : W30 Jeu 23/07 + W31 Jeu 30/07 confirmés. CLAUDE.md demandait "Confirmer sur W31 Jeu 31/07 avant fixation" → seuil atteint.

### FSH planning étendu pendant CDN estival — CONFIRMÉ (W30+W31)
- FSH Jeudi ouvert pendant CDN fermeture estivale (18/07–30/08)
  W30 Jeu 23/07 : €1 886 · 57 cmds (carryover J+2) · W31 Jeu 30/07 : €1 388 · 40 cmds (carryover J+2)
- Règle "Jeudi = sans service FSH CONFIRMÉ (W21+W23+W29)" ne s'applique PAS pendant CDN estival
- Carryover FSH Jeu : données visibles J+2 dans le KPI (dimanche matin pour un jeudi)

#2 — FSH Ven/Sam carryover Zelty (2 data points)

Section : "Zelty carryover week-end étendu" · Justification : 2ème data point Ven 31/07 + Sam 01/08 (apparus simultanément KPI 02/08). Pattern stabilisé.

### FSH carryover Ven/Sam — 2 data points confirmés (mise à jour 2026-08-03)
- FSH Ven → carryover J+2 : data points Ven 26/06 + Ven 31/07 ✓ ×2
- FSH Sam → carryover J+1 : data point Sam 01/08 (1er data point week-end hors férié)
- Les deux apparaissent simultanément dans le KPI du dimanche ~07:00
- Ne jamais conclure "FSH Ven/Sam fermé" avant le KPI du dimanche

#3 — Google Business CDN : mettre à jour lors des fermetures prolongées

Section : "Infrastructure VPS" ou nouvelle section "Opérations saisonnières" · Justification : CDN affiché "ouvert" J17 malgré fermeture estivale → impact client potentiel.

### Google Business CDN — fermetures prolongées
- Lors de toute fermeture > 7 jours, vérifier la propagation Google Business côté client
  (pas seulement côté compte Google My Business Manager)
- Observé : CDN fermé 18/07, encore affiché "ouvert" côté public le 03/08 (J17)
- Vérification : chercher "Yatai Châteaudun" dans Google Maps depuis un browser incognito
- Si encore "ouvert" après 48h : utiliser "Horaires temporaires" dans Google Business Profile

#4 — disputes-daily Uber : rotation session mensuelle (~5 semaines)

Section 8 Open Issues · Justification : 2ème expiration en ~34 jours. Pattern prédictif : prochaine ~02/09/2026.

### disputes-daily Uber session expiry — pattern récidivant
- Cycle observé : session valable ~5 semaines (34 jours entre 2 expirations)
  Exp #1 : ~25/06 · Exp #2 : ~29/07 · Prochaine prévue : ~02/09/2026
- Action préventive : réauthentifier uber_storage_state.json avant J+30 post-dernière-expiration
  (cible : ~25/08 pour éviter expiration autour de la réouverture CDN 02/09)
- Symptôme : DISPUTE_STALE > 48h dans lessons.jsonl + escalade +24h/jour
- [ ] À traiter : réauthentifier maintenant (STALE 124h, J4+)

#5 — whatsapp-ocr : mise à jour Open Issues (J23, backlog ~105)

Section 8 Open Issues · Mise à jour du tracker.

### whatsapp-ocr structurellement arrêté (mise à jour 2026-08-03)
- J23 au 03/08 · Dernier run exit=1 : Sat 01/08 20:00 UTC
- Prochain run naturel : Ven 07/08 → J27 si non corrigé
- Backlog estimé ~105 médias (53 au 27/06 + ~5.5/sem × 9 sem)
- Bug LAST_SEEN unbound — fix trivial 1 ligne (LAST_SEEN = None) — attente décision James
- Timer Ven+Sam uniquement : chaque semaine sans fix = 2 runs perdus, +11 médias backlog
- [ ] Action : fix Python 1 ligne OU purge manuelle OU 2 runs/nuit

Généré à 22:00 Paris · 2026-08-03