Skip to content

Qualify all unchanged Code OSS workbench commands, panels, and feature lifecycles #260

Description

@wieslawsoltes

Current workbench 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.

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

  • Editor: split groups, tabs, dirty state, undo/redo, find/replace, language services, diagnostics, Problems navigation, and restore.
  • Search/SCM: query/results/activation, repository discovery, diff/editor flows, refresh, cancellation, and error UX.
  • Tasks/Run/Debug/Terminal/Output: launch, streamed output, input, resize, stop/restart, failure, teardown, and repeated cycles.
  • Extensions: built-in activation plus gallery/install/enable/disable/uninstall where configured; Node and browser extension failures are visible.
  • Workbench: Command Palette, keybindings, menus/context menus, notifications, dialogs, profiles, theme changes, panel/side-bar/auxiliary-bar movement, fullscreen/reload, and focus restoration.
  • Each scenario has Chromium semantic/visual parity, bounded latency, CPU, memory, scene-mutation/publication, queue, teardown, and artifact budgets.
  • Exact source revisions and excluded upstream/proprietary services are recorded without claiming unsupported coverage.

Proposed PR stack

  1. inventory + deterministic scenario manifest;
  2. editor/search/SCM acceptance;
  3. tasks/run/debug/terminal/output acceptance;
  4. extensions/workbench lifecycle acceptance;
  5. final cumulative release lane.

Any proven engine defect gets its own focused issue/PR and rejoins only after its directly related gates pass.

Activity

  1. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    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.

  2. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    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.

  3. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Problems-panel visual scenario implemented locally

    vscode-demo local commit dca6e42 adds 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 --check pass.

    The commit remains local and unpushed under the consolidation policy.

  4. wieslawsoltes commented on Sep 17, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Local vscode-demo commit 9721499 adds a deterministic Chromium/AppScene visual lane for the reported malformed document-tab background. It remains intentionally unpushed on integration/appscene-webscene-code-oss until 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-v1 contract 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.

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