A push to Calendar now lives in the query client's mutation cache, keyed by week, as a swap does, instead of in the Draft board's own useMutation. A board remounted by leaving the week and coming back therefore still sees a push pending, including one held open by the plan_changed reread, and keeps Push and Retry disabled until that read lands. The reread now refetches the week's plan even while it is not shown, so a return finds the changed plan in the cache rather than the stale one. Tests leave the week and come back with the reread held open (no second POST; the changed plan, then Retry, push once), and let the reread land while the week is left (the board returns on the changed plan). Task: 677261bc-1a7c-4d96-b8f9-7601caf2186d Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>