TradingAgents/tradingagents
Youssef Aitousarrah c792b17ab6 fix(discovery): fix three scanner hang/validation bugs found in ranker_debug.log
1. executor.shutdown(wait=True) still blocked after global timeout (critical)
   The previous fix added timeout= to as_completed() but used `with
   ThreadPoolExecutor() as executor`, whose __exit__ calls shutdown(wait=True).
   This meant the process still hung waiting for stuck threads (ml_signal) even
   after the TimeoutError was caught.  Fixed by creating the executor explicitly
   and calling shutdown(wait=False) in a finally block.

2. ml_signal hangs on every run — "Batch-downloading 592 tickers (1y)..." never
   completes. Root cause: a single yfinance request for 592 tickers × 1 year of
   daily OHLCV is a very large payload that regularly times out at the network
   layer. Fixed by:
   - Reducing default lookback from "1y" to "6mo" (halves download size)
   - Splitting downloads into 150-ticker chunks so a slow chunk doesn't kill
     the whole scan (partial results are still returned)

3. C (Citigroup) and other single-letter NYSE tickers rejected as invalid.
   validate_ticker_format used ^[A-Z]{2,5}$ requiring at least 2 letters.
   Real tickers like C, A, F, T, X, M are 1 letter. Fixed to ^[A-Z]{1,5}$.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 22:35:42 -08:00
..
agents Update 2026-02-20 08:38:15 -08:00
dataflows fix(discovery): fix three scanner hang/validation bugs found in ranker_debug.log 2026-02-20 22:35:42 -08:00
graph fix(discovery): fix three scanner hang/validation bugs found in ranker_debug.log 2026-02-20 22:35:42 -08:00
ml chore: linter formatting + ML scanner logging, prompt control, ranker reasoning 2026-02-09 23:04:38 -08:00
schemas feat: discovery pipeline enhancements with ML signal scanner 2026-02-09 22:53:42 -08:00
tools chore: linter formatting + ML scanner logging, prompt control, ranker reasoning 2026-02-09 23:04:38 -08:00
ui fix(ui): fix signal cards rendering as raw HTML in Streamlit 2026-02-20 11:33:15 -08:00
utils feat: discovery pipeline enhancements with ML signal scanner 2026-02-09 22:53:42 -08:00
__init__.py feat: discovery system code quality improvements and concurrent execution 2026-02-05 23:27:01 -08:00
config.py feat: discovery pipeline enhancements with ML signal scanner 2026-02-09 22:53:42 -08:00
default_config.py feat: add daily discovery workflow, recommendation history, and scanner improvements 2026-02-11 22:07:02 -08:00