# KRB Image Cluster replacement v1

Generated from fresh read-only audit: `2026-06-24T02:09:25.501Z`.

## Current audit result

- Pages audited: 86 static/public pages
- Pages containing `Section / Image Cluster`: 5
- Total `Section / Image Cluster` instances: 8
- Audit errors: 0

## Replacement plan

| Page | Path | Clusters | Strategy |
|---|---:|---:|---|
| Co-curricular | `/co-curricular-sport` | 1 | #1 standalone-gallery (4 unique image(s)) |
| International | `/boarding/international` | 1 | #1 standalone-gallery (4 unique image(s)) |
| Facilities | `/boarding/facilities` | 2 | #1 standalone-gallery (4 unique image(s)), #2 standalone-gallery (3 unique image(s)) |
| Boarding at KRB | `/boarding` | 3 | #1 two-column-with-gallery (1 unique image(s)), #2 two-column-with-gallery (1 unique image(s)), #3 two-column-with-gallery (1 unique image(s)) |
| Weddings | `/community/weddings` | 1 | #1 standalone-gallery (4 unique image(s)) |

## Behaviour

- Default: `CONFIG.dryRun: true`, `CONFIG.runMode: 'current-page'`.
- Standalone gallery instances replace the Image Cluster at the same page-slot position with `Component / Slider Gallery`.
- Boarding text/gallery pairs replace the preceding `Section / Text Content` + `Section / Image Cluster` pair with `Section / Two Column Text & Image`, then add `Component / Slider Gallery` inside the gallery slot and `Global / Visual` children inside the slider image slot.
- Duplicate Image Cluster asset IDs are intentionally de-duped before creating `Global / Visual` items.
- Multi-cluster pages are processed from the latest Image Cluster occurrence backwards so replacement does not shift remaining occurrence numbers.
- No publish/site/script/CMS/redirect/style operations.
- This is a cleanup script, so it intentionally uses `setChildren()` to replace old page-slot children with the approved components.

## Suggested test order

1. Run as-is on one current target page in dry-run mode.
2. Test one standalone page live, e.g. `/community/weddings`, by setting `dryRun:false` while on that page.
3. Test one two-column pair page live on `/boarding` in current-page mode.
4. If page listing/switching APIs are available, use `runMode:'all-pages'`; otherwise run current-page page-by-page.

Result prefix:

`KRB_IMAGE_CLUSTER_REPLACEMENT_V1_RESULT`
