Session handover — 2026-07-15¶
A follow-on to 2026-07-14 pt4. The video segmentation slice (pt4's agreed workstream #1) shipped — all 27 of WCP's missing videos now have measured section homes, and the render backlog is three buckets, not 27 tickets. Instrumentation only: no worker deploys, no D1 writes, no score movement.
Where the two sites now stand¶
| site | verdict | why |
|---|---|---|
| WCP | HOLD | videoDebt only — unchanged. S/T/G_det proven byte-identical on the stored artifacts (82.2 / 100 / 84.4, composite 87.2); the scorecard's live/ours capture pair untouched. |
| garvanbay | HOLD | criticalSectionDropped (/contact has no hero) — unchanged, untouched all session. |
What shipped¶
- Capture schemaVersion 7→8 (
lib/capture-section-backgrounds.js):mediaRefs.videos[]gainsectionId+attributedBy. The join that fires is the poster id, not the mp4 URL — URL containment attributed 0/36 because Wix keeps every mp4 URL in page-levelwix-warmup-data/inline script blobs; the guarded media-id pass homed 28/28. See the new known-patterns entry "A video's SECTION HOME is its POSTER id, not its mp4 URL". lib/video-segmentation.js(+.validate.mjs, 18 checks): joins the attributed ids throughstructural-diff#alignPage(agrees with S/C by construction) to the build sidecar's block names. Gates on version + thesectionAttributionevidence key itself (noCAPTURE_REQUIREMENTSrow — nothing stamps from it). Report:builds/waterfordcountypainters.ie/video-segmentation.json.- Both reference captures re-run and PERSISTED at v8 (the capture-plane shipping rule): WCP 25/25 pages carry the key, 27 ids / 28 placements attributed, 0 unattributable; garvanbay 10/10, 0 videos — faithful no-op.
originalNameOffilename-grade gate (apps/cms/scripts/wix-api.mjs+ loud fallback intransform-seed-images.mjs): the folder-labelMisccan no longer become provenance for 19/46 videos; the known-issues precondition on any video migration is closed (entry deleted; lesson in known-patterns "A provenance getter that FALLS BACK to a display label…").- Additivity proven, not assumed: scorecard re-run on the same stored artifacts is
byte-identical ex-timestamp;
asset-debt.validate.mjs+2 checks prove the veto ignores the new fields.
The ranked render backlog (the slice's deliverable)¶
From video-segmentation.json — see the updated known-issues entry "WCP asset debt …
SEGMENTED 2026-07-15" for the table: fcr.gallery ×13 (gallery items need video support —
one block type is half the debt), fcr.about ×11 (a video slot on the content sections),
fcr.hero ×1 (machinery exists), 3 dropped-live riding on the home-FAQ
heading-extraction bug (which now pays twice — see its updated entry).
Next¶
- Gallery video items (13 of 26) — the biggest single render bucket; also the page where Wix Pro-Gallery already holds the worst S (44.4).
fcr.aboutvideo slot (11 of 26) — one adapter/block decision covers every service page.- garvanbay
/contacthero — its HOLD, still untouched. - Still open from earlier: home-FAQ heading extraction (now double-motivated), aligner role-aware anchoring, Slice 6 calibration, operator editability (upstream emdash save race).
The through-line¶
pt4's corollary was measure the filing before scoping it. This session's is the same rule at the design level: measure the join before building it. The scoped containment join was measured to attribute nothing before it shipped as the answer; one live probe found the poster identity, and the pre-registered "risk" became the design. Acquisition without section homes stayed motion-without-progress — and now the homes exist, acquisition is unblocked bucket by bucket.