[Feature]: pause and resume a prepare run without losing progress
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 5d 21h
- Merged PRs (30d)
- 1
Description
**Description**
A prepare run has no pause. Once Prepare starts, the only ways to stop it are per-row cancel (one CID at a time) or closing the tab. Closing the tab is actually safe — completed pieces persist and the next Prepare recomputes only what is missing — but nothing in the UI says so, and it is a blunt way to express "stop for now, keep my progress." On a multi-hour run (a 2M-CID inventory runs for a day or more even at the current rates) an operator will reasonably want to pause for bandwidth, a meeting, or an overnight stop, and today they either kill the tab on faith or let it run.
**Impact**
Operators either abandon progress they didn't need to lose or avoid pausing at all. The persistence guarantees (#26, #57) already do the hard part; the control is missing.
**Next steps**
- A Pause control while a run is live: stop handing new CIDs to the worker pool, abort in-flight rows back to queued (not failed), flush the persisted snapshot.
- Button reads as state: Prepare → Pause → Resume; Resume is the existing incremental Prepare.
- Say in the UI that closing the tab is also safe, since that is the pause everyone reaches for first.
**Done means**
Mid-run, one click pauses within seconds with nothing lost; Resume (or a reload, or another device restoring the run) picks up exactly where it stopped; completed counts never go backward.
Contributor guide
Research direction
Start by tracing the live Prepare flow, the worker-pool handoff, persisted snapshot flushing, and reload or another-device restoration. Implement the Pause → Resume state behavior and verify the stated done conditions: in-flight rows return to queued, progress is preserved, and completed counts never decrease.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100