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 <noreply@anthropic.com>
This commit is contained in:
Thigazhezhilan J 2026-06-01 10:41:57 +05:30
parent 622a74724b
commit dd2b9480d3

View File

@ -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)