Skip to content

Publish a Code OSS Web API capability ledger and expand WPT coverage #263

Description

@wieslawsoltes

Current capability-ledger checkpoint — 20 September 2026

Exact merged heads: WebScene a46b62e14eb197603f7e227c1558afb9088633b0; AppScene 97702daeb9ad71341ced7226f0aa966dc77ea53c; unchanged Code OSS 645f29cc3176500b4b5762ba887cf2a7f0ffdf2c; local vscode-demo 123ad63a345dd77ceb0d75aed4c8eda244cf1288 (clean, intentionally unpushed). Open consolidations remain WebScene #76 085bba760fa571c8f08ea866dc5dd1ec27c4d376, AppScene #65 ce66ef6ceb776b3f14e129f853bfc08b5c5e608c, and vscode-demo #1; do not merge them. One-agent mode is active.

#799/#806 is merged and cataloged with touch-action CSSOM/non-inheritance plus mouse/touch/pen ABI decoding, stable IDs, primary state, capture-by-ID, cancellation, frozen policy, and retained panning. The generated Web API report and stale CSS catalog sentinels were refreshed. Metadata CI passed; WPT/native/hardware/package/visual/accessibility/memory/lifecycle/performance execution remains evidence debt.

Parent epic: #227.
CSS-specific capability ownership remains #236.

Problem

Code OSS compatibility currently grows through focused regressions, but there is no single versioned ledger mapping every reachable Web API to imported/derived WPT coverage, native contracts, packaged consumer evidence, unsupported states, and performance/security limits. That makes silent partial APIs and missing regression coverage easy to overlook.

Investigation first

Generate a reachability inventory from unchanged Code OSS 1.137 and its bundled extensions for DOM/HTML, events/focus, URL/origin/resource loading, fetch/WebSocket, storage, workers/ports/structured clone, iframe/webview, File System Access, clipboard/drag-drop, Web Crypto, timing, accessibility, canvas/media/GPU feature detection, and lifecycle. Reconcile every entry with existing WebScene/AppScene issues and tests before creating any implementation ticket.

Proposed direction

Publish a machine-readable, revisioned capability ledger with states such as supported, partial, intentionally absent, consumer-unreachable, and blocked. Every supported/partial claim names WPT or browser-oracle cases, native/runtime tests, packaged Code OSS evidence, platform scope, and limits. The validator fails on stale revisions, claims without evidence, unexpected newly reachable APIs, or regressions.

Acceptance

  • The ledger covers every API reached by the accepted scenarios and records exact VS Code/AppScene/WebScene/WPT revisions.
  • Selected upstream WPTs are imported or translated with provenance and local modifications documented; exclusions have concrete reasons.
  • WPT/browser/native/package denominators are explicit, with no passing percentage that hides skipped or unsupported cases.
  • Realm, teardown, cancellation, malformed input, quota/queue, origin/security, memory, and performance boundaries accompany feature tests.
  • CI shards by changed capability and runs the cumulative top of a related PR stack; the final release runs the full ledger.
  • Generated reports are deterministic and compact, and old large browser traces/artifacts are pruned by policy.

Proposed PR stack

  1. reachability scanner + schema + reconciliation report;
  2. fail-closed validator and generated documentation;
  3. prioritized WPT imports for P0/P1 Code OSS paths;
  4. installed SDK/package consumer lane.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    vscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions