Take ownership and start work from an unread update #505

Closed
opened 2026-08-10 18:19:39 +00:00 by timmy · 0 comments
Owner

Product gap

Unread issue updates support Take ownership, then require a second Add to Today action and a separate navigation step before focused work begins. Find and global search already support assignment directly into a checkpointed Today session, but the update conversation does not.

Vertical slice

Add Take ownership & start beside the existing claim-only action for open, unassigned issue updates. Before mutating assignment, enforce Today capacity. On success, preserve the unread notification association, reconcile My Work, add/sync/warm Today, checkpoint a resumable session, and open the routed issue. Keep truthful conflict and partial-success recovery.

Acceptance

  • Combined action appears only for claimable issue updates; existing claim-only path remains.
  • Today capacity is checked before claim; a full Today sends no assignment request.
  • Repeated taps are single-flight.
  • Success retains the unread update, reconciles one issue into My Work, starts Today, and opens the issue route.
  • Claim failure changes neither Today nor session; 409 removes stale actions without marking read.
  • If assignment succeeds but start fails, report partial success and open the owned issue for recovery.
  • At 390x844 and 320x568, sticky actions do not overflow and each target is at least 44x44.
  • Focused behavioral tests and full suite pass.

Non-duplication evidence

All 255 historical issue titles, 246 PRs, releases through v0.1.0-rc.686, and recent commits were checked. #321/#322 added the existing two-step update ownership flow; #411/#412 and #413/#414 added direct assign/start only in Find and Search; #503/#504 added reply/read/next without ownership or Today startup. No prior item connects an unread update directly to ownership plus a resumable Today session.

## Product gap Unread issue updates support **Take ownership**, then require a second **Add to Today** action and a separate navigation step before focused work begins. Find and global search already support assignment directly into a checkpointed Today session, but the update conversation does not. ## Vertical slice Add **Take ownership & start** beside the existing claim-only action for open, unassigned issue updates. Before mutating assignment, enforce Today capacity. On success, preserve the unread notification association, reconcile My Work, add/sync/warm Today, checkpoint a resumable session, and open the routed issue. Keep truthful conflict and partial-success recovery. ## Acceptance - Combined action appears only for claimable issue updates; existing claim-only path remains. - Today capacity is checked before claim; a full Today sends no assignment request. - Repeated taps are single-flight. - Success retains the unread update, reconciles one issue into My Work, starts Today, and opens the issue route. - Claim failure changes neither Today nor session; 409 removes stale actions without marking read. - If assignment succeeds but start fails, report partial success and open the owned issue for recovery. - At 390x844 and 320x568, sticky actions do not overflow and each target is at least 44x44. - Focused behavioral tests and full suite pass. ## Non-duplication evidence All 255 historical issue titles, 246 PRs, releases through v0.1.0-rc.686, and recent commits were checked. #321/#322 added the existing two-step update ownership flow; #411/#412 and #413/#414 added direct assign/start only in Find and Search; #503/#504 added reply/read/next without ownership or Today startup. No prior item connects an unread update directly to ownership plus a resumable Today session.
timmy self-assigned this 2026-08-10 18:19:39 +00:00
timmy closed this issue 2026-08-10 18:31:06 +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#505
No description provided.