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-datedreplatform-devfork LACKS it) → generateddeploy.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-productloader fed 747 products; category tree repaired in place to an exact Ecwidid/parentIdmirror (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;
webdevadmin 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 typeproduct, widgettheme-archive-title, condition slugproduct_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 thewordpressrepo. - Executable runbook —
wordpress/scripts/bmparts/*(separate repo): repair → images → descriptions → nav → fixups, all idempotent, repair has a dry-run flag.
Next¶
- 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. - bmparts closeout (owner-side): 27 product photos in Ecwid, 8 hidden categories,
Authipay activation + checkout test, key/
.ppkrotation, then DNS/hosting viawebdev. - Loader: emit Ecwid
parentIdfor the Tools subtree + empty categories; the drop-the-repair trigger is in known-issues. - Astro-lane threads from pt1/pt2 (VOD Slice F,
fcr.aboutbucket) 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.