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
CTAStripnatively;Herogates onposition <= 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
isJunkbe widened to swallow theWatch Nowstrips 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-repairsheading no longer tripled,/thank-you-contact-formsubtitle restored on the deployed page. - garvanbay (shared surface, SHIP-grade):
dedupe.js71 → 71 blocks, zero pages changed;Hero.js0 subheadings changed. All 7 Hero re-matches fire and survive. - Validators:
scorecard-gate29,structural-diff53,section-style159,brand-palette11 — all green.
Next¶
- The aligner needs role-aware anchoring.
hero: dropped 5rows 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. droppedLiverose 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.- FAQ renders navy where live is white — 19 of 25 pages, now the largest G_det item.
- 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.