Marking ops present when the queue activated a strategy missed two paths. A trip to a local strategy and back redraws the canvas from the server, but the queue never switches, so work sent before the trip landed as the canvas's own. And a successor promoted in the background while the user opened its strategy was stored after activation looked, so its new op ID went unmarked. The queue now remembers the reverse: op IDs it made from the canvas's desired ops, plus the ops it resends in their place. Live sync tells it to forget them whenever it drops its bases and overlays (a strategy opened or left, local ones included, or a reset), and ops asked for before that are not counted. Every other ack is marked restored, so a background promotion needs no bookkeeping at all. Remembered IDs are pruned once their records are gone, inside the queue's serialized writes. The new regressions drive the real queue: a cloud, local, cloud round trip through the page session with a drop over the landed edit, and a gated store that opens the strategy mid-promotion. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Dara Adedeji committed on 10/1/2026, 2:49:50 PMparent8eaacc1
5 files changedLine totals unavailable