Aller au contenu

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_DORMANT reste vraie ;
  • aucune exception opérationnelle n’est ouverte ;
  • BC-066 est fermée.