Réflexion Yatai — 2026-09-25

Vendredi · Semaine ISO W39 2026 · 22h00 Paris · yatai-reflect
TL;DR

KPI du jour (W39 partiel — Lun–Jeu CDN, Lun–Mer FSH)

CDN Châteaudun
€5 179
187 cmds · €27.7/cmd · Lun–Jeu (4j)
FSH Saint-Honoré
€5 564
179 cmds · €31.1/cmd · Lun–Mer (3j)
Groupe W39 partiel
€10 743
MTD sept. €83 856 / 2 579 cmds · €65/h

⚠️ Distorsion MS/CA (semaine partielle) — labor Ven–Dim planifié dans numérateur. S-1 label "W19" = bug cosmétique persistant (J46+).

Timeline

Heure (Paris) Agent / Source Événement Résultat
04:00 justifs-sweeper Scan + fetch : Free rc=1 (chronique J112+), Sosh rc=1 (en attente repair) partiel
04:49 amazon-justifs Uploads Pennylane : CDN 2025-03-22 €32.95, CDN 2025-01-10 €6.99, CDN 2025-01-08 €7.98 · UNMATCHED_UK €108.51 toujours pending exit=0
06:02 hermes-resto-brief Brief quotidien généré exit=0
07:00–07:09 daily-kpi KPI W39 : CDN Jeu 24 +€1 228 (carryover J+1 ✓), FSH Mer 23 +€1 846 (carryover J+2 ✓) · groupe partiel €10 743 · MTD sept. €83 856 exit=0
07:02 hermes-manager 0 FAILED · 15/15 MCPs OK · bl-ingest JWT Komia J8 noté (non-résoluble VPS) exit=0
07:36–07:39 self-repair Sosh auto-repair lancé (cycle J18 #3) → ✅ AUTO-MERGE déployé + smoke live VERT ✅ repaired
08:00 zelty-watch Catchup silent 630 min (nuit) — 0 orders attendu 0 events
08:15–22:00+ zelty-watch 47 runs · 0 orders CDN+FSH toute la journée · api_fail=0 → Ven 25/09 = service fermé 0 events
09:40–09:57 WA James → Discussion Metro/fournisseurs (prix ingrédients) · "On va arreter le hiyashi chuka / Il faudrait mettre le Rāmen traditionnel à la place" — changement menu —
10:00–22:00 combo-retard 21 shifts inspectés · 0 alertes retard · 143 runs normal
10:18 WA ← Combo HR Avenant planning : "les heures effectuées d'une semaine à l'autre présentent trop d'écart pour pouvoir faire un avenant unique" —
12:15 (10:15 UTC) rekki-poll-today TRIGGER event-driven : Choiseul+Bastille ont commandé pour 2026-09-26 — dans fenêtre étendue 10h45–12h30 trigger OK
12:20 rekki-recap-13h 5 orders pour 2026-09-25 · PDF 9 951 bytes · 2ème run = idempotent skip exit=0
16:44 WA James → Image envoyée (contexte inconnu) —
16:46 WA James → "Le restaurant est fermé jcrois" — corrobore zelty 0 orders Ven 25/09 ⚠️ —
18:17 WA James → "Jarrive jme suis trompé de chemin lol" — James en déplacement —
19:58 hermes-yatai-wa Bridge WhatsApp health check exit=0
22:00 (20:00 UTC) whatsapp-ocr Run vendredi (timer Ven/Sam) → exit=0 — possible résolution bug LAST_SEEN J44+ ⚠️ log content anormal (BL data au lieu de photos stock) exit=0 (?)
01:09 J+1 disputes-daily 0 soumissions · Uber STALE 1396h (J58+) · pattern inchangé STALE J58+

Patterns détectés

CDN carryover J+1 — 4ème+ confirmation post-réouverture
CDN Jeu 24/09 (45 cmds, €1 228.12) visible dans KPI 25/09 (J+1). Pattern stable depuis réouverture CDN 31/08. Règle confirmée (révisée 18/09 : CDN Jeu = OUVERT, données J+1).
FSH carryover J+2 généralisé — confirmation W39
FSH Mer 23/09 (63 cmds, €1 846.41) visible dans KPI 25/09 (J+2). 4ème data point sur le pattern "FSH carryover J+2 généralisé" (établi août 2026). Toujours valide post-CDN estival.
Trigger Choiseul+Bastille 12:15 Paris (Ven W39)
Trigger event-driven à 12:15 Paris — dans la fenêtre étendue documentée 10h45–12h30. Cron 12:20 = skip idempotent ✓. Pattern stable sur W31–W39 (6 data points hors fenêtre standard).
Sosh session J18 — cycle 3 confirmé (07:36 Paris)
Cycle 1 : 28/07→15/08 (J18) · Cycle 2 : 02/09→16/09 (J14) · Cycle 3 : 25/09 repair → exp. ~13/10. Pattern J18 robuste sur 3 cycles. Réauth proactive cible : ~28/09 (si cycle 2 = J14, peut être J15+).
Vendredi W39 CDN+FSH = 0 orders (47 runs, api_fail=0) — 1er data point post-estival
Zelty-watch couvre 08:15–22:00 avec 0 orders CDN et 0 orders FSH. WA James 16:46 "Le restaurant est fermé jcrois" corrobore. Possible évolution planning : CDN Lun-Jeu (4j), FSH Lun-Mer (3j). Insuffisant pour règle (1 data point) — observer W40 Ven 02/10.

Anomalies

🔴 CRITIQUE — Disputes Uber STALE J58+
STALE 1396h au 25/09 (+24h/jour depuis ~29/07). 0 soumissions · 0 disputables traités. Session uber_storage_state.json expirée · lifecycle ~34j · prochaine expiration post-réauth ~29/10.
Pertes définitives litiges 29/07–12/08 (délai glissant 7–14j Uber dépassé). Action IMMÉDIATE : run headed Playwright Uber + re-save session.
🔴 CRITIQUE — bl-ingest Komia JWT mort J8
JWT RS256 expiré ~17/09 (3 mois après connexion initiale ~17/06). refresh=401. BL fournisseurs non ingérés depuis 17/09.
Non-résoluble VPS-side. Action : recapture JWT depuis Mac Chrome DevTools → localStorage.kt-auth-react-v.token → ~/.config/komia-jwt.txt
🟡 — CDN+FSH Ven 25/09 = 0 orders zelty (47 runs, api_fail=0)
Service fermé ce vendredi. Corroboré WA James 16:46 "Le restaurant est fermé jcrois". Le KPI 25/09 (généré 07:09 avant le service) montre Ven 25 = "fermé / pas de service" pour CDN+FSH.
1 data point post-CDN-estival. Si CDN Ven 02/10 (W40) = 0 aussi → révision règle planning (CDN = Lun-Jeu, FSH = Lun-Mer).
🟡 — whatsapp-ocr log content anormal
Le log whatsapp-ocr.log du digest contient des données BL Komia (Choiseul livraisons juin, FSH livraisons juin) au lieu de données OCR photos stock. Le systemd indique exit=0 (sans timestamp). Possible mélange de logs ou partage de fichier log.
À vérifier si le run exit=0 correspond bien au script WhatsApp OCR photos (et non au bl-ingest). Confirmation Sam 26/09.
🟡 — Free rc=1 chronique (J112+ depuis 05/06)
page.wait_for_selector timeout · "Free invoices page failed to load". Inchangé. Factures Free Mobile non récupérées. Backlog Pennylane.
🟡 — S-1 label "W19" faux dans KPI (J46+ depuis 10/08)
Le KPI affiche S-1 = "W19" (mai 2026) au lieu de la semaine précédente réelle. Valeurs correctes, seul le label est faux. Fix dans render_kpi.py : calcul semaine ISO pour label S-1. Priorité faible (cosmétique).
🟡 — Combo HR avenant planning : écart heures inter-semaines
Message reçu à 10:18 : "les heures effectuées d'une semaine à l'autre présentent trop d'écart pour pouvoir faire un avenant unique qui couvre la période entière pour chaq[ue employé]". Signal RH : irrégularité plannings post-réouverture CDN (service réduit soir + fluctuations W37-W39). À surveiller.
🟢 — whatsapp-ocr exit=0 (run Ven 25/09) — possible résolution J44+
Le dernier run connu était Sat 19/09 exit=1 (bug LAST_SEEN unbound). Ce soir (Ven 25/09), systemd indique exit=0. Si Sam 26/09 aussi exit=0 → bug RÉSOLU (self-heal ou patch déployé silencieusement). Fermer l'open issue J44+ en attente de confirmation.
🟢 — Sosh session cycle 3 réussi (07:36 Paris)
Auto-repair déployé + smoke live VERT à 07:39. Prochaine expiration ~13/10/2026. Pattern J18 sur 3 cycles confirme la robustesse du self-repair Sosh.
🟢 — Menu change : arrêt hiyashi chuka → ramen traditionnel
James 09:57 : "On va arreter le hiyashi chuka / Il faudrait mettre le Rāmen traditionnel à la place". Signal d'évolution carte (probablement FSH ou CDN post-réouverture). Aucun impact ops.

Propositions CLAUDE.md

Proposition #1 — Observer CDN+FSH Vendredi post-estival (hash ven25_planning_obs)
OBSERVER — 1 data point, pas encore proposable en règle.

Observation : CDN Ven 25/09 + FSH Ven 25/09 = 0 orders zelty (47 runs, api_fail=0). WA James 16:46 corrobore. Possible nouveau planning : CDN = Lun-Jeu (4j), FSH = Lun-Mer (3j).
Seuil pour règle : 3 data points consécutifs (W40 02/10, W41 09/10).
Section cible : section 1 (Business context, planning service) + révision règle "CDN Lun-Sam".
Proposition #2 — whatsapp-ocr : fermer open issue si Sam 26/09 exit=0 (hash ocr_close_j44)
CONDITIONNEL — à valider demain matin.

Condition : Si Sam 26/09 whatsapp-ocr exit=0 → bug LAST_SEEN RÉSOLU.
Action CLAUDE.md : Mettre à jour section 8 Open Issues :
- [x] whatsapp-ocr : RÉSOLU (self-heal ~25-26/09/2026)
  exit=0 Ven 25/09 + Sam 26/09 — bug LAST_SEEN unbound disparu
  Backlog OCR stock estimé ~135+ médias — à surveiller si résorbé progressivement
  Fermer le J44+ open issue
Justification : si confirmé, fin d'un downtime stock OCR de 44+ jours.
Proposition #3 — Komia JWT lifecycle ~3 mois : réauth proactive (hash komia_jwt_lifecycle)
NOUVEAU — à ajouter section 8 Open Issues.

Texte proposé :
### Komia JWT — lifecycle ~3 mois (depuis 2026-09-25)
- JWT RS256 expiré ~17/09/2026 (3 mois après connexion initiale ~17/06/2026)
- refresh=401 confirmé depuis J8 · bl-ingest mort jusqu'à recapture Mac
- Prochaine expiration à planifier : ~17/12/2026 (J-14 = 03/12/2026)
- Action proactive : recapture JWT depuis Mac Chrome DevTools ~01/12
  → localStorage.kt-auth-react-v.token → ~/.config/komia-jwt.txt
- 1 cycle observé — lifecycle ~3 mois confirmé
Justification : pattern lifecycle documenté sur 1 cycle complet, prévention > correction.