53 lines
2.5 KiB
Markdown
53 lines
2.5 KiB
Markdown
# Integrated Photo Pipeline Delivery Backlog
|
|
|
|
This backlog decomposes the phases in
|
|
[`INTEGRATED_PIPELINE_CONCEPT.md`](../INTEGRATED_PIPELINE_CONCEPT.md) into seven
|
|
epics and small, independently verifiable user stories, plus one delivery-format
|
|
epic (E08) that packages the released application as a deployable container.
|
|
|
|
## Numbering and file naming
|
|
|
|
- Epics: `E01` through `E07`, matching concept Phases A through G; `E08` has no
|
|
concept phase and must not change product scope.
|
|
- 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](E01-shared-identity-inventory.md)
|
|
2. [E02 — Unified workflow shell](E02-unified-workflow-shell.md)
|
|
3. [E03 — Album proposals](E03-album-proposals.md)
|
|
4. [E04 — Guarded renaming](E04-guarded-renaming.md)
|
|
5. [E05 — Immich upload](E05-immich-upload.md)
|
|
6. [E06 — Archive lifecycle](E06-archive-lifecycle.md)
|
|
7. [E07 — Hardening and release](E07-hardening-release.md)
|
|
8. [E08 — Container deployment](E08-container-deployment.md)
|
|
|
|
## 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.
|