Resume interrupted Find Work batches without duplicate claims #679

Closed
opened 2026-08-12 20:50:28 +00:00 by timmy · 0 comments
Owner

Problem

Find Work batch assignment is held only in browser memory. If the PWA reloads after Gitea confirms assignment but before Today is queued, the issue is left assigned outside Today and the batch cannot resume. The current code explicitly reports assigned but Today sync is unavailable without a recovery path.

Product slice

Persist an account-scoped Find Work batch journal before the first claim, checkpoint confirmed assignments and queued items, and expose a resume action after reload. Recovery must queue already-confirmed assignments without claiming them again, continue unresolved items in order, avoid duplicate Today entries, and clear completed journals. Session private-data cleanup already clears browser storage at logout/revocation boundaries.

Acceptance criteria

  • A batch journal is saved before the first assignment request.
  • Reload after assignment but before Today queueing resumes by queueing the confirmed issue without another claim.
  • Reload between items continues at the first unresolved item in original order.
  • Existing Today membership is idempotent and estimates persist only after queue success.
  • Completed batches clear their journal; incomplete recovery stays visible with a touch-accessible Resume action.
  • Account-scoped storage prevents another signed-in operator from resuming the journal.
  • Focused behavioral tests cover interruption, replay, account isolation, and completion cleanup; the full suite passes.

Non-duplication evidence

Current origin/main is a0dd044. Open issues are #1-#5 and #11, all assigned to other humans. Historical titles include batch claiming (#671), time-capacity checks (#675), and Fill Today (#677), but none adds durable/resumable Find Work batch recovery. Recent commits retain the explicit terminal split state in frontend/batch-find-work.js.

## Problem Find Work batch assignment is held only in browser memory. If the PWA reloads after Gitea confirms assignment but before Today is queued, the issue is left assigned outside Today and the batch cannot resume. The current code explicitly reports `assigned but Today sync is unavailable` without a recovery path. ## Product slice Persist an account-scoped Find Work batch journal before the first claim, checkpoint confirmed assignments and queued items, and expose a resume action after reload. Recovery must queue already-confirmed assignments without claiming them again, continue unresolved items in order, avoid duplicate Today entries, and clear completed journals. Session private-data cleanup already clears browser storage at logout/revocation boundaries. ## Acceptance criteria - A batch journal is saved before the first assignment request. - Reload after assignment but before Today queueing resumes by queueing the confirmed issue without another claim. - Reload between items continues at the first unresolved item in original order. - Existing Today membership is idempotent and estimates persist only after queue success. - Completed batches clear their journal; incomplete recovery stays visible with a touch-accessible Resume action. - Account-scoped storage prevents another signed-in operator from resuming the journal. - Focused behavioral tests cover interruption, replay, account isolation, and completion cleanup; the full suite passes. ## Non-duplication evidence Current `origin/main` is `a0dd044`. Open issues are #1-#5 and #11, all assigned to other humans. Historical titles include batch claiming (#671), time-capacity checks (#675), and Fill Today (#677), but none adds durable/resumable Find Work batch recovery. Recent commits retain the explicit terminal split state in `frontend/batch-find-work.js`.
timmy self-assigned this 2026-08-12 20:50:28 +00:00
timmy closed this issue 2026-08-12 21:04:40 +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#679
No description provided.