- Wrap all scheduler.sync_* calls in automation_routes.py with
asyncio.get_running_loop().run_in_executor() to avoid blocking
the async event loop
- Replace bare 'except: pass' in paper_search._save_papers_to_project
with logging.warning
- Make API base URL configurable via RESEARCH_API_BASE_URL env var
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>