Skip to content

Tracking: re-implement PR #1510 (spec-conformant Apps host + programmatic review path) as scoped issues #1579

Description

@cliffhall

Background

PR #1510 (@tobinsouth) is a valuable roll-up of gaps hit while using the inspector as the reference host for testing widgets against the @modelcontextprotocol/ext-apps spec — plus a CLI/deep-link path for programmatic review. At +6,551/−453 across 61 files it touches a large amount of code we already have confidence in ahead of the v2 beta, so rather than merging it wholesale we are decomposing it into scoped issues and re-implementing each one deliberately, using the PR's diff (head 33fac3f) as the reference implementation. Each sub-issue links the relevant files/symbols in the PR.

The PR stays open for now as the reference.

Sub-issues

Wave 1 — Foundations (no interdependencies; all 10 can be worked in parallel, e.g. with concurrent subagents — disjoint file sets)

Wave 2 — Apps host lane (sequential within the lane — shared createAppBridgeFactory.ts / AppRenderer.tsx / AppsScreen.tsx; runs in parallel with Wave 3)

Wave 3 — CLI lane (sequential within the lane — shared cli.ts; runs in parallel with Wave 2)

Wave 4 — Integration (after both lanes)

Dependency graph

Wave 1 (parallel):  1556  1557  1558  1559  1560  1561  1562  1563  1564  1548
                      │     │     │     │     │                       │     │
     ┌────────────────┘     │     │     │     │                       │     │
     │   Apps host lane     │     │     │     │       CLI lane        │     │
     │                      │   1565    │     │                     1573    │
     │                      │     │     │     │                       │     │
     │                      │   1566 ◄──┼─────┼──── (csp lib 1558)    │     │
     │                      │   ┌─┼──┬──┴──┬──┘                       │     │
     │                      │ 1570│1571  1569                       1574 ◄──┼── 1556, 1557
     │                      │     │                                   │     │
     │                      │   1567 (hostContext 1559)             1575 ◄──┴── 1548
     │                      │     │                                   │
     │                      │   1568                                  │
     │                      │   1572 ──────────────┐                  │
     └──────────────────────┴──────────────────────┼──────────────────┘
                                        Wave 4:  1576 ──► 1577 ──► 1578

(1572 feeds 1577; 1576 also informs 1575's --print-handoff link format.)

Parallelization with subagents

  • Wave 1: all ten items touch disjoint files — safe to run as concurrent subagents/branches.
  • Waves 2 + 3: two independent lanes (web Apps host vs CLI) — one agent per lane in parallel. Within each lane work sequentially: Wave 2 items all edit AppRenderer.tsx/AppsScreen.tsx/createAppBridgeFactory.ts, Wave 3 items all edit cli.ts, so concurrent edits would conflict.
  • Wave 4: sequential (#1576 → #1577 → #1578).

Process notes

  • Every sub-issue carries a "Reference implementation (PR feat(web/apps): spec-conformant Apps host + CLI/deep-link path for programmatic review #1510)" section with permalinks into 33fac3f — re-implement informed by the contribution, don't cherry-pick blindly; each PR must meet AGENTS.md rules (per-file ≥90 coverage on all four dimensions, Mantine theme/withProps rules, README updates, no any).
  • Standard workflow per AGENTS.md: move the item to In Progress, feature branch, PR against v2/main with the v2 label, In Review.

Metadata

Metadata

Assignees

Labels

v2Issues and PRs for v2

Fields

No fields configured for Enhancement.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions