Commit Graph

  • 48a1b753f0 AI: add enable_thinking reasoning toggle plumbed to llama.cpp feature/unified-nl-search Cameron Cordes 2026-06-17 18:14:44 -04:00
  • f2ab8d3740 Unified search: use ANY-mode tag matching, not ALL Cameron Cordes 2026-06-14 02:25:24 -04:00
  • 6e5898e766 Unified search: rank within filtered set instead of pre-thresholding CLIP Cameron Cordes 2026-06-14 02:20:06 -04:00
  • 6c315edacc clip_client: log encode_text failures (URL + status/body or network error) Cameron Cordes 2026-06-14 02:02:57 -04:00
  • 0a40e78528 Unified search: UNIFIED_SEARCH_MODEL env override for the translation step Cameron Cordes 2026-06-14 01:58:48 -04:00
  • e56235acc5 Unified search: stage-by-stage logging to debug empty results Cameron Cordes 2026-06-14 01:29:21 -04:00
  • fcbd7e2733 Unified search: accept client model override (avoid model swapping) Cameron Cordes 2026-06-14 01:19:53 -04:00
  • e4c875f473 Unified NL search Phase 2: /photos/search/unified endpoint Cameron Cordes 2026-06-14 01:03:43 -04:00
  • 50ed780844 Unified NL search Phase 1: NL→structured-query translator + forward geocoding Cameron Cordes 2026-06-14 00:44:16 -04:00
  • 7e21213181 Reels: bound disk/ledger growth (pre-gen prune + on-demand cache sweep) Cameron Cordes 2026-06-13 23:27:32 -04:00
  • 664b3694f8 Reels pre-gen: always render the agentic reel, don't adopt on-demand mp4 Cameron Cordes 2026-06-13 23:16:14 -04:00
  • b52b1eb323 Reels pre-gen: make dedup cache-key-aware so key changes regenerate Cameron Cordes 2026-06-13 23:14:39 -04:00
  • 19fc1bbdf8 Reels pre-gen: use DEFAULT_MAX_SEGMENTS so cache keys match on-demand Cameron Cordes 2026-06-13 23:12:54 -04:00
  • ca007a618d Reels pre-gen: record true media count + real upsert for user_ai_prefs Cameron Cordes 2026-06-13 15:19:41 -04:00
  • e4d8d374fb Reels pre-gen: fix runtime breakers from review (1-5) Cameron Cordes 2026-06-13 15:14:36 -04:00
  • 5c9ee56527 Fix agentic reel audit issues: midnight bug, DAO wiring, dead code, DST timezone, validation Cameron Cordes 2026-06-13 14:59:00 -04:00
  • f707353807 feat: nightly agentic pre-generation of memory reels Cameron Cordes 2026-06-13 14:29:34 -04:00
  • b30c8c16d0 Reels: clips play through the beat instead of freezing early Cameron Cordes 2026-06-13 11:00:01 -04:00
  • f5581edf5e Reels: ease burst fade 0.08s → 0.12s Cameron Cordes 2026-06-13 00:07:41 -04:00
  • 65793a2dda Reels: mixed-media (video clip beats) + faster burst fade Cameron Cordes 2026-06-13 00:02:51 -04:00
  • 299e32b014 Bump version to 1.4.0 Cameron Cordes 2026-06-12 23:45:24 -04:00
  • 6e90f24307 Reels: burst beats + duration budget for week/month, plus step logging Cameron Cordes 2026-06-12 23:43:18 -04:00
  • 740fc4d841 Reels: fix steppy fade (fps before fade) and ease the expression bump Cameron Cordes 2026-06-12 23:20:52 -04:00
  • 7715a7a905 Reels: portrait canvas with blurred fill, fade transitions, warmer TTS Cameron Cordes 2026-06-12 23:10:26 -04:00
  • 42453d5786 Fix reel concat: force -f mp4 for the .tmp output path Cameron Cordes 2026-06-12 22:56:48 -04:00
  • e3f731b3b2 Add memory-reel backend: on-demand narrated photo slideshow Cameron Cordes 2026-06-12 22:31:08 -04:00
  • 98274c3301 Merge pull request 'Feature/tts voice management' (#105) from feature/tts-voice-management into master master cameron 2026-06-13 02:01:37 +00:00
  • 1017fe73af Include start offset in voice-name window tag Cameron Cordes 2026-06-12 16:21:41 -04:00
  • 1dec34540d Add start/duration window selection for voice-clone reference clips Cameron Cordes 2026-06-12 16:09:03 -04:00
  • 2e0f78aa1b Add user-configurable TTS pronunciation overrides Cameron Cordes 2026-06-11 23:06:18 -04:00
  • 3fa4fa8501 Strip markdown decoration from model-emitted insight titles Cameron Cordes 2026-06-11 22:18:43 -04:00
  • efd05db523 Make the embedding model swappable via env for A/B testing Cameron Cordes 2026-06-11 21:40:40 -04:00
  • b1493f5aca Wait out TTS GPU hold before the insight job timeout starts Cameron Cordes 2026-06-11 19:15:38 -04:00
  • a022a3d15d Fix RAG vector-space mismatch and search_rag retrieval quality Cameron Cordes 2026-06-11 19:06:52 -04:00
  • 0accc4ef2f Add GPU lease coordinating LLM and TTS requests through llama-swap Cameron Cordes 2026-06-11 18:20:06 -04:00
  • 03699f7413 Add TTS voice deletion, async speech jobs, voice-list cache, ref-seconds name tags Cameron Cordes 2026-06-10 17:36:15 -04:00
  • c78e751743 Merge pull request 'Feature/insight history' (#104) from feature/insight-history into master cameron 2026-06-10 19:01:14 +00:00
  • 31904fef80 Raise chat truncation default num_ctx to 32k, env-overridable Cameron Cordes 2026-06-09 19:14:02 -04:00
  • 13f3635db2 Fix clippy lints in backfill and libraries tests Cameron Cordes 2026-06-09 18:29:44 -04:00
  • b711252c23 Resolve persona prompts server-side; drop synthetic prompt in chat_turn Cameron Cordes 2026-06-09 18:29:35 -04:00
  • 091982bdfc Add recall_facts_for_entity tool; fix generation gates and tool output Cameron Cordes 2026-06-09 18:29:20 -04:00
  • 592dfcb42c Accumulate streamed tool calls across chunks in Ollama streaming Cameron Cordes 2026-06-09 18:29:06 -04:00
  • 8e4f91561b Add per-file insight history endpoint and rate-by-id Cameron Cordes 2026-06-07 18:28:22 -04:00
  • 750a8de6b1 Merge pull request 'Feature/tts integration' (#103) from feature/tts-integration into master cameron 2026-06-07 21:35:49 +00:00
  • 412da2ce8e Collapse blank lines to a single break in TTS text cleaning Cameron Cordes 2026-06-04 09:12:43 -04:00
  • dec6f21af9 Bump version to 1.3.0 Cameron Cordes 2026-06-03 14:07:10 -04:00
  • cab867da60 Serialize /tts/speech with a single permit; 429 when busy Cameron Cordes 2026-06-03 14:02:56 -04:00
  • d8dd260c6b Give TTS synthesis its own (longer) request timeout Cameron Cordes 2026-06-03 10:25:06 -04:00
  • 9978b28b52 Document TTS endpoints + env in CLAUDE.md Cameron Cordes 2026-06-02 23:15:39 -04:00
  • ccacfe1113 Instrument TTS handlers with OTel spans (codebase standard) Cameron Cordes 2026-06-02 23:10:43 -04:00
  • 62d517dcda Normalize voice-clone reference audio to WAV via ffmpeg Cameron Cordes 2026-06-02 22:50:08 -04:00
  • 35c5ecb427 Document TTS endpoints and env in README + .env.example Cameron Cordes 2026-06-02 22:34:34 -04:00
  • 51be5df214 Clean insight text for TTS and pass through Chatterbox tuning knobs Cameron Cordes 2026-06-02 22:15:05 -04:00
  • 69268d03fe Add TTS endpoints backed by Chatterbox via llama-swap Cameron Cordes 2026-06-02 22:04:42 -04:00
  • 015dc976e3 Merge pull request 'feature/insight-jobs' (#102) from feature/insight-jobs into master cameron 2026-06-02 23:41:36 +00:00
  • b9b6e51af1 Stop ffprobe walking every frame in video stream probe Cameron Cordes 2026-05-30 13:19:47 -04:00
  • 16ae82ba70 Normalize video rel_path lookup to forward slashes on Windows Cameron Cordes 2026-05-30 12:51:44 -04:00
  • a542ea411b Exclude inlined image bytes from chat context budget Cameron Cordes 2026-05-30 11:51:57 -04:00
  • 962f7bf05c Add reconnectable async chat-turn flow with in-memory TurnRegistry Cameron Cordes 2026-05-29 19:50:25 -04:00
  • 0c1c1c6792 fix: split token count columns into separate migration Cameron Cordes 2026-05-27 22:34:44 -04:00
  • cdd981fe64 fix: inline DB error source into DbError struct Cameron Cordes 2026-05-27 22:30:19 -04:00
  • dad0220587 fix: stop swallowing DB errors across the entire DAO layer Cameron Cordes 2026-05-27 13:56:48 -04:00
  • 39ad83f55b fix: surface actual Diesel error in store_insight instead of generic InsertError Cameron Cordes 2026-05-27 13:53:54 -04:00
  • 9654d256f4 fix: persist token counts and fix agentic insight_id mapping Cameron Cordes 2026-05-27 13:47:57 -04:00
  • 449ce1fda1 chore: resolve all clippy warnings and formatting Cameron Cordes 2026-05-27 13:13:48 -04:00
  • a410683edf fix: fail fast when LLM_BACKEND=llamacpp but LlamaCppClient is unconfigured Cameron Cordes 2026-05-27 13:02:42 -04:00
  • 2818936739 fix: audit fixes for async insight jobs + persist generation params Cameron Cordes 2026-05-27 13:02:15 -04:00
  • b87eb4e690 feat: async insight generation with SQLite job tracking Cameron Cordes 2026-05-27 10:01:17 -04:00
  • 5a75d1a28c Merge pull request 'feature/llamacpp-backend' (#101) from feature/llamacpp-backend into master cameron 2026-05-26 18:58:47 +00:00
  • b03ee60342 fix: prevent hybrid mode from leaking OpenRouter model to local llamacpp client Cameron Cordes 2026-05-26 09:55:16 -04:00
  • 0a627f4880 Add contact name filter to SMS search tool + misc improvements Cameron Cordes 2026-05-25 21:46:18 -04:00
  • b9175e2718 image: add xlarge (4096px) on-demand preview tier cameron 2026-05-25 15:33:03 -04:00
  • 9dba659d1e test: add llamacpp model-slot consistency and content-null tests Cameron Cordes 2026-05-24 19:29:51 -04:00
  • 208344ad98 ai: mirror chat model on local client to prevent mid-turn model swap Cameron Cordes 2026-05-24 19:27:29 -04:00
  • fb388c29d7 docs: update env + CLAUDE.md for direct-vision llamacpp + ResolvedBackend Cameron Cordes 2026-05-24 15:03:12 -04:00
  • a8a661f70a ai: extract ResolvedBackend, remove ~480 lines of duplicated dispatch Cameron Cordes 2026-05-24 15:00:50 -04:00
  • 0631820fbf ai: send images directly to llamacpp chat models + add ResolvedBackend Cameron Cordes 2026-05-24 14:00:37 -04:00
  • be51421b38 ai: collapse llamacpp into LLM_BACKEND env switch Cameron Cordes 2026-05-21 11:36:58 -04:00
  • d14df63f19 env.example: document LLAMA_SWAP_* + HYBRID_VISION_BACKEND vars Cameron Cordes 2026-05-20 17:54:08 -04:00
  • f0927f5355 ai: add llamacpp backend (llama-swap) as third LLM client Cameron Cordes 2026-05-20 17:52:33 -04:00
  • d04b86e32c Merge pull request 'image: add on-demand size=large preview tier (~2048px JPEG q85)' (#100) from feature/image-large-preview into master cameron 2026-05-19 21:51:08 +00:00
  • 19798184f0 image: add on-demand size=large preview tier (~2048px JPEG q85) Cameron Cordes 2026-05-17 21:11:11 -04:00
  • c3c6cd03db Merge pull request 'file_types: filter macOS AppleDouble + .DS_Store from media predicates' (#99) from feature/filter-fs-metadata into master cameron 2026-05-18 17:12:42 +00:00
  • b843a4a366 file_types: filter macOS AppleDouble + .DS_Store from media predicates Cameron Cordes 2026-05-17 19:49:23 -04:00
  • d275150db6 Merge pull request 'feature/video-frame-rate' (#98) from feature/video-frame-rate into master cameron 2026-05-18 00:09:35 +00:00
  • acdffc1558 cargo fmt: drop trailing blank line in actors.rs Cameron 2026-05-16 21:14:30 -04:00
  • bd61e10158 chore: add .gitattributes + unit tests for ffprobe rational parser Cameron 2026-05-16 21:13:06 -04:00
  • 1b70a6f0b4 video: probe frame rate via ffprobe and return on /video/generate Cameron 2026-05-16 21:03:21 -04:00
  • 3162a4f477 Merge pull request 'clip-search: accept library_ids (multi-select whitelist) on /photos/search' (#97) from feature/clip-search-library-ids into master cameron 2026-05-16 13:38:00 +00:00
  • 87093a63d7 clip-search: accept library_ids (multi-select whitelist) on /photos/search Cameron Cordes 2026-05-16 09:30:46 -04:00
  • dd7b4befb6 Merge pull request 'feature/clip-semantic-search' (#96) from feature/clip-semantic-search into master cameron 2026-05-16 00:32:32 +00:00
  • 922f7df8d3 clip-search: offset-based pagination on /photos/search Cameron Cordes 2026-05-15 16:56:10 -04:00
  • ee2ed3005b clip-search: document env knobs in .env.example Cameron Cordes 2026-05-14 14:12:51 -04:00
  • 66267cc345 clip-search: fmt + clippy clamp + test AppState arg Cameron Cordes 2026-05-14 14:09:20 -04:00
  • 32195ed89e clip-search: backlog drain + /photos/search endpoint Cameron Cordes 2026-05-14 14:00:41 -04:00
  • 8d9e76cf15 clip-search: migration + client + probe binary Cameron Cordes 2026-05-14 12:54:07 -04:00
  • 26ffc15c8b Merge pull request 'feature/hls-content-hash' (#95) from feature/hls-content-hash into master cameron 2026-05-15 20:09:48 +00:00
  • 0168a4b574 hls: remove legacy /video/stream + /video/{path} routes Cameron Cordes 2026-05-15 16:00:19 -04:00
  • c30cadde02 ai: fix UTF-8 byte-slice panics in insight_generator log/truncation paths Cameron 2026-05-15 15:10:02 -04:00
  • 8503ef7884 chore: cargo fmt + clippy --fix sweep across the crate Cameron Cordes 2026-05-14 16:25:05 -04:00