1.1 KiB
1.1 KiB
Technical Debt & Clean-up Tracker
Phase 1: The Foundation (Post-Implementation)
[MEDIUM] FactLedger Schema Strictness
- Issue:
agent_states.pycurrently allowsUnion[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
DataRegistrarto 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_invokecatches 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
Resulttype (Ok/Err). - Fix: Remove the string-masking in
_safe_invoke. Allowconcurrent.futuresto capture the Exception and handle it in theexectutor.result()call. - Impact: Cleaner logs and less "String Parsing" for control flow.