Yatai

Réflexion Yatai — 2026-09-29

Mardi · Semaine ISO W40 2026 · 22:00 Paris · yatai-reflect  ·  ← index  ·  KPI du jour →

TL;DR

  • 🔴 daily-kpi TIMEOUT (exit=15) pour la 3ème fois — 2 jours consécutifs (28+29/09) · KPI W40 Mar absent · hermes-manager propose TimeoutStartSec=15min (action requise)
  • 📣 James pivot publicité : abandon Google Ads (€450/mois) → sponsorisation Meta/Instagram · signal stratégie marketing
  • 🟡 Mardi W40 = zelty 0 orders (47 runs, api_fail=0) — 2ème data point potentiel "Mardi Labo pur", à confirmer KPI 30/09 (CDN J+1) et 01/10 (FSH J+2)

Timeline

Heure ParisAgent / SourceÉvénementRésultat
01:10disputes-dailyUber STALE 1 492h (J62+) · 0 soumissions · 0 disputablesSTALE J62+
04:00justifs-sweeperScan + fetch · free rc=1 chronique (Sosh session expirée J11) · Pennylane Content-Type 400 errors SFR/Alanpartial
04:49amazon-justifs3 factures CDN uploadées (€32.95, €6.99, €7.98) · UNMATCHED_UK €108.51 toujours pendingexit=0
06:01hermes-resto-briefBrief quotidien généré (Asian Smash chantier · CDN post-été · Hanbaga candidature)exit=0
07:00daily-kpiKPI W40 runner start → TIMEOUT avant publication (3ème occurrence, 2ème consécutif)exit=15 ❌
07:07hermes-manager0 FAILED · 15/15 MCPs OK · bl-ingest JWT J12 noté · proposition TimeoutStartSec=15min renforcéeexit=0
08:00zelty-watchCatchup 630 min · 0 orders CDN+FSH · Mardi W40 — carryover J+1/J+2 probable, pas de conclusion "fermé"0 events
08:58stuart-watchChoiseul V15637932 · job 306996830 booked (1st) · cascade idleexit=0
09:32rekki-poll-todayTRIGGER recap — Choiseul + Bastille ont commandé pour 2026-09-30trigger OK
09:32rekki-recap-13h1 order pour 29/09 · RECAP_2026-09-29.pdf (2 986 bytes) · run event-drivenexit=0
09:55–10:06WA James"Tu penses que tu peux switcher qd de Google Ads vers Meta / Le budget" · €450/mois → Instagram sponsorisation · "je préfère le mettre ds de la sponsorisation insta"📣 pivot marketing
10:00combo-retard21 shifts inspectés · 0 alertes (×143 runs)OK
10:20rekki-recap-13h2ème run (cron 12:20 Paris) · idempotent skipexit=0
12:45–12:55WA James"Met claude en verificateur et en orchestrateur" · "Met api deepseek" — signal architecture IA hybride Claude+DeepSeek💬 signal infra
15:51–16:12WA JamesDavid frais livraison bière · images produits · livraison coordination📦 ops
16:40–17:08WA James"Bonjour j'aimerais une livraison + retour de bac" · contact Axel demain (+33 6 29 64 57 81)📦 Stuart coord
17:52–18:08WA JamesCorndog/shiopan discussion · ami fait 1 000 pains/jour main · "le vrai nom cest shiopan" · exploration fournisseur pain pour Asian Smash🍞 R&D menu
19:02–19:03WA James"Ok mix the vinegar / And mix one time only" — instruction cuisine (sauce Bastille ?)🍜 recette
19:30whatsapp-ocr-verifyVérification WA OCRexit=0
20:00hermes-yatai-waBridge WhatsApp health checkexit=0
20:00hermes-resto-reflectRéflexion quotidienne Asian Smash / chantierexit=0

Patterns détectés

⏱ daily-kpi timeout — pattern confirmé (3 data points)
26/07/2026 (dim) · 28/09/2026 (lun) · 29/09/2026 (mar) = 3 occurrences en 10 semaines. Les 2 dernières sont consécutives (Lun+Mar W40). Charge Zelty élevée en début de semaine (carryover accumulé du WE) = hypothèse principale. hermes-manager a renforcé la proposition TimeoutStartSec=15min (drop-in réversible). Fix recommandé avant prochain lundi.
📣 James pivot publicité Google Ads → Meta/Instagram
Décision claire annoncée 29/09 09:55 Paris : arrêt Google Ads, budget de €450/mois réalloué sur sponsorisation Instagram. Contexte : post-CDN estival, optimisation coûts marketing. Signal durable à noter dans le contexte business.
🍞 Exploration fournisseur shiopan pour Asian Smash
Ami de James produit 1 000 shiopan (pain japonais salé) / jour à la main — possible fournisseur pain pour le smash burger. Pas encore machine → production manuelle, scalabilité à valider. Contact suivi nécessaire. Corndog packaging discuté (carton simple vs double épaisseur).
🔄 Mardi W40 = zelty 0 orders (2ème data point potentiel)
47 runs consécutifs 10h–22h, api_fail=0, combo-retard 21 shifts actifs. Si KPI 30/09 confirme CDN Mardi 29/09 = 0 ET KPI 01/10 confirme FSH Mardi 29/09 = 0 → 2ème data point valide "Mardi = Labo pur" (après W21 27/05/2026). Si l'un ou l'autre est > 0 → faux-négatif zelty (même mécanisme que 02/06 et 15/09).

