Context
Parent #17844 requires every failing Neural Link journey to have a truthful disposition or a linked repair. Its native pair now identifies a test-fixture defect in the popup-history arm of test/playwright/e2e/workstation/WorkstationTopologyGroupsNL.spec.mjs at Engine d75cc68543 / external Brain 03da5025.
The Problem
The arm expects native-popup-move after an arbitrary +120,+90 CDP offset. With a native viewport, that move admitted a native-docking candidate in all 32 polling observations and the unchanged 30s free-move assertion failed. A verified move outside the live target rectangles passed in 11.2s: no docking candidate, stable popup binding/generation, exactly one additional free-move row, correct committed offsets and complete ordered undo/redo. The emulated viewport also reported the popup's own dimensions as its available screen, making it unsuitable for native display placement.
The Architectural Reality
src/dashboard/dock/window/Placement.mjs#ingest intentionally refuses a free-move history row while DragCoordinator.nativeWindowDropCandidates contains the source. The existing DockPlacementNL.spec.mjs uses a native viewport and observed physical geometry for this evidence class. The failing arm owns selection of the physical scenario; the production writer already passes the verified free-move control.
Design authority: the owning Placement JSDoc says, "A free popup move appends after quiescence." Native-docking suppression remains unchanged. This correction restores the test's stated free-movement scenario and preserves Group history behavior.
The Fix
Keep the change in the existing Workstation topology test module. Give only this history arm a native viewport, choose physical placement outside the live docking targets with room for a second move, and verify the scenario before demanding a free-move row. Compare the exact new row and committed relative offsets, preserve binding/generation and retain the existing newest-first undo/full-redo checks. Other topology tests retain their established emulated viewport.
Acceptance Criteria
Out of Scope
Production placement/docking/history changes; other popup conversion mechanisms; native media/film acceptance; wider parent closure; runtime configuration or shared services.
Avoided Traps
No timeout widening, candidate clearing, manual geometry publication, synthetic transaction row, or count-only false green. No global viewport change that alters unrelated topology tests.
Decision Record impact
None: test-fixture correction preserving ADR 0029's existing semantic/presentation boundaries. No new .mjs module or runtime surface.
Related
Parent: #17844. The open #16358 owns a separate intermittent large-over-small conversion/park mechanism and is not this fixture correction.
Creation Evidence
Live latest-open sweep: latest 20 open Engine issues read at 2026-10-09 04:51 UTC; no equivalent. Historical title/source searches found the existing evidence parent and closed Group/toolbar work, not an open repair. All-state A2A latest30 claim sweep found no overlapping claim. MC sweep: three framings surfaced current investigation efeab09b-9319-4935-8d42-6da3285741cc; broader hits were unrelated. Own-assignment sweep: three open Engine issues; #17844 is the evidence-only parent, the naming/onboarding outcomes are separate. Brain structure map ran with --files --loc; the owning edit remains the existing Engine E2E sibling module. Labels verified live.
Origin Session ID: 1690d62c-24ed-41e2-93e0-22159beeb56f
Retrieval Hint: WorkstationTopologyGroupsNL native popup history free movement docking candidate
Context
Parent #17844 requires every failing Neural Link journey to have a truthful disposition or a linked repair. Its native pair now identifies a test-fixture defect in the popup-history arm of
test/playwright/e2e/workstation/WorkstationTopologyGroupsNL.spec.mjsat Engined75cc68543/ external Brain03da5025.The Problem
The arm expects
native-popup-moveafter an arbitrary+120,+90CDP offset. With a native viewport, that move admitted a native-docking candidate in all 32 polling observations and the unchanged 30s free-move assertion failed. A verified move outside the live target rectangles passed in 11.2s: no docking candidate, stable popup binding/generation, exactly one additional free-move row, correct committed offsets and complete ordered undo/redo. The emulated viewport also reported the popup's own dimensions as its available screen, making it unsuitable for native display placement.The Architectural Reality
src/dashboard/dock/window/Placement.mjs#ingestintentionally refuses a free-move history row whileDragCoordinator.nativeWindowDropCandidatescontains the source. The existingDockPlacementNL.spec.mjsuses a native viewport and observed physical geometry for this evidence class. The failing arm owns selection of the physical scenario; the production writer already passes the verified free-move control.Design authority: the owning Placement JSDoc says, "A free popup move appends after quiescence." Native-docking suppression remains unchanged. This correction restores the test's stated free-movement scenario and preserves Group history behavior.
The Fix
Keep the change in the existing Workstation topology test module. Give only this history arm a native viewport, choose physical placement outside the live docking targets with room for a second move, and verify the scenario before demanding a free-move row. Compare the exact new row and committed relative offsets, preserve binding/generation and retain the existing newest-first undo/full-redo checks. Other topology tests retain their established emulated viewport.
Acceptance Criteria
native-popup-moverow and matching committed offsets are asserted.Out of Scope
Production placement/docking/history changes; other popup conversion mechanisms; native media/film acceptance; wider parent closure; runtime configuration or shared services.
Avoided Traps
No timeout widening, candidate clearing, manual geometry publication, synthetic transaction row, or count-only false green. No global viewport change that alters unrelated topology tests.
Decision Record impact
None: test-fixture correction preserving ADR 0029's existing semantic/presentation boundaries. No new
.mjsmodule or runtime surface.Related
Parent: #17844. The open #16358 owns a separate intermittent large-over-small conversion/park mechanism and is not this fixture correction.
Creation Evidence
Live latest-open sweep: latest 20 open Engine issues read at 2026-10-09 04:51 UTC; no equivalent. Historical title/source searches found the existing evidence parent and closed Group/toolbar work, not an open repair. All-state A2A latest30 claim sweep found no overlapping claim. MC sweep: three framings surfaced current investigation
efeab09b-9319-4935-8d42-6da3285741cc; broader hits were unrelated. Own-assignment sweep: three open Engine issues; #17844 is the evidence-only parent, the naming/onboarding outcomes are separate. Brain structure map ran with--files --loc; the owning edit remains the existing Engine E2E sibling module. Labels verified live.Origin Session ID: 1690d62c-24ed-41e2-93e0-22159beeb56f Retrieval Hint:
WorkstationTopologyGroupsNL native popup history free movement docking candidate