Release blocker on the v13.2 cut (#14800) until AC-1 runs on dev. Filed by Mnemosyne from the operator's hand check of apps/workstation (2026-10-10, 15:24–15:26Z, #19533 AC-3); owner @neo-opus-ada.
Status (19:40Z): AC-1 holds, closed as fixed by #19539 + #19542
At 19:29Z the operator ran the gesture on a fresh worker that the webpack dev server served from merged dev (1c43d51e26), and reported that it now looks right (relayed by Mnemosyne). Ada's Neural Link reads right after:
| Read |
Value |
The worker runs merged dev |
Neo.dashboard.dock.window.TearOut, first shipped by #19564, is registered |
lastVesselParkReceipt |
null: no park ran |
| Window topology |
main only: popup A and the eight vessel windows the second gesture opened are all closed |
tearOutHandlers |
activeVessel, lateVessel and pendingAdmission are null; returning is empty |
lastTearOutClose (commits) |
native dispatch, acknowledged, closed, on the exact route |
| Dock document |
all 20 items in main; commits and alerts are live and mounted |
The coordinator's claim ring keeps 40 entries. All 40 are the second gesture's last resolutions, with the pointer outside A, so the ring cannot show A's claim. The claim rests on the operator's observation, as AC-1 specifies.
Evidence
The reads below were taken over the Neural Link from the operator's Workstation page (useSharedWorkers: true) at 16:40Z.
| Read |
Running page |
dev |
TabSortZone#resolveRemoteDragTransition |
The sensor-driven conversion: {draggedItem, logicalSourceRect, now, pointerInTarget, replayAfterTransition, targetId, targetRect}. |
{draggedItem, pointerInTarget}; a claim fires dragBoundaryEntry, which retires the vessel (#19539, merged 02:23Z). |
VesselWorkspace#parkTearOutVessel |
Carries the pointer branch: DragDrop.parkWindowDrag, resolveClearPark, and writes of needsResize / parkSize / cleared. |
Native title-bar park only. git grep for those names → 0 hits (#19542 merged 13:43Z, #19552 merged 14:25Z). |
lastVesselParkReceipt |
needsResize: true, parkSize: 320×173, cleared: true, moved: true, parked: true, no focused. |
— |
Reading:
- The receipt is the pointer-path conversion park, i.e. the corner park that #19539 retired. It is not the native title-bar park.
- On
dev, the pointer source's suspend only hides its proxy (TabSortZone#suspendWindowDrag). The one park left is the native title-bar drop's (DragCoordinator#commitNativeWindowDrop → DragTarget#suspendWindowDrag). Its source resolver reads committed owners only (Participation#defaultResolveNativeWindowDrag → nativeWindows.ownerEntries, written at TearOut#onDockTearOutTerminal).
Cause (confirmed 17:18Z, Mnemosyne): the operator's IDE built-in server (localhost:63342) kept serving pre-merge modules after the pull, even to a restarted SharedWorker. Served from the webpack dev server (:8082), the page runs dev's source.
Acceptance Criteria
The former AC-2 and AC-3 (a native-capability witness; nativeRoute no longer deciding the claim path) are removed. Both rested on the premise that the handle steers the pointer claim, and the source above refutes that for dev. A pointer arm with native capabilities granted is still a coverage gap. It does not block the release.
Out of Scope
- The torn-out window's size (#19450, PR #19559).
- The refused-open explanation (#19537).
- The film take (#15252). The take should also record on a worker that runs
dev.
Related
#19533 / PR #19539, #19538 / PR #19542, #19541 / PR #19552, #14800, #15252.
Origin Session ID: 656ab1e8-7b9c-4a10-b370-8718db430fad
Retrieval Hint: "foreign popup pointer drag park stale SharedWorker pre-19539 needsResize parkSize cleared receipt"
Release blocker on the v13.2 cut (#14800) until AC-1 runs on
dev. Filed by Mnemosyne from the operator's hand check ofapps/workstation(2026-10-10, 15:24–15:26Z, #19533 AC-3); owner @neo-opus-ada.Status (19:40Z): AC-1 holds, closed as fixed by #19539 + #19542
At 19:29Z the operator ran the gesture on a fresh worker that the webpack dev server served from merged
dev(1c43d51e26), and reported that it now looks right (relayed by Mnemosyne). Ada's Neural Link reads right after:devNeo.dashboard.dock.window.TearOut, first shipped by #19564, is registeredlastVesselParkReceiptnull: no park rantearOutHandlersactiveVessel,lateVesselandpendingAdmissionarenull;returningis emptylastTearOutClose(commits)commitsandalertsare live and mountedThe coordinator's claim ring keeps 40 entries. All 40 are the second gesture's last resolutions, with the pointer outside A, so the ring cannot show A's claim. The claim rests on the operator's observation, as AC-1 specifies.
Evidence
The reads below were taken over the Neural Link from the operator's Workstation page (
useSharedWorkers: true) at 16:40Z.devTabSortZone#resolveRemoteDragTransition{draggedItem, logicalSourceRect, now, pointerInTarget, replayAfterTransition, targetId, targetRect}.{draggedItem, pointerInTarget}; a claim firesdragBoundaryEntry, which retires the vessel (#19539, merged 02:23Z).VesselWorkspace#parkTearOutVesselDragDrop.parkWindowDrag,resolveClearPark, and writes ofneedsResize/parkSize/cleared.git grepfor those names → 0 hits (#19542 merged 13:43Z, #19552 merged 14:25Z).lastVesselParkReceiptneedsResize: true,parkSize: 320×173,cleared: true,moved: true,parked: true, nofocused.Reading:
dev, the pointer source's suspend only hides its proxy (TabSortZone#suspendWindowDrag). The one park left is the native title-bar drop's (DragCoordinator#commitNativeWindowDrop→DragTarget#suspendWindowDrag). Its source resolver reads committed owners only (Participation#defaultResolveNativeWindowDrag→nativeWindows.ownerEntries, written atTearOut#onDockTearOutTerminal).Cause (confirmed 17:18Z, Mnemosyne): the operator's IDE built-in server (
localhost:63342) kept serving pre-merge modules after the pull, even to a restarted SharedWorker. Served from the webpack dev server (:8082), the page runsdev's source.Acceptance Criteria
dev: the vessel closes when popup A shows the proxy, andlastVesselParkReceiptstays null (human-owned, L4). Held at 19:29Z (Status).dev-shaped receipt and the claim trace become this ticket's evidence.The former AC-2 and AC-3 (a native-capability witness;
nativeRouteno longer deciding the claim path) are removed. Both rested on the premise that the handle steers the pointer claim, and the source above refutes that fordev. A pointer arm with native capabilities granted is still a coverage gap. It does not block the release.Out of Scope
dev.Related
#19533 / PR #19539, #19538 / PR #19542, #19541 / PR #19552, #14800, #15252.
Origin Session ID: 656ab1e8-7b9c-4a10-b370-8718db430fad Retrieval Hint: "foreign popup pointer drag park stale SharedWorker pre-19539 needsResize parkSize cleared receipt"