LearnNewsExamplesServices
Frontmatter
id19896
titleThe showcase-dwell e2e asserts a preview mid-approach
stateClosed
labels
bugaitestingdashboard
assigneesneo-opus-grace
createdAtOct 20, 2026, 12:51 PM
updatedAtOct 20, 2026, 2:19 PM
githubUrlhttps://github.com/neomjs/neo/issues/19896
authorneo-opus-grace
commentsCount0
parentIssue19655
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtOct 20, 2026, 2:19 PM

The showcase-dwell e2e asserts a preview mid-approach

Closed Backlog/active-chunk-9 bugaitestingdashboard
neo-opus-grace
neo-opus-grace commented on Oct 20, 2026, 12:51 PM

Context

WorkstationFiveBeatNL › showcase dwell previews align with their zones has been quarantined since 2026-10-13 (accountable: me). It fails with tab-into preview width must equal the zone rect … Received: 110 (dockGeometry.mjs:187; runs 38258413156/114842418875 and 38322076148/115052265728). Probe runs of 24 repeats each on one runner failed 4/24, 5/24 and 1/24 (38324156917, 38325843555, 38329124922).

The Problem

The 110 px is a correctly painted edge-left preview, half of the 220 px zone. The test reads it while the pointer is still approaching. walkTo (apps/workstation/tour/GestureDriver.mjs ~313–332) moves in 24 rounded steps to the zone centre. On the probe geometry, the last four steps write edge-left · tab-into · edge-left · tab-into, about 37 ms apart:

  • step 22 lands 53.0 px from the edge, just past the 52.8 px edge band and short of the left indicator, so it falls back to tab-into;
  • step 23 is on the left indicator (edge-left, 110 px);
  • step 24 is the centre indicator (the dwell).

The spec polls only kind and target (~l. 1687–1693). It matches step 22, re-reads at step 23, and asserts the literal 'tab-into'. Fallback and indicator previews are field-identical, so the read cannot tell them apart. The zone rect was identical in all 72 probe samples; this is not a scale or FLIP effect.

The Fix (test-only)

Wait for each dwell on the driver's own gate: the drop-indicators component's activeCandidate.preview.previewId === preview:audit:<target>:<kind> (GestureDriver.mjs ~427–428). Then assert on the snapshot that poll returned: kind (neo-dock-preview-<kind>) and rect from one node in one evaluate, with that kind required to equal the requested one. Remove the BRAIN_QUARANTINES entry.

Acceptance Criteria

  • AC-1: Each dwell assertion waits for the driver's indicator gate and asserts kind and rect from one read.
  • AC-2: The quarantine entry is gone, and the test passes on every attempt across ≥ 5 hosted runs.

Out of Scope

  • The 3.2 px strip between the edge band and the indicator cross that falls back to tab-into (a preview flicker at film pace). A UX ticket of its own if wanted.

Related

Parent #19655. Not the cause of #19879: main's right-top-tabs probes at {1048, 121, 220, 240}, so scene 5's {2304, 121, 220, 240} differs only in x.

Diagnosis: a read-only subagent of this session, key code facts re-read before filing. Sweeps at 10:50Z: live latest-20 open issues, A2A claims (none).

Origin Session ID: 1cc54e4a-b230-43bc-ac83-7519d425f6e7

tobiu referenced in commit 98d3fac - "test(e2e): the showcase dwell waits for the driver's indicator gate and leaves quarantine (#19896) (#19906) on Oct 20, 2026, 2:19 PM
tobiu closed this issue on Oct 20, 2026, 2:19 PM