Commit Graph
17 Commits
Author SHA1 Message Date
Pierre MARTINandClaude Opus 5.5 6af82f73b0 Moteur : plateau, fin de partie, Match ID et saisie demi-coup par demi-coup
Ce dont le domaine d'une partie a besoin, sans réimplémenter de règle :
décodage d'un Position ID en plateau et position vue de l'adversaire,
résultat d'une partie finie (gammon, règle Jacoby), codage d'un Match ID,
vérification de demi-coups saisis un par un (la légalité vient de
GenerateMoves de gnubg), demi-coups de chaque coup légal, droit de doubler
et recommandations de double et de prise. Nouvelles commandes d'engine-cli
position, halfmoves et matchid, avec leurs tests natifs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 20:23:04 +01:00
Pierre MARTINandClaude Opus 5.5 d83dbfb1e5 Plan 0b : résultat, documentation de la suite WebAssembly
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 19:20:04 +01:00
Pierre MARTINandClaude Opus 5.5 b0030521d8 Moteur en WebAssembly : make engine-wasm et suite de contrat
Le moteur et engine-cli sont compilés avec Emscripten (image figée
emscripten/emsdk:3.1.64), en C générique, sans threads ; les données
de build/data/ sont incluses dans engine.data. Le JavaScript appelle
engine_init une fois puis main pour chaque commande : la sortie est le
JSON d'engine-cli, sans code de mise en forme dupliqué.

tests/test_wasm_reference.sh rejoue les 32 positions de référence sous
Node avec le même comparateur (option --cli) et la même tolérance.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 19:07:01 +01:00
Pierre MARTINandClaude Opus 5.5 15939802ce Plan 0a.4 : résultat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:19:18 +01:00
Pierre MARTINandClaude Opus 5.5 83cb1a6f83 Tests : comparaison du moteur embarqué aux références de gnubg
tests/test_engine_reference.sh lance tests/reference/compare.py sur les
32 positions aux niveaux 0 et 2 plis. Tolérance de 0,002 mesurée et
justifiée dans tests/reference/README.md : écart maximal de 9,5e-4, avec
ou sans -ffast-math ; la cause est la sigmoïde approchée (_mm_rcp_ps) de
gnubg de bureau en SSE2, qu'un build SSE2 du moteur reproduit au bit près.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:18:10 +01:00
Pierre MARTINandClaude Opus 5.5 ae166d51e5 Chaîne C : Python 3 et jq ; test_reference.sh tourne dans Docker
jq n'est plus utilisé sur le PC (ADR 0004) : tests/test_reference.sh se
relance dans l'image ustagammon/build-c:2, qui contient aussi Python 3
pour le comparateur du moteur.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:18:10 +01:00
Pierre MARTINandClaude Opus 5.5 be6a4b4446 Moteur : classement exact de hint et commande engine-cli reference
- engine_best_moves suit hint_move de gnubg : fAnalyse vrai, seuil
  « douteux », puis RefreshMoveList (classement par niveau d'évaluation
  et départage des égalités).
- Correction : en match, l'équité des coups était convertie deux fois par
  mwc2eq (ScoreMove la convertit déjà).
- engine_cube : ajout de optimal et decision_text ; decision prend le nom
  de l'énumération cubedecision de gnubg, comme les références.
- engine-cli : commande reference (un niveau au format de
  tests/reference/) et nombres écrits avec 9 chiffres significatifs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:18:10 +01:00
Pierre MARTINandClaude Opus 5.5 b02d012f58 Étape 0a.3 : moteur embarqué (cœur de gnubg), engine.h et engine-cli
Fusion du travail du sous-agent (branche moteur-embarque-travail) ; plan
supprimé à la clôture, son résultat est repris dans la merge request.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:02:56 +01:00
Pierre MARTINandClaude Opus 5.5 b273b96c33 Étape 0a.2 : gnubg de référence et 32 positions de référence
Fusion du travail du sous-agent (branche moteur-reference-travail) ; plan
supprimé à la clôture, son résultat est repris dans la merge request.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:00:06 +01:00
Pierre MARTINandClaude Opus 5.5 a90f8ac9bf Tests du moteur embarqué
tests/test_engine.sh : coups d'ouverture connus à 0 et 2 plis, nombre de
coups légaux, bornes et symétrie des probabilités, décisions de videau
évidentes, erreurs. test_makefile.sh essaie make clean sur un dossier
jetable, pour ne plus forcer la recompilation du moteur à chaque test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:58:00 +01:00
Pierre MARTINandClaude Opus 5.5 b199698b11 Positions de référence évaluées par gnubg (0 et 2 plis)
32 positions (ouvertures, milieu, prime, blitz, course, sortie, videau,
match, Crawford, Jacoby), générées par make reference ; format documenté
dans tests/reference/README.md, vérifié par tests/test_reference.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:57:14 +01:00
Pierre MARTINandClaude Opus 5.5 792f6395bf Copie figée du cœur de GNU Backgammon (commit 14b6798)
Fichiers repris sans modification dans engine/gnubg/, poids et table
d'équité Kazaross-XG2 dans engine/data/, provenance détaillée dans
engine/gnubg/PROVENANCE.md. Le lint ne vérifie plus les espaces de ces
copies, pour qu'elles restent identiques à l'original.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:56:23 +01:00
Pierre MARTINandClaude Opus 5.5 2ab30a4abe Scénarios en Gherkin standard validés par l'analyseur officiel ; ADR amendables
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:53:12 +01:00
Pierre MARTINandClaude Opus 5.5 77ca5a60ca ADR 0008 : glossaire et scénarios, source unique pour le code, l'aide et les tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:45:34 +01:00
Pierre MARTINandClaude Opus 5.5 d017f3338b Décisions en ADR ; plans et feuille de route temporaires
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:23:18 +01:00
Pierre MARTINandClaude Opus 5.5 7e58707bc3 Correction du README, organisation par sous-agents et feuille de route
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 12:58:16 +01:00
Pierre MARTINandClaude Opus 5.5 7fd23031ca Squelette du dépôt : Makefile, tests, lint, crédits, journal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 12:56:46 +01:00