Recover admitted Today blockers across reloads #1068

Closed
opened 2026-08-18 07:18:35 +00:00 by rockachopa · 0 comments
Member

Problem

If a blocker comment is admitted but the Today planning transition fails, the checkpoint survives reload but the return time does not return to the progress sheet. Retry is blocked by the empty input. Once the stored time expires, the current model also ignores a replacement time. This leaves the operator on blocked work even though the comment is already queued.

Evidence on origin/main (1bd87fc): frontend/today-progress.js persists blocker_pending/blocker_until, but createTodayProgressView restores only the body, validates the blank datetime input before recovery, and postBlocker forces the old checkpoint time on retry. Existing model coverage calls postBlocker directly and misses the rendered reload flow. No open/closed issue title or recent first-parent commit describes reload-safe blocker planning recovery.

Acceptance

  • Reopening the exact active Today item restores a distinct blocker-recovery state and its return time.
  • Recovery never admits the blocker comment a second time.
  • If the saved return time expired, a replacement future time updates only the planning checkpoint and completes the defer/continue transition.
  • A target identity change refuses recovery.
  • Focused model/view tests and the full suite pass.
## Problem If a blocker comment is admitted but the Today planning transition fails, the checkpoint survives reload but the return time does not return to the progress sheet. Retry is blocked by the empty input. Once the stored time expires, the current model also ignores a replacement time. This leaves the operator on blocked work even though the comment is already queued. Evidence on `origin/main` (`1bd87fc`): `frontend/today-progress.js` persists `blocker_pending`/`blocker_until`, but `createTodayProgressView` restores only the body, validates the blank datetime input before recovery, and `postBlocker` forces the old checkpoint time on retry. Existing model coverage calls `postBlocker` directly and misses the rendered reload flow. No open/closed issue title or recent first-parent commit describes reload-safe blocker planning recovery. ## Acceptance - Reopening the exact active Today item restores a distinct blocker-recovery state and its return time. - Recovery never admits the blocker comment a second time. - If the saved return time expired, a replacement future time updates only the planning checkpoint and completes the defer/continue transition. - A target identity change refuses recovery. - Focused model/view tests and the full suite pass.
timmy was assigned by rockachopa 2026-08-18 07:18:35 +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#1068
No description provided.