TradingAgents/agent_os/backend/services
Ahmet Guzererler 4e8e6c237e feat: introduce flow_id with timestamp-based report versioning
Replace run_id with flow_id as the primary grouping concept (one flow =
one user analysis intent spanning scan + pipeline + portfolio). Reports
are now written as {timestamp}_{name}.json so load methods always return
the latest version by lexicographic sort, eliminating the latest.json
pointer pattern for new flows.

Key changes:
- report_paths.py: add generate_flow_id(), ts_now() (ms precision),
  flow_id kwarg on all path helpers; keep run_id / pointer helpers for
  backward compatibility
- ReportStore: dual-mode save/load — flow_id uses timestamped layout,
  run_id uses legacy runs/{id}/ layout with latest.json
- MongoReportStore: add flow_id field and index; run_id stays for compat
- DualReportStore: expose flow_id property
- store_factory: accept flow_id as primary param, run_id as alias
- runs.py / langgraph_engine.py: generate and thread flow_id through all
  trigger endpoints and run methods
- Tests: add flow_id coverage for all layers; 905 tests pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 14:13:50 +01:00
..
__init__.py fix: add missing __init__.py files to agent_os package tree 2026-03-23 07:16:38 +00:00
langgraph_engine.py feat: introduce flow_id with timestamp-based report versioning 2026-03-26 14:13:50 +01:00
mock_engine.py feat(ui): scoped graph nodes per ticker + MockEngine for LLM-free UI testing (#100) 2026-03-24 10:03:16 +01:00