Aller au contenu

BC-067D — Reference Core Final Certification

Status: HISTORICAL For the current architecture, see: ./dependances.md, ../runtime/overview.md.

Verdict : fermable.

BC-067D clôt la certification du noyau de référence extrait en BC-067C, sans changement fonctionnel, sans nouvel entrypoint, sans activation runtime, sans modification plugin WordPress ni runtime miroir.

Architecture finale certifiée

CatalogRankingEngine
→ CatalogIntelligenceRebuildService
→ CatalogIntelligenceEngine
→ CatalogRepositoryInterface

Inventaire final

Component Role Consumer prod Test-only Final status
CatalogRankingEngine tri/scoring des offres non oui canonical dependency
CatalogIntelligenceRebuildService orchestration synchrone ranking → intelligence non oui tested synchronous service
CatalogIntelligenceEngine reconstruction intelligence catalogue via repository canonique non oui canonical reference core
CatalogRepositoryInterface port de persistance catalogue non oui canonical dependency
InMemoryCatalogRepository implémentation de test/infra minimale non oui conforming implementation

Graphe final prouvé

Source Target Relation Runtime live
CatalogRankingEngine CatalogIntelligenceRebuildService dépendance injectée / rank() non
CatalogIntelligenceRebuildService CatalogIntelligenceEngine dépendance injectée / rebuild() non
CatalogIntelligenceEngine CatalogRepositoryInterface findById() puis save() non

Invariants certifiés

Invariant Proof Status
ranking avant intelligence CatalogIntelligenceRebuildServiceTest + gate finale oui
même productId test applicatif dédié oui
mêmes offers utiles transmises test applicatif dédié oui
exceptions ranking propagées test applicatif dédié oui
exceptions intelligence propagées test applicatif dédié oui
aucun event/queue/worker/hook/SQL direct gates BC-067C + gate finale oui
repository canonique uniquement CatalogIntelligenceEngine + tests d’architecture oui

Classes retirées confirmées absentes

  • CMonChoix\Application\Projection\ProjectionEngine
  • CMonChoix\Application\Projection\ProjectionCatalogWiring
  • CMonChoix\Application\Projection\EventSubscriberRegistry
  • CMonChoix\Application\Realtime\Async\AsyncEventQueue
  • CMonChoix\Application\Realtime\Async\AsyncWorker
  • CMonChoix\Application\Realtime\RealtimeCatalogRebuilder

Aucun hit actif n’est conservé dans src/, le plugin canonical, ni le runtime miroir.

Frontières finales

  • plugin → reference core : 0
  • runtime miroir → reference core : 0
  • frontend → reference core : 0
  • HTTP → reference core : 0
  • CLI → reference core : 0
  • cron → reference core : 0
  • worker bootstrap → reference core : 0

Le noyau reste un noyau de référence interne, testé, non activé.

Reflection / sérialisation

  • aucune reflection résiduelle sur les FQCN retirés ;
  • aucune sérialisation résiduelle sur les FQCN retirés ;
  • EventBridge reste hors périmètre BC-067D et inchangé ;
  • aucun alias nouveau.

Tests

Base avant BC-067C :

  • 425 tests
  • 1556 assertions

Base après BC-067C / BC-067D :

  • 422 tests
  • 1546 assertions

La baisse reste justifiée par :

  • suppression de tests de placeholders morts ;
  • remplacement par des tests plus directs du noyau métier utile.

Manifest final

Le manifest tests/Architecture/fixtures/bc067_runtime_activation_design.php confirme :

  • activation_decision = do_not_activate
  • retirement_decision = reduce_to_reference_core
  • runtime_status = not_activated
  • reference_core exact
  • retired_fqcns exacts
  • forbidden_entrypoints figés

Dette restante

Dette résiduelle : P2 documentaire uniquement.

Aucune réouverture BC-067 n’est recommandée. Si un besoin produit réel apparaît un jour, il faudra ouvrir une nouvelle BC dédiée à une éventuelle réactivation contrôlée, sans recycler implicitement la chaîne supprimée.

Rollback

Rollback trivial pour BC-067D :

  1. retirer la gate finale ;
  2. retirer les ajouts de documentation et manifest ;
  3. relancer les validations.

Aucun rollback SQL. Aucun runtime sync.

Décision finale

  • BC-067D : fermée
  • BC-067 : fermée