Parent
#52
What this delivers
The lean mobile-v1 download path from #28 gains the queue-management and lifecycle polish intentionally deferred from launch: bounded concurrency, understandable queued/running/failed state, bulk cleanup, and completion behavior users can trust.
Scope
- Configurable or product-decided concurrent-download limit with a visible queue.
- Queued, running, paused/retryable, failed, complete, and removed states with deterministic recovery.
- Numeric progress where the platform source provides a trustworthy denominator.
- Multi-select removal of local copies without deleting remote originals unless a separate confirmed action is chosen.
- Completion/failure notifications that deep-link to the local item and respect notification permission state.
- Storage-pressure and unavailable-local-file recovery.
Acceptance criteria
Verification
- State-machine tests with controlled download progress and process restoration.
- Emulator/device recording covering queueing, retry, completion, bulk cleanup, airplane mode, and storage failure.
./gradlew verify and mobile debug assemble green.
Blocked by
Boundaries
Parent
#52
What this delivers
The lean mobile-v1 download path from #28 gains the queue-management and lifecycle polish intentionally deferred from launch: bounded concurrency, understandable queued/running/failed state, bulk cleanup, and completion behavior users can trust.
Scope
Acceptance criteria
Verification
./gradlew verifyand mobile debug assemble green.Blocked by
Boundaries