From 81da1234af1ca5f2766195b5787cd28296726cbc Mon Sep 17 00:00:00 2001 From: Pigbibi <20649888+Pigbibi@users.noreply.github.com> Date: Wed, 8 Jul 2026 23:38:05 +0800 Subject: [PATCH] feat(decision_mapper): forward unrealized PnL diagnostics into decision Co-Authored-By: Claude Co-authored-by: Cursor --- decision_mapper.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/decision_mapper.py b/decision_mapper.py index 092d910..4caf741 100644 --- a/decision_mapper.py +++ b/decision_mapper.py @@ -141,6 +141,11 @@ def map_strategy_decision( platform_id=IBKR_PLATFORM, ).profile diagnostics = dict(decision.diagnostics) + # Platform-computed risk inputs for QPK apply_risk_gate / stop-loss checks. + if runtime_metadata.get("unrealized_pnl_pct") is not None: + diagnostics["unrealized_pnl_pct"] = float(runtime_metadata["unrealized_pnl_pct"]) + if runtime_metadata.get("consecutive_losses") is not None: + diagnostics["consecutive_losses"] = int(runtime_metadata["consecutive_losses"]) risk_flags = tuple(str(flag) for flag in decision.risk_flags) no_execute = bool(_NO_EXECUTE_FLAGS & set(risk_flags)) total_equity_value = runtime_metadata.get("portfolio_total_equity")