BC-066D — Dormant Projection / Realtime Architecture Decision¶
Status: HISTORICAL
For the current architecture, see: ./dependances.md, ../runtime/overview.md.
Projet : /mnt/data/cmonchoix-platform
Branche : bc-048-samsung-wearable-enrichment
Verdict¶
BC-066D est fermable.
DECISION¶
KEEP_DORMANT
Pourquoi¶
Les preuves BC-066A/B/C montrent :
- aucun besoin produit live prouvé ;
- aucun entrypoint runtime live ;
- aucun hook WordPress, endpoint HTTP, commande CLI, cron ou worker bootstrap lié à cette chaîne ;
- une valeur réelle de test, de compatibilité et de documentation ;
- un niveau de préparation opérationnelle insuffisant pour toute activation.
Matrice de décision¶
| Critère | Retrait | Maintien dormant | Activation future |
|---|---|---|---|
| besoin produit confirmé | non | non requis | non |
| entrypoint live | absent | absent | absent |
| queue durable | non | non requise | requise |
| idempotence | non prouvée | non requise | requise |
| retries | non | non requis | requis |
| observabilité | non | minimale via tests/docs | requise |
| rollback opérationnel | simple | simple | non prêt |
| tests de comportement | oui | oui | insuffisants pour prod |
| coût de maintenance | faible si documenté | faible | élevé |
| risque d’activation accidentelle | moyen sans garde | faible avec garde | élevé si mal cadré |
Conséquences¶
- la chaîne reste dans
src/; - elle reste non opérationnelle ;
- elle ne doit pas être utilisée en production ;
- toute activation exige une nouvelle BC dédiée ;
- toute suppression doit être décidée explicitement, pas déduite d’une simple absence d’entrypoint actuel.
Limites actuelles¶
ProjectionEngine¶
| Capability | Current | Production-ready |
|---|---|---|
| replay | partiel | non |
| event dispatch | placeholder | non |
| idempotence | non prouvée | non |
| transactions | non | non |
| observabilité | non | non |
| retry | non | non |
AsyncEventQueue¶
| Capability | Current | Required for production |
|---|---|---|
| FIFO | oui | oui |
| durable | non | oui |
| multiprocess | non | oui |
| retry | non | oui |
| ack | non | oui |
| visibility timeout | non | oui |
| DLQ | non | oui |
| monitoring | non | oui |
AsyncWorker¶
| Risk | Current protection | Production-ready |
|---|---|---|
| infinite loop risk | boucle bornée locale seulement | non |
| exception handling | propagation brute | non |
| backpressure | aucune | non |
| memory growth | aucune garantie | non |
| stop conditions | seulement maxIterations |
non |
RealtimeCatalogRebuilder¶
| Flow | Current | Operational control |
|---|---|---|
| subscribe | idempotent | test only |
| process | direct | no retry |
| ranking | synchronous | no metrics |
| rebuild | synchronous | no transaction |
| write | repository save | no operational guard |
Valeur actuelle par composant¶
| Component | Besoin produit prouvé | Consumer live | Valeur test/compat | Verdict |
|---|---|---|---|---|
ProjectionEngine |
non | non | oui | keep dormant |
ProjectionCatalogWiring |
non | non | oui | keep dormant |
EventSubscriberRegistry |
non | non | oui | keep dormant |
AsyncEventQueue |
non | non | oui | keep dormant |
AsyncWorker |
non | non | oui | keep dormant |
RealtimeCatalogRebuilder |
non | non | oui | keep dormant |
CatalogIntelligenceEngine |
non live | non live | oui | keep dormant |
Critères de réouverture¶
Créer une nouvelle BC dédiée seulement si l’un des éléments suivants devient vrai :
- un besoin produit explicite requiert une projection/reconstruction asynchrone ;
- un entrypoint runtime doit être ajouté volontairement ;
- une queue durable est choisie ;
- une stratégie d’idempotence/retry/DLQ/observabilité est conçue ;
- un runbook d’activation/rollback est validé.
Propriétaire futur / BC cible¶
- propriétaire futur : architecture/runtime
- BC cible :
BC-067 or dedicated BC
Statut opérationnel explicite¶
Cette chaîne est non opérationnelle. Elle ne doit pas être utilisée en production. Toute activation exige une nouvelle BC dédiée.
Note postérieure BC-066E¶
BC-066E confirme et clôt cette décision :
KEEP_DORMANTreste vraie ;- aucune exception opérationnelle n’est ouverte ;
- BC-066 est fermée.