TradingAgents/orchestrator
陈少杰 e802af3a1d Stabilize TradingAgents contracts so orchestration and dashboard can converge
This change set introduces a versioned result contract, shared config schema/loading, provider/data adapter seams, and a no-strategy application-service skeleton so the current research graph, orchestrator layer, and dashboard backend stop drifting further apart. It also keeps the earlier MiniMax compatibility and compact-prompt work aligned with the new contract shape and extends regression coverage so degradation, fallback, and service migration remain testable during the next phases.

Constraint: Must preserve existing FastAPI entrypoints and fallback behavior while introducing an application-service seam
Constraint: Must not turn application service into a new strategy or learning layer
Rejected: Full backend rewrite to service-only execution now | too risky before contract and fallback paths stabilize
Rejected: Leave provider/data/config logic distributed across scripts and endpoints | continues boundary drift and weakens verification
Confidence: high
Scope-risk: broad
Directive: Keep future application-service changes orchestration-only; move any scoring, signal fusion, or learning logic to orchestrator or tradingagents instead
Tested: python -m compileall orchestrator tradingagents web_dashboard/backend
Tested: python -m pytest orchestrator/tests/test_signals.py orchestrator/tests/test_llm_runner.py orchestrator/tests/test_quant_runner.py orchestrator/tests/test_contract_v1alpha1.py orchestrator/tests/test_application_service.py orchestrator/tests/test_provider_adapter.py web_dashboard/backend/tests/test_main_api.py web_dashboard/backend/tests/test_portfolio_api.py web_dashboard/backend/tests/test_api_smoke.py web_dashboard/backend/tests/test_services_migration.py -q
Not-tested: live MiniMax/provider execution against external services
Not-tested: full dashboard/manual websocket flow against a running frontend
Not-tested: omx team runtime end-to-end in the primary workspace
2026-04-13 17:25:07 +08:00
..
contracts Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00
examples feat(orchestrator): example scripts for backtest and live mode 2026-04-09 22:12:02 +08:00
tests Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00
__init__.py feat(orchestrator): add signals.py and config.py 2026-04-09 21:35:31 +08:00
backtest_mode.py fix(review): api_key→anthropic_key bug, sync-in-async event loop block, orchestrator per-message re-init, dead code cleanup 2026-04-09 22:55:36 +08:00
config.py Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00
live_mode.py fix(review): api_key→anthropic_key bug, sync-in-async event loop block, orchestrator per-message re-init, dead code cleanup 2026-04-09 22:55:36 +08:00
llm_runner.py Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00
orchestrator.py Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00
quant_runner.py Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00
signals.py Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00