Validate POC A and POC B foundations

This commit is contained in:
chindit committed 2026-08-07 13:31:21 +02:00
1 parent 44fd4b4b43
commit c38e09a663
47 files changed
+4990 -35

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
# 0001 — Frontières du code de production
- Statut : accepté
- Date : 2026-08-07
- Remplace : aucun
## Contexte
Les POC A et B mélangent volontairement règles, nœuds Godot, rendu et assemblage.
Cette vitesse était adaptée à la validation, mais favoriserait duplication et
régressions dans une verticale de plusieurs mois.
## Décision
Le code de production est créé sous `game/` et séparé en `domain`,
`application`, `world`, `presentation`, `infrastructure` et `composition`.
Les dépendances suivent exclusivement les directions décrites dans
`docs/ENGINEERING_GUARDRAILS.md`.
## Conséquences
- Les règles peuvent être testées sans scène.
- L'assemblage Godot reste remplaçable.
- Certaines fonctionnalités nécessitent davantage de contrats explicites.
- Les contrôles automatiques refusent les dépendances inverses connues.
## Alternatives considérées
- Continuer à organiser les scripts par scène : rejeté à cause du risque de
règles dupliquées entre HUD, acteurs et écrans.
- Un découpage strict par fonctionnalité : intéressant plus tard, mais moins
adapté tant que les frontières de la première verticale ne sont pas stables.
@@ -0,0 +1,28 @@
# 0002 — Les prototypes restent des références jetables
- Statut : accepté
- Date : 2026-08-07
- Remplace : aucun
## Contexte
Les POC ont validé des comportements importants, mais utilisent des compromis
documentés : dictionnaires implicites, reconstruction complète du sonar, sondes
verticales, génération de scène monolithique et rendu GL Compatibility.
## Décision
`src/` et `scenes/` restent la zone des POC. Aucun code sous `game/` ne peut les
importer. Les comportements validés sont réécrits derrière des contrats typés,
avec leurs baselines comme spécification.
## Conséquences
- La verticale ne dépend pas accidentellement d'une dette de prototype.
- Une correction demandée sur un POC reste possible sans toucher la production.
- Le premier portage demande un effort explicite et mesurable.
## Alternatives considérées
- Déplacer progressivement les fichiers existants dans la production : rejeté,
car les dépendances cachées seraient conservées sous de nouveaux chemins.
+28
View File
@@ -0,0 +1,28 @@
# 0003 — Une barrière qualité unique
- Statut : accepté
- Date : 2026-08-07
- Remplace : aucun
## Contexte
Des suites lancées séparément sont facilement oubliées. Un test unitaire vert ne
détecte pas nécessairement un script non chargé, une scène invalide ou une
dépendance architecturale inversée.
## Décision
`bash scripts/quality_gate.sh` devient la commande obligatoire avant achèvement
d'un changement. Elle vérifie l'architecture, charge toutes les ressources de
code et de scène, puis exécute les suites automatisées.
## Conséquences
- Le même point d'entrée peut être utilisé localement et en CI.
- La durée de vérification augmentera avec la verticale et devra rester suivie.
- Un échec ne peut être neutralisé sans correction ou nouvel ADR.
## Alternatives considérées
- Documenter plusieurs commandes indépendantes : rejeté, car l'oubli d'une
suite deviendrait un comportement normal.
+22
View File
@@ -0,0 +1,22 @@
# Architecture Decision Records
Nommer les décisions `NNNN-titre-court.md`. Ne jamais modifier le sens d'un ADR
accepté ; créer un nouvel ADR qui le remplace.
Modèle :
```markdown
# NNNN — Titre
- Statut : proposé | accepté | remplacé
- Date : AAAA-MM-JJ
- Remplace : aucun | NNNN
## Contexte
## Décision
## Conséquences
## Alternatives considérées
```