Prunes settled swap cache entries, stops identical-day rollback, requires an offset on syncedAt, and refreshes the plan on 409 dinner_already_planned. Head: c65e781c98.
Maestro task d21e4a83-9ae4-4944-9621-a10db9fad0b9.
Prunes settled swap cache entries, stops identical-day rollback, requires an offset on syncedAt, and refreshes the plan on 409 dinner_already_planned. Head: c65e781c98b6400b6540cd58a62c501c28fde009.
- keepWeekMutations: once none of a week's swaps is pending only the latest
is kept; a failed latest swap stays across showing other weeks until the
week's board leaves it behind, so coming back still shows it.
- useSwapDay: a failed PUT rolls its day back only if no server plan read
has landed since its optimistic write (query update generation), even a
read whose day matches the optimistic one.
- syncedAt: calendar_synced_at must be a full RFC 3339 instant with an
offset before it is parsed.
- A swap refused with 409 dinner_already_planned reads the plan again; the
Draft board offers "Choose another dinner" instead of resending it.
Task: d21e4a83-9ae4-4944-9621-a10db9fad0b9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Maestro task d21e4a83-9ae4-4944-9621-a10db9fad0b9.
Prunes settled swap cache entries, stops identical-day rollback, requires an offset on syncedAt, and refreshes the plan on 409 dinner_already_planned. Head:
c65e781c98.Independent Codex gpt-6-sol review: APPROVED for this exact commit.