• v26.04.14.1 Stable

    bvandeusen released this 2026-04-14 08:02:25 -04:00 | 410 commits to main since this release

    Highlights

    Unified /news + briefing discuss

    Both article discussion entry points now share a single seed_article_discussion() helper that stages the synthetic read_article tool exchange and the conversational seed prompt. Behavior is byte-identical across entry points — /news no longer dumps a raw article body into a seeded message and calls it a day.

    /news discuss also auto-starts generation server-side, so clicking 💬 lands you on an in-flight stream instead of a pre-seeded chat waiting for you to press send. The web ChatView reconnects to the running generation on mount; no UI changes were needed there.

    Article summaries persist to RAG

    The first assistant reply in a seeded article conversation is now saved as a Note, tagged article-summary plus any article topics, with entity_meta carrying rss_item_id + url + conversation_id. The rss_items.discussion_note_id FK back-link makes the save idempotent — re-clicking Discuss on the same article is a no-op.

    The goal: the knowledge base stops being amnesiac about articles you've already engaged with. Future chats can surface the prior summary through normal semantic search.

    The post-generation hook fires fire-and-forget from run_generation, logs failures, and never breaks the chat even if note persistence hits a snag.

    Schema

    Migration 0039 adds rss_items.discussion_note_id (BIGINT NULL, FK → notes.id ON DELETE SET NULL). Additive — existing rows stay unlinked until the next discuss click.

    Downloads