Integrated Photo Pipeline Delivery Backlog
This backlog decomposes the phases in
INTEGRATED_PIPELINE_CONCEPT.md into seven
epics and small, independently verifiable user stories.
Numbering and file naming
- Epics:
E01throughE07, matching concept Phases A through G. - Stories:
US<epic>-<sequence>, for exampleUS03-02. - Epic files:
E01-<slug>.md. - Story files:
stories/US01-01-<slug>.md. - IDs are permanent. Renaming or reordering a story must not reuse its ID.
Delivery rules
- Implement epics in numeric order unless an epic explicitly permits overlap.
- A story should produce one coherent, reviewable outcome and be small enough for one focused implementation change.
- Donor-first migration is mandatory: characterize and extract useful CLI behavior before replacing it. Record provenance in the donor ledger.
- Every implementation story includes automated unit, property, golden, contract, or integration tests appropriate to its risk.
- Every epic ends with a dedicated automated end-to-end story that exercises the real browser, API/SSE, worker, isolated database, and temporary fixture library.
- A story is complete only when all acceptance criteria and automated tests pass with no unexplained skips. An epic is complete only when its cumulative regression suite and end-to-end gate pass.
Epics
- E01 — Shared identity and inventory
- E02 — Unified workflow shell
- E03 — Album proposals
- E04 — Guarded renaming
- E05 — Immich upload
- E06 — Archive lifecycle
- E07 — Hardening and release
Shared definition of done
- Acceptance criteria are demonstrably satisfied.
- Public API/schema changes are documented and contract-tested.
- Database and filesystem mutations are restart-safe and idempotent where required.
- Paths are constrained by the shared library policy.
- No credentials or private image data appear in logs or browser responses.
- Relevant donor-ledger rows and story-to-test traceability entries are current.
- Automated tests pass locally and in CI; changed user behavior has an automated acceptance test.