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>
- 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>
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>
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>
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>
Image ustagammon/build-c (Debian trixie, gcc, GLib pour les seuls outils
de génération), construite par make setup. engine/engine.mk compile le
moteur et engine-cli, et génère gnubg.wd et les bases .bd avec makeweights
et makebearoff, comme le Makefile.am de gnubg. Dépendances suivies : un
second make engine ne recompile rien. make build appelle make engine.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
Compile gnubg sans interface graphique, avec Python, SIMD forcé à SSE2,
et produit gnubg.wd, gnubg_os0.bd, gnubg_ts0.bd avec les outils officiels.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
engine.h expose initialisation, coups légaux, classement des coups,
évaluation et décision de videau, avec Position ID et Match ID, sans type
gnubg ; erreurs par code de retour. engine-cli l'interroge et répond en
JSON (bestmove, moves, legal, cube, eval ; option --ply).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
engine/compat/ remplace ce que le cœur de gnubg attend du reste de gnubg
et de GLib : config.h écrit à la main (sans threads, C générique, NEON
prévu), shim GLib minimal (dont un analyseur XML pour les tables d'équité
et mmap pour les bases de fin de partie), en-têtes réduits et fonctions de
support.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>