Skip to content

Session handover — 2026-07-14

A follow-on to pt4. One task: "fix the inserted sections — 51 is way too many." It was four bugs, and more than half of the 51 was never real.

insertedOurs 51 → 19. Composite 79.3 → 83.7, MANUAL-POLISH, no vetoes. Deployed: worker ee71e36c.

The four

# bug kind
1 isJunk deleted 42 real live sections instrument
2 nested Wix wrapper doubles → 23 spurious blocks render
3 criticalSectionDropped fired on heroes we RENDER instrument
4 /thank-you-contact-form lost its subtitle render (unmasked by #2)

1 — the junk filter was eating live content (27 of the 51). Wix injects a per-comp SVG colour rule into ordinary content bands; isJunk's style-leakage rule condemned the whole section on sight. Live's real "Our Commercial Repair Services Include:" band — present on every WCP service page — was deleted from the live side, so our faithful copy scored as insertedOurs. Two of the function's three rules were heading-gated; this one wasn't, and its own comment promised "a genuine section is never removed". Now gated.

2 — the real render defect. /commercial-repairs printed "Commercial Repairs" three times; live prints it once. New dedupe.js pass collapses on content signature + DOM ancestry. WCP 287 → 264 blocks; garvanbay 71 → 71, zero delta; all 7 garvanbay Hero re-matches still fire.

3 — the veto was wrong. Deleting the duplicates removed the spare block that had been absorbing an aligner mis-pairing, and five pages flipped to HOLD — while all five visibly render <h1> + subtext + CTA. The site got better and the verdict got worse. A critical role is now dropped only if our page hasn't got one, and it fails closed (a real drop still vetoes; no sidecar still vetoes). +10 checks (19 → 29).

4 — a bug was masking a bug. Removing the duplicate exposed that Hero.extract() sources subtext only from <p>/<h4>, and that hero band is <h1> + <h2> with no <p>. The phantom block had been accidentally surfacing the <h2>. Fixed with a next-heading-level fallback gated on singularity — a subtitle is one line; several same-level headings are an item list (ungated it hoists "Fair Pricing" into the homepage hero). Fills exactly 1 WCP hero, changes 0 on garvanbay.

Two wiki claims corrected in place

  • known-issues' "Re-match over-produces on Wix responsive-doubles" had the MECHANISM wrong. The doubles are not adjacent siblings, and the Hero re-match is not what splits them — measured: nested ancestor/descendant pairs, 67/67 on WCP, zero siblings, and on the failing page the re-match never fires (the inner half matches CTAStrip natively; Hero gates on position <= 1). The fix that entry prescribes — a sibling-adjacency collapse after the re-match — would have matched ZERO pairs. Its conclusion (collapse on content signature, not matcher name) was right; the causal story was invented around a correct observation. This is the same shape as pt4's brand-ranker correction.
  • The metric follow-up suggesting isJunk be widened to swallow the Watch Now strips must NOT be done. Those 4 sections are Wix video widgets — the very videos reported missing. Widening the filter would hide the video debt inside the junk filter.

Verification

  • WCP: 25 pages 200, 0 loud-fail placeholders, /commercial-repairs heading no longer tripled, /thank-you-contact-form subtitle restored on the deployed page.
  • garvanbay (shared surface, SHIP-grade): dedupe.js 71 → 71 blocks, zero pages changed; Hero.js 0 subheadings changed. All 7 Hero re-matches fire and survive.
  • Validators: scorecard-gate 29, structural-diff 53, section-style 159, brand-palette 11 — all green.

Next

  1. The aligner needs role-aware anchoring. hero: dropped 5 rows still count against S even though the veto correctly no longer fires — a hero row should prefer a Hero-produced block over an exact-heading content row. Same weakness, one layer down.
  2. droppedLive rose 15 → 30, and that is honest — the junk filter was hiding real drops, including the 4× "Watch Now" video sections. The score now tells the truth about the videos.
  3. FAQ renders navy where live is white — 19 of 25 pages, now the largest G_det item.
  4. garvanbay's clean-room rebuild + the live-asset harvest (still never run).

The through-line

pt4's was check the artifact before believing the INSTRUMENT. This run is the sequel, and it is sharper: two of the four bugs were in the instrument, and the fix for the render bug made the score go DOWN.

  • The junk filter deleted 42 real live sections and reported our faithful copies as over-production.
  • The veto held a release over five heroes that render.
  • The wiki's own account of the render bug had a fabricated mechanism that would have collapsed nothing.
  • And my brief to the subagent repeated that fabrication as fact — it found the truth by measuring the DOM instead of trusting me.

Every number that moved this session moved because someone looked at the thing rather than at the thing that measures it.