{"type":"meta","slug":"journey-e2e-coverage","base_branch":"master","gate0_mode":"strict","preset":"medium"}
{"type":"goal","text":"Complete Playwright E2E coverage for UJ-001 through UJ-020 and docs/ui_matrix/matrix.js without discarding valid generated work."}
{"type":"methodology","text":"Inspect first; repair in place; factory/API setup only; exact request/response/visible/durable/fresh-read/forbidden oracles; remote Chromium only."}
{"type":"intent","text":"Make journey contracts executable and expose source or fixture defects instead of masking them."}
{"type":"direction","verbatim":"Create one tests/e2e/journeys/*.spec.js and matching *.spec.manifest.json per journey."}
{"type":"direction","verbatim":"Remote browsers must use /home/user/.claude/bin/e2e-remote, never local."}
{"type":"checkpoint","text":"Existing generated journey files are user-owned dirty work; preserve valid paths and unrelated dirty files."}
{"type":"anchor","path":"docs/specs/2026-08-01-journey-e2e-coverage-design.md","what":"design"}
{"type":"anchor","path":"docs/plans/2026-08-01-journey-e2e-coverage.md","what":"plan"}
{"type":"task","id":"t1","wave":1,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-08-01-journey-e2e-coverage.md Task 1 (Shared deterministic support). Acceptance: node --check tests/e2e/journeys/journey-support.js. Commit only: tests/e2e/journeys/journey-support.js."}
{"type":"task","id":"t2","wave":1,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-08-01-journey-e2e-coverage.md Task 2 (Matrix authority). Acceptance: node --check docs/ui_matrix/matrix.js && node --check tests/e2e/ui-matrix/ui-matrix.spec.js. Commit only: docs/ui_matrix/matrix.js."}
{"type":"task","id":"t3-t7","wave":2,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-08-01-journey-e2e-coverage.md Tasks 3–7 (UJ-001–UJ-005 branch coverage). Acceptance: node --check each spec; each manifest expects H1/A1/P1; Playwright --list discovers three tests. Commit only: named UJ spec/manifest pairs."}
{"type":"task","id":"t8-t12","wave":3,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-08-01-journey-e2e-coverage.md Tasks 8–12 (UJ-006–UJ-010 branch coverage). Acceptance: node --check each spec; each manifest expects H1/A1/P1; Playwright --list discovers three tests. Commit only: named UJ spec/manifest pairs."}
{"type":"task","id":"t13-t17","wave":4,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-08-01-journey-e2e-coverage.md Tasks 13–17 (UJ-011–UJ-015 branch coverage). Acceptance: node --check each spec; each manifest expects H1/A1/P1; Playwright --list discovers three tests. Commit only: named UJ spec/manifest pairs."}
{"type":"task","id":"t18-t22","wave":5,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-08-01-journey-e2e-coverage.md Tasks 18–22 (UJ-016–UJ-020 branch coverage). Acceptance: node --check each spec; each manifest expects H1/A1/P1; Playwright --list discovers three tests. Commit only: named UJ spec/manifest pairs."}
{"type":"task","id":"t23","wave":6,"seat":"coder","tier":"medium","desc":"Read docs/plans/2026-08-01-journey-e2e-coverage.md Task 23 (Findings and gates). Acceptance: validator, list, relevant checks, and remote Chromium command produce captured exit statuses. Commit only: docs/user_journeys/scan-problems.md and required test-only fixes."}
