Files
Ustagammon/docs/decisions.md
T

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.