m038
fa9a5e14c2
docs: add M1 implementation plan
2026-06-27 19:25:15 +02:00
m038
389c5fbfee
docs: align M1 design spec with ROADMAP (M1.5, shared/ai -> M3)
2026-06-27 19:25:15 +02:00
m038
3968ccb704
docs(roadmap): mark M1 shipped; add M1.5 visual-similarity milestone
2026-06-27 19:24:04 +02:00
m038
19394908d2
docs: add Gitea env vars to .env.example
2026-06-27 19:19:25 +02:00
m038
d5b073da9c
Merge pull request 'feat: M1 foundation packages + trip-cluster app' ( #1 ) from feat/m1-foundation-trip-cluster into master
...
Reviewed-on: #1
2026-06-27 19:10:48 +02:00
m038
bd8fe59b49
fix(ingest): don't advance incremental cursor past a failed/sampled asset
...
A later successful asset could push last_ingest_at past an earlier asset whose
thumbnail download failed, permanently excluding it from later incremental runs
(only --full recovered it). Now the cursor never advances to/past the earliest
failed asset, never below the prior cursor, and not at all on a --subset run.
Regression tests added. (review finding #9 )
2026-06-27 18:49:24 +02:00
m038
ae093881fa
fix(review): harden write-back, confirmation gate, and edge cases
...
- write-back: call upsert_tag inside _apply_tag's try so a tag-create failure
is caught per-asset and apply_all no longer aborts mid-batch (was P1)
- write-back: surface _pipeline/processed write failures in the result instead
of discarding them (was reported as success)
- ui: add title to the high confidence badge so approve-high-confidence's
pre-action count is non-zero; confirm() before single-cluster apply
- core: Store context manager; close DB connection even if a route raises;
guard split_cluster against a first-member boundary (empty cluster); add
writeback_log lookup index
- ingest: split thumbnail download/write error handling and clean up the
.tmp file on a write failure
- tests: upsert/processed write-failure regression tests + split-guard test
2026-06-27 17:54:38 +02:00
m038
d67b677b6a
docs+docker: README, CLAUDE.md, Dockerfile/compose (8084), M1 validation gate
2026-06-27 17:37:22 +02:00
m038
c4ff5bcb06
test(trip-cluster): Playwright UI — grid nav, lightbox, cluster switching, approve
2026-06-27 17:35:58 +02:00
m038
edf0735098
feat(trip-cluster): master/detail review routes + templates + clusterReview JS
2026-06-27 17:35:58 +02:00
m038
44c05444d3
feat(trip-cluster): idempotent write-back + CLI apply with confirmation
2026-06-27 17:35:58 +02:00
m038
5256df4117
feat(trip-cluster): cluster orchestration (seed derivation + coverage) + CLI
2026-06-27 17:28:27 +02:00
m038
a9b443cd53
feat(trip-cluster): cluster review operations (approve/non-trip/skip/split/merge/bulk)
2026-06-27 17:21:38 +02:00
m038
6d0c9662ee
feat(trip-cluster): ingest — scopeable, incremental, processed read-back
2026-06-27 17:21:38 +02:00
m038
8d58ec03a9
feat(trip-cluster): coverage detection — completeness flags + outliers
2026-06-27 17:19:06 +02:00
m038
e01b30a5b5
feat(trip-cluster): config, factory, CLI skeleton, health + thumb proxy
2026-06-27 17:19:06 +02:00
m038
9ec6512428
feat(core): cluster data-access — attention sort, neighbors, split/merge, writeback log
2026-06-27 17:19:06 +02:00
m038
76be1fb5af
feat(trip-cluster): density-adaptive timestamp clustering + tag seeds + anchors
2026-06-27 17:16:07 +02:00
m038
351a001903
feat(core): asset & tag data-access
2026-06-27 17:16:07 +02:00
m038
da5b1de2a2
feat(immich): write-back (upsert_tag, tag_assets) + _pipeline tag conventions
2026-06-27 17:16:07 +02:00
m038
c36d93e3c7
feat(ui): base.html, macros (badges, lightbox), shared.js, register_shared_ui
2026-06-27 17:11:49 +02:00
m038
4db684fbdc
feat(core): domain models + Store (schema, connection, meta)
2026-06-27 17:11:49 +02:00
m038
862480916a
feat(immich): ImmichClient read — search_assets, list_tags, resolve_tag_id, download_thumbnail
2026-06-27 17:11:49 +02:00
m038
01ac95059e
feat: monorepo scaffold — photoflow shared dist + trip-cluster app skeleton
2026-06-27 17:08:11 +02:00
m038 and Claude Opus 4.8
c406b567bd
docs: extract authoritative ROADMAP.md; spec links to it
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 15:04:44 +02:00
m038 and Claude Opus 4.8
07bba5796f
docs: refine spec — _pipeline tag namespace, processed marker, visual-similarity deferral, header formatting
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 15:01:23 +02:00
m038 and Claude Opus 4.8
69f041cdd0
docs: rename project to immich-photo-flow
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 14:25:19 +02:00
m038 and Claude Opus 4.8
0cb0bcd6a7
docs: M1 design spec — image categorizer foundation + trip-cluster
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 14:17:46 +02:00