4e4dbb8783
_generate_title was receiving the full messages list from build_context, which prepends RAG snippets, RSS excerpts, URL content, and briefing article dumps INTO the user-role message string. The role=="user" filter inside _generate_title then handed that composite blob (capped at 300 chars) to gemma3:4b as "the user's message", so the background model was titling conversations based on article excerpts instead of what the user actually typed — producing wildly wrong titles like "Briefing Profile Preferences & Schedule" for a plain calendar query. See #109. Pass the raw history + user_content + assistant reply instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>