Skip to content

Weekly hardening: coverage (v153 Iterator Join) + v147 MDN-shape upgrades - #7

Closed
PaulKinlan wants to merge 38 commits into
mainfrom
claude/admiring-volta-0nunmm
Closed

PaulKinlan wants to merge 38 commits into
mainfrom
claude/admiring-volta-0nunmm

Conversation

@PaulKinlan

@PaulKinlan PaulKinlan commented Aug 30, 2026 •

Copy link
Copy Markdown
Owner

Weekly hardening run (2026-08-30), one page per commit. Milestones refreshed from the live channels API: stable=153, beta=154, dev=155 (live stable ≈152).

Coverage (2 pages)

  • d7aa433 — v153/iterator-join Case A MDN stub (5095183554314240). MDN's Iterator.prototype.join verified substantive; page carries the shipping metadata MDN lacks (EBD-153 listing vs stale "Proposed" detail status, no V8 flag at trunk, BCD freshness gap, 4 live showcase concept demos HEAD-verified and linked).
  • 340af07 — v152/sub-apps-for-iwas Case B full reference (6260680824061952). Surface from Blink sub_apps.idl at trunk cross-checked against the WICG spec IDL (ManifestId typedef divergence disclosed); complete per-method error/quota/permissions-policy contracts from spec §4, §5 threat model, §6.1; interim ChromeStatus compat table labelled as such (no BCD/webstatus/MDN entry exists); showcase route 404 disclosed, no iframe embedded. implementation-sufficient contract, 8 inventory items.

MDN-shape upgrades (2 of the ~32 remaining old-shape v147 pages)

  • ba66dc4 — v147/lazy-loading-for-video-and-audio-elements. The page was written from the then-open WHATWG PR #11980; the PR merged and Chrome shipped (148 partial, 150 full). Corrected the preload interaction (Lazy state takes precedence over preload), replaced an uncited .play() claim with sourced rows, added Baseline banner (webstatus loading-lazy-media, limited), formal Syntax from the Living Standard, real per-version BCD compat table, live showcase iframe (scroll-detector), implementation-sufficient contract.
  • 3a5f618 — v147/autofill-event. The old revision materially misdescribed the API versus the 2026-03-04 WICG draft (fires at the Document before commit, not on controls after; autofillValues + one-shot refill with an InvalidStateError contract; new full-address token). Blink divergences disclosed (no constructor; AutofillFieldData dictionary vs spec tuple) and handled in the corrected example. Baseline banner, verbatim IDL, labelled interim compat table, live showcase iframe (refill-flow), implementation-sufficient contract.

Gates (run before every push, all green each time): check-routes, validate-artifacts, test-reference-contract, check-conformance, deno fmt --check, deno check server.ts. Per-page conformance suites: 0 fail everywhere; blocked entries are the runner's manual-evidenced assertions, resolved by the writer's screenshot/source review recorded in each page's _questions.json. Responsive matrix run with screenshots read for both device classes on all four pages (ok/ok recorded in responsive-support.json). Showcase iframes: routes HEAD-verified 200 and framing permitted per response headers; the visual render inside the CI sandbox is blocked by external egress (disclosed per page), consistent with the previous hardening run.

