Repository navigation
Qualify all unchanged Code OSS workbench commands, panels, and feature lifecycles #260
Description
Activity
- addedvscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integrationPlanned for the AppScene/WebScene VS Code OSS integration
on Sep 17, 2026 Dependency clarification after the global/CSS audit: the “future visual-gate child” now exists as #259. This issue should consume #259's common oracle and #263's capability/reachability ledger. It owns the release-wide feature scenarios, not either shared framework.
For CSS/runtime evidence, #243 owns product CSS profiling, #258 owns repeated panel mutation/idle/RSS stability, and #244 owns terminal open-to-prompt phase attribution. Chat-specific lifecycle is #261 and accessibility acceptance is #262. Any generic CSS defect routes through #235 and its focused child.
Each scenario result should therefore name its #259 manifest entry, #263 capability rows, exact revisions, and focused blocker (if any), with explicit pass/fail/skipped/unavailable totals. Missing required evidence must fail the scenario rather than silently reduce coverage.
Part 1 inventory is implemented locally in vscode-demo commit
e9d24b7(intentionally unpushed while PR #1 remains the open consolidation review).The fail-closed manifest now records:
- 12 exact unchanged-Code-OSS workbench scenarios across editor, workspace, panels, services, and workbench lifecycle;
- 48 ordered user actions with expected semantic outcomes and bounded timeouts;
- 96 explicit product/native/browser/visual/performance/lifecycle/accessibility/security obligations;
- exact Code OSS source entry points, command IDs, Publish a Code OSS Web API capability ledger and expand WPT coverage #263 Web API rows, owner issues, prerequisites, and lifecycle steps;
- latency, total time, idle CPU, RSS delta, scene mutation, publication, queue high-water, teardown, cycle, per-scenario artifact, total run, retained-run, and report budgets.
Current active-head denominator is intentionally fail-closed: 5 blocked + 7 pending + 0 partial + 0 passing scenarios; evidence is 6 blocked + 90 planned + 0 pass + 0 n/a = 96 total. Historical package results cannot silently promote the current inventory.
Validation:
- 9/9 focused manifest mutation tests pass;
- release preflight rejects a missing scenario before SDK/build;
- full vscode-demo Python suite passes 151/151;
- generated compact report is deterministic and under its 1 MiB cap.
The next #260 stack entry is executable editor/Search/SCM acceptance using #259 capture contracts. Workspace-dependent scenarios remain blocked on #270/AppScene#124/#252 as recorded in the manifest.
Problems-panel visual scenario implemented locally
vscode-demolocal commitdca6e42adds the fifth executable visual capture contract without modifying pinned VS Code OSS:- creates one valid untitled Monaco model and publishes one deterministic error through VS Code's real
IMarkerService; - opens the real Problems view in forced tree mode;
- requires exactly one resource, one error icon, one marker, and exact message/source/code values (
SceneTech deterministic problem,visual-parity,SCENE1001); - compares the panel, container, tree, resource, marker, workbench, editor, and surrounding layout geometry between Chromium and AppScene/WebScene;
- restricts pixel evaluation to the measured Problems panel;
- keeps Output streaming, activation/focus, accessibility, performance, and lifecycle explicit pending Qualify all unchanged Code OSS workbench commands, panels, and feature lifecycles #260 obligations.
The visual inventory remains 16 scenarios / 112 evidence obligations and now has five implemented captures with 17 gate / 95 planned / 0 not-applicable evidence rows. Problems acceptance remains pending until a fresh package from current upstream heads passes the retained Chromium/native run.
Validation:
- complete Python suite: 161/161 passed;
- complete Node suite on exact Node 24.18.1: 67/67 passed;
- focused visual/manifest/packaging Python suite: 59/59 passed;
- focused browser/overlay Node suite: 21/21 passed;
- applied overlay compiles under the pinned unchanged VS Code OSS TypeScript project and reverts to a clean submodule;
- manifest exact-denominator audit and
git diff --checkpass.
The commit remains local and unpushed under the consolidation policy.
- creates one valid untitled Monaco model and publishes one deterministic error through VS Code's real
Local vscode-demo commit
9721499adds a deterministic Chromium/AppScene visual lane for the reported malformed document-tab background. It remains intentionally unpushed onintegration/appscene-webscene-code-ossuntil the next consolidated update.The query-gated unchanged-Code state now:
- closes the startup editor and creates three real dirty untitled Monaco editors;
- requires the exact ordered labels
Untitled-1,Untitled-2,Untitled-3, with the third active, all three dirty, and three stable samples; - records named geometry for the complete tab strip, each tab, the active tab, and surrounding workbench surfaces;
- restricts pixel metrics to the measured editor tab strip, so the path-like SVG/background artifact cannot disappear into a whole-window tolerance;
- adds a fail-closed
code-oss-editor-tabs-parity-v1contract and package marker.
The visual inventory now contains 17 scenarios and 119 evidence obligations; six captures are implemented. Focused and complete validation passes: Python 164/164, exact Node 24.18.1 68/68, manifest audit, and the applied pinned VS Code TypeScript no-emit build. The VS Code submodule was reverted byte-exactly and is clean.
Acceptance remains partial until a fresh current-head Chromium/native capture supplies semantic, geometry, and pixel evidence. Focus, accessibility, dynamic performance, and lifecycle remain owned by their existing #258/#260/#262 lanes.
Current workbench checkpoint — 20 September 2026
Exact merged heads: WebScene
a46b62e14eb197603f7e227c1558afb9088633b0; AppScene97702daeb9ad71341ced7226f0aa966dc77ea53c; unchanged Code OSS645f29cc3176500b4b5762ba887cf2a7f0ffdf2c; local vscode-demo123ad63a345dd77ceb0d75aed4c8eda244cf1288(clean, intentionally unpushed). Open consolidations remain WebScene #76085bba760fa571c8f08ea866dc5dd1ec27c4d376, AppScene #65ce66ef6ceb776b3f14e129f853bfc08b5c5e608c, and vscode-demo #1; do not merge them. One-agent mode is active.The pointer stack is complete: AppScene #298/#299/#300 and WebScene #799/#806 plus #807/#808 are merged; all three focused issues are closed. The 48-byte ABI now carries versioned mouse/touch/pen identity, stable IDs, primary state, and cancellation; WebScene adds generated non-inherited
touch-action, capture-by-ID, frozen ancestor policy, and retained axis panning without mouse compatibility events. It uses cold CSS state and a fixed 16-entry contact array with no layout invalidation, scene node, timer, browser shell, or Code OSS patch. Generated metadata CI passed. The NativeWeb contact contract is authored and unexecuted. All other authored CSSOM/WPT/native/performance gates remain unexecuted under the active fast-implementation direction; broad queued jobs were canceled after merge.Exact-package command/panel lifecycle, Explorer/workspace, files/save/restart, terminal, Markdown/webview, Chat, accessibility, visual, performance, and teardown acceptance remains open. Authored contracts are not product evidence.
Parent epic: #227.
Problem
A rendered Monaco editor is only the baseline. The current acceptance matrix does not yet prove all unchanged Code OSS workbench commands and panels: multi-editor behavior, Search results, Source Control actions, Problems/Output, Tasks, Run/Debug, Extensions management, notifications, keybindings, profiles, and cross-panel state restoration.
Investigation first
Create a reachability inventory from the unchanged Code OSS 1.137 browser workbench and bundled extensions. For each surface record prerequisites, browser APIs used, companion/extension-host dependencies, current native behavior, Chromium behavior, logs, DOM/scene state, and the authoritative existing issue. Split only reproduced platform gaps into focused WebScene/AppScene tickets.
Scope and dependencies
This issue owns the release-wide feature inventory and acceptance scenarios. It does not absorb the focused fixes above.
Acceptance
Proposed PR stack
Any proven engine defect gets its own focused issue/PR and rejoins only after its directly related gates pass.