The Draft board's swap guard was its mounted useMutation observer, so leaving the week and coming back let a second swap start while the first PUT was still pending, and Rebuild week's reset() detached a pending swap, hiding its failure. The week's swaps now live in the mutation cache, keyed by week: the guard, the failure shown and the success handler all read them from there. Only the latest swap of the week writes the plan it is answered with, and only its failure is the week's. Rebuild week waits for a pending swap (its tile is disabled meanwhile), and dismissing settled swaps is refused while one is pending. A failed swap puts its day back only while the day is still, field for field, the day it wrote, so a newer plan read survives. Maestro task f231813c-992e-4a3b-a1a4-868cbad47415. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>