Files
photoanalyzer/delivery_backlog/stories/US02-02-durable-jobs.md

23 lines
763 B
Markdown

# US02-02 — Persist and Coordinate Durable Jobs
Epic: [E02](../E02-unified-workflow-shell.md)
As an operator, I want jobs and item progress stored durably so work can resume after
browser, API, or worker interruption.
## Acceptance criteria
- Job, item, event, attempt, progress, cancellation, and terminal states are persisted.
- Commands support idempotency keys and atomic state transitions.
- Prerequisites and one-mutating-job policy produce explicit blockers.
- Progress derives from durable item state rather than browser memory.
## Automated tests
- State-machine/property tests reject invalid transitions and duplicate terminal state.
- Repository tests cover concurrent idempotent submission and restart persistence.
## Dependencies
- US01-02