US04-04 — Recover or Roll Back Interrupted Renames #23
Notifications
Due Date
No due date set.
Blocks
Depends on
#24 US04-05 — Operate Rename Plans in the Browser
domverse/photoanalyzer
#25 US04-06 — Automate Phase D End-to-End Acceptance
domverse/photoanalyzer
#22 US04-03 — Apply and Verify Guarded Renames
domverse/photoanalyzer
Reference: domverse/photoanalyzer#23
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source specification: delivery_backlog/stories/US04-04-rename-recovery.md
US04-04 — Recover or Roll Back Interrupted Renames
Epic: E04
As an operator, I want safe recovery choices after interruption so partially renamed
albums never trigger blind retries or data loss.
Acceptance criteria
Automated tests
restart with no overwrite or asset loss.
Dependencies
Delivered together with US04-03 in PR #68 (merged as
7103cb8).Apply and recovery were combined deliberately: recovery reads exactly the journal evidence that apply writes, so building apply first would have shipped filesystem mutation with no recovery path — the most dangerous intermediate state in this backlog.
US04-04 acceptance criteria, all covered in
tests/integration/test_rename_recovery.py:RenameJournal.classify→ resumable / rollback_safe / manual).test_rollback_refuses_content_whose_bytes_changed) and occupied sources (test_rollback_refuses_when_the_source_is_occupied).test_an_unexpected_destination_occupant_forces_manual_recovery,test_manual_work_blocks_a_different_plan_from_applying).test_recovery_is_idempotent_across_repeated_restarts,test_rollback_is_idempotent).Closing as done.