Industrial Quality Gates¶
Statut¶
Accepted.
Objectif¶
Définir les critères obligatoires qu'un composant doit respecter avant d'intégrer CMonChoix Platform V2.
Un composant ne doit pas entrer dans platform/ uniquement parce qu'il fonctionne.
Il doit être :
- simple ;
- cohérent ;
- modulaire ;
- testable ;
- documenté ;
- maintenable ;
- durable.
Gate 1 — Responsabilité unique¶
Un composant doit avoir une mission claire.
Il ne doit pas mélanger :
- métier ;
- stockage ;
- runtime ;
- frontend ;
- orchestration ;
- reporting ;
- diagnostics.
Gate 2 — Dépendances autorisées¶
Un composant ne doit dépendre que des couches inférieures ou autorisées.
Le Domain peut dépendre de :
- Contracts ;
- objets métier ;
- policies métier ;
- services métier purs.
Le Domain ne dépend jamais de :
- WordPress ;
- SQL ;
- HTTP ;
- CLI ;
- Cron ;
- Docker ;
- Frontend ;
- Admin ;
- Runtime ;
- Pipeline ;
- fichiers système.
Gate 3 — Contrat explicite¶
Chaque composant doit définir clairement :
- ses entrées ;
- ses sorties ;
- ses erreurs possibles ;
- ses invariants ;
- son statut.
Gate 4 — Déterminisme¶
À entrée identique, sortie identique.
Les composants du Domain ne doivent jamais dépendre de :
- l'heure courante ;
- l'ordre arbitraire des offres ;
- l'état global ;
- une base de données ;
- une requête HTTP ;
- un contexte WordPress.
Gate 5 — Testabilité¶
Un composant doit pouvoir être testé isolément.
Un test ne doit pas nécessiter :
- WordPress ;
- base SQL ;
- conteneur Docker ;
- navigateur ;
- réseau externe.
Gate 6 — Observabilité propre¶
Un composant peut exposer :
- un statut ;
- une erreur ;
- un warning ;
- un score ;
- une décision ;
- une trace métier.
Mais il ne doit pas écrire directement dans :
- logs système ;
- base SQL ;
- sortie HTML ;
- sortie CLI.
Gate 7 — Performance connue¶
Un composant doit avoir un coût compréhensible.
Avant intégration, il faut identifier :
- complexité approximative ;
- risques de boucle coûteuse ;
- dépendances répétées ;
- possibilité de cache ;
- volume attendu.
Gate 8 — Documentation obligatoire¶
Un composant doit avoir au minimum :
- fiche Architecture Atlas ;
- classification KEEP / MIGRATE / REWRITE / LEGACY / DELETE ;
- responsabilité ;
- dépendances ;
- invariants ;
- décision d'architecture si structurante.
Gate 9 — Migration contrôlée¶
Aucun fichier legacy n'est migré directement.
On migre uniquement :
- responsabilités ;
- règles métier ;
- concepts ;
- policies ;
- contrats.
Gate 10 — Validation avant intégration¶
Un composant ne peut entrer dans platform/ que si :
- les gates précédentes sont validées ;
- la documentation est à jour ;
- la décision est claire ;
- le risque de régression est compris.
Application stricte au Domain¶
Pour platform/domain, les règles suivantes sont absolues :
- ABSPATH interdit ;
- require_once interdit ;
- SQL interdit ;
- WordPress interdit ;
- HTML interdit ;
- HTTP interdit ;
- CLI interdit ;
- Docker interdit ;
- état global interdit.
Décision¶
Ces gates deviennent obligatoires pour toute migration vers CMonChoix Platform V2.