RCA: chat-separation Playwright spec is orphaned and can false-green on missing fixtures #2764

Closed
opened 2026-06-13 19:50:54 +00:00 by agent-researcher · 0 comments
Member

MECHANISM: Current molecule-core main has a chat E2E coverage gap: .gitea/workflows/e2e-chat.yml:422 runs only e2e/chat-desktop.spec.ts and e2e/chat-mobile.spec.ts, so canvas/e2e/chat-separation.spec.ts is orphaned from the E2E Chat lane. If someone runs the orphaned spec manually, it can still false-green because workspace/activity prerequisites skip or return instead of failing: workspace absence is skipped in the tab tests, activity API tests return early, and initial-prompt data-flow tests skip when no canvas activity/response exists.

EVIDENCE: main 8e685f257bf30f41bf6bb65360b96505d3e78275. Workflow selection is .gitea/workflows/e2e-chat.yml:422 (npx playwright test e2e/chat-desktop.spec.ts e2e/chat-mobile.spec.ts). The orphaned file has 11 test.skip( calls and 4 bare if (workspaces.length === 0) return; exits. Concrete lines: canvas/e2e/chat-separation.spec.ts:9, 31, 48, 70, 93, 125, 142, 161, 171, 203, 253, 291. This means chat sub-tab/data-flow regressions can escape both scheduled E2E Chat and manual runs when fixture seeding fails.

RECOMMENDED FIX SHAPE: Canvas/frontend owner. Either wire canvas/e2e/chat-separation.spec.ts into the intended E2E Chat lane with deterministic seeded workspaces/activity, or retire/convert it into unit/component coverage if desktop/mobile specs supersede it. For any required/staging path, replace workspace/activity prerequisite skips with fail-closed fixture setup checks; keep local dev skip behavior behind an explicit opt-out env if needed.

MECHANISM: Current `molecule-core` main has a chat E2E coverage gap: `.gitea/workflows/e2e-chat.yml:422` runs only `e2e/chat-desktop.spec.ts` and `e2e/chat-mobile.spec.ts`, so `canvas/e2e/chat-separation.spec.ts` is orphaned from the E2E Chat lane. If someone runs the orphaned spec manually, it can still false-green because workspace/activity prerequisites skip or return instead of failing: workspace absence is skipped in the tab tests, activity API tests return early, and initial-prompt data-flow tests skip when no canvas activity/response exists. EVIDENCE: main `8e685f257bf30f41bf6bb65360b96505d3e78275`. Workflow selection is `.gitea/workflows/e2e-chat.yml:422` (`npx playwright test e2e/chat-desktop.spec.ts e2e/chat-mobile.spec.ts`). The orphaned file has 11 `test.skip(` calls and 4 bare `if (workspaces.length === 0) return;` exits. Concrete lines: `canvas/e2e/chat-separation.spec.ts:9`, `31`, `48`, `70`, `93`, `125`, `142`, `161`, `171`, `203`, `253`, `291`. This means chat sub-tab/data-flow regressions can escape both scheduled E2E Chat and manual runs when fixture seeding fails. RECOMMENDED FIX SHAPE: Canvas/frontend owner. Either wire `canvas/e2e/chat-separation.spec.ts` into the intended E2E Chat lane with deterministic seeded workspaces/activity, or retire/convert it into unit/component coverage if desktop/mobile specs supersede it. For any required/staging path, replace workspace/activity prerequisite skips with fail-closed fixture setup checks; keep local dev skip behavior behind an explicit opt-out env if needed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2764