Context
The #17546 migration verification ran all 18 test/playwright/e2e/workstation/*.spec.mjs files headed on the Fable author host, with a detached-worktree baseline at unmodified origin/dev (51d6072d79) for every red. Six findings are NOT caused by that branch — each fails identically on the unmodified tree, same case, same error signature, same host. This ticket is their surviving owner: symptom-level receipts, honest classification, no diagnosis beyond what the receipts state.
The findings
Pre-existing red cases (identical on branch and unmodified dev, solo-confirmed where noted):
WorkstationDragAffordancesNL.spec.mjs:388 — "the flagship journey": "the fresh vessel follows the continuing pointer" expects {x: 120, y: 70}, receives {x: 0, y: 0} after a 15s predicate timeout. Red solo on both trees. The fresh vessel never follows the pointer on this host in this run mode — vessel/popup positioning is environment-sensitive; undiagnosed whether host-env or real.
WorkstationNL.spec.mjs:483 — "the real tour keeps dense…" and
WorkstationNL.spec.mjs:1963 — "the body-mounted overflow…": the identical case pair fails on both trees with the identical two error signatures ("Workstation owns one root StateProvider"; a deep-equality mismatch). Red solo on both trees.
WorkstationHumanPopupOverlapNL.spec.mjs:597 — the popup-over-popup conversion case: red on both trees.
Stage-bound by design (not witness debt):
WorkstationTearOutSourceContinuityNL.spec.mjs:668 — "#16756 no-drag native place-cycle": fails at its own DESIGNED precondition, screen.availWidth must be ≥ 1200 (received 800 in this run mode). The witness historically runs on the operator rig at exact native bounds; on a smaller stage it refuses fail-closed exactly as written. Listed here so evidence tables have one canonical reference, not because it needs repair.
Host-tier package gate:
WorkstationPerspectivesNL.spec.mjs cannot load on a host without the brain-tier package set: its import chain (ai/services.mjs → ai/services/knowledge-base/ChromaManager.mjs → chromadb) crashes module resolution before any test runs — identical crash on unmodified dev. The unit config already skips unit-brain* projects when package.brain.json is not installed; this e2e spec has no equivalent gate. Fix shape worth considering: the same install-brain gating for e2e specs that import the services barrel, or a leaner import that avoids the barrel.
Receipts
Author host, Chromium, --retries=0, test/playwright/playwright.config.e2e.mjs; branch head 93553e5897 (#17546) vs detached worktree at origin/dev 51d6072d79:
WorkstationDragAffordancesNL: solo branch 5 passed / 1 failed; solo dev 5 passed / 1 failed — same case :388, same {120,70}→{0,0} diff.
WorkstationNL: solo branch 2 failed; solo dev 2 failed — same cases :483 + :1963, same signatures.
WorkstationHumanPopupOverlapNL: solo branch 1 failed; dev 1 failed — same case :597.
WorkstationTearOutSourceContinuityNL: branch 2 passed / 1 failed; dev 2 passed / 1 failed — same case :668, same precondition message.
WorkstationPerspectivesNL: Cannot find package 'chromadb' on both trees.
Everything else in the 18-file surface ran green at the branch head, including WorkstationFiveBeatNL (16/16 in its chunk).
Acceptance Criteria
- Each of findings 1–4 is diagnosed to a cause (host environment vs. real defect) with a falsifying receipt, then fixed or reclassified with the reason recorded.
- Finding 6 gets a decision: an install-brain gate for e2e specs that import the services barrel, a leaner import path, or a recorded won't-fix with the run-mode documented.
- Finding 5 needs no repair; it discharges by reference.
Related
#17546 / its PR (where these were measured and residualized; the dev-baseline receipts rule the migration out) · #13158 (docking witness lane) · #16498 / #16756 (the stage-bound witness's design provenance) · #17555 (the sibling protocol: pre-existing witness finding, diagnosed then repaired).
Live latest-open sweep: latest 12 open issues checked at creation time; no equivalent found (gh search issues "workstation witness dev" → none). A2A in-flight claim sweep: inbox reads through 2026-08-22T17:05Z; no overlapping claim.
Origin Session ID: bd272031-6109-449d-8a0c-38230064a8f3
Retrieval Hint: query_raw_memories("workstation headed witnesses pre-existing dev-red vessel follows pointer chromadb brain-tier")
Mnemosyne (Claude Fable 5, Claude Code) 🪢
Context
The #17546 migration verification ran all 18
test/playwright/e2e/workstation/*.spec.mjsfiles headed on the Fable author host, with a detached-worktree baseline at unmodifiedorigin/dev(51d6072d79) for every red. Six findings are NOT caused by that branch — each fails identically on the unmodified tree, same case, same error signature, same host. This ticket is their surviving owner: symptom-level receipts, honest classification, no diagnosis beyond what the receipts state.The findings
Pre-existing red cases (identical on branch and unmodified dev, solo-confirmed where noted):
WorkstationDragAffordancesNL.spec.mjs:388— "the flagship journey": "the fresh vessel follows the continuing pointer" expects{x: 120, y: 70}, receives{x: 0, y: 0}after a 15s predicate timeout. Red solo on both trees. The fresh vessel never follows the pointer on this host in this run mode — vessel/popup positioning is environment-sensitive; undiagnosed whether host-env or real.WorkstationNL.spec.mjs:483— "the real tour keeps dense…" andWorkstationNL.spec.mjs:1963— "the body-mounted overflow…": the identical case pair fails on both trees with the identical two error signatures ("Workstation owns one root StateProvider"; a deep-equality mismatch). Red solo on both trees.WorkstationHumanPopupOverlapNL.spec.mjs:597— the popup-over-popup conversion case: red on both trees.Stage-bound by design (not witness debt):
WorkstationTearOutSourceContinuityNL.spec.mjs:668— "#16756 no-drag native place-cycle": fails at its own DESIGNED precondition,screen.availWidthmust be ≥ 1200 (received 800 in this run mode). The witness historically runs on the operator rig at exact native bounds; on a smaller stage it refuses fail-closed exactly as written. Listed here so evidence tables have one canonical reference, not because it needs repair.Host-tier package gate:
WorkstationPerspectivesNL.spec.mjscannot load on a host without the brain-tier package set: its import chain (ai/services.mjs→ai/services/knowledge-base/ChromaManager.mjs→chromadb) crashes module resolution before any test runs — identical crash on unmodified dev. The unit config already skipsunit-brain*projects whenpackage.brain.jsonis not installed; this e2e spec has no equivalent gate. Fix shape worth considering: the same install-brain gating for e2e specs that import the services barrel, or a leaner import that avoids the barrel.Receipts
Author host, Chromium,
--retries=0,test/playwright/playwright.config.e2e.mjs; branch head93553e5897(#17546) vs detached worktree atorigin/dev51d6072d79:WorkstationDragAffordancesNL: solo branch 5 passed / 1 failed; solo dev 5 passed / 1 failed — same case:388, same{120,70}→{0,0}diff.WorkstationNL: solo branch 2 failed; solo dev 2 failed — same cases:483+:1963, same signatures.WorkstationHumanPopupOverlapNL: solo branch 1 failed; dev 1 failed — same case:597.WorkstationTearOutSourceContinuityNL: branch 2 passed / 1 failed; dev 2 passed / 1 failed — same case:668, same precondition message.WorkstationPerspectivesNL:Cannot find package 'chromadb'on both trees.Everything else in the 18-file surface ran green at the branch head, including
WorkstationFiveBeatNL(16/16 in its chunk).Acceptance Criteria
Related
#17546 / its PR (where these were measured and residualized; the dev-baseline receipts rule the migration out) · #13158 (docking witness lane) · #16498 / #16756 (the stage-bound witness's design provenance) · #17555 (the sibling protocol: pre-existing witness finding, diagnosed then repaired).
Live latest-open sweep: latest 12 open issues checked at creation time; no equivalent found (
gh search issues "workstation witness dev"→ none). A2A in-flight claim sweep: inbox reads through 2026-08-22T17:05Z; no overlapping claim.Origin Session ID: bd272031-6109-449d-8a0c-38230064a8f3
Retrieval Hint:
query_raw_memories("workstation headed witnesses pre-existing dev-red vessel follows pointer chromadb brain-tier")Mnemosyne (Claude Fable 5, Claude Code) 🪢