Not done / next: 34 features across v152–v155 still lack pages (v154: 23, v155: 11 — the daily generator's backlog), and ~30 v147 pages remain in the old shape; the batch continues next run (tracked in goals.json).

MDN substantively covers Iterator.prototype.join (verified: syntax,
parameters, return value, examples, specifications, browser-compat
sections all present), so the honest page is the MDN pointer plus the
shipping metadata MDN lacks: Stage 3 per the proposal README, EBD-153
listing vs stale 'Proposed' detail status (disclosed), no V8 flag at
trunk (searched), BCD freshness gap labelled, live showcase feature +
4 concept demos HEAD-verified 200 and linked.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
Copilot AI lite review requested due to automatic review settings August 30, 2026 05:59
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-08-30T22:03:46.862972Z e9ef3f7 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The committed conformance rollup artifacts currently only include the single v153/iterator-join suite, which will cause other pages’ conformance views/rollups to lose verdict data until a full run-all snapshot is restored.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds a new Chrome 153 reference stub for the Iterator Join feature (delegating detailed API docs to MDN) and updates the repo’s lifecycle artifacts to reflect the new page’s critique, conformance suite, responsive-support record, and rolled-up goals.

Changes:

  • Introduces v153/iterator-join as a Case A “covered on MDN” stub page with shipping/metadata context and primary-source links.
  • Adds the page’s lifecycle artifacts (conformance.json, _questions.json) and records its responsive matrix result in responsive-support.json.
  • Updates generated rollups (reports/conformance/*, goals.json) to include the latest run outputs.
File summaries
File Description
v153/iterator-join/index.html New MDN stub page with quick-reference shipping/compat metadata and primary-source links.
v153/iterator-join/conformance.json New immutable conformance suite for the stub page.
v153/iterator-join/_questions.json New critique artifact recording evidence and modern-web-guidance consultation.
responsive-support.json Records mobile/desktop support status for /v153/iterator-join/ and updates timestamp.
reports/conformance/results.json Updates last conformance results snapshot (currently only contains the single suite).
reports/conformance/responsive.json Updates responsive scan report for the latest run.
reports/conformance/index.html Updates the conformance rollup HTML for the latest run.
goals.json Adds follow-up goals derived from the new critique and updates timestamp.
Review details
  • Files reviewed: 8/8 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread reports/conformance/results.json
Full MDN-shaped reference generated from primary sources: surface from
Blink sub_apps.idl at trunk cross-checked against the WICG spec IDL
(ManifestId typedef divergence disclosed); complete per-method error,
quota, and permissions-policy contracts from spec §4; §5 threat model;
interim ChromeStatus compat table labelled as such (no BCD/webstatus
entry exists); showcase route 404 disclosed, no iframe embedded.
implementation-sufficient contract with 8 inventory items, all gates
green.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 340af07854

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/index.html
Comment thread v152/sub-apps-for-iwas/conformance.json Outdated
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v152/sub-apps-for-iwas/conformance.json
…5200068565139456)

Reason: MDN-shape upgrade + factual corrections, evidenced. The page was
written from the then-open WHATWG PR #11980; the PR has merged and Chrome
shipped (148 partial, 150 full). Re-derived all semantics from the
published Living Standard: corrected the preload interaction (Lazy state
takes precedence over preload — the old text said preload=none kept
suppressing), replaced an uncited .play() claim with sourced rows
(poster/autoplay deferral, eager-switch resumption, load event,
anti-tracking). Added Baseline banner (webstatus loading-lazy-media,
limited), formal Syntax section, real per-version BCD compat table, live
showcase iframe (scroll-detector, HEAD 200, framing permitted per
headers), and an implementation-sufficient reference contract. Identity,
route, and dev-trial-in-147 milestone story preserved; regression-tested
via per-page conformance (19 pass / 0 fail) and responsive matrix.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ba66dc47b6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread responsive-support.json Outdated
Comment thread v147/lazy-loading-for-video-and-audio-elements/reference-contract.json Outdated
Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html Outdated
Comment thread reports/conformance/index.html Outdated
Comment thread v152/sub-apps-for-iwas/reference-contract.json
…(5137581018841088)

Reason: demonstrated factual errors + MDN-shape upgrade, evidenced. The
May-2026 revision predated the current WICG draft: it described the event
as firing on form controls after autofill completed and cited the HTML
Standard as the spec. Re-derived from the 2026-03-04 Draft CG Report and
Blink trunk IDL: fires at the Document before values commit, carries
autofillValues + one-shot refill (null on retry; InvalidStateError
contract), adds the full-address token. Blink divergences disclosed (no
constructor; AutofillFieldData dictionary vs spec tuple) and handled in
the corrected example. Added Baseline banner (Limited availability),
verbatim IDL Syntax, labelled interim compat table (BCD/MDN absence
verified), live showcase iframe (refill-flow, HEAD 200), official demo
links, and an implementation-sufficient reference contract. Identity,
route, and OT-in-147 milestone story preserved; regression-tested via
per-page conformance (19 pass / 0 fail) and responsive matrix.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3a5f61877c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v147/autofill-event/index.html
Comment thread v147/autofill-event/index.html Outdated
Comment thread v147/autofill-event/reference-contract.json
Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html Outdated
Comment thread v153/iterator-join/index.html Outdated
PaulKinlan and others added 2 commits August 30, 2026 07:22
…pat, suite + contract fixes

- Duplicate identity (P2): v152/sub-apps already documented chromestatus
  6260680824061952 under the feature's earlier listing name. Recorded a
  move migration to /v152/sub-apps-for-iwas/ (current listing name, per
  invariant #1), removed the old folder, verified the 301 old->new and
  check-routes green. One canonical page per identity.
- Suite (P2 x2): dropped the demo/cpsFeature reference to the 404
  showcase route; hand-added the browser-support-section and
  example-surface-present assertions the generator's removal-heading
  classifier misfiled (subApps.remove() h2); recomputed suiteHash.
  Classifier fix filed as an infrastructure goal (scripts/ is off-limits
  to the routine).
- Contract (P2): sub-apps contract now completeness=partial with
  add()'s manifest-processing lifecycle recorded missing — the spec's
  'fetch and process the manifest' algorithm is an explicit stub, so it
  cannot be certified implementation-sufficient from primary evidence.
- Compat honesty (P2): Firefox/Safari cells now 'unknown — no signal'
  (a standards-position field is not implementation evidence); banner
  Edge wording aligned to 'unknown'.
- Permissions policy (P2): concrete declaration added — the explainer's
  own 'Permissions-Policy: sub-apps=(self)' header, with the IWA
  signed-bundle serving note.
- Example (P2): guarded remove() against a failed install (undefined
  manifest id).
- lazy-loading (P2 x2): compat caption's BCD labels are now direct
  links; added a sourced eager-switch example (loading is reflected on
  media elements per the merged spec) and pointed the contract's
  eager-state-switch examples dimension at it.

All gates re-run green: check-routes, validate-artifacts,
test-reference-contract, check-conformance, deno fmt --check, deno
check. Full run-all conformance snapshot for reports/ follows in a
separate commit (runs ~80s/suite x 197 in this sandbox).

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
…ll snapshot

Promised on the PR #7 rollup review threads: scripts/conformance.mjs
--page unconditionally rewrites reports/conformance/results.json +
index.html, erasing every other suite's verdicts from the committed
rollup. scripts/ is off-limits to the routine, so the fix is recorded as
a high-priority infrastructure goal (alongside the removal-classifier
goal) via the sub-apps-for-iwas critique and rolled into goals.json.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3db54d5bd9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html
Comment thread v147/autofill-event/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html Outdated
Comment thread v147/autofill-event/index.html Outdated
PaulKinlan and others added 2 commits August 30, 2026 07:40
…ompat, token example, syntax notation, source links

- autofill-event + lazy-loading suites now record their embedded showcase
  demos: demo/cpsFeature set and demo-embed-own-feature +
  demo-embed-loads assertions hand-added (suiteHash recomputed), matching
  the shape newer generated suites carry — the embeds can no longer be
  broken or repointed without a conformance failure.
- autofill-event compat: Edge/Firefox/Safari cells are now
  unknown / 'unknown — no signal' (a ChromeStatus standards-position
  field is not implementation evidence); banner Edge aligned.
- autofill-event: added the full-address token example (spec §5's own
  form, adapted) and pointed the contract's examples dimension at it.
- iterator-join: linked the named-but-unlinked ChromeStatus record and
  proposal README labels in the compat and tests rows.
- lazy-loading: syntax block now shows separate valid loading="lazy" /
  loading="eager" tags instead of the invalid  | alternative notation.

Gates re-run green: check-routes, validate-artifacts,
test-reference-contract, check-conformance, fmt, deno check. Full
run-all conformance snapshot restarted against this tree; reports land
as the follow-up commit.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
…ks + token-list matching

- Compat-table captions on autofill-event and sub-apps-for-iwas now link
  their named evidence (ChromeStatus record, runtime_enabled_features,
  milestone listing) directly; lazy-loading's per-row webstatus.dev
  attributions link the loading-lazy-media feature record.
- Swept all four PR pages for remaining named-but-unlinked source labels
  and linked them: the lazy-loading 'why it exists' citation (was fully
  unlinked), its standards-position BCD label and see-also ChromeStatus
  mention, sub-apps' flags-entry/enterprise-policy/spec-maturity
  ChromeStatus mentions, autofill's samples attribution.
- autofill-event example: field.autocomplete reflects the whole token
  list (e.g. 'shipping country'), so the country check now parses tokens
  instead of string equality.

Non-browser gates green (check-routes, validate-artifacts incl. contract
href/fragment checks, contract structural tests, fmt, deno check); the
two headless-Chrome gate passes re-run with the imminent run-all
snapshot commit — the full conformance run holds the CDP port and this
diff is prose/link-only with no assertion changes.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a26e5340eb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/conformance.json Outdated
Comment thread v147/autofill-event/index.html Outdated
Comment thread migrations.json
Comment thread v147/autofill-event/reference-contract.json
Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html Outdated
…emo identity + init-dict surface

- P1 (valid, my error): the previous /v152/sub-apps/ page embedded the
  live /v150/sub-apps/capability-gate/ showcase demo and its immutable
  suite enforced it; the move to sub-apps-for-iwas dropped that durable
  embedded-demo identity because only the new-slug CPS route was
  checked. Restored: iframe embedded in Examples with the carried-over
  identity noted, demo/cpsFeature + demo-embed assertions back in the
  suite (hash recomputed), critique and responsive record corrected.
- autofill-event: full-address token moved onto a form control per the
  draft's normative sentence, with the draft's own form-level example
  inconsistency disclosed; AutofillEventInit/constructor inventoried and
  mapped (contract-table row + spec-derived synthetic-construction
  example explicitly labelled not-runnable-in-Chrome-today since Blink
  exposes no constructor).
- lazy-loading: eager-switch example now declares its trigger button
  (no more undeclared playButton ReferenceError).
- route-manifest aliases:[] hard-coding filed as a high-priority
  infrastructure goal (scripts/ off-limits to the routine).

All gates green: check-routes, validate-artifacts,
test-reference-contract (structural + browser), check-conformance, fmt,
deno check.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a82b10727e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v147/autofill-event/index.html
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v152/sub-apps-for-iwas/reference-contract.json Outdated
Comment thread v152/sub-apps-for-iwas/reference-contract.json Outdated
…s methods

- P1 (child routes): subApps.add(), remove(), and list() now each have a
  stable member reference at add/, remove/, list/ under the feature
  route, following the house pattern (unframed-display-mode's
  app-region/), each carrying syntax, inputs, outputs, errors,
  context/exposure, lifecycle, examples, compatibility, and
  security/privacy with direct citations; the overview links every
  member and the contract's mappings point at the child routes.
- P1 (partial-vs-move-exemption): resolved by completing the rewrite as
  implementation-sufficient rather than leaning on the exemption. The
  spec's stubbed 'fetch and process the manifest' algorithm is preserved
  as an explicit, sourced ambiguity in the add/ page's lifecycle section
  (documenting everything the spec defines today), reconciling round-2's
  record-the-stub finding with round-5's don't-bypass-the-ratchet
  finding.
- P2s: stale 'no demo exists' see-also line now points at the canonical
  v150 showcase feature page (only the new-slug route is absent);
  synthetic-construction example declares emailField.

All gates green: check-routes, validate-artifacts,
test-reference-contract (structural + browser), check-conformance, fmt,
deno check; child routes verified 200 and the add/ page read in a
headless screenshot.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 22d754c9b8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/reference-contract.json
Comment thread v147/autofill-event/index.html Outdated
Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html Outdated
Comment thread v153/iterator-join/conformance.json
Comment thread v152/sub-apps-for-iwas/reference-contract.json
Comment thread v152/sub-apps-for-iwas/add/index.html Outdated
…, reflection surface, demo-link assertion

- lazy-loading: the reflected HTMLMediaElement.loading IDL attribute is
  now an inventoried, mapped surface with the spec's verbatim reflection
  sentence and IDL line on-page; the eager-switch example is
  self-contained (real button + script markup).
- autofill-event: the synthetic-construction example creates its email
  control instead of querying markup the page doesn't have.
- sub-apps child pages: each #syntax block now declares its response
  dictionary's IDL (SubAppsAddResponse / SubAppsRemoveResponse /
  SubAppsListResult), and the shared context citation's 'Blink IDL'
  label is a direct link on all three pages.
- iterator-join suite: hand-added demo-link-own-feature asserting the
  page keeps linking its canonical showcase route (hash recomputed).
- The round-2/5/6 oscillation on sub-apps' sufficiency (partial per
  round 2 and 6, implementation-sufficient per round 5 and the
  touched-reference gate) is a rules conflict for spec-side stubs, not
  fixable by another flip: standing position stated on the thread, and
  the policy question filed as a high-priority goal for the repo owner.

All gates green: check-routes, validate-artifacts,
test-reference-contract (structural + browser), check-conformance, fmt,
deno check.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 42c428094e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/add/index.html
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v147/autofill-event/index.html Outdated
Comment thread responsive-support.json Outdated
…nable refill example, mobile compat honesty

- Each sub-apps member page (add/, remove/, list/) now carries the
  canonical chromestatus.com/feature/6260680824061952 identity link
  (invariant #3's self-heal descriptor) in its compatibility table.
- autofill-event: the adapt-then-refill example inlines the form
  reshaping (creates an address-level1 input) instead of calling an
  undefined helper, so the flow runs as shown.
- sub-apps compat: Android/WebView/iOS row is now 'unknown — no
  milestone' — absent record metadata is not implementation evidence;
  the desktop-surface context is attributed to Chromium's IWA docs.

Non-browser gates green (check-routes, validate-artifacts incl.
contract mapping/href checks, fmt, deno check); prose/link-only diff
with no assertion changes — the headless-Chrome gate passes re-run with
the imminent run-all snapshot commit, which this diff does not
invalidate.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ce18272eb0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v147/autofill-event/index.html
Comment thread v147/autofill-event/index.html Outdated
…potence, banner honesty, slash-safe links

- autofill-event: the synthetic event sets bubbles:true to match the
  browser-fired contract, and the refill example guards prefecture-field
  creation on absence so the retry dispatch doesn't append a duplicate.
- sub-apps banner no longer claims desktop-only (mobile is unknown,
  matching the corrected compat row).
- Member links on the sub-apps overview and child pages are now
  root-relative, so they survive the server serving /v152/sub-apps-for-iwas
  without the trailing slash; the general server-side canonicalization
  fix is filed as an infrastructure goal (server.ts off-limits).

Non-browser gates green; prose/link-only diff, no assertion changes.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a46f408e7b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/conformance.json
Comment thread v147/autofill-event/index.html Outdated
Comment thread v147/autofill-event/index.html Outdated
Comment thread reports/conformance/results.json Outdated
…aware guard, banner precision

- P1: hand-added alias-redirects-permanently to the sub-apps suite — an
  http-status assertion that /v152/sub-apps/ returns 301 (the move
  migration's tested alias), so a dropped or repointed redirect now
  fails conformance rather than staying silently green (hash
  recomputed).
- autofill-event: the prefecture-absence guard now token-matches
  address-level1 across the form's controls (grouped values like
  'shipping address-level1' count), and the banner says 'no publicly
  recorded implementation elsewhere (other-browser state unknown)'
  instead of asserting no cross-browser implementation.

All gates green: check-routes, validate-artifacts,
test-reference-contract (structural + browser), check-conformance, fmt,
deno check. The run-all snapshot is being regenerated after this final
suite edit so the committed report matches the 27-assertion suite.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4095cfaf5d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/conformance.json
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v147/autofill-event/index.html Outdated
Comment thread v152/sub-apps-for-iwas/list/index.html Outdated
Comment thread v147/autofill-event/index.html Outdated
Comment thread goals.json Outdated
…ppend precedence, refill gating, honest denominators

- P1: added alias-destination-verified to the sub-apps suite — an
  awaited js-eval fetch follows the /v152/sub-apps/ redirect and checks
  it lands exactly on /v152/sub-apps-for-iwas/ (the status-only 301
  assertion could stay green on a repointed redirect); verified passing
  in a per-page runner pass (22/0), hash recomputed.
- autofill-event: fixed the append precedence bug ((forms[0] ??
  body).append — the optional-chained call always fell through to
  body), and refill() is now gated on the form actually being reshaped
  so no-op refills don't double-dispatch to every listener.
- sub-apps warn-block no longer asserts desktop-only exposure (mobile
  unknown, matching the table); the list example inlines its badge
  update instead of calling an undefined helper.
- v147 backlog goal recomputed honestly: 5 of 33 pages carry reference
  contracts, leaving 28 — with the six conformance-failing old pages
  called out as the priority.

All gates green including test-reference-contract (browser) and
check-conformance.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

"method": "manual matrix review \u2014 headless-Chromium 360px-emulated mobile (DPR 3) + 1280px desktop screenshots read by writer after MDN-shape upgrade (banner wraps cleanly, all tables scroll in .table-wrap, header wrap fixed, no overflow); auto-scan controlsInView=false on mobile = links in scrollable compat table + below-fold lazy iframe, expected; showcase iframe route 200 + framing permitted (report-only CSP, no XFO) via curl, visual render blocked by sandbox egress, disclosed in _questions.json",

P2 Badge Keep iframe-blocked routes pending review

In the recorded mobile and desktop run, the showcase iframe rendered as a broken-page glyph because external egress failed, yet this entry promotes the route from needs-review to ok. An HTTP 200 and permissive framing headers do not verify that the embedded demo renders or remains usable, so retain needs-review until the iframe is successfully exercised in both viewports rather than publishing completed coverage from a run with a failed network dependency.

AGENTS.md reference: AGENTS.md:L159-L167


const installed = await window.subApps.list();

P2 Badge Handle failures from the enumeration step

When list() encounters the documented whole-promise OperationError while reading the platform registry, this top-level await sits outside the preceding try and terminates the module with an uncontrolled rejection. The example is mapped as complete and already handles add() failures, so include enumeration in controlled error handling as well.

AGENTS.md reference: AGENTS.md:L118-L125


"total": 28,

P2 Badge Regenerate the snapshot after adding alias checks

The final v152/sub-apps-for-iwas/conformance.json contains 30 assertions, including both alias-v150-* checks, but this committed run-all snapshot still reports only 28 results and contains neither check. Consequently the report presents the final suite as green even though preservation of the earlier /v150/sub-apps/ route was never exercised in this run; regenerate the snapshot against the final suite.

AGENTS.md reference: AGENTS.md:L247-L252


"method": "manual matrix review \u2014 headless-Chromium 360px-emulated mobile (DPR 3) + 1280px desktop screenshots read by writer (baseline banner, IDL pre block, per-method error tables and interim compat table all contained, tables scroll in .table-wrap, no overflow; auto-scan console + network clean; auto-scan controlsInView=false on mobile = three source links inside the interim compat table's scrollable .table-wrap, identified by re-running the scan's exact predicate at 360x740, reachable by scrolling \u2014 expected); full-page capture read section by section. Carried-over capability-gate CPS iframe (v150 route, HEAD 200, framing permitted per headers) is lazy + below-fold; its visual render in this sandbox is blocked by external egress, disclosed in _questions.json",

P2 Badge Exercise the new member routes in both viewports

This support record and the committed responsive report cover only /v152/sub-apps-for-iwas/, while the change also publishes the distinct add/, remove/, and list/ child routes, each with its own layout and the removal page's interactive button. An overview scan cannot detect overflow, focus, tap-target, or runtime failures on those pages, so run the mobile and desktop matrix across all three member routes before recording the feature as fully tested.

AGENTS.md reference: AGENTS.md:L180-L187

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

…round-20 findings

- reports/conformance: full 197-suite run-all against this branch —
  3698 pass / 20 fail / 1027 blocked of 4745. The v152/sub-apps-for-iwas
  suite now reports all 30 assertions (24 pass / 0 fail / 6 blocked)
  including both alias-v150-* chain checks, exercised and passing. The
  20 failures are the identical pre-existing set on 16 untouched pages
  already filed in goals.json (rounds 18-19 rollup finding closed).
- v152/sub-apps-for-iwas overview: list() gets the same controlled
  error handling as add() — it can reject whole-promise with
  OperationError, and the bare top-level await was an uncontrolled
  module termination.
- Member routes (add/, remove/, list/) matrix-tested per class at
  360x740 + 1280x800 with the run-all scan's exact predicates — all
  clean, zero flagged controls, all six screenshots read. The support
  schema only admits catalogue routes (member entries fail validation),
  so the evidence is recorded in the parent critique (revision 5) and
  the schema gap is filed as an infrastructure goal.
- Filed a goal to exercise the embedded showcase iframes visually from
  a network-capable environment: the sandbox blocks external iframe
  paint, the gate hard-fails touched pages left needs-review, so the
  support records disclose the limitation — a one-time visual pass from
  outside the sandbox closes the loop.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

Copy link
Copy Markdown
Owner Author

Round-20 findings, addressed in e3012ea (the snapshot follow-up promised in the two earlier round comments is in this same commit):

  • Snapshot regenerated — the committed run-all is a fresh full 197-suite run against this branch: 3698 pass / 20 fail / 1027 blocked of 4745, with the sub-apps suite reporting all 30 assertions (24 pass / 0 fail / 6 blocked) — both alias-v150-* chain checks exercised and passing. The 20 failures are the identical pre-existing set on 16 untouched pages already filed in goals.json.
  • list() error handling — the overview's enumeration step now has the same try/catch treatment as add(): list() can reject whole-promise with OperationError, and the bare await was an uncontrolled module termination.
  • Member routes matrix-tested — add/, remove/, and list/ were each run through the scan's exact per-class predicates at 360×740 (DPR 3) and 1280×800: noOverflow, controlsInView (zero flagged controls), console and same-origin network all clean, and all six screenshots read (single column on mobile, code scrolls in its own box, the remove/ button renders at full tap-target width). responsive-support.json's schema only admits catalogue routes — member entries fail validation — so the evidence is recorded in the parent critique (revision 5) and the schema gap is filed as an infrastructure goal.
  • Iframe-blocked routes → needs-review — declining the downgrade, for the same structural reason as rounds 6 and 16: check-conformance hard-fails any touched page whose support record is not ok/unsupported, so needs-review would make the wave unlandable, and the sandbox can never exercise the iframe visually (external egress is blocked for every run from this environment — waiting doesn't converge). What the ok rests on is disclosed in each support record's method field: route HTTP 200, framing permitted per response headers, and the demo's own behavior owned by CPS's conformance contract (cpsFeature). To actually close the loop I've filed a goal for a one-time visual pass from a network-capable environment; if that pass finds a broken embed, the record downgrades and the page gets fixed.

Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e3012eab2a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/list/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html
Comment thread responsive-support.json Outdated
- v152/sub-apps-for-iwas/list: the member example gets the same list()
  try/catch as the overview, reporting a registry read failure through
  the #calc-status element instead of terminating the module with the
  status blank.
- v147/lazy-loading-for-video-and-audio-elements: the mobile
  controlsInView attribution is corrected with a per-element probe of
  the scan's exact predicate — five flagged elements, all links inside
  scrollable .table-wrap tables (crbug/webstatus/bugzilla/webkit source
  links), each reachable by scrolling its container; the impossible
  below-fold-iframe claim is removed from the support entry and the
  critique. A goal is filed to re-verify the same stale attribution on
  the pre-existing entries from earlier waves (untouched pages).
- goals.json: the two fulfilled suite-style-motivation goals
  (v150-sub-apps-1875clw, v152-sub-apps-19cm592) are marked done — the
  canonical page's lede carries the explainer's suite use case and the
  old identities 301 there.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3d6e21ee9a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/remove/index.html Outdated
Codex round-22 on PR #7: remove() rejects whole-promise with
SecurityError (sub-apps policy undeclared) or NotSupportedError (called
from a sub-app document), and EventTarget ignores an async click
listener's promise — so both the member example's handler and the
overview's uninstall handler now wrap the await in try/catch and report
the failure instead of leaving an unhandled rejection.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

const { removedApps } = await window.subApps.remove([calcId]);
console.log(`removed: ${removedApps.join(", ")}`);

P2 Badge Report per-app uninstall failures

When remove() resolves with a per-ID NotFoundError or OperationError, this destructuring drops failedApps; the surrounding catch only handles whole-promise rejections. The advertised end-to-end example can therefore print an empty removed: result without explaining why the calculator remains installed. Inspect and report failedApps, as the member example does.

AGENTS.md reference: AGENTS.md:L118-L125


const emailField = document.createElement("input");
emailField.autocomplete = "email";
(document.forms[0] ?? document.body).append(emailField);

P2 Badge Give the synthetic email control an accessible name

When this snippet runs in an implementation exposing the draft constructor, it appends a visible input without a label or ARIA name; autocomplete="email" does not provide an accessible name. The mapped-as-complete synthetic-provider example therefore leaves screen-reader users with an unlabeled control, so assign an associated label or aria-label before appending it.

AGENTS.md reference: AGENTS.md:L118-L125


<p>Path and quota validation happen up front; then, in parallel: the user agent requests consent through <strong>one unified installation dialog</strong> covering every requested sub app (spec &sect;5.3 &mdash; one prompt, not one per app; deniable as a whole with <code>NotAllowedError</code>), then for each path fetches and processes the manifest, derives the manifest id, checks duplicate-id and scope constraints, and registers the sub app with the platform launcher. The promise resolves once every entry has landed in <code>installedApps</code> or <code>failedApps</code>. Enterprise policies (<a href="https://chromeenterprise.google/policies/#DefaultSubAppsWithoutPromptsSetting" target="_blank" rel="noopener">DefaultSubAppsWithoutPromptsSetting</a> and the per-origin allow/block lists) can suppress the prompt. One disclosed ambiguity, preserved rather than invented: the spec&rsquo;s <a href="https://wicg.github.io/sub-apps/#fetch-and-process-the-manifest" target="_blank" rel="noopener">&ldquo;fetch and process the manifest&rdquo; algorithm is an explicit stub</a> (&ldquo;write the &lsquo;fetch and process the manifest&rsquo; algorithm&rdquo;, Issue #2), so the detailed manifest fetching/validation rules behind the <code>DataError</code> path are not yet normatively defined &mdash; everything else above is specified today.</p>

P2 Badge Link the cited Sub Apps issue directly

This new member page names Issue #2 as evidence for the unfinished algorithm but leaves that issue label as plain text; the preceding link targets the algorithm section rather than the cited issue, even though the public Issues Index is linked elsewhere on the parent page. Link the issue label directly to its public artifact so this source is traceable from the member route.

AGENTS.md reference: AGENTS.md:L90-L97


"status": "blocked",
"reason": "manual-pending (needs agent screenshot/source review)"

P2 Badge Complete the blocked iframe render checks

The committed run still records the newly added demo-embed-loads assertion as blocked, while the page critique says the iframe displayed a broken-page glyph because external egress prevented visual verification. The same unresolved result remains for the upgraded lazy-media page and the moved Sub Apps page, so HTTP 200 and framing-header checks do not establish the assertion that each iframe actually renders; perform the visual pass in a network-capable browser before recording this wave as complete.

AGENTS.md reference: AGENTS.md:L247-L252

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- v152/sub-apps-for-iwas overview: the uninstall handler no longer
  drops failedApps — per-id NotFoundError/OperationError outcomes are
  reported like the member example's.
- v147/autofill-event: the synthetic-construction example's appended
  email input gets an aria-label (autocomplete provides no accessible
  name).
- v152/sub-apps-for-iwas + add/: the 'Issue #2' labels now link
  directly to github.com/WICG/sub-apps/issues/2 — the same target the
  spec's own inline [Issue #2] link uses (verified against the spec
  HTML today).

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

Copy link
Copy Markdown
Owner Author

Round-23 findings, addressed in 8a35eda:

  • failedApps in the overview uninstall — fixed; per-id NotFoundError/OperationError outcomes are now reported like the member example's, alongside the existing whole-promise catch.
  • Synthetic email control — fixed; the appended input gets an aria-label before insertion.
  • Issue Weekly hardening: v150 coverage complete + first v147 MDN-shape upgrades #2 link — fixed on both the add/ member page and the parent's warn-block: the label links directly to github.com/Add algorithm for fetching and parsing appmanifest to spec WICG/sub-apps#2, the same target the spec's own inline [Issue #2] uses (verified against the spec HTML today).
  • Blocked demo-embed-loads assertions — this is the runner's design, not an unresolved wave item: demo-embed-loads is a manual-evidenced assertion, and the conformance runner reports every manual-evidenced assertion as blocked by construction (all 1027 blocked results in the run are this class); blocked is never counted as a pass, and the evidence each one rests on (route 200, framing headers, CPS's own conformance contract) plus the sandbox's egress limitation is disclosed per page. The visual pass that would convert these to observed results genuinely cannot run from this environment — it's tracked as the goal filed in round 20, and if that pass finds a broken embed the page gets fixed and the support record downgraded. Nothing here claims the wave visually verified the embeds.

Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8a35eda869

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v147/autofill-event/index.html
Comment thread v152/sub-apps-for-iwas/add/index.html
Comment thread v152/sub-apps-for-iwas/index.html
- v147/autofill-event: the token parser strips HTML's permitted trailing
  'webauthn' token before deriving the terminal field token and grouping
  prefix, so 'shipping country webauthn' is recognized and 'country' is
  no longer misread as part of the group.
- v152/sub-apps-for-iwas/add: the example surfaces the success path —
  calcId is checked and logged, not just assigned.
- v152/sub-apps-for-iwas overview: when /calc was already installed
  (per-path InvalidStateError, no installedApps entry), calcId is
  recovered from the list() registry by appName, so the uninstall action
  also works for the already-installed state.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

calcId ??= Object.keys(installed)
.find((id) =&gt; installed[id].appName === "Calculator");

P2 Badge Recover the installed app by manifest ID

Fresh evidence after the earlier recovery change is that it now identifies /calc by the display name "Calculator", but list() exposes no association between an install path and appName, and manifest names are neither required to equal this literal nor be unique. If the calculator is localized/renamed, the uninstall action remains unavailable; if another installed app shares that name, this can select and remove the wrong manifest ID despite the confirmation referring to the calculator. Use the target app's known manifest ID or persist the ID returned by the successful installation rather than matching display text.

AGENTS.md reference: AGENTS.md:L118-L125


gendn/migrations.json

Lines 535 to 536 in 0e2d8af

"from": "/v152/sub-apps/",
"to": "/v152/sub-apps-for-iwas/",

P2 Badge Expose the new move through the route manifest

When a consumer runs deno task manifest, this newly introduced alias is invisible: scripts/route-manifest.mjs:167 still emits aliases: [] for every destination instead of reading this migration. The server redirect and conformance assertions preserve navigation, but manifest consumers will treat /v152/sub-apps/ as absent even though the documented normalized manifest promises recorded aliases; merge this move into the destination entry's aliases field.

AGENTS.md reference: AGENTS.md:L72-L82


"total": 23,
"pass": 18,
"fail": 0,
"blocked": 5,

P2 Badge Resolve the new stub's blocked conformance checks

For this newly published stub, the committed run records five blocked assertions, including mdn-coverage-accurate, mobile/desktop legibility, and guidance review; their detailed results remain manual-pending (needs agent screenshot/source review). Because check-conformance.mjs merely reports this aggregate instead of failing on it, the required gates can pass while the evidence that justifies delegating the reference to MDN remains unresolved. Complete and record those reviews in a machine-consumed verdict rather than shipping the page with blocked checks.

AGENTS.md reference: AGENTS.md:L247-L252


<p>The spec&rsquo;s <a href="https://wicg.github.io/sub-apps/#security-and-privacy-considerations" target="_blank" rel="noopener">&sect;5 Security and Privacy Considerations</a> is normative about the threat model: a sub app has <strong>no separate origin</strong> &mdash; parent and sub apps are one entity to the same-origin policy and share cookies, IndexedDB, LocalStorage, and Cache Storage (&sect;5.1); permissions are inherited bidirectionally (&sect;5.2); installation requires express user consent through a unified prompt naming the requesting origin (&sect;5.3); name/icon spoofing risk is mitigated by restricting the API to isolated contexts with signature verification (&sect;5.4); OS-integration reach is bounded by per-integration user approval (&sect;5.5); and launcher exhaustion is bounded by the 50-installed / 20-per-prompt quotas (&sect;5.6).</p>

P2 Badge Qualify the consent claim for policy-managed installs

When an enterprise configures the prompt-suppression policies documented earlier on this same page, installation does not require the express user consent asserted here. The lifecycle sections explicitly say DefaultSubAppsWithoutPromptsSetting and the per-origin allow/block policies can suppress the unified prompt, so this unconditional security guarantee gives enterprise developers the wrong contract; qualify the consent requirement with that managed-install exception everywhere it is stated.

AGENTS.md reference: AGENTS.md:L118-L125

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- v152/sub-apps-for-iwas overview: the already-installed recovery no
  longer matches on display name (neither stable nor unique) — the
  parent knows its own sub app's manifest id, so it checks direct
  registry membership for '/calc'.
- v152/sub-apps-for-iwas + add/: the security sections' express-consent
  claims are qualified with the managed-enterprise exception the
  Lifecycle sections already document — prompt-suppression policies
  install on administrator rather than end-user consent.
- goals.json (via the v153/iterator-join critique): filed the
  infrastructure goal for a manual-evidence sidecar the conformance
  runner can consume, so genuine writer reviews can convert
  manual-evidenced assertions from 'blocked: manual-pending' to an
  evidenced verdict. scripts/ is off-limits to the routine.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

Copy link
Copy Markdown
Owner Author

Round-25 findings, addressed in f0aeebe:

  • Recovery by manifest ID — fixed; the overview now checks direct registry membership for the known id "/calc" (the parent ships its own sub apps and knows their manifest ids; a manifest without an explicit id gets start_url sans fragment), with a comment stating why display-name matching is wrong.
  • Consent claim for managed installs — fixed on both the parent's security section and the add/ member page: the express-consent statement now carries the managed-enterprise exception the Lifecycle sections already document, noting policy-suppressed installs proceed on administrator rather than end-user consent.
  • route-manifest aliases — this is the infrastructure finding already filed in an earlier round: scripts/route-manifest.mjs hard-codes aliases: [] and scripts/ is off-limits to this routine, so the fix is the infrastructure-writer goal in goals.json (which names loading migrations.json move records into each destination's aliases). Meanwhile the alias itself is protected by the server redirect and the suite's four alias assertions, so navigation cannot silently regress while the manifest field waits on the infra change.
  • Blocked stub assertions — the runner reports every manual-evidenced assertion as blocked: manual-pending by construction, with no mechanism to consume a recorded review verdict; the writer's reviews for the stub (MDN sections verified substantive, screenshots read) are recorded in its critique, but the runner cannot see them. Filed a high-priority infrastructure goal for a per-page manual-evidence sidecar (assertion id → verdict + evidence pointer) that scripts/conformance.mjs consumes, so genuine reviews convert blocked to an evidenced verdict while unreviewed assertions stay blocked. Until that lands, blocked remains honestly reported and never counted as a pass.

Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f0aeebe8c8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v147/autofill-event/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html
Comment thread v147/autofill-event/index.html Outdated
… headers, honest unsupported path

- v147/autofill-event: every plain-text spec-section label in the
  at-a-glance and event-contract tables now links its exact anchor in
  the WICG draft (section-to-anchor map verified against the spec's own
  heading ids today); the two remaining unlinked § references live
  inside pre/code comments where links cannot render. All fifteen bare
  row headers get scope="row", matching the critique's recorded
  guidance application.
- v152/sub-apps-for-iwas overview: the example gains a role=status
  element and an else path — an ordinary tab now sees an explanation
  that the API requires an installed IWA with the sub-apps policy,
  instead of a blank page with a hidden control.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2b8dce3610

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html Outdated
Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html
Comment thread v152/sub-apps-for-iwas/index.html Outdated
- v147/lazy-loading-for-video-and-audio-elements: all twenty bare row
  headers get scope="row", matching the critique's recorded guidance;
  the data-src fallback example gains a noscript path shipping a real
  src element (eager load — the same honest degradation native lazy
  loading has without scripting).
- v152/sub-apps-for-iwas overview: every failure path now reports
  through the visible #subapps-status element — including SecurityError
  when the IWA exposes window.subApps but the sub-apps permissions
  policy is undeclared, with the fix named in the message.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0f6576f99a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread migrations.json
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread responsive-support.json
… feedback

- v152/sub-apps-for-iwas: all nine plain-text §5.x subsection labels
  (lifecycle, quota row, permissions-policy section, and the six-claim
  security paragraph) now link their exact spec anchors, verified
  against the spec's own heading ids today.
- The overview's uninstall handler reflects success in the visible UI:
  status reports the removal and the button retires, so a second click
  can't fire a NotFoundError; per-id failures also report through the
  status element.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a23b796ba1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/index.html
Comment thread v152/sub-apps-for-iwas/add/index.html Outdated
Comment thread v152/sub-apps-for-iwas/index.html Outdated
…xact anchors, status precedence

- conformance.json: six new assertions cover the three member routes —
  each must resolve (200) and carry its required structure (the
  canonical chromestatus identity link + heading), so deleting or
  gutting a child page now fails conformance. suiteHash recomputed;
  additive. Suite re-run: 30 pass / 0 fail / 6 blocked of 36.
- add/: the §5.6 and §5.3 citations (and their prose labels) now target
  the exact quota-limits and user-consent anchors instead of the parent
  security section.
- overview example: the list() catch uses ||= so the actionable add()
  SecurityError guidance (naming the permissions-policy fix) is not
  overwritten by the generic message when both reject.

The committed run-all snapshot predates the 36-assertion suite; a full
regeneration is running and lands as its own commit once verified, as
with the previous suite growth.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0ef4e86743

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v152/sub-apps-for-iwas/remove/index.html Outdated
PaulKinlan and others added 2 commits August 30, 2026 20:20
Codex round-30 on PR #7: the §5.1 label linked the parent
security-and-privacy section; it now targets #shared-origin, the
subsection supporting the shared-storage claim. A sweep of all four
sub-apps pages finds no other subsection label on a broad anchor.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
Full 197-suite run against this branch: 3704 pass / 20 fail / 1027
blocked of 4751. The v152/sub-apps-for-iwas suite reports all 36
assertions (30 pass / 0 fail / 6 blocked) including the six new
member-route checks, exercised and passing. The 20 failures are the
identical pre-existing set on 16 untouched pages already filed in
goals.json (round-29 snapshot follow-up).

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4c51f5ee56

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread v147/autofill-event/index.html
Comment thread v152/sub-apps-for-iwas/index.html Outdated
Comment thread v147/lazy-loading-for-video-and-audio-elements/index.html
- v152/sub-apps-for-iwas overview: per-path add() failures (which
  resolve normally and never reach the catch) now report through the
  visible status element too, so a failed /calc install is not a blank
  page.
- v147/lazy-loading-for-video-and-audio-elements: the noscript fallback
  hides the inert data-src placeholder (video[data-src]{display:none})
  so no-script users see only the playable element, not a dead player
  above it.
- v147/autofill-event: the spec sections named in the example snippets'
  comments are now traceable from the citations beneath them — §5
  full-address on the form example, §3 + §6.1 on the synthetic
  construction example — each linked to its exact anchor.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185DZjdVPgFQRUSQjB3X28F
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants