- Fix copy-paste bug in risk_manager.py where fundamentals_report was
reading from news_report instead of fundamentals_report, causing the
risk manager to ignore fundamentals data in its final decision
- Initialize all TypedDict fields for InvestDebateState and
RiskDebateState in propagation.py to prevent KeyError in _log_state
- Update setup.py type hints from ChatOpenAI to ChatModel union type
to correctly reflect multi-provider LLM support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>