Aller au contenu

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.