Commit Graph

  • ac8d17fb22 Merge pull request 'memories: deny Snapchat-prefixed filenames from timestamp parsing' (#81) from feature/filename-date-snapchat-denylist into master cameron 2026-05-07 16:20:06 +00:00
  • 43f8f83d80 memories: deny Snapchat-prefixed filenames from timestamp parsing Cameron Cordes 2026-05-07 12:17:40 -04:00
  • e55f6a5961 Merge pull request 'memories: reject implausible filename-derived timestamps' (#80) from feature/filename-date-plausibility into master cameron 2026-05-07 16:02:50 +00:00
  • feaae9b6d3 memories: reject implausible filename-derived timestamps Cameron Cordes 2026-05-07 12:02:07 -04:00
  • 95e21c8128 Merge pull request 'feature/manual-date-override' (#79) from feature/manual-date-override into master cameron 2026-05-07 15:10:37 +00:00
  • 7e1c4ab318 backfill_date_taken: surface the actual diesel error in warnings Cameron Cordes 2026-05-07 10:41:09 -04:00
  • 65af7d999e memories: parse filename dates as UTC, not server local Cameron Cordes 2026-05-06 20:43:18 -04:00
  • 16d6586b7d exif: GET /image/exif/full — exiftool dump for the DETAILS modal Cameron Cordes 2026-05-06 19:42:41 -04:00
  • 832b50d587 image_exif: manual date_taken override (set/clear endpoints) Cameron Cordes 2026-05-06 19:24:27 -04:00
  • 2acc525e73 Merge pull request 'otel: revert HTTP transport, keep gRPC' (#78) from fix/otlp-revert-to-grpc into master cameron 2026-05-06 22:36:09 +00:00
  • ecd49fd053 otel: revert HTTP transport, keep gRPC Cameron Cordes 2026-05-06 18:33:37 -04:00
  • c7bd2226cc Merge pull request 'build: speed up debug compile loop' (#77) from feature/build-time-speedups into master cameron 2026-05-06 21:41:19 +00:00
  • f73db58771 build: speed up debug compile loop Cameron Cordes 2026-05-06 17:36:42 -04:00
  • 06fdcadf67 Merge pull request 'feature/canonical-date-taken' (#76) from feature/canonical-date-taken into master cameron 2026-05-06 21:15:57 +00:00
  • 9f1b3f6d9a date_taken_source: backfill 'exif' on legacy rows Cameron Cordes 2026-05-06 17:05:00 -04:00
  • 7f12890f4b memories: single-SQL rewrite + 20-year lookback Cameron Cordes 2026-05-06 16:04:09 -04:00
  • 54e0635a98 date_backfill: per-tick drain for unresolved date_taken rows Cameron Cordes 2026-05-06 16:03:03 -04:00
  • 2d14291733 ingest: stamp canonical date_taken on every InsertImageExif Cameron Cordes 2026-05-06 16:00:14 -04:00
  • 79e258eccd date_resolver: canonical date_taken waterfall with exiftool fallback Cameron Cordes 2026-05-06 15:59:02 -04:00
  • 84326501a9 image_exif: add date_taken_source column Cameron Cordes 2026-05-06 15:57:49 -04:00
  • 5de9a322ac Merge pull request 'duplicates: folder-pair view of exact dups' (#75) from feature/folder-pair-duplicates into master cameron 2026-05-06 18:27:12 +00:00
  • 67cf0c7f73 duplicates: folder-pair view of exact dups Cameron Cordes 2026-05-06 12:43:29 -04:00
  • 9ccb48233f Merge pull request 'exif: preserve filesystem mtime on GPS write' (#74) from fix/exif-preserve-mtime into master cameron 2026-05-04 20:12:08 +00:00
  • 1ddbca3413 exif: preserve filesystem mtime on GPS write Cameron Cordes 2026-05-04 16:09:21 -04:00
  • 82dd21b205 Merge pull request 'feature/duplicate-detection' (#73) from feature/duplicate-detection into master cameron 2026-05-03 22:34:49 +00:00
  • 57b7bad086 duplicates: library-aware visibility — only hide a demoted row when its survivor is reachable Cameron Cordes 2026-05-03 18:24:07 -04:00
  • 98057c98a1 duplicates: tighten perceptual cluster — entropy band, asymmetric dHash, medoid prune Cameron Cordes 2026-05-03 18:19:48 -04:00
  • 7ca888e95d duplicates: filter low-entropy hashes + dHash double-check, fix backfill loop Cameron Cordes 2026-05-03 18:08:05 -04:00
  • 7584cd8792 duplicates: perceptual hash + soft-mark resolution + upload 409 Cameron Cordes 2026-05-03 17:36:01 -04:00
  • 4340b164eb Merge pull request 'perf/faces-embeddings-no-clone' (#72) from perf/faces-embeddings-no-clone into master cameron 2026-05-01 23:09:22 +00:00
  • fb4df4b195 style: cargo fmt sweep Cameron Cordes 2026-05-01 19:01:00 -04:00
  • 1d9b9a0bc4 faces: avoid 40 MB row clone in /faces/embeddings Cameron Cordes 2026-05-01 19:00:55 -04:00
  • 7998a0c9b0 Merge pull request 'feature/per-library-excluded-dirs' (#71) from feature/per-library-excluded-dirs into master cameron 2026-05-01 20:11:10 +00:00
  • 58f010f302 docs(claude): pin excluded_dirs entry-form syntax Cameron Cordes 2026-05-01 20:05:58 +00:00
  • 814066551e multi-library: per-library excluded_dirs Cameron Cordes 2026-05-01 19:54:17 +00:00
  • 4f17af688e Merge pull request 'multi-library: operator kill switch via libraries.enabled' (#70) from feature/library-enabled-flag into master cameron 2026-05-01 19:15:20 +00:00
  • 3598bb2cfe multi-library: operator kill switch via libraries.enabled Cameron Cordes 2026-05-01 19:10:24 +00:00
  • 23448cf5e6 Merge pull request 'feature/library-handoff-and-gc' (#69) from feature/library-handoff-and-gc into master cameron 2026-05-01 18:27:40 +00:00
  • d809ddee44 library_maintenance: clarify orphan-gc log wording Cameron Cordes 2026-05-01 18:01:01 +00:00
  • fa98d147be library_maintenance: log orphan-gc decisions in stale-library path too Cameron Cordes 2026-05-01 17:14:09 +00:00
  • 5f247be1f1 docs(claude): note in-place edit gap as future Branch D Cameron Cordes 2026-05-01 16:53:08 +00:00
  • 263e27e108 multi-library: handoff + orphan GC with two-tick consensus Cameron Cordes 2026-05-01 16:27:53 +00:00
  • a0283a6362 Merge pull request 'multi-library: hash-keyed tagged_photo + photo_insights with reconciliation' (#68) from feature/hash-keyed-derived-data into master cameron 2026-05-01 16:16:38 +00:00
  • 48cac8c285 multi-library: hash-keyed tagged_photo + photo_insights with reconciliation Cameron Cordes 2026-05-01 14:52:16 +00:00
  • cce8f0c1b7 Merge pull request 'feature/multi-library-data-model' (#67) from feature/multi-library-data-model into master cameron 2026-05-01 14:40:16 +00:00
  • 48ed7be5d9 libraries: initial availability sweep before watcher's first sleep Cameron Cordes 2026-05-01 14:33:45 +00:00
  • eea1bf3181 multi-library: availability probe + scoped EXIF queries + collision fixes Cameron Cordes 2026-05-01 14:12:49 +00:00
  • 2f91891459 docs(claude): pin multi-library data model + availability/safety policy Cameron Cordes 2026-05-01 14:11:42 +00:00
  • 3d162105f7 Merge pull request 'feature/edit-tag' (#66) from feature/edit-tag into master cameron 2026-05-01 01:03:40 +00:00
  • 98601973f7 faces: log at the three 503 paths in update_face_handler Cameron 2026-04-30 20:57:51 -04:00
  • 862917b0d1 gitignore: SQLite WAL runtime + local docs/specs dirs Cameron 2026-04-30 20:31:19 -04:00
  • 44d677528e tags: add edit + delete endpoints, enable FK enforcement Cameron 2026-04-30 20:26:35 -04:00
  • 89b743ba54 Merge pull request 'faces: count distinct content_hash in stats total_photos' (#65) from face-stats-dedup-hash into master cameron 2026-04-30 22:43:58 +00:00
  • 323097c650 faces: count distinct content_hash in stats total_photos Cameron Cordes 2026-04-30 22:41:20 +00:00
  • d0833177c7 Merge pull request 'feature/face-stats-exclude-videos' (#64) from feature/face-stats-exclude-videos into master cameron 2026-04-30 21:17:19 +00:00
  • 67abd8d8ff style: cargo fmt Cameron Cordes 2026-04-30 21:16:34 +00:00
  • 0840d55c70 faces: exclude videos from backlog drain and SCANNED denominator Cameron Cordes 2026-04-30 21:16:30 +00:00
  • dbb046dfa8 Merge pull request 'indexer: prune EXCLUDED_DIRS at WalkDir time, extract enumerate_indexable_files' (#63) from feature/exclude-dirs-at-index-time into master cameron 2026-04-30 20:24:18 +00:00
  • f50655fb21 indexer: apply EXCLUDED_DIRS to remaining WalkDir callers Cameron Cordes 2026-04-30 20:17:51 +00:00
  • 5bf49568f1 indexer: prune EXCLUDED_DIRS at WalkDir time, extract enumerate_indexable_files Cameron Cordes 2026-04-30 19:29:37 +00:00
  • f358e83050 Merge pull request 'sqlite: enable WAL + busy_timeout in connect(); 408/413/429 transient' (#62) from feature/sqlite-wal-and-413-transient into master cameron 2026-04-30 18:16:38 +00:00
  • db9dc63e5e sqlite: enable WAL + busy_timeout in connect(); 408/413/429 transient Cameron Cordes 2026-04-30 18:10:59 +00:00
  • 9443c91f88 Merge pull request 'Face Recognition / People Integration' (#61) from feature/face-recog-phase3-file-watch into master cameron 2026-04-30 17:22:08 +00:00
  • 96c539764c docs: face detection system section + per-tick backlog drain env vars Cameron Cordes 2026-04-30 14:06:42 +00:00
  • 675b4a4849 faces: add .env.example template covering all documented env vars Cameron Cordes 2026-04-30 13:51:45 +00:00
  • 5e1bad3179 faces: filter videos out of detection candidate set Cameron Cordes 2026-04-30 12:45:55 +00:00
  • 1971eeccd6 faces: drain backfill + detection backlog every tick, not just full scans Cameron Cordes 2026-04-30 01:46:49 +00:00
  • c2c1fe5b8b faces: bbox crop respects EXIF orientation + pads enough for RetinaFace Cameron Cordes 2026-04-30 01:06:08 +00:00
  • 5a2f406429 faces: bbox edits survive when re-detection finds no face Cameron Cordes 2026-04-30 01:01:07 +00:00
  • 6a6a4a6a46 tags: batch lookup expands content-hash siblings cross-library Cameron Cordes 2026-04-30 00:36:44 +00:00
  • 3112260dc8 tags: batch lookup endpoint to collapse photo-match fan-out Cameron Cordes 2026-04-30 00:28:33 +00:00
  • 16abacf4c5 faces: backfill no longer stalls on chronic-error files at the front Cameron Cordes 2026-04-30 00:03:26 +00:00
  • 891a9982ef faces: force-create path for regions the detector can't see Cameron Cordes 2026-04-29 23:49:34 +00:00
  • 0eaf27d2d3 faces: cover hydrate_face_with_person — assigned + unassigned branches Cameron Cordes 2026-04-29 23:41:52 +00:00
  • 0c2f421a1f faces: PATCH/POST /image/faces returns person_name with the row Cameron Cordes 2026-04-29 23:38:24 +00:00
  • 43cb60d3ad faces: re-embed on bbox edit instead of leaving the embedding stale Cameron Cordes 2026-04-29 23:10:25 +00:00
  • 7303fb8aa3 faces: ignore/junk bucket — DB schema + lazy-create endpoint Cameron Cordes 2026-04-29 22:48:16 +00:00
  • 0e160f5d22 faces: include bbox on /faces/embeddings response Cameron Cordes 2026-04-29 21:01:58 +00:00
  • a24fac5511 faces: backfill missing content_hash from the file watcher Cameron Cordes 2026-04-29 20:41:08 +00:00
  • 23f4941471 faces: surface enabled/disabled state + per-tick candidate count Cameron Cordes 2026-04-29 20:19:17 +00:00
  • 41f93d70d1 faces: tighten bootstrap candidate filter, bump to 1.1.0 Cameron Cordes 2026-04-29 19:05:04 +00:00
  • 1859399759 faces: phase 4 — people-tag bootstrap + auto-bind on detection Cameron Cordes 2026-04-29 18:55:01 +00:00
  • f985a0d658 faces: surface UNIQUE constraint as 409, not 500 Cameron Cordes 2026-04-29 18:44:10 +00:00
  • 4dee7b6f73 faces: phase 3 — file-watch hook drives auto detection Cameron Cordes 2026-04-29 18:21:19 +00:00
  • f77e44b34d faces: fix PathExcluder false-positive + cover face_client/crop in tests Cameron Cordes 2026-04-29 18:09:44 +00:00
  • 860169032b faces: phase 2 — schema + manual face/person CRUD Cameron Cordes 2026-04-29 18:03:42 +00:00
  • 6642db3c8b Merge pull request 'feat/apollo-places-tool and Geo Tagging Exif' (#60) from feat/apollo-places-tool into master cameron 2026-04-28 23:09:33 +00:00
  • 57fb0bcd3c EXIF GPS write: POST /image/exif/gps via exiftool Cameron Cordes 2026-04-28 22:25:40 +00:00
  • 4ae7be35e9 Apollo Places: enrich insights with personal place name + notes Cameron Cordes 2026-04-28 19:11:12 +00:00
  • 9d58547ce3 Merge pull request 'feat/raw-thumb-embedded-preview' (#59) from feat/raw-thumb-embedded-preview into master cameron 2026-04-28 17:21:27 +00:00
  • 6521a328bf RAW preview: exiftool fallback for MakerNote / SubIFD previews Cameron Cordes 2026-04-28 17:13:36 +00:00
  • 00b3c80141 RAW: try IFD0 + IFD1 for embedded preview, serve at full size Cameron Cordes 2026-04-28 16:52:10 +00:00
  • a53c3ae514 Merge pull request 'feature/exif-batch-endpoint for Apollo' (#58) from feature/exif-batch-endpoint into master cameron 2026-04-28 12:58:30 +00:00
  • 7621282419 Thumb orientation + library filter on /photos/exif Cameron Cordes 2026-04-27 17:29:36 -04:00
  • c6f82ebaba Batch EXIF endpoint: GET /photos/exif Cameron Cordes 2026-04-27 16:38:53 -04:00
  • 9cf3af383d Merge pull request '006-bin-cleanup-and-progress' (#57) from 006-bin-cleanup-and-progress into master cameron 2026-04-27 20:28:32 +00:00
  • b9d5578653 feat(bins): multi-library populate_knowledge + progress UX Cameron 2026-04-26 23:55:33 -04:00
  • d5f944c7b6 chore(bins): retire unused migrate_exif Cameron 2026-04-26 23:55:06 -04:00
  • 2db611e1c1 Merge pull request 'OpenRouter Support, Insight Chat and User injection' (#56) from 005-llm-client-trait into master cameron 2026-04-26 23:01:33 +00:00
  • 21e624da6b fix(video): sentinel for failed HLS encodes to stop retry loop Cameron 2026-04-26 01:06:13 -04:00