Debug log on a "Recherchiere News über Adult Learning" mission showed
the deep-research pipeline (mana-search + LLM synthesis) returned 0
sources but reported success — planner then either hallucinated or
fell back to create_task. The webapp already has a documented
RSS-based research path in news-research/{discoverByQuery,searchFeeds}
that's faster, free (no credits), and matches the companion-flow
contract written in news-research/tools.ts: "research_news → save_news_article".
Now:
- Pre-step calls discoverByQuery + searchFeeds directly.
- Empty discovery / empty results throw an explicit error so the
failure-injection branch surfaces it to the planner instead of
silently feeding a "0 sources" success message.
- Injected ResolvedInput now carries explicit instructions ("rufe für
jeden relevanten Artikel save_news_article auf — erfinde keine
URLs") so the planner doesn't have to infer the next move.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>