US09-03 — Write the Architecture Overview #104
Notifications
Due Date
No due date set.
Blocks
Depends on
#106 US09-05 — Automate Documentation Acceptance
domverse/photoanalyzer
#102 US09-01 — Serve the Documentation Inside the Application
domverse/photoanalyzer
Reference: domverse/photoanalyzer#104
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source specification: delivery_backlog/stories/US09-03-architecture-overview.md
US09-03 — Write the Architecture Overview
Epic: E09
As a developer or reviewer new to this repository, I want an architecture overview that
explains what the pieces are and which rules they enforce, so that I can find the right
module and not violate an invariant I never knew existed.
Acceptance criteria
photo library, the Immich server, the vision provider, and the archive destination —
with the direction and nature of every interaction, including which ones leave the
machine.
bind mount, the SQLite database, and the process lock — showing what is shared and what
is exclusive.
photo_pipeline/with its responsibility and theboundary it must not cross (which modules may touch the filesystem, which may call an
external provider, which own schema).
recovery; the rename journal state machine including the rollback and manual-resolution
paths; the upload lifecycle through preflight, run, report ingestion, and verification.
it: one writer at a time, the library process lock, the path policy and library roots,
_IGNORE/exclusion, verified EXIF before upload, safety decisions gating the visionprovider, and restart-safety of every mutation.
keeps its identity.
the archive and its ledger live, and why they are kept.
mermaidblocks so the source is diffable and Gitea renders themnatively.
Automated tests
photo_pipeline/appears in the module map,and every module named in the map exists — a new service cannot appear on the map's
blind side.
the code, and every state the code defines is named in the document.
Dependencies
Claimed for implementation on branch
us/US09-03-write-the-architecture-overview.Submitted for review: #109
Tests passed:
work_item/scripts/python -m unittest discover -s work_item/tests -vwork_item/scripts/python -m pytest tests -qwork_item/scripts/python -m pytest tests/integration/test_architecture_overview.py tests/e2e/test_docs_ui.py -qCompleted and merged via PR #109.