Conseil du maître : rang cité seulement pour un coup proche ou une imprécision au 2e ou 3e choix ; 1d faite, plan clos
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
4fa54ad3f3
commit
c7a54a8c81
@@ -1,115 +0,0 @@
|
||||
# Conseil du maître (1d)
|
||||
|
||||
- **Date** : 2026-11-03
|
||||
- **Étape** : 1d (`docs/etape-1.md`)
|
||||
- **Statut** : prévu (après 1c)
|
||||
- **Exécutant** : sous-agent general-purpose, dans un worktree
|
||||
|
||||
## Objectif
|
||||
|
||||
Le coach bienveillant, « mis en avant mais discret » (Pierre, 2026-11-03) :
|
||||
après chaque coup et chaque décision de videau du joueur, jamais avant
|
||||
(ADR 0011), une appréciation et une phrase du maître fondées sur les chiffres
|
||||
du moteur.
|
||||
|
||||
## Références
|
||||
|
||||
- ADR 0011 ; maquette « conseil du maître après le coup » du canevas
|
||||
https://claude.ai/artifact/CQw6vbDpi6XQqVWQa4sANe ; règles de la charte
|
||||
(`docs/identite/charte/`, dont interaction.md) ; la ligne réservée de 44 px
|
||||
de la révision UX.
|
||||
- Moteur : `analyseMove`, `analyseCube`, `luck`, seuils `SKILL_THRESHOLDS`
|
||||
(gnubg : 0,03 / 0,06 / 0,12).
|
||||
|
||||
## Consignes
|
||||
|
||||
1. **Analyse en arrière-plan** : après la validation d'un coup (ou une
|
||||
décision de videau), l'analyse à 2 plis part dans le Worker sans retarder le
|
||||
tour de l'ordinateur ; son résultat est rattaché au coup dans le journal
|
||||
(événement d'analyse rétrocompatible, ou cache séparé justifié) pour servir
|
||||
au bilan (1e) sans recalcul.
|
||||
2. **Ligne du maître** : icône d'appréciation, mot en couleur (« Bon coup. »,
|
||||
« Imprécision. », « Erreur. », « Grosse erreur. » (choix de Pierre du 2026-11-09, plutôt que « gaffe ») : correspondance avec les seuils
|
||||
de gnubg documentée), phrase courte en italique, chevron. Toucher ouvre la
|
||||
feuille d'explication : coup joué et meilleur coup montrés sur le plateau
|
||||
(pions animés, ADR 0011 « comparaison visuelle »), écart d'équité seulement
|
||||
sur demande, lien vers la fiche du glossaire du concept en jeu si le moteur
|
||||
permet de le déterminer, sinon rien.
|
||||
3. **Phrases du maître** : gabarits versionnés en français dans une source
|
||||
unique sous `docs/` (CC BY-SA 4.0). Référence de ton, approuvée par Pierre
|
||||
le 2026-11-09 : la section « Les phrases du maître » de
|
||||
`docs/identite/charte/ecrans-etape-1.md` (1re personne et vouvoiement,
|
||||
faits du moteur uniquement, moins de 140 caractères, ton sobre sans
|
||||
exclamation, formules qui tournent pour les bons coups, exemples). Un test
|
||||
vérifie la longueur et l'absence de « ! » sur chaque gabarit rendu. Les
|
||||
phrases livrées passent par la session « identité » puis par Pierre pour
|
||||
la relecture finale.
|
||||
4. **Discret** : rien n'apparaît pendant que le joueur réfléchit ; la ligne
|
||||
s'efface à l'action suivante ; désactivable (réglage de 1c et menu).
|
||||
5. **Videau** : même traitement pour doubler, ne pas doubler, prendre, passer.
|
||||
6. Scénarios Gherkin (bon coup, erreur avec meilleur coup montré, conseil
|
||||
désactivé, décision de videau commentée) avec positions et dés imposés ;
|
||||
tests unitaires des gabarits (chaque gabarit rendu sur des analyses réelles
|
||||
du moteur). `make lint`, `make test`, `make test-browser`, captures pour la
|
||||
recette design.
|
||||
|
||||
## Critères de réussite
|
||||
|
||||
Après une erreur volontaire dans une position connue, la ligne du maître dit
|
||||
« Erreur. », nomme le coup recommandé par le moteur et le montre sur demande ;
|
||||
le tour de l'ordinateur n'est pas retardé ; les trois commandes passent.
|
||||
|
||||
## Résultat
|
||||
|
||||
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. Vérifiées par la session design ; retouches P1 (grosse erreur :
|
||||
plus de « sur N », rang cité seulement pour un 2e ou 3e choix) et P2
|
||||
(« Mon coup frappe un pion. ») appliquées et testées. À soumettre à
|
||||
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 »).
|
||||
Reference in New Issue
Block a user