- Removed dependency on client-side `marked.js` and CDNs.
- Reports are now fully offline-capable.
- Cleaned up JSON keys to remove `.md` extensions for cleaner data structure.
- **Google News Adapter**: Implemented `get_google_global_news` adapter in `google.py` to match the standard `(curr_date, look_back_days)` interface, adhering to the Adapter Pattern and fixing signature mismatches.
- **Robust Demo Script**: Created `run_agent.py` (replacing demo scripts) with:
- Automatic `.env` loading.
- `backend_url` handling (clearing OpenAI defaults when using Anthropic).
- Hardened configuration for "Deep Analysis" (Debate Rounds=2).
- Pre-configured Google News vendor to bypass AlphaVantage rate limits.
### Fixed
- **Rate Limit Crash**: Fixed `AlphaVantageRateLimitError` by switching default news vendor to Google in `run_agent.py`.
Override Logic Mismatches: Fixed critical Enum-to-String type mismatch in
apply_trend_override
that was silencing the "Safety Valve" logic.
Data Pipeline Failures: Injected robust error handling and type checking in
market_analyst.py
to identify why RegimeDetector receives invalid data (causing "UNKNOWN" regimes).
Gemini 404 Errors: Removed invalid/deprecated model names causing 404s
- **Configurable Embeddings Truncation**: Added `EMBEDDING_TRUNCATION_LIMIT` env var (default 1000) to prevent `413 Payload Too Large` errors with local models.