• bvandeusen released this 2026-04-27 08:12:56 -04:00 | 325 commits to main since this release

    A substantial release. Five days of work bundled together.

    Headline

    • Rebrand: Fabled Assistant → Fabled Scribe (user-visible strings, repo, image path; internal package + DB unchanged)
    • Briefing → Journal: day-anchored conversational surface where you record your day. Daily LLM-generated prep at the top, conversational chat below, silent record_moment extractions in the background.
    • RSS retired end-to-end (services, models, tools, NewsView, article-discuss flow, DB tables). The URL-generic read_article tool survives.
    • Routing: / now lands on /journal; Knowledge moved to /knowledge as its own route.
    • Design system doc captures the FabledSword baseline + Scribe's iteration decisions. UI polish pass deferred.

    Migrations (apply on container start)

    • 0040 — rename conversations.briefing_dateday_date; delete all briefing conversations + briefing_config settings
    • 0041 — add moments + 4 junction tables + moment_embeddings
    • 0042 — drop RSS tables; clear rss_enabled / briefing_*_topics settings

    Breaking

    • All prior briefing conversations and briefing_config user settings are deleted by migration 0040. By design, no recovery.
    • All RSS feeds, items, reactions, and embeddings are dropped by 0042. By design, no recovery.

    Deploy notes

    • Pull the new image; migrations run on startup
    • Force-regenerate today's prep via mcp__fable__fable_trigger_journal_prep to pick up the latest prompt-tuning
    • Flutter app's matching journal-replaces-briefing migration was pushed to FabledApp dev and will land in its next APK release

    What's deferred

    • Polish pass applying the design system to existing UI
    • End-of-day moment synthesis
    • Native Android journal UX (the Flutter app currently has the migrated screen but isn't yet the polished journal experience the web side is iterating toward)
    Downloads