Build a capacity-aware Today plan from ranked ready work #633

Closed
opened 2026-08-12 08:21:41 +00:00 by timmy · 0 comments
Owner

Problem

On mobile, an empty Today queue routes operators into Plan Today, but assembling a plan still requires previewing candidates one-by-one, adding them, ordering them, and entering estimates. The product already ranks My Work and stores estimates/capacity, yet cannot compose those signals into a reviewable draft.

Slice

Add Build my Today to Plan Today. It must deterministically select ranked, readiness-verified work within the entered capacity, explain each selection, surface high-priority unknown estimates as needing input, and never write until Save or Save & start. Blocked/unverified work must not be silently selected. The generated draft remains editable through existing controls.

Acceptance

  • Capacity packing chooses the best ranked combination that fits known estimates.
  • Blocked/unverified candidates are excluded and summarized.
  • Unknown-estimate priority work is surfaced without claiming a capacity fit.
  • Building/dismissing performs no sync; existing explicit commit path remains authoritative.
  • Mobile planner is one-column with no horizontal overflow and accessible live status/actions.
  • Behavioral tests cover recommendation, safety, explicit commit, and mobile rendering.

Non-duplication evidence

Reviewed all 629 historical issue/PR entries and recent commits through 28a2c9f. Prior work covers manual Plan Today (#385/#386), capacity and estimates (#459/#460), recap adjustment (#583/#584), budget-risk replanning (#597/#598), and empty-Today routing (#611/#612), but not readiness-aware generation of a reviewable plan from ranked My Work.

## Problem On mobile, an empty Today queue routes operators into Plan Today, but assembling a plan still requires previewing candidates one-by-one, adding them, ordering them, and entering estimates. The product already ranks My Work and stores estimates/capacity, yet cannot compose those signals into a reviewable draft. ## Slice Add **Build my Today** to Plan Today. It must deterministically select ranked, readiness-verified work within the entered capacity, explain each selection, surface high-priority unknown estimates as needing input, and never write until Save or Save & start. Blocked/unverified work must not be silently selected. The generated draft remains editable through existing controls. ## Acceptance - Capacity packing chooses the best ranked combination that fits known estimates. - Blocked/unverified candidates are excluded and summarized. - Unknown-estimate priority work is surfaced without claiming a capacity fit. - Building/dismissing performs no sync; existing explicit commit path remains authoritative. - Mobile planner is one-column with no horizontal overflow and accessible live status/actions. - Behavioral tests cover recommendation, safety, explicit commit, and mobile rendering. ## Non-duplication evidence Reviewed all 629 historical issue/PR entries and recent commits through `28a2c9f`. Prior work covers manual Plan Today (#385/#386), capacity and estimates (#459/#460), recap adjustment (#583/#584), budget-risk replanning (#597/#598), and empty-Today routing (#611/#612), but not readiness-aware generation of a reviewable plan from ranked My Work.
timmy self-assigned this 2026-08-12 08:21:41 +00:00
timmy closed this issue 2026-08-12 08:38:50 +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#633
No description provided.