### Added
- **Hyper-Immutability (Physically Secured State)**: Implemented `FactLedger` (TypedDict) and `write_once_enforce` reducer in `agent_states.py` to cryptographically lock data reality.
- Ledger is hashed (SHA-256) upon creation.
- Wrapped in `MappingProxyType` to prevent any downstream agent from mutating the facts.
- **The Data Registrar (Parallel Gatekeeper)**: Created `DataRegistrar` node (`tradingagents/agents/data_registrar.py`) that acts as the Single Source of Truth.
- **Parallel I/O**: Fetches Price, Fundamentals, News, and Insider data concurrently (4x speedup over sequential).
- **Partial Poisoning Guard**: Hard "Fail-Fast" if critical domains (Price, Fundamentals) are missing.
- **Freshness Simulation**: Configurable `TRADING_MODE` (simulation/production) to allow rigorous testing without stale-data aborts.
### Fixed
- **Hallucination Vectors (The Lobotomy)**: Removed ALL tool access from `Market`, `Social`, `News`, and `Fundamentals` analysts.
- Analysts now consume exclusively from `FactLedger`.
- Eliminated "Tool Use Loop" latency and potential for agents to fetch divergent data.
- **Graph Wiring**: Refactored `setup.py` to route `START` -> `Data Registrar` -> `Market Analyst` -> Parallel Fan-Out.
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| alpaca.py | ||
| alpha_vantage.py | ||
| alpha_vantage_common.py | ||
| alpha_vantage_fundamentals.py | ||
| alpha_vantage_indicator.py | ||
| alpha_vantage_news.py | ||
| alpha_vantage_stock.py | ||
| config.py | ||
| google.py | ||
| googlenews_utils.py | ||
| interface.py | ||
| local.py | ||
| notifications.py | ||
| openai.py | ||
| rag_isolator.py | ||
| reddit_utils.py | ||
| stockstats_utils.py | ||
| utils.py | ||
| y_finance.py | ||
| yfin_utils.py | ||