From dd2b9480d33ac75474996207bc27e247e8412168 Mon Sep 17 00:00:00 2001 From: Thigazhezhilan J Date: Mon, 1 Jun 2026 10:41:57 +0530 Subject: [PATCH] Fix strategy_name from request taking precedence over stale DB config When restarting an existing run with a different strategy, the saved DB config was winning over the user's selection. req.strategy_name now takes priority so switching strategies works correctly. Co-Authored-By: Claude Sonnet 4.6 --- backend/app/services/strategy_service.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/app/services/strategy_service.py b/backend/app/services/strategy_service.py index f002f49..67abf6d 100644 --- a/backend/app/services/strategy_service.py +++ b/backend/app/services/strategy_service.py @@ -711,7 +711,8 @@ def _build_engine_config(user_id: str, run_id: str, req=None): mode = (cfg.get("mode") or (req.mode if req is not None else "PAPER") or "PAPER").strip().upper() broker = cfg.get("broker") or "paper" - strategy_name = cfg.get("strategy") or cfg.get("strategy_name") or (req.strategy_name if req is not None else None) + req_strategy = getattr(req, "strategy_name", None) if req is not None else None + strategy_name = req_strategy or cfg.get("strategy") or cfg.get("strategy_name") with engine_context(user_id, run_id): state = load_state(mode=mode)