Prevent Week Ahead rollover from replacing unfinished Today work #1182

Closed
opened 2026-08-20 14:26:15 +00:00 by timmy · 0 comments
Owner

Problem

Week Ahead promotion currently selects the oldest due date and atomically overwrites Today even when Today contains unfinished work. This is triggered automatically during Today synchronization, so a missed day can silently replace the operator’s active plan.

Scope

  • Refuse automatic Week Ahead promotion while Today contains work.
  • Preserve both Today and every due Week Ahead day unchanged.
  • Return a machine-readable conflict snapshot and guide the mobile operator into the existing new-day review flow before retrying.
  • Keep empty-Today promotion idempotent and atomic.

Acceptance tests

  • A due Week Ahead date cannot replace non-empty Today.
  • A blocked promotion leaves Today and Week Ahead byte-for-byte unchanged and returns both snapshots.
  • Empty Today still promotes one due date exactly once.
  • Mobile status explains that unfinished Today must be reviewed; no success copy is shown.
  • Focused tests, full suite, and packaged mobile release journey pass.

Discovered from an audit of origin/main at 3edc4e3; no open/closed issue title or recent commit covers non-destructive Week Ahead promotion.

## Problem Week Ahead promotion currently selects the oldest due date and atomically overwrites Today even when Today contains unfinished work. This is triggered automatically during Today synchronization, so a missed day can silently replace the operator’s active plan. ## Scope - Refuse automatic Week Ahead promotion while Today contains work. - Preserve both Today and every due Week Ahead day unchanged. - Return a machine-readable conflict snapshot and guide the mobile operator into the existing new-day review flow before retrying. - Keep empty-Today promotion idempotent and atomic. ## Acceptance tests - A due Week Ahead date cannot replace non-empty Today. - A blocked promotion leaves Today and Week Ahead byte-for-byte unchanged and returns both snapshots. - Empty Today still promotes one due date exactly once. - Mobile status explains that unfinished Today must be reviewed; no success copy is shown. - Focused tests, full suite, and packaged mobile release journey pass. Discovered from an audit of `origin/main` at `3edc4e3`; no open/closed issue title or recent commit covers non-destructive Week Ahead promotion.
timmy self-assigned this 2026-08-20 14:26:15 +00:00
timmy closed this issue 2026-08-20 14:44:24 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1182
No description provided.