Bound the originals cache with adaptive LRU eviction (closes #47)
needs-review
check / check (push) Successful in 35s
Rebuild backup on the library API with a durable failure ledger
needs-review
check / check (push) Successful in 30s
Content-similarity search surface over the CLIP index
needs-review
check / check (push) Failing after 25s
On-disk content and thumbnail cache with per-photo fetch and prefetch
needs-review
check / check (push) Successful in 30s
Fetch, store, and index per-file ML data and CLIP embeddings (closes #49)
needs-review
check / check (push) Successful in 21s
In-process read surface: albums, photos, and timeline grouping
needs-review
check / check (push) Successful in 16s
Three bounded request pools for metadata, content, and thumbnails (closes #45)
needs-review
check / check (push) Successful in 13s
Plain-record library snapshot and change subscription
needs-review
check / check (push) Successful in 26s
Accumulate streamDecrypt reads linearly, not quadratically (closes #21)
needs-review
check / check (push) Successful in 35s
Library.open with a transparent background refresh loop
needs-review
check / check (push) Successful in 14s
On-disk JSON metadata store for the local cache (closes #41)
needs-review
check / check (push) Successful in 13s
Resumable, deletion-aware collection and file enumeration (closes #38)
needs-review
check / check (push) Successful in 24s
feat(download): durable atomic writer and per-chunk progress hook (closes #39)
needs-review
check / check (push) Successful in 26s
Carry file size, thumbnail size, and deletion flag through decryptFile
needs-review
check / check (push) Successful in 25s