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

66 lines
3.3 KiB
Markdown

# 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_v1``final_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.