Session handover — 2026-07-21 pt2¶
Instrument-hardening + Slice-6 tooling session, in service of the one remaining Slice-6 blocker: Cathal's ship/needs-polish/hold labels. Four tasks, in the order the owner set them (1 → 2 → 3 → 4), each landed with a validate/selftest; nothing deployed (all local — the corpus is a calibration exercise, zero production writes).
Where to look¶
- known-issues — four entries moved:
- the null-axis composite bug (bluestars entry) is marked FIXED 2026-07-21; the redundant "SECOND instance" paragraph is deleted (bug fixed, cassidy's mesh status now lives in the prevalence entry).
- Mesh prevalence is no longer "STILL UNMEASURED" — 3 of 41 (7.3%), measured by the pipeline's own section signal with controls; the portfolio-wide number stays open with a reopen trigger + a pending owner decision (segmenter slice vs manual-tier routing).
- the
https_.jpgURL-mangle is ROOT-CAUSED + FIXED (it was a crawl-stage bug indom-pipeline, nottransform-seed-images) with a corrected recovery note (--force crawl, not--force images). - a new labelling-harness note (the human-label step is now tooled) and a
small note on a pre-existing red test (
calibration-fitWCP anchor 82.1-vs-82.2 re-crawl drift — not a regression). - known-patterns — two durable entries added under
Components/pipeline: "A composite from a SINGLE surviving axis is that axis,
not a composite" (+ the null-vs-0 shape-shift) and "A nested/doubled Wix
/media/URL mangles when split on the FIRST/media/". - ADR-0009 — Slice 6 tracker row gains a dated note (labelling harness + composite fix); no decision changed, this is execution of the Slice-6 instrument.
What shipped¶
- Task 1 — null-axis composite fix.
composite()(lib/scorecard-gate.js) now returnsnullbelow 2 axes; a mesh 0-section site (S+G_det null, T alone) no longer banks a flattering95.5/100and holds honestly.lib/scorecard.jsprints—for a null composite. +4 gate-validate checks (64/64). Proof it doesn't touch the fit: both mesh sites already sit infeature-matrix.json#skippedonmissingAxes, verified before composite is read. - Task 2 — labelling harness.
scripts/make-label-sheet.mjs(18-check selftest) →calibration/labels.csv(seeded,host,verdict,reason, 15 SHIP candidates first) +calibration/review.html(per-site punch-list from the committed scorecards, live links, ship/needs-polish/hold export). Testing against the real scorecards caught two object-vs-number bugs the fixtures missed (matcherGap{count}, header.cta object value) — fixed + locked. - Task 3 — mesh prevalence.
scripts/measure-mesh-prevalence.mjs— 3 of 41 (7.3%) by the S-axis alignment (structural.pages[].rows), with positive+negative controls that pass. Memoryproject_mesh_prevalence_expectationupdated with the measured number. - Task 4 —
https_.jpgURL-mangle. Extractedlib/wix-media-ref.js#deriveWixMediaRef(last-/media/split + protocol guard; byte-identical on normal URLs) +wix-media-ref.validate.mjs, wired intolib/dom-pipeline.js.
The honest parts¶
- Nothing is deployed and no site was re-crawled. All four tasks are proven by validate suites + the committed corpus artifacts; the actual mesh scorecards and sreenanandcompany's seed live on EC2. The composite fix takes effect the next time those sites are scored on the box.
- The mesh number is a corpus SAMPLE, not the portfolio. 7.3% of ~41 hand-picked team-built sites → order ~130 of 1800 (CI ~45–350). The portfolio-wide count needs the full crawl. It is enough to retire "n=2 edge case", not enough to size the segmenter slice.
- The URL-mangle fix targets the demonstrable mechanism (nested/doubled URL →
exactly
https_.jpg); confirming it resolves sreenanandcompany specifically needs a box re-crawl. If that site's real URL is a different nesting shape, the new guard skips it loudly (un-migratable) rather than 403-ing — no silent ship either way. calibration-fit.validate.mjsis red on clean HEAD (WCP anchor 82.1 vs a hard-coded 82.2 — 0.1 re-crawl drift). Unrelated to this session's changes; filed as a test-maintenance nit.- svco's
header.ctamiss (the second task-4 item) was left for the box — a capture/data issue, incidental (svco is already media-footer-deferred). The review sheet independently surfaces it.
Next¶
- Cathal's labels — open
calibration/review.html, label the 15 SHIP candidates (needs-polish/hold the rest for negatives), save tocalibration/labels.csv. This is now the sole remaining Slice-6 blocker. fit-calibration→ review the candidate → promote only iffitted:trueand precision holds → wire the gate topShipCut.- Mesh decision — segmenter slice vs explicit manual-tier routing (owner call); portfolio-wide count at the full crawl.
- Box confirmations:
--force crawlsreenanandcompany to confirm the URL-mangle fix +--force images; the svco CTA; regenerate the two mesh scorecards so their committed composites readnull. - Test nit: reconcile the
calibration-fitWCP anchor (82.1 vs 82.2).