Fix: weather column — /api/briefing/weather now returns card-format data via parse_weather_card_data() instead of raw cache shape
Fix: temp unit label — reads temp_unit from inside briefing_config JSON (not a nonexistent standalone key); F/C label now matches converted values
Fix: news column/view empty — CAST(:feed_id AS integer) resolves asyncpg AmbiguousParameterError; COALESCE(published_at, fetched_at) prevents silent exclusion of articles with no publish date
Fix: version display contrast — app version badge now uses --color-primary border/color for legibility
Fix: gitignore — docs/superpowers/, docs/plans/, docs/specs/ excluded and de-tracked
Feat: add_rss_feed LLM tool — users can add RSS feeds via chat
Feat: auto-bump fable-mcp version — Claude Code PreToolUse hook increments patch version on every commit touching fable-mcp/
Test plan
Briefing view weather column shows cards with correct °C/°F label
Briefing view news column populates with recent articles
/news archive view loads and paginates correctly
App version visible in settings footer with readable contrast
Chat: ask assistant to add an RSS feed URL — add_rss_feed tool fires and feed appears in settings
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
/api/briefing/weathernow returns card-format data viaparse_weather_card_data()instead of raw cache shapetemp_unitfrom insidebriefing_configJSON (not a nonexistent standalone key); F/C label now matches converted valuesCAST(:feed_id AS integer)resolves asyncpgAmbiguousParameterError;COALESCE(published_at, fetched_at)prevents silent exclusion of articles with no publish date--color-primaryborder/color for legibilitydocs/superpowers/,docs/plans/,docs/specs/excluded and de-trackedadd_rss_feedLLM tool — users can add RSS feeds via chatfable-mcp/Test plan
/newsarchive view loads and paginates correctlyadd_rss_feedtool fires and feed appears in settings🤖 Generated with Claude Code