Skip to content

Session handover — 2026-07-15 pt3

A different lane entirely from pt1/pt2 (which were WCP video debt on the Astro lane). This session resurrected the dormant wordpress repo tooling and replatformed bmpartsandtools.ie (Wix chrome + embedded Ecwid store) onto WordPress/WooCommerce/Elementor Pro in one day, live at https://cathaldev2.fcrweb.ie — then wrote the automation design up as ADR-0012 (Proposed).

Figma was evaluated and skipped: the historical site→Figma leg was never automated, and for 1:1 replatforms it adds a manual round-trip with no information the crawler doesn't already measure. It remains the redesign surface only.

What shipped (all live and verified on cathaldev2)

  • Crawl → deploy: wordpress/crawler (the Mar-2026 copy with the Wix flat-DOM layout-analyser — the newer-dated replatform-dev fork LACKS it) → generated deploy.php → 19 pages, child theme, kit. Polish pass rebuilt header (topbar/logo/navy nav with dynamic active-tab + Door Locks dropdown), footer, homepage (hero, CTA band, brands, category cards, 6-tab FAQ), all screenshot-verified against the original.
  • Woo templates: product archive (price-slider + category-list filter sidebar, 3-col grid) and single product (gallery/price/variations/tabs/related) as Theme Builder templates; variable-product options verified working; product JSON-LD restored.
  • Catalog: owner's wix-product loader fed 747 products; category tree repaired in place to an exact Ecwid id/parentId mirror (259 terms, 7 real top-levels); category images + descriptions recovered from the Ecwid API via its embedded public token — including the owner's "we lost this text" category intro copy.
  • Ops: WC REST keys issued for the loader; webdev admin created for the developer handover; DB backups before each mutation; ~1 min self-inflicted downtime (functions.php escaping bug) caught and fixed.

Where to look

  • ADR-0012 — the automated-lane design (job spec, six stages, loop taxonomy + token guards, model routing with the open-model builder slot, playbook-as-asset). Its §Context enumerates the seven escalation-grade platform gotchas hit and solved (eval-file long-line silent no-op → wp eval 'include…'; Elementor Pro 4 renames: document type product, widget theme-archive-title, condition slug product_archive; __dynamic__ title bindings; Woo JSON-LD suppression on theme-builder templates; Wix CDN full-res URL surgery; Ecwid public-token harvesting).
  • known-patterns — new entry "Embedded-app content lives in the APP's OWN API" (the Ecwid/FAQ-server finding; same shape as pt2's VOD discovery, third surface this week) + the /-in-names join-key corollary.
  • known-issues — new section "Wix→WooCommerce lane (ADR-0012 pilot)": loader parenting gap with drop-the-repair trigger, content debt (27 imageless / 8 hidden-category products), payments untested, security: rotate the committed .ppk + WC keys in the wordpress repo.
  • Executable runbookwordpress/scripts/bmparts/* (separate repo): repair → images → descriptions → nav → fixups, all idempotent, repair has a dry-run flag.

Next

  1. ADR-0012 first milestone: parametrize wordpress/scripts/bmparts/* into a toolkit (config block for site specifics), define job-spec/report JSON, wire stages 1–4 + the verification matrix into the dashboard queue — no models needed for that slice.
  2. bmparts closeout (owner-side): 27 product photos in Ecwid, 8 hidden categories, Authipay activation + checkout test, key/.ppk rotation, then DNS/hosting via webdev.
  3. Loader: emit Ecwid parentId for the Tools subtree + empty categories; the drop-the-repair trigger is in known-issues.
  4. Astro-lane threads from pt1/pt2 (VOD Slice F, fcr.about bucket) are untouched and still queued in pt2's handover.

The through-line

Same rule as pt1/pt2, applied to a whole lane: measure before building (the dry-run before every tree mutation; the network trace before scraping the FAQ), and the checker must not be the fixer — the archive template "deployed" cleanly three times while a one-line HTML check showed it never rendered. That observation is now load-bearing in ADR-0012's loop design.