US06-01 — Configure and Preflight Archive Destinations #32

Closed
opened 2026-07-13 13:10:49 +02:00 by domverse · 3 comments
Owner

Source specification: delivery_backlog/stories/US06-01-archive-preflight.md

US06-01 — Configure and Preflight Archive Destinations

Epic: E06

As a user, I want archive destinations identified and validated so an album is never
moved to the wrong, unavailable, or undersized storage.

Acceptance criteria

  • Archive locations record stable media/volume identity, root, capabilities, and state.
  • Preflight validates verified upload, current bytes, destination identity, capacity,
    writability, boundaries, collisions, locks, backup, and manifest creation.
  • Preview shows transfer method, exact scope, reclaimable bytes, and every blocker.
  • Confirmation uses a versioned token invalidated by source/destination changes.

Automated tests

  • Integration tests cover valid, offline, wrong-volume, low-space, read-only, collision,
    stale source, lock conflict, and unsafe path cases.

Dependencies

  • E05 complete
Source specification: [delivery_backlog/stories/US06-01-archive-preflight.md](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/stories/US06-01-archive-preflight.md) # US06-01 — Configure and Preflight Archive Destinations Epic: [E06](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/E06-archive-lifecycle.md) As a user, I want archive destinations identified and validated so an album is never moved to the wrong, unavailable, or undersized storage. ## Acceptance criteria - Archive locations record stable media/volume identity, root, capabilities, and state. - Preflight validates verified upload, current bytes, destination identity, capacity, writability, boundaries, collisions, locks, backup, and manifest creation. - Preview shows transfer method, exact scope, reclaimable bytes, and every blocker. - Confirmation uses a versioned token invalidated by source/destination changes. ## Automated tests - Integration tests cover valid, offline, wrong-volume, low-space, read-only, collision, stale source, lock conflict, and unsafe path cases. ## Dependencies - E05 complete
domverse added this to the E06 — Archive Lifecycle milestone 2026-07-13 13:10:49 +02:00
domverse added the area/filesystempriority/normaltype/featurearea/backend labels 2026-07-13 13:10:49 +02:00
domverse added a new dependency 2026-07-13 13:11:28 +02:00
domverse added a new dependency 2026-07-13 13:11:29 +02:00
domverse added a new dependency 2026-07-13 13:11:30 +02:00
domverse added this to the Photo Analyzer Delivery project 2026-07-13 13:19:47 +02:00
domverse added the status/backlog label 2026-07-13 13:52:53 +02:00
domverse added status/in-progress and removed status/backlog labels 2026-08-16 17:12:01 +02:00
domverse self-assigned this 2026-08-16 17:12:02 +02:00
Author
Owner

Claimed for implementation on branch us/US06-01-configure-and-preflight-archive-destinations.

Claimed for implementation on branch `us/US06-01-configure-and-preflight-archive-destinations`.
domverse added status/review and removed status/in-progress labels 2026-08-16 17:38:36 +02:00
Author
Owner

Submitted for review: #77

Tests passed:

  • work_item/scripts/python -m unittest discover -s work_item/tests -v
  • work_item/scripts/python -m pytest tests -q
  • python -m pytest tests/integration/test_archive_preflight.py -q
Submitted for review: https://git.domverse-berlin.eu/domverse/photoanalyzer/pulls/77 Tests passed: - `work_item/scripts/python -m unittest discover -s work_item/tests -v` - `work_item/scripts/python -m pytest tests -q` - `python -m pytest tests/integration/test_archive_preflight.py -q`
domverse added status/done and removed status/review labels 2026-08-16 17:39:04 +02:00
Author
Owner

Completed and merged via PR #77.

Completed and merged via PR #77.
domverse moved this to Done in Photo Analyzer Delivery on 2026-08-16 18:12:54 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: domverse/photoanalyzer#32