**Deux modes, par préfixe explicite — à taper au début de ton message :**
| Préfixe | Mode | Effet |
|---|---|---|
| `f:` | FLUX | Modifications de structure (ordre, ajout, suppression de slides/chapitres). Le Narrator réaffiche le **plan compact complet** mis à jour, numéros recalculés. |
| `d:` | DEEP DIVE | Travail sur le contenu d'un point précis (message, angle, formulation d'une slide). Réponse courte et ciblée, **le plan n'est pas réaffiché**. |
**Le mode persiste** : tant que tu ne retapes pas un préfixe, le Narrator
reste dans le dernier mode utilisé. Pas besoin de répéter `d:` à chaque
message si tu approfondis la même slide sur plusieurs tours.
Exemples :
```
f: inverse les chapitres 2 et 3
f: supprime les slides 7, 9 et 11
f: ajoute une slide après la 12 sur les interdépendances entre domaines
d: sur la slide 4, le message doit insister sur le coût caché, pas la dette
d: la slide 7 est-elle au bon endroit pour cette analogie ?
[1] Standard — layouts prédéfinis (Designer annote, Encoder, rendu)
[2] Libre — composition sur mesure (Free Designer)
```
**Standard** : pour les présentations régulières. Le Designer reprend ton
Markdown et ajoute une annotation `@layout:` sous chaque slide — tu vois
contenu et structure dans une vue unique, et tu peux donner du feedback
("slide 4 en big_stat"). Puis l'Encoder transcrit en YAML.
**Libre** : pour les présentations stratégiques. Le Free Designer compose
directement chaque slide avec des blocs positionnés sur une grille 12×12,
en respectant la charte PR imposée (couleurs et polices fixes). Pas
d'Encoder dans ce flux — le YAML freeform est produit directement.
Si tu n'as pas configuré `FREE_DESIGNER_AGENT_ID`, l'option 2 retombe
automatiquement sur le flux standard.
### Étape 3 — Mode express (flux standard uniquement)
Juste après le choix de flux, en mode standard :
```
Mode express — sans Designer ? (o/N) :
```
`o` envoie le Markdown directement à l'Encoder, sans passer par
l'annotation du Designer. Plus rapide, moins de contrôle sur les layouts
choisis — à réserver aux présentations simples ou à un premier brouillon.
### Étape 4 — Rendu
Automatique une fois le YAML validé. Le PPTX apparaît dans `outputs/`.
---
## 5. Réviser une présentation
Après génération, un menu apparaît :
```
[1] Réviser la présentation (repasse par le Narrator)
[2] Terminer
```
En révision, la session Narrator est conservée — il a tout le contexte du
deck. Tu retravailles ce qui doit changer, puis `/formalise` régénère le
**Markdown complet**. Ensuite tu choisis la portée :
```
[1] Ciblé — quelques slides modifiées, le reste inchangé
→ seules ces slides sont régénérées (PPTX à coller dans ton deck maître)
[2] Structurant — la logique d'ensemble a changé
→ tout le deck est régénéré
```
En mode ciblé, indique les numéros (`4, 7` ou `4-6`) — le Designer et
l'Encoder ne retraitent que ces slides, en conservant leur position réelle.
---
## 6. Dépannage rapide
| Symptôme | Cause probable | Action |
|---|---|---|
| `Variable .env manquante` au lancement | Clé absente du `.env` | Vérifier `MISTRAL_API_KEY` et les 3 `*_AGENT_ID` obligatoires |
| `Erreur render_engine_v2.py` après l'Encoder | YAML mal formé ou layout non géré par le moteur | Le YAML est conservé dans `outputs/` — corriger puis `--render` dessus directement |
| Option flux libre absente du menu | `FREE_DESIGNER_AGENT_ID` non défini | L'ajouter au `.env` |
| `Trilium injoignable` | Réseau ou DNS interne indisponible | Sans conséquence — l'archivage est non bloquant, le PPTX est généré normalement |
| Le Designer/Encoder boucle sur des erreurs de validation | Le plan ne respecte pas les champs requis d'un layout | Après 3 tentatives, le facilitator propose d'accepter tel quel ou de revenir en arrière |
| `/lire` ne trouve rien | Documents déjà chargés dans cette session, ou format non supporté | `/lire` est incrémental ; formats acceptés : pdf, docx, pptx, txt, md, csv |
| Avertissement « le plan a divergé » | Le plan compact a été modifié en `f:` après le dernier `/formalise` | Retape `/formalise` pour regénérer un Markdown à jour avant `/valider` |
| Une commande tapée dans un texte collé s'est exécutée toute seule | Collage multiligne sans `/coller` | Toujours utiliser `/coller` pour coller un bloc de texte (voir section 4) |