Vertical Modules¶
Statut¶
Document de design cible.
Ce document décrit l'architecture attendue des Vertical Modules dans CMonChoix Platform V2.
Il ne décrit pas nécessairement l'état actuel du code.
Les écarts avec l'implémentation actuelle sont suivis dans migration/.
Mission¶
Les Vertical Modules contiennent les règles métier spécifiques à chaque verticale produit.
Ils étendent le Domain Core sans le polluer.
Pourquoi ce composant existe¶
Les produits ne se comparent pas tous de la même manière.
Un smartphone, un appareil photo, une télévision, une imprimante, une console ou un jouet n'ont pas les mêmes attributs, les mêmes conflits et les mêmes règles d'identité.
Les Vertical Modules existent pour isoler ces différences métier.
Responsabilités¶
Les Vertical Modules sont responsables de :
- définir les attributs spécifiques d'une verticale
- enrichir l'identité produit avec des règles verticales
- détecter les conflits propres à une verticale
- fournir un scoring spécialisé
- compléter les projections produit
- exposer les règles métier verticales via des contrats
- protéger le Domain Core contre la logique spécifique
Ce qui leur appartient¶
Appartiennent aux Vertical Modules :
- règles smartphone
- règles photo
- règles TV
- règles gaming
- règles impression
- règles mobilité
- règles jouets
- attributs techniques propres à une verticale
- scoring spécifique
- conflits spécifiques
- règles de comparaison propres à une famille produit
Ce qui leur est interdit¶
Les Vertical Modules ne doivent jamais contenir :
- orchestration runtime globale
- accès SQL direct non encapsulé
- rendu HTML
- hooks WordPress
- commandes CLI
- logique de synchronisation feed
- patchs marchands non documentés
- règles frontend
- décisions humaines de gouvernance
Dépendances autorisées¶
Les Vertical Modules peuvent dépendre de :
contracts/domain-core/- validateurs purs
- objets métier verticaux
- règles génériques de scoring ou qualité
Dépendances interdites¶
Les Vertical Modules ne doivent pas dépendre de :
- WordPress
$wpdb- frontend
- runtime
- interfaces
- admin
- HTTP endpoints
- CLI commands
- fichiers temporaires
- état global implicite
Entrées¶
Un Vertical Module peut recevoir :
- candidat produit
- identité partielle
- attributs normalisés
- contexte vertical explicite
- signaux de confiance
- résultat de parsing préparé par le pipeline
Sorties¶
Un Vertical Module peut produire :
- attributs verticaux
- score vertical
- conflits verticaux
- enrichissement d'identité
- projection verticale
- raisons de décision
- état de qualité vertical
Contrats utilisés¶
Les Vertical Modules doivent respecter les contrats Platform.
Contrats concernés :
- Module Contract
- Vertical Descriptor
- Registry
- Identity Resolver
- Conflict Policy
- Projection Builder
- Quality Scorer
Composants internes¶
Organisation cible :
vertical-modules/
smartphone/
module
identity
scoring
conflicts
attributes
photo/
module
identity
scoring
conflicts
attributes
tv/
module
identity
scoring
attributes
gaming/
module
identity
scoring
attributes
printer/
module
identity
scoring
attributes