Aller au contenu

BC-068B — Unknown / Orphan / Accidental / Generated Audit

Status: HISTORICAL For the current architecture, see: ../index.md and the CURRENT documents it references.

Verdict : fermable.

BC-068B reste un audit et un reclassement. Aucun code métier, aucun comportement, aucun runtime sync, aucune suppression réelle n’ont été appliqués.

Les décisions par fichier sont désormais portées par le manifest mis à jour :

  • tests/Architecture/fixtures/bc068_worktree_inventory.php

1. Unknown résolus

Base BC-068A :

  • unknown avant : 194

Après reclassement BC-068B :

  • unknown après : 32

Réduction :

  • 162 fichiers ont été reclassés vers une BC connue, historical, generated, accidental ou orphan.

Répartition finale du manifest :

Bucket Count
bc-048 53
bc-062 103
bc-063 58
bc-064 156
bc-065 26
bc-066 17
bc-067 25
historical 23
orphan 7
unknown 32
accidental 2
generated 3

2. Unknown restants

Les unknown restants sont volontairement gardés comme tels, car ils sont transverses, touchés par plusieurs BC, ou trop centraux pour un rattachement honnête sans preuve supplémentaire.

Liste restante :

  • plugins/ccx-feeds-industrial/ccx-feeds.php
  • plugins/ccx-feeds-industrial/includes/admin/governance/30-actions.php
  • plugins/ccx-feeds-industrial/includes/admin/governance/50-page/10-notices-filters.php
  • plugins/ccx-feeds-industrial/includes/admin/governance/governance-snapshot.php
  • plugins/ccx-feeds-industrial/includes/admin/governance/modules/34-finished-feeds-save.php
  • plugins/ccx-feeds-industrial/includes/frontend/assets/catalog.css
  • plugins/ccx-feeds-industrial/includes/infrastructure/db-lock.php
  • plugins/ccx-feeds-industrial/includes/mapping/row-to-item-helpers.php
  • plugins/ccx-feeds-industrial/includes/pipeline/30-download.php
  • plugins/ccx-feeds-industrial/includes/pipeline/norm/05-premium-feed-whitelist.php
  • plugins/ccx-feeds-industrial/includes/runtime/batch-persister.php
  • plugins/ccx-feeds-industrial/includes/runtime/bootstrap.php
  • plugins/ccx-feeds-industrial/includes/runtime/feed-reader.php
  • plugins/ccx-feeds-industrial/includes/runtime/queue-runner.php
  • plugins/ccx-feeds-industrial/includes/runtime/row-normalizer.php
  • plugins/ccx-feeds-industrial/includes/runtime/run-repository.php
  • plugins/ccx-feeds-industrial/includes/runtime/settings.php
  • plugins/ccx-feeds-industrial/includes/schema.php
  • plugins/ccx-feeds-industrial/includes/schema/00-schema-core.php
  • plugins/ccx-feeds-industrial/includes/sync-monitor/10-feed-health.php
  • plugins/ccx-feeds-industrial/includes/sync-monitor/20-synclog-core/30-runtime.php
  • src/Application/Control/ControlTower.php
  • src/Application/Enrichment/EnrichedStageEntry.php
  • src/Application/M20/Workers/AsyncWorkerRunner.php
  • src/Application/M21/Workers/WorkerOrchestrator.php
  • src/Application/M24/Daemon/WorkerDaemon.php
  • src/Application/Normalization/NormalizationFacade.php
  • src/Domain/Product/Product.php
  • src/Infrastructure/Event/SimpleEventDispatcher.php
  • src/Infrastructure/M16/PersistentEventStore/PersistentEventStore.php
  • src/Infrastructure/M18/DatabaseEventStore/DatabaseEventStore.php
  • src/Infrastructure/M23/PersistentQueue/DatabaseQueue.php

Lecture :

  • ce sont surtout des couches transverses plugin runtime, schema, pipeline, infrastructure, workers, ou des fichiers historiques du domaine ;
  • ils devront être traités plus tard par un tri plus fin, potentiellement hors BC-068C si cela touche encore à l’architecture de fond.

3. Generated

Les fichiers classés generated sont :

File Reproductible Utile Versionnable Temporaire Décision
tests/Runtime/fixtures/catalog_children_reader_bootstrap.php oui oui oui non KEEP_GENERATED
tests/Runtime/fixtures/catalog_router_reconciliation_harness.php oui oui oui non KEEP_GENERATED
tests/Runtime/fixtures/frontend_read_model_runtime_bootstrap.php oui oui oui non KEEP_GENERATED

Preuve d’utilité :

  • catalog_children_reader_bootstrap.php est chargé par SqlLegacyCatalogProjectionReaderTest
  • catalog_router_reconciliation_harness.php est chargé par CatalogRouterReconciliationTest
  • frontend_read_model_runtime_bootstrap.php est chargé par FrontendReadModelRuntimeTest

Conclusion :

  • aucun generated n’est candidat à suppression immédiate ;
  • ils restent versionnables car ils encapsulent des harness de tests reproductibles.

4. Accidental

File Why accidental Safe remove
ls artefact accidentel explicitement signalé par la consigne oui
scp artefact accidentel explicitement signalé par la consigne oui

