Skip to content

v2.1.5 — Phase 9.9 review post manager + brand-meta extraction

Choose a tag to compare

@mexiter mexiter released this 25 Apr 13:33
· 69 commits to epic/refactor-april since this release

Phase 9.9 — review post manager + brand-meta extraction. Pulls 6 helper methods (~200 LOC) out of dataflair-toplists.php into single-responsibility classes under src/Frontend/Content/ and src/Frontend/Render/.

New classes

  • src/Frontend/Content/ReviewPostManager.php — slug-tolerant get-or-create review CPT
  • src/Frontend/Content/ReviewPostFinder.php — single-brand meta lookup
  • src/Frontend/Content/ReviewPostBatchFinder.php — batched brand-meta lookup (H8)
  • src/Frontend/Render/BrandMetaPrefetcher.php — prefetch brand metas for items
  • src/Frontend/Render/BrandMetaLookup.php — cascade lookup api_brand_id → id → slug → name
  • src/Frontend/Render/SyncLabelFormatter.php — relative time labels for admin UI

Invariants preserved

  • Render-time read-only invariant (Phase 0A) — ReviewPostManager is never called from card render path
  • H7 brand-meta prefetch
  • H8 batched review-post lookup

Tests

  • 478 tests / 1,111 assertions, all green
  • 26 new unit tests across 7 new test files

Release ritual

  • Squash-merged from epic/refactor-april-phase-9-9-review-content
  • Tagged v2.1.5 on epic/refactor-april (main untouched)
  • Plugin description + changelog + README synced
  • Composer dev-deps stripped; rsync to both strike-odds plugin folders

🤖 Phase 9.9 of the v2.1.x continuation arc; v2.1.6 (Phase 9.10) next.