803da64e16
When a reader's boundary (avoid-term, muted topic/flavor, pause) removes a brief item, top the highlights back up with other readable, boundary-respecting good news instead of showing fewer cards — so 'Highlights from Today' stays full and still honors what they don't want to see. (Reverses the earlier filter-down-only MVP, now that the count is fixed at seven.) - /api/brief: after filtering by prefs, refill from the accepted pool (same categorical SQL filters + avoid-terms) excluding already-shown items. - Shared _prefs_sql_kw helper for feed/replacement/brief filters. - Tests: refill stays full and respects mute + avoid-terms (89 total). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>