Aller au contenu

Gaming normalization architecture

Scope

Gaming platform normalization is shared product knowledge. It is not merchant-specific unless a rule explicitly depends on a concrete source_feed.

The historical runtime entry point remains ccx_norm_apply_gaming_platforms_v1() in norm/86-gaming-platforms.php. The function is executed from the post-smartphone cross-product stage, preserving the historical position relative to smartphone and industrial classification locks.

Current responsibilities

The gaming platform pass currently handles:

  • exact platform normalization for video games and consoles;
  • dominant compatibility for controllers and console accessories;
  • simulation / sim-racing platform completion;
  • null completion for retro gaming, Meta Quest, ROG Ally and generic accessories;
  • two historical cross-product repairs that move obvious DJI products to Photo & Video and gaming-neon decoration to Home & Garden.

The cross-product repairs remain in the gaming sequence during the first structural extraction because moving them changes ownership and must be reviewed separately.

Ordering contract

The historical stage order is:

  1. CCX_GAMING_PLATFORMS_V1;
  2. CCX_GAMING_PLATFORMS_V2_NULL_COMPLETION.

Do not reorder the stages or rewrite SQL predicates during structural extraction.

Merchant boundary

Platform names and product brands are generic product knowledge. A rule belongs under norm/feed-rules/<feed>/ only when correctness depends on that source feed itself.

Validation

tests/Runtime/GamingProductBoundaryContractTest.php characterizes the current runtime surface before modularization. Structural work must preserve the public entry point, stage markers, platform surface and cross-product corrections until a dedicated behavioral migration intentionally changes them.