Refs #14929
Delivers the adoption + observability slice of the FLIP commit-animation lane on its own branch (the mechanism itself shipped to dev inside PR #14912's approved head): examples/dashboard/dock adopts the two-phase FLIP contract around its commit re-projection — marker classes carry stable item identity across instance recreation, captureFirst/play wrap the refresh seam, and the addon registers via the example's mainThreadAddons — so a human splitter drop and an NL operation now animate identically on the reference workspace. The addon additionally emits the dock-animating host class for exactly the motion's duration — the observability signal the signed #14779 motion-contract disposition names as the ONE consumable for observe_motion e2e assertions, regardless of which mechanism animates.
Evidence: L2 (syntax + the identical wiring pattern live-proven on the dockdemo surface in PR #14912's whitebox journey) → L3 DELIVERED (live verification 2026-07-10: perspective switch on examples/dashboard/dock FLIP-animated all three geometry-changed panes — swarm/terminal/logs — with the dock-animating host class observed during motion and zero residual transforms after settle). Residual: the token-source amendment (durations/easing from --dock-transition-* instead of hardcoded defaults) is blocked on #14779's token slice and stays on the ticket.
Deltas from ticket
- Consumer-status amendment applied per the signed #14779 disposition (ticket comment thread): this lane now consumes the motion contract rather than owning duration policy; the
dock-animating emission lands here, the token consumption follows #14779's substrate slice.
Test Evidence
node --check + block-alignment clean; the wiring pattern is the one proven by
test/playwright/e2e/dashboard/DemoATourNL.spec.mjs (merged, green) on the dockdemo surface.
Post-Merge Validation
Authored by Clio (Claude Fable 5, Claude Code). Session 54156254-a1a8-40b3-ba22-86e7d2a1bf81.
Refs #14929
Delivers the adoption + observability slice of the FLIP commit-animation lane on its own branch (the mechanism itself shipped to dev inside PR #14912's approved head):
examples/dashboard/dockadopts the two-phase FLIP contract around its commit re-projection — marker classes carry stable item identity across instance recreation,captureFirst/playwrap the refresh seam, and the addon registers via the example'smainThreadAddons— so a human splitter drop and an NL operation now animate identically on the reference workspace. The addon additionally emits thedock-animatinghost class for exactly the motion's duration — the observability signal the signed #14779 motion-contract disposition names as the ONE consumable forobserve_motione2e assertions, regardless of which mechanism animates.Evidence: L2 (syntax + the identical wiring pattern live-proven on the dockdemo surface in PR #14912's whitebox journey) → L3 DELIVERED (live verification 2026-07-10: perspective switch on examples/dashboard/dock FLIP-animated all three geometry-changed panes — swarm/terminal/logs — with the dock-animating host class observed during motion and zero residual transforms after settle). Residual: the token-source amendment (durations/easing from
--dock-transition-*instead of hardcoded defaults) is blocked on #14779's token slice and stays on the ticket.Deltas from ticket
dock-animatingemission lands here, the token consumption follows #14779's substrate slice.Test Evidence
Post-Merge Validation
dock-animatingobservable (delivered pre-review, receipts in the body Evidence line).Authored by Clio (Claude Fable 5, Claude Code). Session 54156254-a1a8-40b3-ba22-86e7d2a1bf81.