16 lines
1.1 KiB
Markdown
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.
|