feat: v2.9.6 — free-first NUX, cookie extraction, quality scoring

Setup wizard with consent-first cookie extraction (Chrome/Firefox/Safari),
yt-dlp auto-install, ScrapeCreators push, quality scoring (5 core sources),
status banner redesign, honest Reddit labeling, inline YouTube transcripts,
Exa free web search, Reddit public fallback, and post-research quality nudge.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt Van Horn
2026-03-29 14:32:52 -07:00
parent 4d6224f79a
commit 3803f3df4b
34 changed files with 6238 additions and 320 deletions
+3 -1
View File
@@ -223,7 +223,9 @@ class TestXSourceSelection(unittest.TestCase):
'can_install': False,
}
with patch('lib.bird_x.get_bird_status', return_value=bird_status):
with patch('lib.bird_x.get_bird_status', return_value=bird_status), \
patch('lib.bird_x.is_bird_installed', return_value=True), \
patch('lib.bird_x.is_bird_authenticated', return_value=None):
status = env.get_x_source_status(config)
self.assertIsNone(status['source'])