TradingAgents/docs/agent/decisions
ahmet guzererler 4c14080d73
feat(scanner): Finviz smart money scanner + Golden Overlap strategy
## Summary
- Adds `smart_money_scanner` as a new Phase 1b node that runs sequentially after `sector_scanner`, surfacing institutional footprints via Finviz screeners
- Introduces the **Golden Overlap** strategy in `macro_synthesis`: stocks confirmed by both top-down macro themes and bottom-up Finviz signals are labelled high-conviction
- Fixes model-name badge overflow in AgentGraph (long model IDs like OpenRouter paths were visually spilling into adjacent nodes)
- Completes all documentation: ADR-014, dataflow, architecture, components, glossary, current-state

## Key Decisions (see ADR-014)
- 3 zero-parameter tools (`get_insider_buying_stocks`, `get_unusual_volume_stocks`, `get_breakout_accumulation_stocks`) instead of 1 parameterised tool — prevents LLM hallucinations on string args
- Sequential after `sector_scanner` (not parallel fan-out) — gives access to `sector_performance_report` context and avoids `MAX_TOOL_ROUNDS=5` truncation in market_movers_scanner
- Graceful fallback: `_run_finviz_screen()` catches all exceptions and returns an error string — pipeline never hard-fails on web-scraper failure
- `breakout_accumulation` (52-wk high + 2x vol = O'Neil CAN SLIM institutional signal) replaces `oversold_bounces` (RSI<30 = retail contrarian, not smart money)

## Test Plan
- [x] 6 new mocked tests in `tests/unit/test_scanner_mocked.py` (happy path, empty DF, exception, sort order)
- [x] Fixed `tests/unit/test_scanner_graph.py` — added `smart_money_scanner` mock to compilation test
- [x] 2 pre-existing test failures excluded (verified baseline before changes)
- [x] AgentGraph badge: visually verified truncation with long OpenRouter model identifiers

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-03-24 16:03:17 +01:00
..
.gitkeep feat: add agentic memory scaffold and migrate tracking files to docs/agent/ 2026-03-17 17:14:11 +01:00
001-hybrid-llm-setup.md feat: add agentic memory scaffold and migrate tracking files to docs/agent/ 2026-03-17 17:14:11 +01:00
002-data-vendor-fallback.md feat: opt-in vendor fallback — fail-fast by default (#18) 2026-03-18 14:25:38 +01:00
003-yfinance-etf-proxies.md feat: add agentic memory scaffold and migrate tracking files to docs/agent/ 2026-03-17 17:14:11 +01:00
004-inline-tool-execution.md feat: add agentic memory scaffold and migrate tracking files to docs/agent/ 2026-03-17 17:14:11 +01:00
005-langgraph-parallel-reducers.md feat: add agentic memory scaffold and migrate tracking files to docs/agent/ 2026-03-17 17:14:11 +01:00
006-env-var-config-overrides.md feat: add agentic memory scaffold and migrate tracking files to docs/agent/ 2026-03-17 17:14:11 +01:00
007-thread-safe-rate-limiter.md feat: add agentic memory scaffold and migrate tracking files to docs/agent/ 2026-03-17 17:14:11 +01:00
008-lessons-learned.md feat: opt-in vendor fallback — fail-fast by default (#18) 2026-03-18 14:25:38 +01:00
009-industry-deep-dive-quality.md docs: update memory files after PR #13 (Industry Deep Dive quality fix) 2026-03-17 20:20:39 +01:00
010-finnhub-vendor-integration.md feat: opt-in vendor fallback — fail-fast by default (#18) 2026-03-18 14:25:38 +01:00
011-opt-in-vendor-fallback.md feat: opt-in vendor fallback — fail-fast by default (#18) 2026-03-18 14:25:38 +01:00
012-portfolio-no-orm.md docs: ADR-012 — raw supabase-py over Prisma/SQLAlchemy for portfolio data layer 2026-03-20 10:48:40 +00:00
013-agentos-websocket-streaming.md docs: update docs/agent/ with AgentOS architecture, components, conventions, and ADR 013 2026-03-23 10:48:49 +00:00
014-finviz-smart-money-scanner.md feat(scanner): Finviz smart money scanner + Golden Overlap strategy 2026-03-24 16:03:17 +01:00