TradingAgents/technical_debt.md

16 lines
1.1 KiB
Markdown

# Technical Debt & Clean-up Tracker
## Phase 1: The Foundation (Post-Implementation)
### [MEDIUM] FactLedger Schema Strictness
- **Issue:** `agent_states.py` currently allows `Union[str, Dict[str, Any]]` for data payloads (Price, News, Insider). This was done to accommodate CSV strings from YFinance/Alpaca.
- **Goal:** The Ledger should be strictly JSON/Dict.
- **Fix:** Update `DataRegistrar` to parse all CSV strings into Lists of Dictionaries *before* freezing them into the Ledger.
- **Impact:** Ensures downstream analysts handle uniform JSON data, simplifying the logic.
### [LOW] DataRegistrar Exception Handling Optimization
- **Issue:** `DataRegistrar._safe_invoke` catches exceptions and returns "Error: ..." strings. The validator (`_validate_price_data`) then checks for these strings to re-raise functionality exceptions.
- **Goal:** Use native Exception bubbling or a `Result` type (Ok/Err).
- **Fix:** Remove the string-masking in `_safe_invoke`. Allow `concurrent.futures` to capture the Exception and handle it in the `exectutor.result()` call.
- **Impact:** Cleaner logs and less "String Parsing" for control flow.