Commit Graph

4 Commits

Author SHA1 Message Date
b356033f7b Step 05 — Hardening
- CorrelationId VO pour le tracing inter-BC
- IdempotencyStore (interface + InMemory) pour garde d'idempotence
- correlationId ajouté aux contrats Published Language (retro-compatible par défaut)
- Consumers Invoicing et LegacyFulfillment idempotents avec logging
- MessengerSalesEventPublisher propage les correlationIds
- Tests unitaires idempotence + tests d'intégration consommateurs idempotents
2026-03-04 00:35:20 +01:00
dcc81ec9bb Step 02 — Conformist (Invoicing)
- Ajout Symfony Messenger comme bus d'intégration
- MessengerSalesEventPublisher remplace le NaivePublisher pour dispatch via Messenger
- WhenOrderConfirmed (Invoicing) : consumer Conformist qui consomme sales.v1.OrderConfirmed tel quel
- Tests de compatibilité Conformist et intégration
- Configuration Messenger avec transport sync
2026-03-04 00:31:08 +01:00
21b8f37411 Step 01 — Published Language
- Extraction des DTOs publics dans contracts/sales/v1/ :
  OrderPlaced, OrderConfirmed, OrderCancelled, OrderView
- NaiveSalesEventPublisher traduit les événements domaine en contrats v1
- Tests de contrat (schéma, sérialisation JSON) pour stabilité du langage publié
2026-03-04 00:29:51 +01:00
a4a14e441b Step 00 — Squelette + intégration naïve
3 Bounded Contexts (Sales, Invoicing, LegacyFulfillment) avec :
- Domaines complets (agrégats, VOs, événements, invariants)
- Couche application (commands, queries, ports)
- Infrastructure in-memory (repos, gateway fake)
- Controllers HTTP Symfony
- Couplage naïf synchrone entre BC via NaiveSalesEventPublisher
- 20 tests unitaires et d'intégration passants
2026-03-04 00:27:15 +01:00