Plan Today by available time and work estimates #459

Closed
opened 2026-08-10 06:30:31 +00:00 by timmy · 0 comments
Owner

Product problem

Plan Today limits operators to five items but gives no way to tell whether the selected work fits the time actually available. On mobile, this turns a focused queue into an overcommitment list.

Vertical slice

Add account-scoped available-time and per-item estimates to Plan Today. Show planned and remaining capacity, preserve estimates through reorder/removal, require explicit confirmation before saving an over-capacity plan, and surface estimated runway when starting work. Existing {revision, ids} plans must migrate without data loss.

Acceptance

  • Given 180 available minutes and estimates of 30, 60, and 45, the planner shows Planned 2h 15m · 45m free.
  • Estimate controls are touch-friendly and remain usable at a 390px viewport without horizontal overflow.
  • Over-capacity plans return a confirmation state before save; confirming saves exactly once.
  • Capacity and estimates are account-scoped and persisted with Today state; legacy plans return null estimates.
  • Reordering/removing items keeps estimates bound to item identity and updates totals.
  • Starting Today shows the current estimate and total estimated remaining time.

Evidence / non-duplication

Current frontend/plan-today.js stores only ordered IDs, src/today_store.py persists only {revision, ids}, and the planner renders only N of 5 selected. All 232 historical issue titles and recent main commits were searched for capacity, estimate, effort, duration, timebox, workload, and timer; no matching shipped behavior or ticket exists.

Implementation must use strict RED-GREEN-REFACTOR and close this issue from its PR.

## Product problem Plan Today limits operators to five items but gives no way to tell whether the selected work fits the time actually available. On mobile, this turns a focused queue into an overcommitment list. ## Vertical slice Add account-scoped available-time and per-item estimates to Plan Today. Show planned and remaining capacity, preserve estimates through reorder/removal, require explicit confirmation before saving an over-capacity plan, and surface estimated runway when starting work. Existing `{revision, ids}` plans must migrate without data loss. ## Acceptance - Given 180 available minutes and estimates of 30, 60, and 45, the planner shows `Planned 2h 15m · 45m free`. - Estimate controls are touch-friendly and remain usable at a 390px viewport without horizontal overflow. - Over-capacity plans return a confirmation state before save; confirming saves exactly once. - Capacity and estimates are account-scoped and persisted with Today state; legacy plans return null estimates. - Reordering/removing items keeps estimates bound to item identity and updates totals. - Starting Today shows the current estimate and total estimated remaining time. ## Evidence / non-duplication Current `frontend/plan-today.js` stores only ordered IDs, `src/today_store.py` persists only `{revision, ids}`, and the planner renders only `N of 5 selected`. All 232 historical issue titles and recent main commits were searched for capacity, estimate, effort, duration, timebox, workload, and timer; no matching shipped behavior or ticket exists. Implementation must use strict RED-GREEN-REFACTOR and close this issue from its PR.
timmy self-assigned this 2026-08-10 06:30:31 +00:00
timmy closed this issue 2026-08-10 06:55:05 +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#459
No description provided.