-
3a93e5cae6
Merge pull request 'Feature/open chat with persona' (#110) from feature/open-chat-with-persona into master
master
cameron
2026-09-08 21:55:37 +00:00
-
-
bbaa1f62a4
fix: delete a persona's conversations along with the persona
Cameron Cordes
2026-08-25 18:39:06 -04:00
-
65cceaa67c
feat: multiple persona conversations with branching and generated titles
Cameron Cordes
2026-08-25 18:23:10 -04:00
-
883e2a0e1b
fix: send persona_chat wire shapes in snake_case like file chat
Cameron Cordes
2026-08-24 21:34:46 -04:00
-
3b9d985025
feat: add /persona_chat endpoints for open chat with persona
Cameron Cordes
2026-08-24 21:25:48 -04:00
-
-
649863a700
Merge pull request 'Feature/insight chat branching' (#109) from feature/insight-chat-branching into master
cameron
2026-08-22 02:06:24 +00:00
-
-
4720d5653a
feat: apply EXIF orientation and colorspace correction to ffmpeg thumbnails
Cameron Cordes
2026-08-10 21:15:01 -04:00
-
5e6bd69405
style: run cargo fmt
Cameron Cordes
2026-08-08 13:26:21 -04:00
-
ef54f0d646
test: add nested fork regression tests
Cameron Cordes
2026-08-08 10:58:13 -04:00
-
a1a2d22b5b
fix: only emit fork chip at actual divergence point
Cameron Cordes
2026-08-08 10:51:39 -04:00
-
9ce7cbf3df
Branch previews show the first differing message, not the shared child
Cameron Cordes
2026-08-07 20:07:31 -04:00
-
ee8a11d421
Scope branch listings to a divergence point via node_id
Cameron Cordes
2026-08-07 19:39:57 -04:00
-
1512fc5bdc
Add conversation branching to insight chat (rewind preserves forks)
Cameron Cordes
2026-08-07 19:19:20 -04:00
-
-
3732faef71
Merge pull request 'Retry insight persistence with exponential backoff to avoid SQLite lock contention' (#108) from feature/db-locked-fix into master
cameron
2026-08-07 16:19:41 +00:00
-
-
38aaddfd2a
Retry insight persistence with exponential backoff to avoid SQLite lock contention
Cameron Cordes
2026-08-05 18:22:36 -04:00
-
-
4029625dc0
Merge pull request 'Feature/unified nl search' (#106) from feature/unified-nl-search into master
cameron
2026-06-29 18:56:58 +00:00
-
-
475072810e
AI: add enable_thinking reasoning toggle plumbed to llama.cpp
Cameron Cordes
2026-06-17 18:14:44 -04:00
-
7684220f52
Unified search: use ANY-mode tag matching, not ALL
Cameron Cordes
2026-06-14 02:25:24 -04:00
-
b594acc4bd
Unified search: rank within filtered set instead of pre-thresholding CLIP
Cameron Cordes
2026-06-14 02:20:06 -04:00
-
e7f6dd56da
clip_client: log encode_text failures (URL + status/body or network error)
Cameron Cordes
2026-06-14 02:02:57 -04:00
-
b18ab6ed99
Unified search: UNIFIED_SEARCH_MODEL env override for the translation step
Cameron Cordes
2026-06-14 01:58:48 -04:00
-
2cde88d734
Unified search: stage-by-stage logging to debug empty results
Cameron Cordes
2026-06-14 01:29:21 -04:00
-
8dce536f38
Unified search: accept client model override (avoid model swapping)
Cameron Cordes
2026-06-14 01:19:53 -04:00
-
fd00dc936a
Unified NL search Phase 2: /photos/search/unified endpoint
Cameron Cordes
2026-06-14 01:03:43 -04:00
-
09ccb347c7
Unified NL search Phase 1: NL→structured-query translator + forward geocoding
Cameron Cordes
2026-06-14 00:44:16 -04:00
-
-
e9d04afd4b
Merge pull request 'Feature/memory reels agentic job' (#107) from feature/memory-reels-agentic-job into master
cameron
2026-06-29 16:38:47 +00: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
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
-