08e2010554
- _search_web() dispatches to Parallel AI / Brave / OpenRouter based on config - Web results flow through full pipeline: normalize → score → dedupe - --diagnose shows all source availability (API keys, Bird, YouTube, web backends) - --store persists findings to SQLite via store.py for watchlist/briefing system - run_research() now returns web_items alongside reddit/x/youtube - web_needed flag only set when no native web backend is available Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>