Décision :

  • suppressions proposées plus tard : ls, scp
  • non réalisées en BC-068B

5. Orphan

Les fichiers classés orphan à ce stade sont surtout des artefacts d’audit/inventaire ou des gates transverses sans preuve forte d’utilité release immédiate.

File Orphan type Confidence Remove later
docs/operations/bc-068a-worktree-consolidation-audit.md audit ponctuel de chantier haute oui
tests/Architecture/fixtures/bc068_worktree_inventory.php fixture d’inventaire de consolidation moyenne possible
tests/Architecture/CrossVerticalDependencyTest.php gate transverse non rattachée à une BC fonctionnelle unique moyenne possible
tests/Architecture/DomainBoundaryTest.php gate transverse générique moyenne possible
tests/Architecture/LayerCycleInventoryTest.php inventory transverse moyenne possible
tests/Architecture/PlatformPackagingBoundaryTest.php gate packaging transverse moyenne possible
tests/Architecture/TransportNeutralServiceTest.php gate transverse de neutralité moyenne possible

Important :

  • orphan ne signifie pas “à supprimer maintenant” ;
  • cela signifie “utilité locale non prouvée dans l’arborescence active actuelle”.

6. Removed references

Recherche effectuée sur les FQCN supprimés BC-064 / BC-067 :

  • aucune référence active trouvée dans src/
  • aucune référence active trouvée dans le plugin canonical
  • aucune référence active trouvée dans le runtime miroir

Conclusion :

File family Reference Still valid
suppressions BC-067 (ProjectionEngine, ProjectionCatalogWiring, EventSubscriberRegistry, AsyncEventQueue, AsyncWorker, RealtimeCatalogRebuilder) références actives non
suppressions BC-064 dead legacy (EventStoreConsolidator, QueueBroker, DistributedCoordinator, etc.) références actives non

Les reliquats observables restent documentaires ou historiques seulement.

7. Tests sans consumer

BC-068B n’a pas supprimé de tests. Les candidats les plus plausibles à audit ultérieur sont :

Test Why orphan Merge candidate
CrossVerticalDependencyTest gate transverse sans consumer release direct identifié oui
DomainBoundaryTest gate générique, valeur structurelle mais redondance possible oui
LayerCycleInventoryTest inventory transverse, pas de consumer métier direct oui
PlatformPackagingBoundaryTest certification packaging transverse oui
TransportNeutralServiceTest gate de principe, non reliée à une BC métier unique oui

8. Docs

Statut documentaire observé :

Doc Status
docs/architecture/bc-064*.md historical
docs/architecture/bc-065*.md historical
docs/architecture/bc-066*.md historical
docs/architecture/bc-067*.md historical
docs/architecture/dependances.md required
docs/runtime/overview.md required
docs/adapters/wordpress.md required
docs/operations/runtime-current-state.md required
docs/operations/bc-068a-worktree-consolidation-audit.md historical

Doublons/obsolescence :

  • suspicion de doublons dans les audits BC-064 à BC-067 ;
  • consolidation reportée à BC-068D ;
  • aucune suppression doc en BC-068B.

9. Plugin / runtime

Recontrôle canonical/runtime :

Status Count
aligned 535
drift 3
canonical-only 0
runtime-only 0

Drifts restants :

  • includes/frontend/product-canonical/assets/product-canonical.css
  • includes/frontend/product-canonical/assets/product-canonical.js
  • includes/frontend/product-canonical/templates/product-canonical.php

Conclusion :

  • toujours aucun runtime-only
  • toujours aucun canonical-only inattendu
  • drift limité et ciblé

10. Composer

Concern Status Risk
autoload PSR-4 stable faible
autoload files src/Support/LegacyProductNamespaceCompat.php présent moyen
autoload-dev intact faible
classes supprimées cohérentes avec suppressions BC-064 / BC-067 moyen
nouveaux namespaces Adapter, Contracts, ReadService, Support moyen

Aucune modification Composer n’a été faite en BC-068B.

11. Risques

Principaux risques restants :

  1. les 32 unknown résiduels sont centraux et multi-BC ;
  2. certains orphan peuvent en réalité être des gates encore utiles ;
  3. les 3 drifts canonical/runtime devront être consolidés explicitement plus tard ;
  4. le cleanup de ls / scp doit rester atomique et isolé.

12. Préparation BC-068C

BC-068C doit rester strictement limitée à :

  • fusion des manifests
  • fusion/réduction des inventories
  • fusion de tests redondants

BC-068C ne doit pas :

  • consolider la documentation
  • nettoyer les accidentels
  • toucher aux 32 unknown centraux sans nouveau cadrage
  • préparer des commits

13. Validation

Exécuté :

  • composer validate --strict : OK
  • composer dump-autoload -o : OK
  • php -l sur les nouveaux fichiers : OK
  • vendor/bin/phpunit tests/Architecture : OK
  • vendor/bin/phpunit tests/Application : OK
  • vendor/bin/phpunit tests/Runtime : OK
  • php tests/Frontend/ProductModelsCatalogRoutingTest.php : OK
  • composer test : OK
  • git diff --check : OK

14. Suppressions proposées mais non réalisées

  • ls
  • scp

Suppression non recommandée encore sans cadrage supplémentaire :

  • generated
  • orphan
  • unknown