US05-03 — Parse and Persist Uploader Outcomes #28

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

Source specification: delivery_backlog/stories/US05-03-upload-reports.md

US05-03 — Parse and Persist Uploader Outcomes

Epic: E05

As an operator, I want uploader reports converted into durable typed outcomes so I can
distinguish new, upgraded, duplicate, failed, and unknown assets.

Acceptance criteria

  • Version-specific parsers preserve bounded raw evidence and classify every item.
  • Unknown versions or lines never become success; they require verification.
  • Uploaded SHA-1/content evidence, timestamps, counts, and parser version are stored.
  • Reprocessing the same report is idempotent.

Automated tests

  • Golden parser fixtures cover every supported outcome/version and malformed output.
  • Repository tests cover idempotent import, count reconciliation, and restart.

Dependencies

  • US05-02
Source specification: [delivery_backlog/stories/US05-03-upload-reports.md](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/stories/US05-03-upload-reports.md) # US05-03 — Parse and Persist Uploader Outcomes Epic: [E05](https://git.domverse-berlin.eu/domverse/photoanalyzer/src/branch/main/delivery_backlog/E05-immich-upload.md) As an operator, I want uploader reports converted into durable typed outcomes so I can distinguish new, upgraded, duplicate, failed, and unknown assets. ## Acceptance criteria - Version-specific parsers preserve bounded raw evidence and classify every item. - Unknown versions or lines never become success; they require verification. - Uploaded SHA-1/content evidence, timestamps, counts, and parser version are stored. - Reprocessing the same report is idempotent. ## Automated tests - Golden parser fixtures cover every supported outcome/version and malformed output. - Repository tests cover idempotent import, count reconciliation, and restart. ## Dependencies - US05-02
domverse added this to the E05 — Immich Upload milestone 2026-07-13 13:10:47 +02:00
domverse added a new dependency 2026-07-13 13:11:26 +02:00
domverse added a new dependency 2026-07-13 13:11:26 +02:00
domverse added a new dependency 2026-07-13 13:11:28 +02:00
domverse added this to the Photo Analyzer Delivery project 2026-07-13 13:19:46 +02:00
domverse added the status/backlog label 2026-07-13 13:52:52 +02:00
domverse added status/in-progress and removed status/backlog labels 2026-08-16 14:40:07 +02:00
domverse self-assigned this 2026-08-16 14:40:08 +02:00
Author
Owner

Claimed for implementation on branch us/US05-03-parse-and-persist-uploader-outcomes.

Claimed for implementation on branch `us/US05-03-parse-and-persist-uploader-outcomes`.
domverse added status/review and removed status/in-progress labels 2026-08-16 15:02:10 +02:00
Author
Owner

Submitted for review: #73

Tests passed:

  • work_item/scripts/python -m unittest discover -s work_item/tests -v
  • work_item/scripts/python -m pytest tests -q
  • /opt/homebrew/anaconda3/bin/python -m pytest tests/unit/test_immich_go_report.py tests/integration/test_upload_reports.py -q
Submitted for review: https://git.domverse-berlin.eu/domverse/photoanalyzer/pulls/73 Tests passed: - `work_item/scripts/python -m unittest discover -s work_item/tests -v` - `work_item/scripts/python -m pytest tests -q` - `/opt/homebrew/anaconda3/bin/python -m pytest tests/unit/test_immich_go_report.py tests/integration/test_upload_reports.py -q`
domverse added status/done and removed status/review labels 2026-08-16 15:02:36 +02:00
Author
Owner

Completed and merged via PR #73.

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