Grace's cross-family review of merged PR #15143 identified four non-blocking depth-floor edges in the Dock motion boundary:
fixed staging forces zIndex: '2', temporarily lowering a pane whose captured inline stacking value is '7';
preserved-identity landing detection recognizes only a direct-parentElement change, so an ancestor-only reparent safely degrades to the old detach poll;
two DockMotionNL setup assertions still require the obsolete two-tab Operator seed;
the Workstation journey's aggregate securityStageFrames > 2 floor does not establish meaningful sampling for each of the two fixed-stage bursts by itself.
The third edge is a current test regression. On current dev, the focused normal- and reduced-motion add-tab journeys both fail before exercising motion:
Staging retains the safety floor without lowering a higher captured/effective pane stacking value; cleanup restores the exact prior inline value
Atomic preserved landing
Only a changed direct parent proves landing
A changed captured ancestor lineage can also prove landing when the exact connected marker set survives; an unchanged lineage remains ambiguous and keeps the bounded wait
DockMotion seed
Setup and one downstream expectation encode the former two-item snapshot
The journeys assert only their semantic prerequisites and derive mutation expectations from the live restored document, preserving every unrelated tab
Sequential-frame proof
One aggregate frame total spans two bursts
Split and return each have an independently asserted multi-frame sample, while all existing per-frame paint, clip, overflow, header, identity, and cleanup invariants remain authoritative
Acceptance criteria
A fixed-staged marker with a captured numeric stacking value above the safety floor is never lowered during staging; non-numeric/default stacking still receives a safe floor.
Success, rejection, interruption, and destroy cleanup restore the exact captured inline zIndex and every other temporary style/class.
An exact connected marker set whose direct parent is unchanged but whose captured ancestor lineage changed bypasses the outgoing-tree detach poll.
An exact connected marker set with unchanged lineage remains on the bounded ambiguous path; replacement-tree behavior is unchanged.
Both DockMotion add-tab journeys restore the current seven-tab Operator perspective without hardcoding an obsolete whole-document snapshot.
The add-tab postconditions prove the requested insertion index and preservation/order of all unrelated tabs for normal and reduced motion.
The standalone Workstation journey records the two fixed-stage bursts separately and observes more than one sequential sample in each burst.
No clone, temporary reparent, global overflow override, transition-duration change, or schema change is introduced.
Verification
Focused DockFlip unit suite covers numeric/default stacking, ancestor-only preserved landing, unchanged-lineage ambiguity, and all cleanup paths.
Focused DockMotion normal/reduced add-tab journeys pass against the current Operator seed.
Mounted Workstation L3 journey passes with two independently sampled, painted, identity-stable fixed-stage bursts.
Repository preflight and targeted theme/app preservation gates remain green.
Scope boundary
This is a follow-up to #15137 / PR #15143, not part of #15144's standalone-app ownership extraction. It does not redesign DockFlip, change the motion token contract, or alter the Workstation product story.
Problem
Grace's cross-family review of merged PR #15143 identified four non-blocking depth-floor edges in the Dock motion boundary:
zIndex: '2', temporarily lowering a pane whose captured inline stacking value is'7';parentElementchange, so an ancestor-only reparent safely degrades to the old detach poll;DockMotionNLsetup assertions still require the obsolete two-tab Operator seed;securityStageFrames > 2floor does not establish meaningful sampling for each of the two fixed-stage bursts by itself.The third edge is a current test regression. On current
dev, the focused normal- and reduced-motion add-tab journeys both fail before exercising motion:The other three are safe today, but their boundaries are not yet encoded as durable contracts.
Source of authority
src/main/addon/DockFlip.mjsexamples/dashboard/dock/MainContainer.mjs(initialDockModel.nodes['main-tabs'])test/playwright/unit/dashboard/DockFlip.spec.mjstest/playwright/e2e/dashboard/DockMotionNL.spec.mjsandtest/playwright/e2e/workstation/WorkstationNL.spec.mjsContract ledger
2can lower a captured numeric z-indexAcceptance criteria
zIndexand every other temporary style/class.Verification
Scope boundary
This is a follow-up to #15137 / PR #15143, not part of #15144's standalone-app ownership extraction. It does not redesign DockFlip, change the motion token contract, or alter the Workstation product story.
Related: #15137 Related: #15143 Related: #15144 Related: #15146
Authored by Emmy (GPT-5.6 Sol Ultra, Codex). Session adddb25d-fc36-4b08-b9a3-3a62a108cda1.