Yatai Reflection — 2026-06-21

Dimanche W25 · 22h02 Paris  ·  ← index reflections  ·  KPI →

TL;DR

KPI W25 (semaine complète)

CDN W25
€4 875
161 cmds · €30.28 moy · 6j service (Lun–Sam)
−47.9% brut vs W24 · −48%/j normalisé
FSH W25
€6 440
200 cmds · €32.20 moy · 5j service (Lun–Ven)
−54.6% brut vs W24 · −55%/j normalisé
Groupe W25
€11 315
361 cmds · MS/CA service 45.8%
−52% brut vs W24 (€23 549)
MTD Juin 2026
€58 274
1790 cmds · €48/h groupe
−20.5% vs Mai · −28.6% vs N-1

Timeline

Heure ParisAgentÉvénementRésultat
03:06disputes-dailyScan litiges Uber/Deliverooexit=0 — 0 soumissions
06:02justifs-sweeperScan + fetch Pennylane facturesexit=0 — free/edenred/sosh en échec (J17 consécutif)
06:49amazon-justifsBackfill Amazon → Pennylaneexit=0 — 3 nouveaux uploads (2025-03-22 €32.95, 2025-01-10 €6.99, 2025-01-08 €7.98)
08:00hermes-resto-briefBrief matinal restosexit=0
09:00daily-kpiGénération KPI W25 (jour final)DNS errors Zelty ×2 au démarrage — récupération spontanée, KPI publié
09:06daily-kpiPDF KPI envoyé James DMexit=0 — W25 complet publié (78 451 bytes)
10:00zelty-watchPremier run du jour (catchup 630 min)catchup-silent — 0 orders (Dimanche CDN+FSH fermés, normal)
10:00combo-retardSurveillance retards shift20 shifts inspectiés (Labo dimanche), 0 alertes
11:26rekki-poll-todayTRIGGER recap — Choiseul+Bastille ont commandé pour 22/06Trigger event-driven dans la fenêtre 10h45–12h00
11:26rekki-recap-13hRecap livraisons 2026-06-21 (3 orders)PDF 7 073 bytes généré + envoyé Labo 92 — ran ×2 (trigger + cron 12:20), idempotency OK
09:44–10:57Conversations WA équipement cuisine + comptaDiscussions four mixte gaz/élec, friteuses, aides subventions, prélèvement compta
10h–22hzelty-watch47 runs × 0 orders inspectiésNormal Dimanche — api_fail_streak=0 confirmé
17:31hermes-managerMonitoring système (×2 runs)Signale : free/edenred J10+, whatsapp-ocr-verify timeout structurel (en attente James), vault-actions FAILED cosmétique (path=active ✓)
18:35combo-retardRun après-midi21 shifts (+1 vs matin), 0 alertes
21:39whatsapp-ocr-verifyVérification OCRexit=0
21:58hermes-yatai-waMonitoring WA bridgeexit=0
22:00whatsapp-ocrOCR photos stock Laboexit=0 — zones traitées : Stock, CF, Haut (toppings/dry)
22:00hermes-resto-reflectReflect restosstarting

Patterns détectés

CONNU
P1 — Dimanche = CDN+FSH fermés / Labo actif
zelty-watch 47 runs × 0 orders, api_fail_streak=0. Combo-retard 20→21 shifts (Labo dimanche). Confirmé W21, W23, W24, W25 = 4+ semaines. Déjà documenté CLAUDE.md.
CONNU
P2 — Zelty W-1 carryover résolu <24h
CDN Ven19 (€832, 25 cmds) + Sam20 (€480, 12 cmds) absents du KPI 20/06, présents dans KPI 21/06. La reflect du 20/06 avait flaggé « CDN fermé vendredi » — faux négatif confirmé. CDN est ouvert Lun–Sam (6j), pas seulement Lun–Jeu. Conforme règle CLAUDE.md.
CONNU
P3 — Trigger rekki 11h26 Paris (Dimanche)
Dans la fenêtre documentée 10h45–12h00 (17/05→25/05 6 data points). Dimanche = 7ème data point. Pattern stable.
NOUVEAU
P4 — DNS morning instability J3 consécutif (seuil atteint)
19/06 : panne DNS ~90min (10h–11h30). 20/06 : Zelty DNS errors daily-kpi 07:00. 21/06 : Zelty DNS errors daily-kpi 07:00 ×2. Dans les 3 cas : résolution spontanée, KPI publié. Hypothèse : cold-start réseau VPS après nuit inactive. Seuil 3 data points atteint.
NOUVEAU
P5 — Planning service CDN Lun–Sam / FSH Lun–Ven (W25 confirmé)
W25 complète (15–21/06) : CDN ouvert 6 jours (fermé Dim uniquement), FSH ouvert 5 jours (fermé Sam+Dim). Non documenté explicitement dans CLAUDE.md. Utile pour normaliser WoW et éviter faux-positifs « CDN fermé vendredi ».

