US07-04 — Prove Concurrency and Crash Recovery #41

Open
opened 2026-07-13 13:10:53 +02:00 by domverse · 0 comments
Owner

Source specification: delivery_backlog/stories/US07-04-fault-concurrency.md

US07-04 — Prove Concurrency and Crash Recovery

Epic: E07

As an operator, I want randomized race and fault tests so concurrency cannot produce
deadlocks, stale commits, duplicate terminal states, or data loss.

Acceptance criteria

  • Test control points exist at persisted transitions without exposing production
    mutation APIs.
  • Tests cover database pressure, worker claim races, file changes, thumbnail races,
    safety/analysis races, EXIF/upload races, rename/archive conflicts, and cancellation.
  • Faults cover process death, disk full, read-only paths, DB busy/corruption, network
    failures, malformed providers, GPU exhaustion, subprocess hangs, and missing tools.
  • Recovery is deterministic or enters an explicit manual-recovery state.

Automated tests

  • Randomized suites repeat with recorded seeds and assert invariants after restart.
  • CI retains journals, logs, DB, seed, and filesystem manifest for any failure.

Dependencies

  • US07-02, US07-03
Source specification: [delivery_backlog/stories/US07-04-fault-concurrency.md](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/stories/US07-04-fault-concurrency.md) # US07-04 — Prove Concurrency and Crash Recovery Epic: [E07](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/E07-hardening-release.md) As an operator, I want randomized race and fault tests so concurrency cannot produce deadlocks, stale commits, duplicate terminal states, or data loss. ## Acceptance criteria - Test control points exist at persisted transitions without exposing production mutation APIs. - Tests cover database pressure, worker claim races, file changes, thumbnail races, safety/analysis races, EXIF/upload races, rename/archive conflicts, and cancellation. - Faults cover process death, disk full, read-only paths, DB busy/corruption, network failures, malformed providers, GPU exhaustion, subprocess hangs, and missing tools. - Recovery is deterministic or enters an explicit manual-recovery state. ## Automated tests - Randomized suites repeat with recorded seeds and assert invariants after restart. - CI retains journals, logs, DB, seed, and filesystem manifest for any failure. ## Dependencies - US07-02, US07-03
domverse added this to the E07 — Hardening and Release milestone 2026-07-13 13:10:53 +02:00
domverse added the area/testingpriority/criticaltype/hardeningarea/backend labels 2026-07-13 13:10:53 +02:00
domverse added a new dependency 2026-07-13 13:11:32 +02:00
domverse added a new dependency 2026-07-13 13:11:32 +02:00
domverse added a new dependency 2026-07-13 13:11:33 +02:00
domverse added a new dependency 2026-07-13 13:11:33 +02:00
domverse added a new dependency 2026-07-13 13:11:35 +02:00
domverse added this to the Photo Analyzer Delivery project 2026-07-13 13:19:48 +02:00
domverse added the status/backlog label 2026-07-13 13:52:56 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: domverse/photoanalyzer#41