From 8c6da22f4f35ba2a783a2dc824ebe055e112ec19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=B0=91=E6=9D=B0?= Date: Tue, 14 Apr 2026 05:15:21 +0800 Subject: [PATCH] Finish the A/B harness recovery without leaving conflict markers behind The worker-4 recovery brought in the trace-summary helper split and A/B harness updates, but the cherry-pick left conflict markers around build_trace_payload in profile_stage_chain.py. This follow-up keeps the merged import-based shape and records the cleanup as a standalone reversible step.\n\nConstraint: Preserve the recovered trace payload shape while removing only the cherry-pick residue\nRejected: Re-run the cherry-pick from scratch | unnecessary after the resolved file already passed targeted verification\nConfidence: high\nScope-risk: narrow\nDirective: If profile_stage_chain.py is touched again, verify the file is marker-free before running compile/test to avoid silent recovery drift\nTested: python -m pytest -q orchestrator/tests/test_contract_v1alpha1.py tradingagents/tests/test_research_guard.py orchestrator/tests/test_llm_runner.py orchestrator/tests/test_live_mode.py orchestrator/tests/test_profile_stage_chain.py orchestrator/tests/test_profile_ab.py; python -m orchestrator.profile_stage_chain --help; python -m compileall orchestrator/profile_stage_chain.py orchestrator/profile_trace_utils.py orchestrator/profile_ab.py orchestrator/tests/test_profile_ab.py tradingagents/tests/test_research_guard.py\nNot-tested: Live-provider end-to-end profile_ab comparison on real traces --- orchestrator/profile_stage_chain.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/orchestrator/profile_stage_chain.py b/orchestrator/profile_stage_chain.py index 41e2f5ac..284e88c9 100644 --- a/orchestrator/profile_stage_chain.py +++ b/orchestrator/profile_stage_chain.py @@ -85,9 +85,6 @@ def _extract_research_state(event: dict) -> tuple[str | None, str | None, int | ) -<<<<<<< HEAD -======= - def build_trace_payload( *, status: str, @@ -124,9 +121,6 @@ def build_trace_payload( if exception_type is not None: payload["exception_type"] = exception_type return payload - - ->>>>>>> 82e61cb (omx(team): auto-checkpoint worker-4 [unknown]) def main() -> None: args = build_parser().parse_args() selected_analysts = [item.strip() for item in args.selected_analysts.split(",") if item.strip()]