From 3ae1f239383b322886816efa2f5dc030882aafcd Mon Sep 17 00:00:00 2001 From: Pierre MARTIN Date: Tue, 10 Nov 2026 05:12:43 +0100 Subject: [PATCH] =?UTF-8?q?Plan=201d=20:=20r=C3=A9sultat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- docs/plans/2026-11-03-conseil-du-maitre.md | 50 +++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/docs/plans/2026-11-03-conseil-du-maitre.md b/docs/plans/2026-11-03-conseil-du-maitre.md index 87f121b..7d3654c 100644 --- a/docs/plans/2026-11-03-conseil-du-maitre.md +++ b/docs/plans/2026-11-03-conseil-du-maitre.md @@ -61,4 +61,52 @@ le tour de l'ordinateur n'est pas retardé ; les trois commandes passent. ## Résultat -À remplir à la clôture. +Réalisé le 2026-11-10 sur la branche `conseil-du-maitre` (partie de 1c +fusionnée, corrections de recette C1 à C3 comprises). + +- **Analyse sans retard** : un second moteur, dans son propre Web Worker + (`app/src/main.ts`), fait les analyses à 2 plis ; le premier, qui ne + traite qu'une commande à la fois, reste à la partie. Le second démarre à + la première analyse, une fois le premier chargé et le service worker + installé (au plus 20 s), pour ne pas croiser deux téléchargements des + données du moteur. Les décisions analysées : coup, jet sans doubler + (aurait-il fallu doubler ?), double, prise, refus + (`app/src/domain/analysis/analyse.ts`). Le domaine a une méthode de plus + dans `Engine` : `rankMoves` (commande `moves` d'engine-cli, déjà + existante : le moteur n'est pas recompilé). +- **Persistance** : le conseil est rattaché à l'événement de la décision, + dans un champ facultatif `advice` du journal, versionné + (`ADVICE_VERSION`) ; migration testée (journal sans conseil, conseil + d'une autre version ou orphelin). ADR 0007 amendé. +- **Ligne du maître** (portrait) : à la place du texte du dernier coup, + dans la ligne de 44 px ; pictogramme et mot en couleur, phrase en + italique tronquée, chevron ; lien vers la feuille. Rien avant le coup ; + effacée à l'action suivante ; analyse trop tardive : pas de ligne, mais + le conseil reste au journal. Un double manqué avant le jet passe avant le + coup dans la ligne (le jet seul ne montre rien, le joueur réfléchit). +- **Paysage** : la charte ne place pas la ligne ; choix proposé : une + pastille (pictogramme et mot) au début de la bande centrale, avant la + consigne, lien vers la même feuille. À valider en recette design. +- **Feuille d'explication** : `#/explication/<événement>` (ADR 0013 amendé), + rechargeable ; mot et contexte, titre à la première personne, phrase, + « Votre coup » / « Le coup du maître » joués pion par pion (le maître en + `verdict-good`), « Voir les chiffres du moteur » replié, lien vers la + fiche du glossaire pour le videau seulement (le moteur ne nomme pas de + concept pour un coup). « Demander à une IA » attend 1f. +- **Phrases** : `docs/maitre/phrases.md` (CC BY-SA 4.0), lues à + l'exécution ; test de longueur, d'absence de « ! » et de repère non + rempli sur de vraies analyses, et sur tous les gabarits remplis au plus + long. À relire par la session « identité » puis par Pierre. +- **Réglage** : interrupteur « Conseil du maître » dans le menu, en plus de + l'écran « Nouvelle partie » ; coupé, la ligne reste vide et les coups + restent analysés pour le bilan. +- **Tests** : `app/tests/advice.test.ts`, `app/tests/advice-tracker.test.ts` + (dont le tour de l'ordinateur joué pendant qu'une analyse attend), + scénario `docs/scenarios/comprendre-mes-coups.feature`, et + `tests/browser/maitre.mjs` (captures dans `build/browser-shots/maitre/`). + +Écarts et points à trancher : en portrait, la ligne du maître remplace le +texte « L'ordinateur a joué … » tant qu'elle est là (les traces et +« Revoir » restent) ; la pastille du paysage ne montre pas la phrase ; le +mot du videau est « Bonne décision » dans tous les cas (la charte cite +aussi « Bon choix »).