Plan des corrections : plis du prompt d'un coup, test Firefox instable

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-12 02:31:25 +01:00
co-authored by Claude Opus 5.5
parent 1f69635c49
commit c42316d9d8
@@ -0,0 +1,49 @@
# Corrections : niveau des plis dans le prompt d'un coup, test Firefox instable
- **Date** : 2026-11-11
- **Étape** : 1f (suites)
- **Statut** : en cours
- **Exécutant** : sous-agent general-purpose
## Objectif
Le prompt d'un coup ne dit que ce que le moteur a calculé, au bon niveau, avec
les mêmes équités que l'application ; le test navigateur « mes parties » ne
dépend plus de la vitesse d'IndexedDB sous Firefox.
## Consignes
1. **Niveau d'évaluation dans le prompt d'un coup.** Le prompt
(`docs/prompts/coup.md`, `app/src/domain/prompts/`) dit en titre
« Classement de GNU Backgammon (analyse à 2 plis) », mais chaque ligne dit
« évalué à 1 pli » (ouverture 3-1 : « 8/5 6/5 : équité +0,204, écart 0,000,
évalué à 1 pli »). Trouver ce que vaut le champ `ply` des coups renvoyés par
le moteur (`engine.h`, `engine_best_moves`, commande `moves` d'engine-cli,
`rankMoves`) : décalage de convention, ou coups vraiment évalués à 1 pli,
auquel cas le classement n'est pas celui du conseil (`analyseMove`, 2 plis).
Vérifier que les équités du prompt sont celles de la feuille du maître et de
l'analyse (règle de 1f). Comparer au gnubg de bureau de référence. Corriger
la cause ; tester la cohérence du niveau du titre et des lignes, et
l'égalité des équités avec l'analyse. Si `engine.c` change (jamais
`engine/gnubg/`), recompiler une seule fois et ajouter une référence.
2. **Test instable sous Firefox.** `tests/browser/play.mjs` échoue parfois
sous Firefox, section « mes parties » (« la nouvelle partie n'a pas été
enregistrée », vers la ligne 1624) et passe à la relance. Déterminer s'il
s'agit d'un vrai défaut (sauvegarde perdue, course entre « nouvelle partie »
et l'enregistrement), à corriger dans l'app, ou d'un test qui lit trop tôt,
à corriger en attendant l'état observable plutôt qu'un délai.
Limites : CSP stricte (aucun `.style.`), aucune nouvelle dépendance, `-j2`
au maximum, vérifier `docker ps` avant `make test-browser` (un autre agent
travaille en parallèle).
## Critères de réussite
- `make lint`, `make test`, `make test-browser` passent ;
- `SCRIPTS=play BROWSERS=firefox make test-browser` passe deux fois de suite ;
- un test vérifie la cohérence du niveau (titre et lignes) et l'égalité des
équités du prompt avec l'analyse.
## Résultat
Rempli à la clôture, dans la description de la merge request.