Identity Engine¶
Statut¶
Draft architectural.
Mission¶
L'Identity Engine transforme des données produit incertaines en identité canonique stable.
Il répond à la question :
De quel produit parle-t-on réellement ?
Position dans la Platform¶
Contracts -> Domain -> Identity Engine -> Projection Engine -> Read / Write Services -> Runtime -> Adapters
Responsabilités¶
L'Identity Engine est responsable de :
- construire des candidats d'identité ;
- normaliser les identifiants ;
- choisir ou produire une identité canonique ;
- détecter les conflits ;
- qualifier la confiance d'une identité ;
- exposer un statut de résolution ;
- fournir une base stable pour les projections catalogue.
Hors responsabilité¶
L'Identity Engine ne doit jamais :
- lire ou écrire en SQL ;
- dépendre de WordPress ;
- connaître le frontend ;
- connaître le runtime ;
- connaître les marchands ;
- connaître les flux ;
- contenir des règles spécifiques à une verticale ;
- produire du HTML ;
- décider de la navigation ;
- décider du SEO.
Concepts principaux¶
- Candidate
- Identifier
- Canonical Identity
- Resolver
- Conflict Policy
- Projection
- Quality
Policies internes¶
- Candidate Selection Policy
- Conflict Policy
- Model Policy
- Series Policy
- Generation Policy
- Numeric Noise Policy
- Placeholder Policy
- Resolution Status Policy
- Severity Policy
Invariants¶
- Le Domain ne connaît jamais les verticales.
- Une identité canonique doit être déterministe.
- À entrée identique, sortie identique.
- Une résolution ne doit jamais dépendre du frontend.
- Une résolution ne doit jamais dépendre de l'ordre arbitraire des offres.
- Une identité invalide doit être explicitement marquée comme invalide.
- Une divergence mineure doit être distinguée d'un conflit bloquant.
- La connaissance métier spécifique appartient aux Vertical Modules, pas à l'Identity Engine.
Décisions issues de l'audit legacy¶
Le fichier legacy :
includes/platform/domain-core/identity/conflicts.php
ne doit pas être migré comme fichier unique.
Il contient plusieurs responsabilités utiles :
- scoring candidat ;
- sélection du meilleur candidat ;
- détection de modèle faible ;
- compatibilité de série ;
- compatibilité de génération ;
- détection de modèle générique ;
- détection de modèle spécifique riche ;
- détection de bruit numérique ;
- calcul de sévérité ;
- statut de résolution ;
- résumé de conflit.
Décision :
conflicts.php = REWRITE STRUCTURE logique métier = KEEP / MIGRATE
Qualité industrielle attendue¶
Avant intégration dans platform/domain/identity-engine, chaque composant doit valider :
- responsabilité unique ;
- zéro WordPress ;
- zéro SQL ;
- zéro frontend ;
- zéro runtime ;
- tests isolables ;
- entrées/sorties documentées ;
- comportement déterministe ;
- complexité raisonnable ;
- documentation à jour.
Classification Architecture Atlas¶
| Responsabilité | Décision |
|---|---|
| Candidate | MIGRATE |
| Identifier | MIGRATE |
| Canonical Identity | MIGRATE |
| Resolver | À auditer |
| Projection | À auditer |
| Quality | À auditer |
| Conflict Policy | REWRITE STRUCTURE |
| Candidate Selection Policy | MIGRATE |
| Model Policy | MIGRATE |
| Series Policy | MIGRATE |
| Generation Policy | MIGRATE |
| Numeric Noise Policy | MIGRATE |
| Resolution Status Policy | MIGRATE |
ADR associés¶
À créer :
- ADR — Identity Engine
- ADR — Conflict Policy Extraction
- ADR — Domain Core without WordPress
- ADR — Legacy as Knowledge Source