The scanner pipeline now runs end-to-end: Phase 1 (geopolitical, market movers, sector scanners in parallel via Ollama), Phase 2 (industry deep dive), Phase 3 (macro synthesis via OpenRouter/DeepSeek R1). Key changes: - Add tool_runner.py with run_tool_loop() for inline tool execution in scanner agents (scanner graph has no ToolNode, unlike trading graph) - Fix vendor fallback: catch AlphaVantageError base class, raise on total failure instead of embedding errors in return values - Rewrite yfinance sector perf to use SPDR ETF proxies (Sector.overview has no performance data) - Fix Ollama remote host support in openai_client.py - Add LangGraph state reducers for parallel fan-out writes - Add --date CLI flag for non-interactive scanner invocation - Fix .env loading to find keys from both CWD and project root - Add hybrid LLM config (per-tier provider/backend_url) - Add project tracking: DECISIONS.md, PROGRESS.md, MISTAKES.md - Add 9 new test files covering exceptions, fallback, and routing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| alpha_vantage.py | ||
| alpha_vantage_common.py | ||
| alpha_vantage_fundamentals.py | ||
| alpha_vantage_indicator.py | ||
| alpha_vantage_news.py | ||
| alpha_vantage_scanner.py | ||
| alpha_vantage_stock.py | ||
| config.py | ||
| interface.py | ||
| stockstats_utils.py | ||
| utils.py | ||
| y_finance.py | ||
| yfinance_news.py | ||
| yfinance_scanner.py | ||