Skip to content

test(desktop): move P1 journeys off Electron - #4803

Draft
Astro-Han wants to merge 1 commit into
mainfrom
test/4761-move-p1-e2e
Draft

test(desktop): move P1 journeys off Electron#4803
Astro-Han wants to merge 1 commit into
mainfrom
test/4761-move-p1-e2e

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

PR 3 of #4761 moves the remaining 20 P1 assertions out of Electron. Ten E2E files are deleted in the same change that establishes or identifies their lower-tier owners. Playwright now lists 58 tests in 25 files, down from 78 tests in 35 files on the merged PR 2 baseline.

Removed E2E coverage New owner
WorkHub reconstruction and replacement (3) existing WorkHub surface/controller tests
Skill revision-draft lifecycle (2) app-shell-revision-actions.test.ts and the conversation-owned retirement helper
Goal budget validation (1) goal-dialog.test.ts
New-task draft and attachment handoff (2) existing composer draft/staged-content component tests
CJK IME Enter handling (1) ImeCommitDoesNotSend Storybook interaction
Session rail render contract (1) SessionSwitchRenderBudget Storybook interaction
About page contract (1) the existing About story interaction
Module Hub routing (1) existing Module Hub host/provider tests and four leaf stories
Parent plus linked-subagent deletion (1) existing revision-family row-action and purge tests
Shell accessibility coverage (7) Storybook per-story AX audit plus focused component contracts

The only production refactor is revision-draft retirement: the same child/source cleanup was used in two AppShell paths, so it now has one conversation-owned function and a direct unit contract. The architecture ledger decreases by one import specifier and one non-trivia token.

The Session rail replacement retains the two-row touch budget, zero remounts, direct selection transition, and zero status rebuilds. Static Storybook consistently performs one extra ref pair during focus handoff, so its inline-style ceiling is 10 rather than Electron's 8; the fixture-independent two-row bound remains the primary regression gate.

Refs #4761

Verification

  • npm --workspace @maka/desktop run build-storybook
  • npm --workspace @maka/desktop run smoke:storybook — 292 stories / 318 theme renders, passed
  • focused migrated unit/component suite — 141 passed / 0 failed
  • Goal and revision-draft suite — 7 passed / 0 failed
  • Desktop main build plus renderer and Storybook TypeScript checks — passed
  • npm --workspace @maka/ui run typecheck — passed
  • npm --workspace @maka/desktop run check:architecture — passed
  • architecture ratchet against origin/main — passed
  • npm run lint — passed
  • npm run format:check — passed
  • node scripts/asf-license-headers.mjs check — passed
  • npx playwright test --config apps/desktop/e2e/playwright.config.ts --list — 58 tests in 25 files

Not run: the full Electron E2E suite. This change removes tests from that tier and does not change its remaining fixtures.

Review focus

  • Whether the seven shell-wide accessibility journeys are fully represented by the Storybook AX audit and focused component contracts, rather than merely producing a green aggregate audit.
  • Whether the Storybook rail's measured 10-write ceiling preserves the deleted E2E contract strongly enough; the two-row and selection-sequence assertions are the primary invariant.
  • tracking(desktop): move every test out of Electron E2E that does not need it #4761 asks for mutation evidence per moved assertion. A systematic mutation pass has not yet been run for all 20 replacements, so the first checklist item remains open rather than claiming evidence this revision does not have.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex — mapped the removed E2E assertions to their owning lower tiers, added the replacement stories and unit contracts, ran the validation above, and drafted this description. The commit carries a Generated-by: Codex trailer.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@Astro-Han
Astro-Han force-pushed the test/4761-move-p1-e2e branch from e1ed74b to 906c124 Compare September 4, 2026 18:06
@Astro-Han
Astro-Han marked this pull request as draft September 4, 2026 18:08
@github-actions github-actions Bot added the effort/XL Under 2500 readable lines label Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/XL Under 2500 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant