Aller au contenu

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