Files
nas-runbooks/hermes-nyora/iakifech-ep1-postmortem-production-video.md
T

3.3 KiB

IAKifech ep.1 — postmortem production vidéo hermes-nabil (23/07/2026)

Contexte

Premier épisode réel publié (TikTok/Instagram/YouTube Shorts) sous hermes-nabil, sujet : documentaire sur les coupures d'électricité de Tunisie juillet 2026 (canicule, panne Sonelgaz Algérie, crise financière STEG). Script en 5 actes, solide sur le fond. Pipeline de fabrication : projet /data/videos/tunisia_steg/ sur le VPS Contabo, deux méthodes tentées (segments ffmpeg + rendu Manim complet).

Session de production : 13h37 à 22h00 (8h30). 57 erreurs loggées dans /data/logs/errors.log pour la seule journée du 23/07.

Diagnostic (par catégorie, 57 erreurs)

33/57 (58%) — tentatives refusées de patcher des skills verrouillées. skill_manage a refusé à répétition des patchs sur video-use, manim-video, documentary-video, moneyprinterturbo (toutes created_by=None, donc manuellement écrites, off-limits à l'édition autonome). L'agent retentait après chaque refus au lieu d'apprendre — cause principale de la perte de temps/tokens, pas un problème de rendu vidéo.

5/57 — timeouts sur rendus longs. Le terminal timeout par défaut (120s) a tué des commandes ffmpeg/Manim de plusieurs minutes. Pattern nohup+tail déjà établi ailleurs dans l'infra (VPS, NAS) mais pas appliqué ici.

4/57 — bugs d'échappement / syntaxe. python3 -c "..." inline avec du texte français à apostrophes (légendes TikTok/YouTube) casse l'échappement bash. Un NameError: WHITE (variable de couleur non définie) est resté jusqu'à 21h57, juste avant l'envoi final.

Mémoire persistante saturée en cours de session (plafond ~1375 caractères), consolidation à chaud plutôt qu'anticipée.

Symptôme visible côté fichiers : quatre reconstructions complètes du montage (final_v1final_v4_gerard.mp4), deux chemins de production menés en parallèle (segments/acts vs Manim) au lieu d'un choix tranché en amont.

Fix appliqué (SOUL.md hermes-nabil, 23/07/2026 22h43, backup

SOUL.md.bak_production_20260723)

Trois règles ajoutées :

  1. OUTILS REFUSÉS — RÈGLE ABSOLUE (nouvelle section, même niveau que LANGUE/ÉCRITURE) : un refus skill_manage est définitif pour la session, pas de nouvelle tentative reformulée, signalement à Nabil en fin de session plutôt que contournement par répétition.
  2. PRODUCTION VIDÉO — RÈGLES OPÉRATIONNELLES (nouvelle section, fin de fichier) : rendu long toujours en nohup ... > log & + tail -f, jamais en foreground.
  3. Même section : scripts Python à texte français toujours écrits via cat > script.py <<'EOF' puis exécutés séparément, jamais en python3 -c inline.
  4. Même section : une seule méthode de montage tranchée avant lancement, pas de changement de méthode en cours de tâche après un échec.

Container redémarré (restart simple, recharge le prompt, pas de rebuild).

À surveiller au prochain épisode

Vérifier si les 33 tentatives de patch skill disparaissent (ou au moins ne se répètent plus après un premier refus). Si le pattern nohup+tail n'est pas spontanément adopté par l'agent malgré la règle écrite, envisager un timeout terminal plus long par défaut spécifiquement pour les commandes ffmpeg/Manim plutôt que de compter sur la discipline de l'agent.