The vitec/herosection content block has prefixFields - the real column
and sys_file_reference fieldname is vitec_hero_bgimage; the JSON merely
strips the prefix. The first apply wrote the 20 references with the bare
name, so they existed but never rendered (no herosection anywhere had an
image, so there was no working example to catch it against).
- BuildProductOverviews: attach/backfill/skip-check now use
vitec_hero_bgimage
- new migration fix_overview_hero_refs.php: renames the existing 20
references in place (no re-attach) and sets the counter column
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rebuild the product section after the agency sitemap and menu prototype
of 2026-11-02:
- vitec:build-product-overviews builds sysfolder labels (3 categories,
9 groups) below /products with 20 overview pages /products/<slug>
(layout 9: hero, intro per group, product cards, contact CTA) and two
menu shortcuts. Dry-run by default, idempotent, explicit sorting.
- ProvideProductCatalog reads that page tree and emits catalog version 2:
categories[].groups[].items[] of type page (productCount, products,
image) or shortcut (target indices), plus viewAll, news and search.
- Transitional v1 fields (groups[].products/link/uid, categories[].uid/
link, product teaser) keep the deployed front end alive; it read the
v1 shape and rendered a white page without them. Remove once the
front end reads items.
- ProvideInsightsSpotlight::latestNews() is public with a count.
- Product type-ahead (type 7385) adds matching overview pages and a
per-product overview with its menu path.
- Spec v1.28.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>