Validate POC A and POC B foundations
This commit is contained in:
1 parent
44fd4b4b43
commit
c38e09a663
47 files changed
+4990
-35
No files matched your search
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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
|
||||
```
|
||||
Reference in new issue
Block a user