Write Services¶
Statut¶
Document de design cible.
Ce document décrit l'architecture attendue des Write Services 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 Write Services sont la couche officielle d'écriture de la Platform.
Ils appliquent les changements persistants de manière contrôlée, traçable et sécurisée.
Pourquoi ce composant existe¶
La Platform doit éviter les écritures dispersées dans :
- le pipeline
- le frontend
- les scripts CLI
- les patchs SQL
- les pages admin
- les outils d'audit
Les Write Services existent pour centraliser les mutations et garantir que toute écriture soit explicite, validée et traçable.
Responsabilités¶
Les Write Services sont responsables de :
- persistance canonique
- persistance des projections
- persistance des décisions validées
- rebuilds contrôlés
- application d'overrides validés
- transactions
- logs d'écriture
- garde-fous avant mutation
- rollback contrôlé lorsque nécessaire
Ce qui leur appartient¶
Appartiennent aux Write Services :
- writers de projections
- writers d'identités canoniques
- writers de décisions validées
- writers de rebuild contrôlé
- adapters de persistance métier
- orchestration d'écriture explicite
Ce qui leur est interdit¶
Les Write Services ne doivent jamais contenir :
- rendu HTML
- logique frontend
- règles verticales brutes
- patchs marchands non audités
- logique d'audit readonly
- routes HTTP directement couplées
- commandes CLI directement couplées
- mutations silencieuses non loguées
Dépendances autorisées¶
Les Write Services peuvent dépendre de :
contracts/domain-core/vertical-modules/- infrastructure de persistance
- repositories d'écriture
- transactions
- garde-fous de gouvernance
Dépendances interdites¶
Les Write Services ne doivent pas dépendre de :
- frontend
- templates
- HTML
- pages admin
- endpoints HTTP concrets
- commandes CLI concrètes
- état global implicite
- patchs feed spécifiques non encapsulés
Entrées¶
Un Write Service peut recevoir :
- identité canonique validée
- projection validée
- décision de gouvernance
- contexte explicite d'écriture
- demande de rebuild contrôlé
- batch validé
- reason code
- auteur ou origine de l'action
Sorties¶
Un Write Service peut produire :
- résultat d'écriture
- statut de mutation
- log d'opération
- métriques
- erreur contrôlée
- rollback information
- événement métier
Contrats utilisés¶
Les Write Services doivent respecter :
- Write Service Contract
- Projection Builder
- Quality Scorer
- Conflict Policy
- Registry
- contrats de validation métier
Composants internes¶
Organisation cible :
write-services/
identity-writer
projection-writer
decision-writer
override-writer
rebuild-writer
transaction-manager
write-logger
rollback-handler