2.4 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 05-async-e2e-synchronization | Repair asynchronous E2E synchronization | completed | 1 | plan.md | ../../specs/platform/requirements/e2e-duration-aware-sharding.md |
Task 05: Repair asynchronous E2E synchronization
Acceptance
- Config-management coverage waits for the actual MCP update completion state and preserves useful error evidence when the state does not converge; it does not rely on a marker that can be missed by a 30-second race.
- Mobile autopilot coverage waits for the API/WS/UI hydration boundary before checking the sidebar state icon and distinguishes a missing event from a missing render.
- Both regressions pass repeatedly with existing timeouts and expose a bounded, state-aware wait instead of a larger arbitrary timeout.
Verification
cd apps/web
pnpm exec playwright test --config e2e/playwright.config.ts --project=chromium e2e/tests/settings/config-management.spec.ts
pnpm exec playwright test --config e2e/playwright.config.ts --project=mobile-chrome e2e/tests/task/mobile-autopilot-mode.spec.ts
Repeat each targeted command enough to exercise the original retry path and retain traces or logs when convergence fails.
Files likely touched
apps/web/e2e/tests/settings/config-management.spec.tsapps/web/e2e/tests/task/mobile-autopilot-mode.spec.ts- the smallest existing E2E API, WS, or page helper needed to expose a stable readiness assertion
Dependencies
None. Preserve the current worker-scoped backend and WebSocket fixture contracts.
Parallelism
Parallel candidate with Tasks 01, 04, and 06. It must not modify the shard planner or global retry policy.
Inputs
runAndWaitand its exact-marker behavior in the config-management spec.- The mobile autopilot API poll and sidebar assertion ordering.
- Existing Playwright trace, network, and WebSocket diagnostics.
Output contract
Report the observed event/order race, the readiness condition chosen, targeted repeat results, and evidence that the fix does not merely increase timeout or retry values.
Implementation result
Config-chat now waits for the backend session to complete before reading the transcript, and the model round-trip uses an advertised mock model so later tests cannot inherit an unsupported profile value. The full config-management suite passed 21/21. Mobile autopilot waits for both hydrated state icons and passed its focused test within the existing timeout.