# KRB next pages — page-client readback and v6 attempt

Generated: 2026-06-23

## Scope

Moved away from the About Us pages and audited the next-page batch via the local page-client only:

- Our Approach
- Cambridge International
- Sacred Heart Education
- Global Opportunities
- Co-curricular Program
- Teaching and Learning Framework
- New Year 5 Honours Program
- The Year 7 Experience
- Boarding at KRB
- Boarding Tour
- Facilities
- International
- Support
- Junior School
- Senior School
- Early Learning Centre

## Readback result

`node audit_next16_readonly_qa.mjs` completed successfully through page-client with no Designer app required.

Current page-client QA totals after the v6 attempt remain:

- 16 pages audited
- 60 issues
- 57 warnings
- 0 slot-misplacement issues in this audit path

Issue classes:

- 45 `hidden-section-with-migration-content` — present migrated sections hidden by the previous bad `Hide section=true` pass. Per current KRB rule, these are reported only and not changed during normal imports.
- 12 `missing-two-column-image`
- 2 `missing-component-count`
- 1 `missing-hero-image`

## New-page batch actual missing content

The only genuine missing components found in this batch are on `Co-curricular Program`:

- Missing `Section / Text Content` (expected 1, have 0)
- Missing `Section / Next Pages` (expected 1, have 0)
- Missing hero image

The other affected pages mainly have image-only gaps and/or hidden already-migrated sections.

## v6 page-client fix attempt

Created script:

`/Users/iggy/.hermes/profiles/ignite_team/outbound/krb_page_client_probe/fix_next16_missing_components_images_v6.mjs`

Ran:

```bash
node --check fix_next16_missing_components_images_v6.mjs
node fix_next16_missing_components_images_v6.mjs
KRB_RUN_LIVE=1 node fix_next16_missing_components_images_v6.mjs
node audit_next16_readonly_qa.mjs
```

Safety:

- No publish.
- No deletion.
- No `Section Controls/Hide section` writes.
- Uses page-client readback only.

Outcome:

- The script could connect through page-client and identify target pages/components.
- Image writes failed because page-client rejected Data API/Webflow asset IDs for `imageAsset` props (`Asset not found`). It also rejected URL-shaped object attempts in a follow-up shape test.
- Component append reported no exception in-session but the Co-curricular component insertions did not persist according to a fresh page-client tree and fresh read-only audit.

## Product/app workflow observations

For this migration workflow, the app/page-client split is showing concrete gaps:

1. Page-client readback is reliable enough for batch QA and should be the default for audits.
2. Component insertion through page-client is not giving reliable persisted results in this context, even when `DropTarget.append(component)` returns without throwing.
3. Image asset props need a first-class resolver/adapter: Data API asset IDs and hosted URLs are not accepted by the page-client `imageAsset` setter in the same shape used by the readback/export files.
4. Code Lab would benefit from a built-in migration loop: read-only audit → reviewed diff/fix plan → write pass → re-audit.
5. The app should visibly distinguish `present but hidden` from `missing`, because most of the current issue count is hidden-but-present content, not absent content.

## Next recommended action

Use page-client only for readback/QA, then use a Designer/MCP or Code Lab write path for the small remaining actual insertions:

1. On `Co-curricular Program`, add:
   - `Section / Text Content`
   - `Section / Next Pages`
2. Populate Co-curricular content/next-page props from the normalized source.
3. Fix images through the write path that can accept Designer asset references.
4. Re-run `audit_next16_readonly_qa.mjs`.
5. Leave the 45 hidden sections as a separate final cleanup pass unless explicitly approved.
