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

763 B

US02-02 — Persist and Coordinate Durable Jobs

Epic: E02

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