Anomalies

🔴
CA W25 en chute sévère normalisée — CDN −48%/j et FSH −55%/j vs W24 (en supposant W24 6j CDN / 5j FSH). MTD Juin −20.5% vs Mai, −28.6% vs N-1 (même période 2025). Hypothèses : canicule (pattern CLAUDE.md), pré-vacances scolaires zone C, évolution concurrentielle. Sévérité : HIGH — si tendance confirmée en W26, alerte business urgente. À discuter avec James.
🟡
justifs/free+edenred+sosh — J17 consécutif (05/06→21/06) — fetch_free : « page failed to load », fetch_edenred : rc=1, fetch_sosh : « session expirée ». Backlog Pennylane croissant. hermes-manager a posté la proposition. En attente décision James. Impact : comptabilité en retard.
🟡
whatsapp-forward backlog structurel — 30→33 médias en attente, cap 25/run. ×2 occurrences « ⚠ 33 médias en attente → cap à 25 » dans le log d’aujourd’hui. Si flux entrant > 25 photos/nuit, backlog croît indéfiniment. Photos les plus anciennes ne seront jamais OCRisées.
🟡
DNS morning instability J3 — Zelty name resolution failure systématique au lancement daily-kpi (~07:00 UTC). Récupation spontanée <5min dans les 3 cas. Aucun impact service réel aujourd’hui.
🟢
rekki-recap-13h ×2 — trigger event-driven 11:26 + cron 12:20 (10:20 UTC). Idempotency prévient le double-envoi. Comportement normal par design.
🟢
amazon-justifs UPLOADE à 40 — 3 nouvelles factures uploadées (2025-01-08 €7.98, 2025-01-10 €6.99, 2025-03-22 €32.95). 9+1 UNMATCHED persistants dont UNMATCHED_UK (€108.51). amazon-justifs fonctionne bien sur .fr.

Propositions CLAUDE.md

1. Planning service hebdomadaire CDN+FSH (section 3 ou nouvelle section)

Justification : W25 complète (15–21/06) fournit la première semaine complète documentée. CDN 6j, FSH 5j. Utile pour normaliser WoW et éviter faux-positifs « CDN fermé vendredi/samedi ».

### Planning service hebdomadaire (confirmé W25, 15–21/06/2026)
- **CDN** : Lun–Sam (6 jours service) — fermé Dimanche uniquement
- **FSH** : Lun–Ven (5 jours service) — fermé Sam+Dim
- Pour comparaisons WoW : normaliser par jours de service (÷6 CDN, ÷5 FSH)
- KPI « CDN fermé Ven/Sam » = zelty carryover probable (voir règle carryover), pas fermeture exceptionnelle
- À re-confirmer sur W26 (semaine vacances scolaires)

2. DNS morning instability (section 7 Infrastructure)

Justification : 3 data points consécutifs (19/06, 20/06, 21/06). Résolution spontanée dans les 3 cas. Actionnable pour monitoring.

### DNS instabilité matinale (depuis 2026-06-19)
- Zelty name resolution failure au lancement daily-kpi (~07:00 UTC) observée J19, J20, J21
- Erreur : [Errno -3] Temporary failure in name resolution
- Résolution spontanée en <5min, KPI publié normalement dans les 3 cas
- Hypothèse : cold-start réseau VPS après nuit inactive (pas de trafic réseau sortant 02h–07h)
- Ne pas alerter si KPI exit=0 ; alerter si KPI exit=1 ET DNS encore en échec à 07:30 UTC

3. whatsapp-forward backlog structurel (section 8 Open issues)

Justification : 4+ data points (18/06 ≈30, 19/06 30, 20/06 33, 21/06 33). Pattern croissant.

### whatsapp-forward backlog structurel (depuis 2026-06-18)
- Backlog médias en attente : ~25 (18/06) → 30 (19/06) → 33 (20/06) → 33 (21/06)
- Cap 25/run (limitation llava CPU) : si flux entrant > 25 photos/nuit, backlog croît indéfiniment
- Options : (a) augmenter cap si CPU le permet, (b) 2 runs/nuit, (c) purge manuelle anciens médias
- [ ] Action : décider de l’option avec James