From 698ea091ed660b0579a1998bb40603ab2d652eff Mon Sep 17 00:00:00 2001 From: Jeffrey Smith Date: Thu, 2 Apr 2026 00:02:12 +0000 Subject: [PATCH] Add extension shell migration to v0.7.3 roadmap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Chat, Notes, and Schedules still use the old sw.shell.Topbar component, causing a double topbar. Added migration steps to v0.7.3 alongside the headless E2E work — same pattern as the v0.7.0 kernel surface migrations. Co-Authored-By: Claude Opus 4.6 (1M context) --- ROADMAP.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ROADMAP.md b/ROADMAP.md index 0b75d1d..25895b4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -151,7 +151,23 @@ Design doc: `docs/DESIGN-surface-runners.md` | Runner result API | done | `POST/GET /api/v1/admin/test-runners/results`. In-memory store, 4 Go tests. | | CI integration | done | `test-runners` stage in Gitea CI. Playwright driver, `wait-for-healthy.sh`. | -### v0.7.3 — Headless E2E Automation +### v0.7.3 — Extension Shell Migration + Headless E2E + +**Extension Shell Migration** + +Chat, Notes, and Schedules still use the old `sw.shell.Topbar` component, +producing a double topbar (shell-injected + surface-owned). Migrate all +three to the v0.7.0 shell contract (`sw.shell.topbar.setTitle/setSlot`), +same pattern as the kernel surface migrations. + +| Step | Status | Description | +|------|--------|-------------| +| Chat → shell topbar | | Delete ``, use `setTitle('Chat')` + `setSlot()` for thread title/people button. | +| Notes → shell topbar | | Delete ``, use `setTitle('Notes')` + `setSlot()` for sidebar tabs/search. | +| Schedules → shell topbar | | Delete ``, use `setTitle('Schedules')`. Pattern A (title only). | +| Update package runner tests | | Assert shell topbar present, no double topbar, on migrated surfaces. | + +**Headless E2E Automation** | Step | Status | Description | |------|--------|-------------|