Décision : moteur gnubg officiel ; travail par merge requests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 13:19:18 +01:00
co-authored by Claude Opus 5.5
parent cbde02bc90
commit 9b6534cd43
6 changed files with 68 additions and 8 deletions
+33
View File
@@ -27,3 +27,36 @@ devient `docs/feuille-de-route.md`. Chaque délégation a son plan dans
`docs/plans/`. Fonctionnement détaillé dans `docs/organisation.md`.
**Raison** : rendre le suivi et la mémoire du projet transparents et
vérifiables a posteriori, en lisant le dépôt.
## 2026-11-02 — Source du moteur : gnubg officiel, commit `14b6798`
**Contexte** : étape 0a.1, trois candidats étudiés (gnubg, gnubg-nn, CBG).
Étude complète : `docs/plans/2026-11-02-choix-source-moteur.md`.
**Choix** (validé par Pierre) : GNU Backgammon officiel, figé au commit
`14b67984737ded0f6de43d63dcb789f729d9b06b` (1.08.003), dont on n'extrait que
le cœur (évaluation, coups, videau, identifiants, équité de match, fin de
partie) derrière `moteur.h`.
**Alternatives écartées** :
- gnubg-nn : 48 fichiers sous GPLv2 seule, incompatibles avec la GPLv3 ; videau
réimplémenté, donc sans concordance possible avec gnubg de bureau.
- CBG : même moteur, mais avec GLib complète et toute la logique de partie ;
interface orientée partie en cours ; pas de bases de fin de partie. Gardé
comme référence de lecture.
**Conséquences** :
- Le gnubg de bureau de référence est compilé dans Docker depuis le même
commit.
- GLib remplacée par un shim minimal ; tables d'équité XML à convertir.
- Les tests de concordance ont une tolérance, car gnubg de bureau est compilé
avec `-ffast-math`.
## 2026-11-02 — Merge requests systématiques, fusion par Claude Code
**Contexte** : Pierre veut comprendre chaque changement sans suivre le travail
au fil de l'eau.
**Choix** (demande de Pierre) : aucun commit direct sur `main`. Chaque
changement passe par une branche et une merge request Gitea dont la description
explique le pourquoi, le quoi, le comment, les choix, les risques, la
vérification et ce qui est hors périmètre. Claude Code la fusionne lui-même dès
que `make lint` et `make test` passent.
**Conséquence** : l'historique des MR sur git.sans.pub devient, avec `docs/`,
la trace vérifiable du projet.