Weekly hardening: v152/v153 coverage + v147 MDN-shape upgrades - #8
PaulKinlan wants to merge 10 commits into
Conversation
MDN stub — MDN fully documents Iterator.prototype.join() (verified substantive 2026-09-06), so this page is the honest pointer plus the shipping metadata MDN doesn't track: milestone-153 listing status, V8 shipped-flag evidence, BCD per-engine rows, test262 coverage, Baseline absence, and the four live showcase demo links (all HEAD-checked 200). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
Generated from primary sources (Intent to Ship thread + LGTMs, Document::CreateParser in Chromium trunk, runtime_enabled_features.json5, vendored xml-rs crate metadata). Feature is a no-new-API parser migration, so the documented surface is the migration/behavior contract; the chromestatus record's stale intent_thread_url (points at the Device Memory thread) is disclosed on-page and the correct thread linked. Conformance suite note: the generator's warn-block-experimental assertion was removed before this first commit — the EXPERIMENTAL_RE heuristic matched the page's diagnostic --enable/--disable-blink-features bisect recipe, but the feature ships enabled-by-default in the milestone=153 listing (no OT/flag), so a warn-block would be false content. suiteHash recomputed with scripts/lib/artifacts.mjs suiteHash(). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
Generated from spec/primary sources — no MDN coverage (all candidate URLs 404, no BCD keys, no webstatus entry, 2026-09-06). Origin-trial feature (desktop 152-157): mandatory warn-block gives the exact OT registration + --enable-blink-features steps and the explicit negative that the Experimental Web Platform features flag does not enable it. Surface traced verbatim from Chromium html_image_element.idl (replacedByUserAgent + onuareplacestart/onuareplaceend; event types confirmed in event_type_names.json5); two child member routes carry the nine-dimension contracts. Showcase demo iframe HEAD-checked 200 (visual render blocked by sandbox proxy egress; disclosed in the critique). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
…mance.json conformance.schema.json forbids additional properties; the rationale for the pre-commit removal of the misfired warn-block-experimental assertion lives in commit ae43547's message. suiteHash unchanged (covers assertions only). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
Generated from primary sources — no MDN coverage (no canonical URL class exists for browser security UI; search returns nothing relevant). The feature ships no author-facing API, so the page documents the observable behavior contract: the verbatim Safe Browsing real-time-lookup trigger (SOCIAL_ENGINEERING + WARN -> WARNABLE_SUSPICIOUS_SITE, fails open), desktop bubble / Android dialog flows, the 30-day host-keyed bypass allowlist, chrome://flags entry (expiry M155), and both enterprise policies quoted from their canonical YAMLs. Stale chromestatus metadata (status Proposed, desktop null) disclosed on-page rather than resolved by fiat. Showcase feature + 3 concept routes HEAD 200; one embedded. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
In-place quality upgrade under the durable-demo contract (route, H1, chromestatus identity 6330376953921536, and immutable conformance.json all preserved; smallest edits that reach the MDN shape). Added: honest Baseline banner (device-memory is Baseline-limited, Chromium-only per webstatus.dev), formal Syntax with verbatim IDL + Sec-CH-Device-Memory ABNF from the W3C WD 2026-03-30, the coarsening algorithm with Chrome trunk clamp constants (approximated_device_memory.cc), real per-version BCD compat table (4 keys fetched, 'From Chrome 147' notes quoted verbatim), live showcase iframe (memory-inspector, HEAD 200), WPT/security/specs sections, and reference-contract.json + _questions.json. Evidence-backed fixes: resolved the unlinked mail-archive msg15601 citation; reframed the Finch flag as kill switch per the intent (no rollout planned); corrected the lede (floor rises on every platform, not just Android). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
In-place quality upgrade under the durable-demo contract (route, H1, chromestatus identity 5133099851317248, and immutable conformance.json all preserved). Added: honest Baseline banner (behavior change, no register entry — evidenced by webstatus zero-match + BCD checks), verbatim before/after propdefs from the merged EDs (css-backgrounds-3, css-ui-4, css-multicol-1, css-gaps-1 context via csswg PR #11913), computed/resolved/used-value model, migration table, per-browser WPT stable-run results, interim compat table from primary sources, showcase iframe (computed-value-inspector, HEAD 200), and reference-contract.json + _questions.json. Factual error fixed with evidence: the old page claimed getComputedStyle().borderWidth returns the authored width in 147+; per css-backgrounds-3 border-width's resolved value is the used value and still reads 0px under border-style none/hidden — only outline-width and column-rule-width changed resolved values. The carve-out is now the page's centerpiece. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
…-09-06 hardening run build-goals: 155 goals (21 new) from 60 critiques. Gates at this head: check-routes, validate-artifacts, test-reference-contract, check-conformance all PASS; mobile+desktop matrix ok coverage 56/200. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
There was a problem hiding this comment.
🟡 Changes recommended
The v153 xml-parsing conformance suite has a ChromeStatus identity mismatch, and the committed conformance rollup artifacts appear to be from a single-suite run, degrading conformance verdict visibility site-wide.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR is a weekly “hardening” batch that adds new Chrome 152/153 reference coverage (including an MDN stub) and upgrades two older v147 pages to the current MDN-shaped lifecycle (reference-contract + critique), along with refreshed responsive/conformance artifacts.
Changes:
- Added new v152/v153 feature coverage pages (mix of stub + full references) with lifecycle artifacts.
- Upgraded two v147 legacy pages to the new MDN-shaped structure and lifecycle sidecars.
- Updated responsive support tracking and refreshed conformance rollup outputs.
File summaries
| File | Description |
|---|---|
| v153/xml-parsing-in-rust-for-non-xslt-scenarios/reference-contract.json | Adds implementation-sufficient contract inventory/mapping for the internal XML parser migration page. |
| v153/xml-parsing-in-rust-for-non-xslt-scenarios/conformance.json | Adds immutable conformance suite for the new v153 page (currently has an identity mismatch issue). |
| v153/xml-parsing-in-rust-for-non-xslt-scenarios/_questions.json | Adds critique + guidance consulted record for the new v153 page. |
| v153/iterator-join/index.html | Adds a v153 MDN stub page for Iterator.prototype.join with shipping metadata + links. |
| v153/iterator-join/conformance.json | Adds immutable conformance suite for the v153 stub page. |
| v153/iterator-join/_questions.json | Adds critique + guidance consulted record for the v153 stub page. |
| v152/user-agent-image-replacement-api/replacedbyuseragent/index.html | Adds/updates member page for replacedByUserAgent with detailed contract + examples (one example needs a null guard). |
| v152/user-agent-image-replacement-api/reference-contract.json | Adds implementation-sufficient contract inventory/mapping for UA Image Replacement API. |
| v152/user-agent-image-replacement-api/events/index.html | Adds/updates member page documenting uareplacestart/uareplaceend events. |
| v152/user-agent-image-replacement-api/conformance.json | Adds immutable conformance suite for the v152 feature page. |
| v152/user-agent-image-replacement-api/_questions.json | Adds critique + guidance consulted record for the v152 feature page. |
| v152/suspicious-site-warnings/reference-contract.json | Adds implementation-sufficient contract inventory/mapping for a browser-UI (non-web-API) feature. |
| v152/suspicious-site-warnings/conformance.json | Adds immutable conformance suite for the v152 feature page. |
| v152/suspicious-site-warnings/_questions.json | Adds critique + guidance consulted record for the v152 feature page. |
| v147/update-device-memory-api-limits/reference-contract.json | Adds implementation-sufficient contract inventory/mapping for the v147 MDN-shape upgrade. |
| v147/update-device-memory-api-limits/_questions.json | Adds critique + guidance consulted record for the v147 MDN-shape upgrade. |
| v147/css-update-decoupling-of-width-and-style-properties/reference-contract.json | Adds implementation-sufficient contract inventory/mapping for the v147 MDN-shape upgrade. |
| v147/css-update-decoupling-of-width-and-style-properties/_questions.json | Adds critique + guidance consulted record for the v147 MDN-shape upgrade. |
| responsive-support.json | Updates mobile/desktop support records for touched routes. |
| reports/conformance/results.json | Updates last conformance runner output (currently appears to be a single-suite run, not run-all). |
| reports/conformance/responsive.json | Updates responsive runner output. |
| reports/conformance/index.html | Updates the conformance rollup HTML (currently reflects only 1 suite). |
| goals.json | Rolls new follow-up goals from critiques into the aggregated backlog. |
Review details
- Files reviewed: 28/28 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…>v153 filing correction 1) v153/xml-parsing-in-rust conformance.json: identity + selector pointed at 4709671889534976 (the XSLT-deprecation feature the lede cross-links) because the generator takes the page's FIRST chromestatus link. Fixed to the page's own feature 5309598397497344, suiteHash recomputed; the previously-unlinked 'ChromeStatus record' label in the baseline banner now links the canonical record, which also puts the page's own identity link first in the document for every first-link-based deriver. 2) replacedbyuseragent example: null guard on querySelector result so the snippet is copy/paste safe. 3) The same feature (5309598397497344) was still filed at v151/xml-parsing-in-rust-for-non-xslt-scenarios from the 2026-08-08 accuracy pass; the live milestone=151 listing no longer carries it (present only in milestone=153, 'Enabled by default'). Recorded a move migration and removed the stale filing; old route 301s to the v153 page (verified locally: 301 -> /v153/..., new route 200). Stale responsive-support record for the removed route dropped. Gates at this commit: check-routes PASS, validate-artifacts PASS, deno fmt --check clean. Full conformance run-all + check-conformance land in the follow-up rollup commit (run in progress). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
… finding) Replaces the single-suite rollup committed from per-page runs with the complete deno task conformance run-all: 199 suites, 3731 pass / 20 fail / 1037 blocked of 4788 assertions. The 20 failures are all pre-existing on 16 untouched older pages (browser-support-section / example-surface-present / warn-block-experimental backlog, visible since the PR #5 era rollup) — zero failures on this PR's six touched pages. check-conformance, test-reference-contract, check-routes, validate-artifacts, deno fmt --check all PASS at this head. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
There was a problem hiding this comment.
🔵 Needs a closer look
v153/xml-parsing-in-rust-for-non-xslt-scenarios/conformance.json advertises a live Chrome Platform Showcase demo contract despite the page documenting that the CPS route is 404, creating inconsistent lifecycle metadata.
Review details
Suppressed comments (1)
v153/xml-parsing-in-rust-for-non-xslt-scenarios/conformance.json:12
- This suite claims a Chrome Platform Showcase demo exists (demo URL + cpsFeature metadata), but the page itself states the CPS route is HEAD-checked 404 (index.html #examples). Keeping demo/cpsFeature non-null here makes the conformance metadata misleading and may cause downstream tooling to treat the page as having a live CPS contract.
- Files reviewed: 29/30 changed files
- Comments generated: 0 new
- Review effort level: Lite
|
Re the follow-up Copilot note on
Generated by Claude Code |
Weekly hardening run (2026-09-06), one page per commit. Channels refreshed from the live API: stable=153, beta=154, dev=155. Six pages: four coverage (one MDN stub, three full references) and two v147 MDN-shape upgrades. All research dated 2026-09-06.
Coverage — new pages (4)
f959b6d— v153/iterator-join (5095183554314240), Case A MDN stub. MDN'sIterator.prototype.join()page verified substantive, so gendn carries only the shipping metadata MDN doesn't track: V8js_iterator_joinin the shipped-flag tier at trunk, BCD rows (Chrome 153 / Firefox 154 / Safari preview, with per-engine bug evidence), test262 count, honest Baseline absence, four live showcase concept demos (all HEAD 200).ae43547(+ schema fix1aa265f) — v153/xml-parsing-in-rust-for-non-xslt-scenarios (5309598397497344), full reference for the libxml2→Rust parser swap. No web-exposed API, so the documented surface is the migration/behavior contract: verbatimDocument::CreateParserselection algorithm, the four covered scenarios, error-reporting deltas, bisect recipe. Data-integrity finding disclosed on-page: the chromestatus record'sintent_thread_urlpoints at an unrelated thread (the Device Memory intent); the correct blink-dev thread is linked. The generator's misfired warn-block assertion (regex hit the diagnostic flag recipe; the feature ships enabled-by-default) was removed before the suite's first commit, with rationale in the commit message.fd31087— v152/user-agent-image-replacement-api (5076374013476864), full reference + 2 child member routes. Surface traced verbatim from Chromiumhtml_image_element.idl(replacedByUserAgent,onuareplacestart/onuareplaceend; event types confirmed inevent_type_names.json5). Origin trial 152–157: warn-block carries the exact OT token +--enable-blink-featuressteps and the explicit negative that the Experimental Web Platform features flag does not enable it.f2feb96— v152/suspicious-site-warnings (5427561449521152), full reference for a browser-UI feature with no author-facing API: verbatim Safe Browsing real-time-lookup trigger (fails open), desktop bubble / Android dialog flows, 30-day host-keyed bypass allowlist,chrome://flagsentry (expiry M155), both enterprise policies quoted from canonical YAMLs. Stale chromestatus metadata disclosed on-page.MDN-shape upgrades (2 of the ~156 old-shape backlog)
6d96bf1— v147/update-device-memory-api-limits: Baseline banner (device-memory is Baseline-limited), verbatim IDL +Sec-CH-Device-MemoryABNF from the W3C WD, coarsening algorithm with Chrome trunk clamp constants, real per-version BCD table (4 keys), live showcase iframe (memory-inspector). Evidence-backed fixes: unlinkedmsg15601citation resolved; Finch flag reframed as kill switch; lede corrected (floor rises on every platform).2395971— v147/css-update-decoupling-of-width-and-style-properties: Baseline banner, verbatim before/after propdefs from the merged EDs, computed/resolved/used-value model, per-browser WPT stable-run results, live showcase iframe (computed-value-inspector). Factual error fixed: the old page claimedgetComputedStyle().borderWidthreturns the authored width — per css-backgrounds-3 onlyoutline-width/column-rule-widthchanged resolved values;border-widthstill reads0pxunderborder-style: none.Both upgraded pages gained
reference-contract.json(implementation-sufficient) +_questions.json; routes, identities, and immutable conformance suites preserved.Gates (all green at the final head)
check-routes,validate-artifacts,test-reference-contract,check-conformance,deno fmt --check,deno check server.ts; per-page conformance 0 fail everywhere (blocked = the runner's manual-evidenced assertions, resolved by integrator screenshot/source review); mobile+desktop matrix run with screenshots read for all six routes (ok/okrecorded; coverage 56/200, up from 51). Showcase iframes HEAD-verified 200; in-sandbox visual render blocked by proxy TLS egress, disclosed per page (consistent with prior runs).⚠ Overlap with open PRs #6/#7
Open, unmerged PRs #6 and #7 contain earlier versions of four of these pages (iterator-join in #7; suspicious-site-warnings, user-agent-image-replacement-api, and the css-decoupling upgrade in #6). Because main is the baseline for each weekly run, this branch re-covers them with fresher 2026-09-06 research — e.g. BCD now has
Iterator.joinrows (Chrome 153 / Firefox 154 / Safari preview) that predate-gap the #7 version, and the UA-image-replacement OT window is confirmed 152–157. Merging this PR makes those overlapping parts of #6/#7 redundant; merging #6/#7 first will conflict here.Not done / next
v154 (22 features) and v155 (17) have no pages yet; v152 still misses 3 (sub-apps-for-iwas, unframed-display-mode-for-iwas, IAMF dev-trial dup of the v153 page) and v153 misses 4. ~154 pages remain in the old (pre-Baseline-banner) shape; the batch continues next run, tracked in
goals.json.🤖 Generated with Claude Code
https://claude.ai/code/session_011mT9PcQJACXLp8xDcpAe2g
Generated by Claude Code