Context
The hosted Brain-gated run 38329136878 at 72dd30789e exposes two boundaries in WorkstationNestedColumnResizeNL: its active-motion precondition can expire before resize begins, and a local replay that reaches resize observes residual transformed pane geometry after fixed staging is removed.
Root's exact-head replay, three attempts, reaches the active/fixed-stage precondition but fails the preview width oracle each time: Feed measures about 907.88px against its 904.1875px column. Its excess decays after release. Both panes' inline styles and fixed-stage classes are already cleared. The same remaining FLIP fraction predicts their other rect coordinates; that attribution was initially an inference.
A separate real-Chrome control isolates the browser mechanism: start a 280ms transform transition on a 100px element, wait 80ms, then clear transform/origin/transition inline styles in the current cleanup order. Chrome still reports a running transform transition and a 176.18px visual width. Suppressing the transition and flushing its animation state before restoring styles produces 100px and no transition.
The Problem
Clearing inline presentation is insufficient to cancel an already-running CSS transition. A pointer can therefore reclaim flex layout while a residual FLIP effect still changes the pane's visual geometry. The existing witness also races the motion lifetime: its nominal admission sample follows several asynchronous reads and a 105ms dwell, but the Mouse sensor's 5px distance threshold has not been crossed yet. Both hosted attempts settle before that sample and never exercise resize.
The Architectural Reality
Design authority: DockFlip.land promises to instantly land host-scoped presentation before direct manipulation measures geometry; Main DragDrop.onDragStart calls landFromPath synchronously before Resize.start. The resolved #17985 contract requires transform-inclusive panes to follow their nested column within 2px.
src/main/addon/DockFlip.mjs owns active cleanup, pending waits, exact inline-style snapshots and host scope. MotionSignal remains worker-side observability. This is not a reducer, recursive descendant-sizing or Group-supersession problem.
The Fix
Restore the captured geometry while CSS transitions are suppressed, flush that restored state, then reinstate the caller's transition policy. This stops an active effect and prevents a new effect when landing interrupts the inverse frame. Preserve pre-existing inline values, unrelated animations, host scope, idempotence and interruption outcomes. Exercise the real transition lifecycle in a browser, with a negative control against the current cleanup.
Make the existing nested-column witness deliberately reach the real native admission boundary while fixed staging exists. Use the actual Mouse sensor and trusted pointer path; preserve the model, preview geometry, release, identity and Escape oracles. Do not fabricate motion flags, lengthen timeouts or loosen geometry tolerances.
Contract Ledger
| Surface |
Authority |
Behavior |
Fallback / evidence |
| DockFlip cleanup / land |
existing DockFlip host-scoped lifecycle and inline snapshot |
owner transitions stop before restored geometry is read; prior inline values return |
missing motion remains a synchronous no-op; real-browser transition and lifetime controls |
| Native resize admission |
Main DragDrop before Resize.start |
controlled witness proves fixed staging before admission and clean computed geometry afterward |
original no-op-landing negative control remains red |
| Nested preview and terminal |
resolved #17985 contract |
shells within 1px, transform-inclusive panes within 2px; conserved pair and unchanged preview document; release/cancel unchanged |
current and repaired full existing journey |
Decision Record impact: aligned with ADR 0029 §2.1; no persisted schema, operation or public API change.
Acceptance Criteria
Out of Scope
The FiveBeat preview flip diagnosis, grid font parity already repaired in #19704, Group projection revision fencing, archive provisioning, and broader animation architecture.
Avoided Traps
Restoring style strings as proof of cancelled effects; treating an expired precondition as a MotionSignal bug; widening tolerances; assigning recursive pixel widths to panes; cancelling another host's animation.
Related
#19655 · #19657 · #17844 · resolved predecessor #17985 · PR #19705 quarantine
Live latest-open sweep: latest 20 open issues checked 2026-10-13T01:46Z; no equivalent. Recent all-status A2A sweep shows Grace transferring only the nested-column diagnosis to Root. Own assignments include #17844, which owns evidence and explicitly requires repairs in their own leaf. MC sweep on DockFlip / running CSS transition / inline transform returned earlier snapshot-ownership history, not this cleanup defect. Current dev de92007b11 leaves DockFlip and this witness unchanged from the measured 72dd30789e.
Origin Session ID: 8c0f4f80-c07d-415b-b4f9-3f323d031ce3
Retrieval Hint: DockFlip land empty inline transform running CSS transition nested column resize
Context
The hosted Brain-gated run 38329136878 at
72dd30789eexposes two boundaries inWorkstationNestedColumnResizeNL: its active-motion precondition can expire before resize begins, and a local replay that reaches resize observes residual transformed pane geometry after fixed staging is removed.Root's exact-head replay, three attempts, reaches the active/fixed-stage precondition but fails the preview width oracle each time: Feed measures about 907.88px against its 904.1875px column. Its excess decays after release. Both panes' inline styles and fixed-stage classes are already cleared. The same remaining FLIP fraction predicts their other rect coordinates; that attribution was initially an inference.
A separate real-Chrome control isolates the browser mechanism: start a 280ms transform transition on a 100px element, wait 80ms, then clear transform/origin/transition inline styles in the current cleanup order. Chrome still reports a running transform transition and a 176.18px visual width. Suppressing the transition and flushing its animation state before restoring styles produces 100px and no transition.
The Problem
Clearing inline presentation is insufficient to cancel an already-running CSS transition. A pointer can therefore reclaim flex layout while a residual FLIP effect still changes the pane's visual geometry. The existing witness also races the motion lifetime: its nominal admission sample follows several asynchronous reads and a 105ms dwell, but the Mouse sensor's 5px distance threshold has not been crossed yet. Both hosted attempts settle before that sample and never exercise resize.
The Architectural Reality
Design authority:
DockFlip.landpromises to instantly land host-scoped presentation before direct manipulation measures geometry; MainDragDrop.onDragStartcallslandFromPathsynchronously beforeResize.start. The resolved#17985contract requires transform-inclusive panes to follow their nested column within 2px.src/main/addon/DockFlip.mjsowns active cleanup, pending waits, exact inline-style snapshots and host scope. MotionSignal remains worker-side observability. This is not a reducer, recursive descendant-sizing or Group-supersession problem.The Fix
Restore the captured geometry while CSS transitions are suppressed, flush that restored state, then reinstate the caller's transition policy. This stops an active effect and prevents a new effect when landing interrupts the inverse frame. Preserve pre-existing inline values, unrelated animations, host scope, idempotence and interruption outcomes. Exercise the real transition lifecycle in a browser, with a negative control against the current cleanup.
Make the existing nested-column witness deliberately reach the real native admission boundary while fixed staging exists. Use the actual Mouse sensor and trusted pointer path; preserve the model, preview geometry, release, identity and Escape oracles. Do not fabricate motion flags, lengthen timeouts or loosen geometry tolerances.
Contract Ledger
#17985contractDecision Record impact: aligned with ADR 0029 §2.1; no persisted schema, operation or public API change.
Acceptance Criteria
Out of Scope
The FiveBeat preview flip diagnosis, grid font parity already repaired in #19704, Group projection revision fencing, archive provisioning, and broader animation architecture.
Avoided Traps
Restoring style strings as proof of cancelled effects; treating an expired precondition as a MotionSignal bug; widening tolerances; assigning recursive pixel widths to panes; cancelling another host's animation.
Related
#19655 · #19657 · #17844 · resolved predecessor #17985 · PR #19705 quarantine
Live latest-open sweep: latest 20 open issues checked 2026-10-13T01:46Z; no equivalent. Recent all-status A2A sweep shows Grace transferring only the nested-column diagnosis to Root. Own assignments include #17844, which owns evidence and explicitly requires repairs in their own leaf. MC sweep on DockFlip / running CSS transition / inline transform returned earlier snapshot-ownership history, not this cleanup defect. Current dev
de92007b11leaves DockFlip and this witness unchanged from the measured72dd30789e.Origin Session ID: 8c0f4f80-c07d-415b-b4f9-3f323d031ce3
Retrieval Hint: DockFlip land empty inline transform running CSS transition nested column resize