-
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