- Increase max retry attempts from 3 to 5
- Extend max delay from 10s to 60s for better handling of persistent 529 errors
- Add jitter (random 0-0.5s delay) to avoid synchronized retries
- Based on Cursor IDE blog best practices for handling Claude API 529 errors
- Add tenacity-based retry logic to Research Manager
- Configure exponential backoff (2-10s) for OverloadedError
- Maximum 3 retry attempts with warning-level logging
- Improves system stability against temporary API overload
- Fix: correct import path for OverloadedError from anthropic._exceptions
- Replace hardcoded column indices with column name lookup
- Add mapping for all supported indicators to their expected CSV column names
- Handle missing columns gracefully with descriptive error messages
- Strip whitespace from header parsing for reliability
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>