Skip to content

[SHELL-0] Shell contracts and measurement #128

Description

@DJAscendance

Tracking only. Each lane starts on an explicit owner GO.

Lane: SHELL-0 — first lane of the approved desktop shell direction.

Architecture: docs/architecture/DESKTOP_APPLICATION_SHELL_REVIEW.md (APP-ARCH-0, merged in #127).

Purpose

  1. Define and unit-test first-party foundation contracts: application contributions, disposable lifecycle, renderer document-session boundary, application-service boundary, and command / panel / tool / contextual-panel / menu contribution boundaries. Foundation only — current callers are not migrated.
  2. Measure the current application: cold start, Mall↔Editor and World↔Editor page-switch cost, memory (incl. a repeated round-trip soak), and a native-ESM file:// spike vs esbuild entry bundles, ending in one bundling recommendation.

Prerequisite for

Out of scope

Persistent shell, mall:describe, main.js decomposition, navigation hardening (Shell-1b), renderer path-authority fixes (future SEC-SHELL-0), application menu (#122), workspace behavior (#121), docking (UI-C0/UI-1), WD2-E, visual redesign. No new dependency. No repository-policy change.

Acceptance

  • Contract modules + focused tests
  • Reproducible startup / page-switch / memory baselines with machine-readable results
  • ESM spike + esbuild comparison + recommendation
  • docs/architecture/SHELL_0_CONTRACTS_AND_MEASUREMENTS.md
  • npm run check passes; no user-facing behavior change

Activity

  1. DJAscendance commented on Oct 8, 2026

    @DJAscendance
    CollaboratorAuthor

    SHELL-0 complete.

    Non-blocking QA notes remain deferred and are not fixed here (contextual-panel nested reconcile reentrancy, contributed service cleanup-handle assumptions, rollback cleanup-error reporting, broad scoped service API, surface-table wording). The visual-QA findings (Node 24 npm run test:visual invocation; pre-existing Extrusion bbox == null) still need tracker issues.

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

    laneLane or lane sub-issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions