Repository navigation
Description
Gap found by the Phase 9 validation audit (#1076, slice 3)
The world surface — the Phase 9 portable screen view and everything around it (P9.1 web presenter, P9.2 input/viewport, P9.7 chat, P9.9 records readback, P9.8 reflow) — has no browser-level E2E coverage at all.
Verified on current main (1bf2afb, 2026-10-27) during the #1076 slice-3 walk: pkgs/id/e2e/tests/ contains only editor-focused Playwright specs (autosave, basic, editor-features, file-operations, navigation, websocket). The only world-adjacent assertion is basic.spec.ts:28 (world explorer + "Global chat" heading visible). No spec joins a world, renders a Screen surface, sends keys/paste, pages records, or resizes a viewport in a real browser.
The rows are verified at the unit/contract layer instead (evidence on #1076 slice 3): world-surface.test.ts, world-keyboard.test.ts, and the world-contract.test.ts session test (vitest, green in test-web-unit on run 40452777239), plus the Rust presenter tests in world_presentation.rs. What is missing is exactly the layer where presenter regressions have historically shipped: a real browser against a real server.
Acceptance criteria
- A Playwright spec (in
pkgs/id/e2e/tests/, running in the existing e2e/nightly layer) joins a world and asserts the screen surface renders cell text (not guest HTML). - The same spec (or companions) sends a key and a paste, and asserts the resulting frames/view update.
- Records readback is exercised: the spec pages records with the
aftercursor and asserts both pages render. - A viewport resize in the browser produces a re-rendered (cropped/reflowed) surface, cross-referencing id phase-9: a joiner's resize (up to 500x200) can permanently poison a world via the guest layout() call exceeding presentation_bytes #811's resize concerns at the browser layer.
- The spec passes in CI's e2e layer and is named in id: validation — Phase 9 portable platform #1076's audit table as the E2E evidence for P9.1/P9.2/P9.7/P9.9.
Filed by the queue worker (task 1257, slice 3) per the #1076 audit contract: every gap gets its own issue.
Activity
developing-today commentedon Oct 27, 2026
CODE-431
dezren39 commentedon Oct 27, 2026
Intake review
Fleet monitor intake pass (protocol §5), 2026-10-27. Verified still live: no merged PR implements or resolves this issue as of this run, and no duplicate open issue covers it.
Related: Related: filed from #1076 (Phase 9 validation, slice 3); cross-references #811 resize concerns; sibling gap #1315 (P9.3b provenance). Already queued? No queue label/task yet — routing is the fleet's next producer/worker pass.
Notes / risks / suggested approach: Risk: E2E specs are the slowest layer; keep the spec set minimal and deterministic (seeded world state) so it can live in the nightly/e2e layer without flaking. Suggested approach: one spec covering join+render+key/paste, companions for records paging and resize reflow.
Labels normalized by this pass: source/queue-worker, status/needs-triage, effort/l, meta/enriched.
5 remaining items
dezren39 commentedon Nov 2, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 7225 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
dezren39 commentedon Nov 3, 2026
agent-note:v1 — triage by task 7225 (lane code-m), 2026-11-03. Verdict: ALREADY DONE at current main — closing with evidence.
The fix enqueued by the earlier triage (task 6569, handed to the opencode lane 2026-11-02) has landed:
pkgs/id/e2e/tests/world-surface.spec.ts(232 lines, 5 tests) is on main (repo-keeper snapshot 7fb1e6d, 2026-11-03T00:24Z; format follow-up 96d3cf8). Verified against every acceptance criterion:pkgs/id/e2e/playwright.config.tsruns testDir ./tests with WORLD_FLAGS servers (roc-screen fixture) for both browser projects, so the spec runs in the existing e2e layer. A pointer comment naming this spec as the P9.1/P9.2/P9.7/P9.9 E2E evidence was posted on id: validation — Phase 9 portable platform #1076 for its audit table.No follow-up fix task is owed: the coverage this issue asked for exists and is wired in.