LearnNewsExamplesServices
Frontmatter
id15966
titleWorkstation dock overlays escape their positioning host
stateClosed
labels
bugaitestingregression
assigneesneo-gpt-emmy
createdAtJul 26, 2026, 5:33 AM
updatedAtJul 26, 2026, 8:35 AM
githubUrlhttps://github.com/neomjs/neo/issues/15966
authorneo-gpt-emmy
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[x] 15965 Dock geometry rect assertions in whitebox e2e
closedAtJul 26, 2026, 8:35 AM

Workstation dock overlays escape their positioning host

Closed Backlog/active-chunk-10 bugaitestingregression
neo-gpt-emmy
neo-gpt-emmy commented on Jul 26, 2026, 5:33 AM

Context

The operator noticed that Workstation's dock-position overlays looked wrong: the top indicator chip appeared over the application header. A live real-pointer probe at origin/dev 61a8d34e6d confirmed that visual read. The 64px tour bar plus 34px status bar put the dock host at y=98, but both transient overlay layers were positioned from viewport y=0.

This is the minimal realization repair that the systematic geometry coverage in #15965 will ride.

The Problem

The shared drag-affordance controller treats the dock host as its coordinate origin, but Workstation does not establish that host as the CSS containing block for its absolute overlay children.

Measured at 1280x720 during a parked real drag:

  • tour bar: y=0..64
  • status bar: y=64..98
  • dock host: y=98..720
  • indicator layer: y=0..720
  • top edge chip: y=10..36, intersecting the tour bar
  • target tabs zone: y=110
  • tab-into preview: y=12, exactly -98px from its target

The existing E2E remains green because it asserts worker candidate truth, overlay visibility, and release truth, but not geometry. The frame-delta census from #15950 also cannot detect a static displacement by construction.

The Architectural Reality

The overlay composition arrived in PR #15282; its visibility/commit witness never asserted the containing block or rect alignment.

The Fix

Lift the already-proven Demo-A positioning contract into .workstation-dock-host:

  1. make the host position: relative;
  2. make its direct .neo-dock-preview child absolute, inset-zero, pointer-transparent, and layered below the indicator menu;
  3. extend the existing parked-drag Workstation Neural Link E2E with fix-critical geometry assertions:
    • indicator layer bounds equal dock-host bounds;
    • every painted affordance stays inside the host;
    • the top edge chip does not intersect the tour bar;
    • the tab-into preview aligns to the measured target zone.

An isolated current-dev clone already proved this prescription with the same real-pointer journey: before the CSS pair, the geometry assertions fail by exactly 98px; after it, both layers span y=98..720, the preview starts at target y=110, and all containment/exclusion assertions pass.

Acceptance Criteria

  • Workstation establishes workstation-dock-host as the positioning context for both persistent drag-affordance overlays.
  • The preview layer fills the dock host without owning pointer input and remains below DockDropIndicators.
  • During the existing parked real drag, the indicator layer bounds match the dock-host bounds.
  • Every visible indicator and the preview affordance are contained by the dock host.
  • The top edge chip does not intersect the tour bar.
  • The tab-into preview aligns with the target tabs-zone rectangle within 1px.
  • The focused Workstation Neural Link E2E is RED before the CSS repair and GREEN after it.

Out of Scope

  • The shared multi-spec dockGeometry helper, boot containment chain, FiveBeat consumption, and broader edge-band matrix owned by #15965.
  • Flicker classification owned by #15955; a static offset is not a frame-delta event.
  • Changes to the shared dashboard geometry contract or persisted dock model.
  • Demo-A, which already carries the correct positioning pattern.

Avoided Traps

  • Viewport compensation constants: the 98px delta is a symptom, not a value to subtract. The correct repair is the missing CSS containing block.
  • Screenshot-only regression: theme/font-sensitive pixels do not encode the geometry contract; exact rectangles do.
  • A parallel drag system: the existing real pointer journey and Neural Link worker oracle remain the single interaction truth.

Decision Record impact

aligned-with ADR 0029. The ADR establishes transient per-window docking geometry; this repair makes Workstation honor the already-landed host-local realization.

Related

#15965 · #15207 · #15172 · #14959 · #15955

Live latest-open sweep: checked the latest 20 open issues at 2026-07-26T03:32Z; #15965 is the explicitly separate systematic follow-up and no equivalent repair ticket exists.

A2A in-flight sweep: checked the latest 30 all-state messages at 2026-07-26T03:32Z; Iris owns #15965 and explicitly routed this minimal repair lane to Emmy, with no competing claim.

Origin Session ID: 72c0c2a3-c9f0-4298-a5e4-7a9eda5ac341

Retrieval Hint: query_raw_memories("Workstation drop overlay -98px dock-host containing block Demo-A")