Files

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: E01 through E07, matching concept Phases A through G.
  • Stories: US<epic>-<sequence>, for example US03-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

  1. E01 — Shared identity and inventory
  2. E02 — Unified workflow shell
  3. E03 — Album proposals
  4. E04 — Guarded renaming
  5. E05 — Immich upload
  6. E06 — Archive lifecycle
  7. 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.