Anomalies

🔴 daily-kpi TIMEOUT (exit=15) — 3ème occurrence, 2 jours consécutifs KPI 29/09 non publié. AGENTS.md sans entrée depuis le 27/09. Données partielles dans le log : CDN €1 864 Brut HT · FSH €130 "only Thu 14 evening data" (artifact bug persistant). Deux jours consécutifs de timeout = urgence. Action requise : TimeoutStartSec=15min via drop-in systemd. Hermes-manager a déjà posté la proposition.
🔴 Disputes Uber STALE J62+ (1 492h) Session uber_storage_state.json expirée ~29/07/2026. +24h/jour. 0 soumissions, 0 disputables. Pertes définitives sur litiges 29/07–12/08 (délai glissant 7–14j dépassé depuis longtemps). Prochaine expiration post-réauth ~30/10/2026. Action IMMÉDIATE : run headed Playwright Uber + re-save session.
🔴 bl-ingest Komia JWT mort (J12) JWT RS256 expiré ~17/09 (3 mois après connexion initiale ~17/06). refresh=401 confirmé. BL DB ~/yatai/data/bl.db incomplet depuis 12 jours. Non résolu côté VPS — recapture requise depuis Mac (Chrome DevTools → localStorage.kt-auth-react-v.token).
🟡 justifs/free rc=1 chronique (Sosh J11, prochaine expiration ~06/10) RuntimeError "liste factures Sosh introuvable (session expirée ?)". Cycle Sosh ~18j confirmé sur 3 cycles. Repair du 18/09 → expiration prévue ~06/10. Prochain self-repair attendu ~07/10 (sinon manuel).
🟡 Pennylane Content-Type 400 errors (upload SFR/Alan) "Pennylane import failed 400: Content-Type must be application/json" — erreur chronique sur les factures SFR mensuel (€30.47/mois ×11 lignes) et Alan (factures santé). Upload 409 pour les doublons (normal), mais les nouvelles factures SFR échouent aussi avec 400. Bug dans le code d'upload du fetcher SFR.
🟡 whatsapp-ocr exit=0 mais OCR mauvais médias Le script tourne (exit=0 Sat 26/09 + verify exit=0 29/09) mais traite des BL Komia (bons livraison juin) au lieu des photos stock du staff. Bug distinct du précédent bug LAST_SEEN. Impact : stock OCR non fonctionnel malgré l'apparence de succès.
🟢 zelty-watch Mardi W40 = 0 orders 47 runs consécutifs, api_fail=0. Peut être : (a) Mardi = Labo pur (comme W21 27/05) ou (b) faux-négatif zelty carryover J+1 (comme 02/06, 15/09). Vérifier KPI 30/09 (CDN J+1) avant conclusion.

Propositions CLAUDE.md

PROPOSITION #1 — AJOUTER section 8 Open Issues : daily-kpi timeout récurrent (action requise)
### daily-kpi timeout récurrent — fix requis (depuis 2026-09-29)
- 3 occurrences confirmées : dim 26/07 · lun 28/09 · mar 29/09 (2 dernières consécutives)
- Symptôme : exit=15 (timeout systemd) avant publication HTML · KPI absent AGENTS.md
- Cause : charge Zelty API élevée en début de semaine (carryover WE accumulé)
- Fix proposé par hermes-manager : TimeoutStartSec=15min (drop-in réversible)
  → /etc/systemd/system/daily-kpi.service.d/timeout.conf : [Service] TimeoutStartSec=15min
- Action : "go" James requis pour appliquer le drop-in
Justification : 3 data points en 10 semaines, 2 consécutifs. Proposé par hermes-manager (proposition renforcée escalade moyenne→haute). Fix trivial 1 fichier.
PROPOSITION #2 — AJOUTER watch item : pivot publicité Google Ads → Meta
### Pivot publicité : Google Ads → Meta/Instagram (depuis 2026-09-29)
- James annonce abandon Google Ads · budget €450/mois réalloué vers sponsorisation Instagram
- Décision 29/09/2026 09:55 Paris : "jveux plus continuer google ads · Ca me coute environ 450€/mois"
- Impact GA4/GTM : traffic source shift attendu dans les prochaines semaines
- À noter pour les comparaisons de trafic web et les KPI marketing
Justification : décision business claire et durable, impact sur les métriques web (GA4/GTM disponibles). Contexte utile pour les analyses futures.
PROPOSITION #3 — WATCH ITEM : Mardi W40 = 2ème data point potentiel "Mardi Labo pur"
### Mardi = Labo pur — watch item (à confirmer 30/09 + 01/10)
- W40 Mar 29/09/2026 : zelty 0 orders (47 runs, api_fail=0) + combo-retard 21 shifts actifs
- À vérifier : KPI 30/09 (CDN J+1) · KPI 01/10 (FSH J+2)
  - Si CDN 30/09 affiche Mar 29 = 0 ET FSH 01/10 affiche Mar 29 = 0 → 2ème data point valide
  - Si l'un > 0 → faux-négatif zelty (même mécanisme W21 02/06 / W38 15/09)
- 1 data point valide actuellement : W21 27/05/2026 uniquement
- Ne pas fixer la règle avant confirmation J+1/J+2
Justification : watch item uniquement (pas de règle proposée). Mécanisme de vérification J+1/J+2 documenté et éprouvé. Pas encore ≥3 data points confirmés.