US01-03 — Discover and Reconcile Stable Assets #3

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

Source specification: delivery_backlog/stories/US01-03-inventory-identity.md

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
Source specification: [delivery_backlog/stories/US01-03-inventory-identity.md](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/stories/US01-03-inventory-identity.md) # US01-03 — Discover and Reconcile Stable Assets Epic: [E01](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/E01-shared-identity-inventory.md) 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
domverse added this to the E01 — Shared Identity and Inventory milestone 2026-07-13 13:10:37 +02:00
domverse added a new dependency 2026-07-13 13:11:14 +02:00
domverse added a new dependency 2026-07-13 13:11:14 +02:00
domverse added a new dependency 2026-07-13 13:11:14 +02:00
domverse added a new dependency 2026-07-13 13:11:16 +02:00
domverse added this to the Photo Analyzer Delivery project 2026-07-13 13:19:43 +02:00
domverse added the status/backlog label 2026-07-13 13:52:43 +02:00
domverse added status/in-progress and removed status/backlog labels 2026-07-15 16:34:11 +02:00
domverse self-assigned this 2026-07-15 16:34:11 +02:00
Author
Owner

Claimed for implementation on branch us/US01-03-discover-and-reconcile-stable-assets.

Claimed for implementation on branch `us/US01-03-discover-and-reconcile-stable-assets`.
domverse added status/review and removed status/in-progress labels 2026-07-15 16:46:42 +02:00
Author
Owner

Submitted for review: #48

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 tests/integration -q
Submitted for review: https://git.domverse-berlin.eu/domverse/photoanalyzer/pulls/48 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 tests/integration -q`
domverse added status/done and removed status/review labels 2026-07-15 16:47:11 +02:00
Author
Owner

Completed and merged via PR #48.

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