
bvandeusenandClaude Sonnet 4.6
ebc79b34f9
feat(rag): RAG scoping and context isolation controls
- Migration 0030: add conversations.rag_project_id (NULL=orphan-only,
-1=all notes, positive=project), projects.auto_summary and
projects.summary_updated_at
- Three-value scope semantics thread from build_context() → semantic
search and keyword fallback via orphan_only + effective_project_id
- Project summarization background job (generate_project_summary,
backfill_project_summaries) called via Ollama; triggered on project
update and note saves (debounced 1h); runs at startup
- New LLM tools: search_projects (SequenceMatcher scoring on
title+description+auto_summary) and set_rag_scope (persists to DB,
workspace-guarded, emits new_rag_scope in SSE done event)
- execute_tool() accepts conv_id + workspace_project_id; generation_task
passes both and captures scope changes for SSE done enrichment
- Frontend: Conversation type gets rag_project_id; chat store adds
ragProjectId computed + updateRagScope(); SSE done handler syncs scope
- ChatView: replace sidebar ProjectSelector with a scope chip pill above
the input bar, animated dropdown, pulse on model-driven scope change
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 17:44:39 -04:00
..
2026-03-25 13:38:09 -04:00
2026-03-11 10:57:02 -04:00
2026-03-25 15:39:13 -04:00
2026-03-06 15:26:34 -05:00
2026-03-09 21:30:55 -04:00
2026-03-25 13:38:09 -04:00
2026-03-25 17:44:39 -04:00
2026-03-25 17:44:39 -04:00
2026-03-09 21:30:55 -04:00
2026-03-25 17:44:39 -04:00
2026-03-25 13:38:09 -04:00
2026-03-02 20:52:21 -05:00
2026-02-09 23:35:44 -05:00