From 0d297b6502fec021d1a8a74dc793999111daf764 Mon Sep 17 00:00:00 2001 From: Pigbibi <20649888+Pigbibi@users.noreply.github.com> Date: Thu, 28 May 2026 14:34:57 +0800 Subject: [PATCH 1/3] Attach strategy plugin metadata --- application/rebalance_service.py | 5 +++++ application/runtime_composer.py | 2 +- application/runtime_dependencies.py | 1 + main.py | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/application/rebalance_service.py b/application/rebalance_service.py index 4374cc6..9646f55 100644 --- a/application/rebalance_service.py +++ b/application/rebalance_service.py @@ -14,6 +14,7 @@ localize_notification_text as _base_localize_notification_text, translator_uses_zh as _base_translator_uses_zh, ) +from quant_platform_kit.common.strategy_plugins import attach_strategy_plugin_metadata _DETAIL_FIELD_SPLIT_RE = re.compile(r"\s+(?=[^\s=::]+[=::])") @@ -175,6 +176,10 @@ def run_strategy( execution_port = runtime.execution_port_factory(trade_context) def load_plan(*, current_snapshot): + current_snapshot = attach_strategy_plugin_metadata( + current_snapshot, + getattr(config, "strategy_plugin_signals", ()) or (), + ) current_plan = runtime.resolve_rebalance_plan( indicators=indicators, snapshot=current_snapshot, diff --git a/application/runtime_composer.py b/application/runtime_composer.py index d393ebe..9dd5b4a 100644 --- a/application/runtime_composer.py +++ b/application/runtime_composer.py @@ -175,7 +175,6 @@ def build_rebalance_runtime(self, *, silent_cycle_notifications: bool = False) - ) def build_rebalance_config(self, *, strategy_plugin_signals=()) -> LongBridgeRebalanceConfig: - del strategy_plugin_signals return LongBridgeRebalanceConfig( limit_sell_discount=self.limit_sell_discount, limit_buy_premium=self.limit_buy_premium, @@ -190,6 +189,7 @@ def build_rebalance_config(self, *, strategy_plugin_signals=()) -> LongBridgeReb safe_haven_cash_substitute_threshold_usd=self.safe_haven_cash_substitute_threshold_usd, sleeper=self.sleeper, extra_notification_lines=(), + strategy_plugin_signals=tuple(strategy_plugin_signals or ()), ) def load_strategy_plugin_signals(self, raw_mounts): diff --git a/application/runtime_dependencies.py b/application/runtime_dependencies.py index 4280d4f..efc262a 100644 --- a/application/runtime_dependencies.py +++ b/application/runtime_dependencies.py @@ -24,6 +24,7 @@ class LongBridgeRebalanceConfig: safe_haven_cash_substitute_threshold_usd: float = 1000.0 sleeper: Callable[[float], None] | None = None extra_notification_lines: tuple[str, ...] = () + strategy_plugin_signals: tuple[Any, ...] = () @dataclass(frozen=True) diff --git a/main.py b/main.py index 7bee189..59e4d12 100644 --- a/main.py +++ b/main.py @@ -313,7 +313,7 @@ def run_strategy(*, force_run: bool = False, validation_only: bool = False, vali runtime=composer.build_rebalance_runtime( silent_cycle_notifications=validation_only, ), - config=composer.build_rebalance_config(), + config=composer.build_rebalance_config(strategy_plugin_signals=strategy_plugin_signals), ) signal_snapshot = {} if cycle_result is not None: From c5592985a5b05486eae5cdd7dc50b832e099a687 Mon Sep 17 00:00:00 2001 From: Pigbibi <20649888+Pigbibi@users.noreply.github.com> Date: Thu, 28 May 2026 14:40:57 +0800 Subject: [PATCH 2/3] Update shared package pins --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index f50c8c4..82742c5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ flask gunicorn -quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@ceb84a366ed1bf9a53292ff2c73e06b4baac05e2 -us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@f2ebae8aacd8c70292c5b6115a80c6657e64ad1f +quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@86d72631c76f27c668b234704b91241bec8fa9ee +us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@d84bae0822de6ce1fa53990da6f21d3d20bcaf18 pandas requests pytz From 7d8c37b9b98865ba34f3843719d375cb6fdcf2a3 Mon Sep 17 00:00:00 2001 From: Pigbibi <20649888+Pigbibi@users.noreply.github.com> Date: Thu, 28 May 2026 14:44:50 +0800 Subject: [PATCH 3/3] Update UsEquityStrategies dependency pin --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 82742c5..dcbf6fa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ flask gunicorn quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@86d72631c76f27c668b234704b91241bec8fa9ee -us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@d84bae0822de6ce1fa53990da6f21d3d20bcaf18 +us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@5f04e85e89862fdcfa8d90e745340eabdbbe3c86 pandas requests pytz