3.1 KiB
Décisions
Les décisions structurantes du projet, la plus récente en bas. Chacune donne son contexte, le choix, les raisons et ce qu'elle implique.
2026-11-01 — Nom de l'application : Ustagammon
Contexte : le nom était une question ouverte du cadrage. Choix : Ustagammon (« usta », le maître artisan en turc, et « gammon »). Référence : le brief créatif, https://claude.ai/artifact/36WMwZWqvMxXvSSVBJTgwd
2026-11-02 — Outils de lint dans Docker
Contexte : la machine de développement doit rester légère ; rien n'est
installé en dehors de Docker, git, make et adb.
Choix : ShellCheck (GPLv3) tourne dans l'image koalaman/shellcheck-alpine,
version figée, récupérée par make setup.
Conséquence : make lint demande d'avoir lancé make setup une fois.
2026-11-02 — Pilotage par Claude Code et sous-agents, suivi dans docs/
Contexte : le kit prévoyait des prompts (PROMPTS.md) que Pierre collait à
chaque étape.
Choix (demande de Pierre) : Claude Code pilote le projet et délègue
l'exécution à des sous-agents. PROMPTS.md est supprimé ; son enchaînement
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.