US06-02 — Transfer, Verify, and Remove Active Sources #33

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

Source specification: delivery_backlog/stories/US06-02-archive-transfer.md

US06-02 — Transfer, Verify, and Remove Active Sources

Epic: E06

As a user, I want source files removed only after durable archive verification so
reclaiming space cannot cause data loss.

Acceptance criteria

  • A journal records planned, transferring, verified, removing, and terminal item state.
  • Cross-filesystem flow copies to a temporary destination, closes, hashes, atomically
    publishes, records manifest, then removes the matching source.
  • Same-filesystem optimization is used only when proven safe and still verified.
  • Unexpected source/destination changes stop the item without overwrite or deletion.

Automated tests

  • Filesystem/process tests interrupt every transition before and after source removal.
  • Tests assert manifest/hash correctness, idempotent recovery, and zero verified loss.

Dependencies

  • US06-01, US02-03
Source specification: [delivery_backlog/stories/US06-02-archive-transfer.md](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/stories/US06-02-archive-transfer.md) # US06-02 — Transfer, Verify, and Remove Active Sources Epic: [E06](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/E06-archive-lifecycle.md) As a user, I want source files removed only after durable archive verification so reclaiming space cannot cause data loss. ## Acceptance criteria - A journal records planned, transferring, verified, removing, and terminal item state. - Cross-filesystem flow copies to a temporary destination, closes, hashes, atomically publishes, records manifest, then removes the matching source. - Same-filesystem optimization is used only when proven safe and still verified. - Unexpected source/destination changes stop the item without overwrite or deletion. ## Automated tests - Filesystem/process tests interrupt every transition before and after source removal. - Tests assert manifest/hash correctness, idempotent recovery, and zero verified loss. ## Dependencies - US06-01, US02-03
domverse added this to the E06 — Archive Lifecycle milestone 2026-07-13 13:10:49 +02:00
domverse added the priority/criticalarea/filesystemtype/featurearea/backend labels 2026-07-13 13:10:49 +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:29 +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:54 +02:00
domverse added status/in-progress and removed status/backlog labels 2026-08-16 18:13:30 +02:00
domverse self-assigned this 2026-08-16 18:13:31 +02:00
Author
Owner

Claimed for implementation on branch us/US06-02-transfer-verify-and-remove-active-sources.

Claimed for implementation on branch `us/US06-02-transfer-verify-and-remove-active-sources`.
domverse added status/review and removed status/in-progress labels 2026-08-16 18:46:46 +02:00
Author
Owner

Submitted for review: #78

Tests passed:

  • work_item/scripts/python -m unittest discover -s work_item/tests -v
  • work_item/scripts/python -m pytest tests -q
  • work_item/scripts/python -m pytest tests/unit/test_archive_journal_states.py tests/integration/test_archive_transfer.py tests/integration/test_archive_recovery.py -q
Submitted for review: https://git.domverse-berlin.eu/domverse/photoanalyzer/pulls/78 Tests passed: - `work_item/scripts/python -m unittest discover -s work_item/tests -v` - `work_item/scripts/python -m pytest tests -q` - `work_item/scripts/python -m pytest tests/unit/test_archive_journal_states.py tests/integration/test_archive_transfer.py tests/integration/test_archive_recovery.py -q`
domverse added status/done and removed status/review labels 2026-08-16 18:47:07 +02:00
Author
Owner

Completed and merged via PR #78.

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