US04-01 — Build and Export Rename Plans #20

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

Source specification: delivery_backlog/stories/US04-01-rename-plan.md

US04-01 — Build and Export Rename Plans

Epic: E04

As a user, I want a complete validated rename plan before mutation so I can understand
every source, destination, collision, and blocker.

Acceptance criteria

  • Approved album proposals produce itemized plans with asset IDs, source/destination,
    expected hashes, versions, and required operations.
  • Validation detects missing/changed sources, duplicate targets, case-only and Unicode
    collisions, root escapes, symlinks, and cross-filesystem behavior.
  • A portable JSON export contains no credentials and has a schema version/checksum.

Automated tests

  • Property tests validate collision-free plans and asset-set preservation.
  • API/golden tests cover valid, invalid, stale, case-only, Unicode, and exported plans.

Dependencies

  • E03 complete
Source specification: [delivery_backlog/stories/US04-01-rename-plan.md](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/stories/US04-01-rename-plan.md) # US04-01 — Build and Export Rename Plans Epic: [E04](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/E04-guarded-renaming.md) As a user, I want a complete validated rename plan before mutation so I can understand every source, destination, collision, and blocker. ## Acceptance criteria - Approved album proposals produce itemized plans with asset IDs, source/destination, expected hashes, versions, and required operations. - Validation detects missing/changed sources, duplicate targets, case-only and Unicode collisions, root escapes, symlinks, and cross-filesystem behavior. - A portable JSON export contains no credentials and has a schema version/checksum. ## Automated tests - Property tests validate collision-free plans and asset-set preservation. - API/golden tests cover valid, invalid, stale, case-only, Unicode, and exported plans. ## Dependencies - E03 complete
domverse added this to the E04 — Guarded Renaming milestone 2026-07-13 13:10:44 +02:00
domverse added the type/featurepriority/normalarea/backendarea/filesystem labels 2026-07-13 13:10:44 +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:23 +02:00
domverse added a new dependency 2026-07-13 13:11:24 +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:49 +02:00
domverse added status/in-progress and removed status/backlog labels 2026-08-15 14:40:35 +02:00
domverse self-assigned this 2026-08-15 14:40:35 +02:00
Author
Owner

Claimed for implementation on branch us/US04-01-build-and-export-rename-plans.

Claimed for implementation on branch `us/US04-01-build-and-export-rename-plans`.
domverse added status/review and removed status/in-progress labels 2026-08-15 14:51:45 +02:00
Author
Owner

Submitted for review: #66

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_plans.py -q
Submitted for review: https://git.domverse-berlin.eu/domverse/photoanalyzer/pulls/66 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_plans.py -q`
domverse added status/done and removed status/review labels 2026-08-15 14:51:50 +02:00
Author
Owner

Completed and merged via PR #66.

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