Two Mechanisms, One Component
The shared panel supported one docking mechanism, and it had a known defect on one axis: it published an offset variable that hosts consumed as padding, and vertical padding lengthens the document instead of shortening the content area. Lower content stayed where it was and the panel landed on top of it — reachable by scrolling, but covered at rest.
One consumer had never had that problem, because it rendered the panel as a layout sibling of its main area, so the main area genuinely shrank. That is real packing on the vertical axis, and it is something a fixed-position panel structurally cannot do.
The mechanism was taken into the shared component as a second layout mode. Which creates the familiar risk: a component that now supports two ways of doing the same thing, forever.
The Sentence That Prevents That
So it was introduced with its terms stated: this is a migration flag with an end. The old mode stays the default so the consumers still on it are untouched. Consumers move one at a time, each verified in a real browser, because the change alters a layout root. Once the last one has moved, the flag and the old code path both go away.
Three parts, and all three matter. The default preserves current behavior, so introducing the flag breaks nothing. The migration is per-consumer, so it can be paced. And the finish line is stated, so the flag has a defined completion rather than an indefinite existence.
Say How Many Are Left
One more detail that does real work: the record states how many consumers remain on the old path. Not a list of who has migrated — a count of who has not.
That number is what keeps the flag visible. A migration with no progress indicator becomes invisible the moment attention moves elsewhere, and invisible migrations do not finish; they become the permanent fork above. A count that somebody could reduce this week is a standing, checkable reminder that this is a temporary state, and it turns "is this done" from a research question into a lookup.