US04-03 — Apply and Verify Guarded Renames #22

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

Source specification: delivery_backlog/stories/US04-03-rename-apply.md

US04-03 — Apply and Verify Guarded Renames

Epic: E04

As a user, I want confirmed plans applied without overwrites so reorganizing the
library preserves identity and bytes.

Acceptance criteria

  • Apply requires current plan/version confirmation and an exclusive mutation lease.
  • Preconditions are rechecked immediately before each mutation; unexpected targets
    are never overwritten.
  • Case-only and cross-filesystem operations use safe staged procedures.
  • Postconditions verify bytes and paths, update occurrences, and reconcile stable IDs.

Automated tests

  • Filesystem integration tests cover normal, case-only, collision, cross-filesystem,
    stale source, and repeated apply.
  • Tests assert byte preservation and database/path consistency after restart.

Dependencies

  • US04-02
Source specification: [delivery_backlog/stories/US04-03-rename-apply.md](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/stories/US04-03-rename-apply.md) # US04-03 — Apply and Verify Guarded Renames Epic: [E04](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/E04-guarded-renaming.md) As a user, I want confirmed plans applied without overwrites so reorganizing the library preserves identity and bytes. ## Acceptance criteria - Apply requires current plan/version confirmation and an exclusive mutation lease. - Preconditions are rechecked immediately before each mutation; unexpected targets are never overwritten. - Case-only and cross-filesystem operations use safe staged procedures. - Postconditions verify bytes and paths, update occurrences, and reconcile stable IDs. ## Automated tests - Filesystem integration tests cover normal, case-only, collision, cross-filesystem, stale source, and repeated apply. - Tests assert byte preservation and database/path consistency after restart. ## Dependencies - US04-02
domverse added this to the E04 — Guarded Renaming milestone 2026-07-13 13:10:45 +02:00
domverse added the priority/criticaltype/featurearea/backendarea/filesystem labels 2026-07-13 13:10:45 +02:00
domverse added a new dependency 2026-07-13 13:11:23 +02:00
domverse added a new dependency 2026-07-13 13:11:24 +02:00
domverse added a new dependency 2026-07-13 13:11:24 +02:00
domverse added a new dependency 2026-07-13 13:11:25 +02:00
domverse added this to the Photo Analyzer Delivery project 2026-07-13 13:19:45 +02:00
domverse added the status/backlog label 2026-07-13 13:52:50 +02:00
domverse added status/in-progress and removed status/backlog labels 2026-08-16 11:21:38 +02:00
domverse self-assigned this 2026-08-16 11:21:39 +02:00
Author
Owner

Claimed for implementation on branch us/US04-03-apply-and-verify-guarded-renames.

Claimed for implementation on branch `us/US04-03-apply-and-verify-guarded-renames`.
domverse added status/review and removed status/in-progress labels 2026-08-16 11:26:23 +02:00
Author
Owner

Submitted for review: #68

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/integration/test_rename_apply.py tests/integration/test_rename_recovery.py -q
Submitted for review: https://git.domverse-berlin.eu/domverse/photoanalyzer/pulls/68 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/integration/test_rename_apply.py tests/integration/test_rename_recovery.py -q`
domverse added status/done and removed status/review labels 2026-08-16 11:27:11 +02:00
Author
Owner

Completed and merged via PR #68.

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