# KRB WordPress → Webflow migration — new session handoff

Generated: 2026-06-23

## Critical correction from Sylvain

Do **not** try to write directly from Hermes, page-client, MCP, or any local automation unless Sylvain explicitly changes the workflow.

The working process is:

1. **Use page-client for read/QA only**
   - Broad page tree readback
   - Component counts
   - Page Slot / DropTarget placement checks
   - Placeholder/default content checks
   - Missing image/component detection
   - Fresh re-audit after Sylvain runs JS

2. **Generate reviewed, task-scoped JavaScript for Sylvain**
   - The JS is intended to be pasted/run by Sylvain inside the Iggy app **Design API Playground / Code Lab**.
   - Hermes should give Sylvain the JS file and clear run instructions.
   - JS should be narrow, dry-run/readback friendly where possible, and should log a structured summary.

3. **Sylvain runs the JS in the Design API Playground app**
   - Hermes should not assume the write happened until readback confirms it.

4. **Re-audit with page-client**
   - Compare before/after issue counts.
   - Confirm inserted components are in the correct Page Slot/DropTarget.
   - Confirm props/images persisted.
   - Report remaining issues and generate the next narrow JS patch if needed.

## Do not repeat the failed path

A previous attempt wasted time by trying page-client/direct write paths. Current known limitations:

- page-client readback is reliable enough for KRB batch QA.
- page-client writes can return without throwing but not persist in the page tree.
- page-client `imageAsset` writes rejected Data API/Webflow asset IDs and URL-shaped values in the tested path.
- Direct write attempts should be treated as diagnostic only, not the production migration workflow.

## Current local state and useful artifacts

Primary skill to load in the new session:

- `krb-webflow-mcp-page-migration`

Important handoff/reference files:

- `/Users/iggy/.hermes/profiles/ignite_team/outbound/krb-next16-page-client-v6-attempt-report.md`
- `/Users/iggy/.hermes/profiles/ignite_team/outbound/krb_page_client_probe/audit_next16_readonly_qa.mjs`
- `/Users/iggy/.hermes/profiles/ignite_team/outbound/krb_page_client_probe/fix_next16_missing_components_images_v6.mjs` — reference/diagnostic only; do not reuse as a write path.

Current batch audited after About Us:

- 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

Latest page-client QA result after the failed v6 write attempt:

- 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 prior bad `Hide section=true` pass. Do not touch visibility unless Sylvain explicitly approves a separate visibility cleanup pass.
- 12 `missing-two-column-image`
- 2 `missing-component-count`
- 1 `missing-hero-image`

Actual genuine missing components in the next-page batch:

- `Co-curricular Program`
  - missing `Section / Text Content`
  - missing `Section / Next Pages`
  - missing hero image

Other affected pages mainly have missing image props and/or hidden already-migrated content.

## KRB safety rules

- Do not publish.
- Do not delete.
- Do not alter redirects, global styles, site settings, CMS schema, or visibility controls unless explicitly requested.
- Do not write `Section Controls / Hide section` during content imports.
- Treat hidden-but-present content as a separate reported cleanup category.
- Never overwrite Sylvain-edited mapping/workbench files without checking current file state first.

## Expected new-session opening move

1. Load `krb-webflow-mcp-page-migration`.
2. Read this handoff file.
3. Re-run or inspect the latest page-client audit for next16 if needed.
4. Generate a narrow JS patch for Sylvain to run in Design API Playground for the smallest remaining confirmed gap, likely Co-curricular Program missing components + images.
5. After Sylvain runs it, re-audit with page-client and report the delta.

## App/product feedback to continue collecting

While using the Design API Playground / Code Lab workflow, note ways the app should better support migrations:

- Built-in read-only audit → generated diff/fix plan → run JS → re-audit loop.
- Clear separation between readback state and write actions.
- First-class component insertion templates for known Webflow components and slots.
- Asset resolver that converts hosted URLs/Data API asset IDs into values accepted by Designer image props.
- Better logs for persisted vs non-persisted writes.
- A visible distinction between `missing`, `present but hidden`, and `present but placeholder`.
- Exportable structured run summaries for Hermes to consume in the next audit.
