docs: README a jour - plan compact, prefixes f:/d:, /coller

This commit is contained in:
2026-06-22 12:57:44 +02:00
parent caf655b708
commit 5301f79359
+82 -15
View File
@@ -135,33 +135,98 @@ besoin de tout réexpliquer.
## 4. Le pipeline pas à pas
### Étape 1 — The Narrator (conversation libre)
### Étape 1 — The Narrator (plan compact)
Pas de menu numéroté : tu écris en langage naturel. Le Narrator réfléchit
avec toi, propose des angles, pose des questions. Il ne produit le Markdown
structuré que sur demande explicite.
Pas de Markdown développé pendant la réflexion. Le Narrator travaille sur un
**plan compact** : une vue hiérarchique et concise (chapitres, slides
numérotées, tags `core`/`OPT-XXX`, audience cible). Au premier brief, il
produit directement cette carte.
**Commandes slash disponibles à tout moment :**
**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 ?
```
**Commandes disponibles à tout moment :**
| Commande | Effet |
|---|---|
| `/lire` (ou `/contexte`, `/docs`) | Scanne `inputs/`, injecte les nouveaux documents dans la conversation |
| `/formalise` (ou `/structure`, `/markdown`) | Demande au Narrator de produire le Markdown structuré complet |
| `/lire` | Scanne `inputs/`, injecte les nouveaux documents dans la conversation (incrémental) |
| `/coller` | Mode collage multiligne — voir ci-dessous |
| `/formalise` | Transforme le plan compact validé en Markdown structuré complet pour le Designer |
| `/valider` | Valide le Markdown formalisé → passe à l'étape Designer |
| `/sauvegarder` | Sauvegarde le dernier message dans `outputs/` |
| `/afficher` | Réaffiche le dernier message du Narrator en entier (sans troncature) |
| `/aide` | Rappelle ces commandes |
| `/plan` | Réaffiche le dernier plan compact en entier |
| `/aide` | Rappelle les préfixes et les commandes |
| `/quitter` (ou `/q`, `/exit`) | Abandonne la session Narrator, retour au menu projet |
#### `/coller` — copier-coller multiligne sans déclencher de commandes
Un terminal lit l'entrée ligne par ligne. Si tu colles un bloc de texte
(brief préparé ailleurs, contenu d'un mail), chaque ligne du collage est
interprétée séparément — une ligne qui commence par `/` ou par `f:`/`d:`
au milieu de ton texte serait alors lue comme une commande ou un
changement de mode, et ton message arriverait haché.
`/coller` évite ça : tape la commande, colle ton bloc (même s'il contient
des `/` ou des `f:` en plein milieu), termine par une ligne contenant
**uniquement un point** `.`. Tout le bloc est lu comme un seul message brut,
sans aucune interprétation, puis envoyé dans le mode courant.
```
Vous : /coller
Mode collage — colle ton texte, puis une ligne avec '.' seul pour terminer :
Voici le brief reçu par mail :
/objectif principal : convaincre le CODIR
f: on pensait à une structure en 3 parties
Merci de ton avis
.
```
Ici, `/objectif` et `f: on pensait...` sont du texte normal, pas des
commandes — parce qu'on est en mode collage jusqu'au `.` final.
#### Persistance du plan compact
Le plan compact est **sauvegardé automatiquement** à chaque modification de
flux (`f:`), dans `project_state.json`. Si tu fermes le terminal sans
`/valider` ni `/formalise`, le plan n'est pas perdu : à la prochaine
ouverture du projet (menu `[1] Réviser`), il est **rechargé à l'identique**
— mêmes slides, mêmes numéros, même structure, pas de régénération.
Si tu modifies le plan après avoir formalisé un Markdown, le facilitator te
signale que les deux ont diverging :
```
! Le plan a été modifié après la dernière formalisation — pense à
/formalise avant de générer.
```
Flux typique :
```
Vous : Je dois convaincre le COMEX d'investir 400K€ en data governance
[Narrator pose des questions, propose des angles]
Vous : [discussion, affinage...]
Vous : Deck d'onboarding data domains, 1h, modulaire
[Narrator produit le plan compact initial]
Vous : f: supprime la slide 5, elle double la 4
[plan compact réaffiché, numéros recalculés]
Vous : d: sur la slide 8, reformule le message autour de l'échelle plutôt que la valeur
[réponse ciblée, plan non réaffiché]
Vous : /lire
[injecte les documents déposés dans inputs/]
[injecte les nouveaux documents de inputs/]
Vous : /formalise
[Narrator produit le Markdown structuré]
[Narrator produit le Markdown structuré complet]
Vous : /valider
```
@@ -235,6 +300,8 @@ l'Encoder ne retraitent que ces slides, en conservant leur position réelle.
| `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) |
### Re-rendre après un crash du moteur