866 B
866 B
US01-03 — Discover and Reconcile Stable Assets
Epic: E01
As a user, I want scans to discover eligible photos and retain identity across moves so reorganizing folders does not lose prior work.
Acceptance criteria
- Donor discovery and reconciliation logic is extracted behind
InventoryService. - All supported roots use one boundary and exclusion policy; unsafe symlink paths fail.
- New, moved, copied, replaced, missing, active, and archived occurrences are distinct.
- Enumeration is deterministic and rescanning unchanged input is idempotent.
Automated tests
- Unit/property tests cover path normalization, boundaries, and reconciliation.
- Integration tests move, copy, replace, remove, and rescan fixture assets, asserting stable IDs and exact durable states after restart.
Dependencies
- US01-02