Plan des corrections clos : résultat dans la description de la MR

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-10 20:24:22 +01:00
co-authored by Claude Opus 5.5
parent ce36d738fb
commit 90f835869a
-56
View File
@@ -1,56 +0,0 @@
# Corrections : saisie de la sortie, largeur du tutoriel, notation de l'ordinateur
- **Date** : 2026-11-10
- **Étape** : recette de l'étape 1 (après 1e)
- **Statut** : en cours
- **Exécutant** : sous-agent general-purpose, dans un worktree
## Objectif
Corriger trois défauts relevés à la recette : un ordre de saisie refusé pendant
la sortie des pions, l'étape 6 du tutoriel moins large que les autres sur le
Fairphone 4, et la ligne « L'ordinateur a joué … » écrite à partir des
demi-coups au lieu de la notation du moteur.
## Consignes
1. **Saisie de la sortie (prioritaire).** Avec un 6-1 en sortie, 6/off avant
1/off est refusé alors que 1/off puis 6/off passe (position
BQAACAIAAAAAAA, « Jouer à partir d'ici »). Trouver la cause dans la chaîne
de saisie demi-coup par demi-coup (`nextHalfMoves` dans game.ts,
`engine_check_half_moves`, l'adaptateur). Le moteur reste la seule autorité
(ADR 0007) : un défaut côté C se corrige dans `engine/engine.c`, jamais dans
`engine/gnubg/`, avec un test dans `tests/test_engine.sh`, en comparant aux
coups légaux de gnubg pour les deux ordres. Ajouter un test (unitaire ou
scénario Gherkin) qui joue les deux ordres sur le vrai moteur. Chercher et
tester les cas voisins : dé plus grand que la flèche la plus haute, doubles
en sortie.
2. **Largeur de l'étape 6 du tutoriel.** Mesurer dans `make test-browser` la
largeur du plateau et de la colonne de texte à chaque étape (écrans
d'explication et « à vous » : départ, refusé, réussi) en 412×915, 915×412
et 844×320. Ajouter à la recette automatique la règle : même largeur de
plateau à toutes les étapes pour une taille d'écran donnée. Trouver la
cause et la corriger ; si rien ne se reproduit, le dire avec les mesures.
3. **Notation du coup de l'ordinateur.** La ligne « L'ordinateur a joué … »
utilise la notation du moteur, comme le bilan, l'analyse et la feuille du
maître. Tester que le même coup s'écrit pareil sur l'écran de jeu et dans
l'analyse.
Contraintes : CSP stricte (aucun `.style.`), aucune nouvelle dépendance,
`-j2` au plus, moteur recompilé une seule fois et seulement s'il change ;
vérifier avec `docker ps` qu'aucun test navigateur ne tourne avant
`make test-browser`.
## Critères de réussite
- `make lint`, `make test` et `make test-browser` (suite complète) passent.
- Un test sur le vrai moteur joue 6/off puis 1/off et 1/off puis 6/off dans
la position BQAACAIAAAAAAA, et les cas voisins.
- La recette automatique vérifie la largeur constante du plateau du tutoriel.
- Un test compare la notation du coup de l'ordinateur sur l'écran de jeu et
dans l'analyse.
- Branche `corrections-sortie-tutoriel` poussée, sans MR.
## Résultat
À remplir à la clôture.