TradingAgents/orchestrator
陈少杰 64e3583f66 Unify research provenance extraction and persist it into state logs
The earlier Phase 1-4 recovery left one unique worker-1 slice unrecovered: provenance extraction logic was still duplicated in the runner and the full-state log path still dropped the structured research fields. This change centralizes provenance extraction in agent state helpers, reuses it from the LLM runner, and writes the same structured fields into TradingAgents full-state logs with focused regression tests.\n\nConstraint: Preserve the existing debate-string output shape while making provenance reuse consistent across runner and state-log surfaces\nRejected: Cherry-pick worker-1 auto-checkpoint wholesale | it mixed duplicate A/B files and uv.lock churn with the useful provenance helper changes\nConfidence: high\nScope-risk: narrow\nDirective: Keep research provenance extraction centralized; new consumers should call the helper instead of re-listing field names by hand\nTested: python -m pytest -q tradingagents/tests/test_research_guard.py orchestrator/tests/test_trading_graph_config.py orchestrator/tests/test_llm_runner.py orchestrator/tests/test_profile_stage_chain.py orchestrator/tests/test_profile_ab.py orchestrator/tests/test_contract_v1alpha1.py orchestrator/tests/test_live_mode.py\nTested: python -m compileall tradingagents/agents/utils/agent_states.py tradingagents/graph/trading_graph.py orchestrator/llm_runner.py orchestrator/tests/test_trading_graph_config.py tradingagents/tests/test_research_guard.py\nNot-tested: Live-provider end-to-end analysis run that emits a new full_states_log file
2026-04-14 13:34:25 +08:00
..
contracts Harden executor configuration and failure contracts before further rollout 2026-04-14 01:54:44 +08:00
data Harden executor configuration and failure contracts before further rollout 2026-04-14 01:54:44 +08:00
examples feat(orchestrator): example scripts for backtest and live mode 2026-04-09 22:12:02 +08:00
tests Unify research provenance extraction and persist it into state logs 2026-04-14 13:34:25 +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 Keep research degradation visible while bounding researcher nodes 2026-04-14 03:49:33 +08:00
llm_runner.py Unify research provenance extraction and persist it into state logs 2026-04-14 13:34:25 +08:00
market_calendar.py Harden executor configuration and failure contracts before further rollout 2026-04-14 01:54:44 +08:00
orchestrator.py Keep research degradation visible while bounding researcher nodes 2026-04-14 03:49:33 +08:00
profile_ab.py Make A/B trace comparisons easier to trust during profiling 2026-04-14 05:12:13 +08:00
profile_stage_chain.py Finish the A/B harness recovery without leaving conflict markers behind 2026-04-14 05:15:21 +08:00
profile_trace_utils.py omx(team): auto-checkpoint worker-4 [unknown] 2026-04-14 05:14:01 +08:00
quant_runner.py Carry Phase 4 rollout-readiness work back into the mainline safely 2026-04-14 01:15:18 +08:00
signals.py Stabilize TradingAgents contracts so orchestration and dashboard can converge 2026-04-13 17:25:07 +08:00