Skip to content

Commit 6e8e57a

Browse files
authored
Show plugin load errors in strategy notifications
1 parent 07fb420 commit 6e8e57a

5 files changed

Lines changed: 17 additions & 5 deletions

File tree

application/rebalance_service.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
)
4949
from quant_platform_kit.common.strategy_plugins import (
5050
attach_strategy_plugin_metadata,
51+
build_strategy_plugin_error_notification_lines,
5152
build_strategy_plugin_report_payload,
5253
load_configured_strategy_plugin_signals,
5354
parse_strategy_plugin_mounts,
@@ -200,11 +201,14 @@ def attach_strategy_plugin_result(
200201
error: str | None,
201202
translator: Callable[..., str],
202203
) -> dict[str, Any]:
203-
del translator
204204
if signals:
205205
result.update(build_strategy_plugin_report_payload(signals))
206206
if error:
207207
result["strategy_plugin_error"] = error
208+
result["strategy_plugin_error_lines"] = build_strategy_plugin_error_notification_lines(
209+
error,
210+
translator=translator,
211+
)
208212
return result
209213

210214

notifications/telegram.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,6 +1078,11 @@ def render_cycle_summary(result: Mapping[str, Any], *, lang: str = "en") -> str:
10781078
lines.extend(_format_signal_lines(execution, translator=translator))
10791079
lines.append(SEPARATOR)
10801080
lines.extend(target_diff_lines)
1081+
lines.extend(
1082+
str(line).strip()
1083+
for line in result.get("strategy_plugin_error_lines") or ()
1084+
if str(line).strip()
1085+
)
10811086
execution_notes = tuple(result.get("execution_notes") or allocation.get("small_account_whole_share_cash_notes") or ())
10821087
lines.extend(format_small_account_cash_substitution_notes(execution_notes, translator=translator))
10831088
if submitted:

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ authors = [
1414
]
1515
dependencies = [
1616
"firstrade==0.0.39",
17-
"quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@2a711adf60b585ca02932bab9ee1bac7ce1df7c6",
18-
"us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@fdd39ef0313181bee9083319b87b7175c32b364d",
17+
"quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@1a31ddde0dde0f2ad423e841a84af3ba0869e612",
18+
"us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@0ad01faaa2741195d06ecf8dae6a0f3fda712080",
1919
"google-cloud-storage",
2020
"requests",
2121
]

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
flask
22
gunicorn
33
firstrade==0.0.39
4-
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@2a711adf60b585ca02932bab9ee1bac7ce1df7c6
5-
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@fdd39ef0313181bee9083319b87b7175c32b364d
4+
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@1a31ddde0dde0f2ad423e841a84af3ba0869e612
5+
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@0ad01faaa2741195d06ecf8dae6a0f3fda712080
66
google-cloud-storage
77
requests
88
pytest

tests/test_rebalance_service.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,9 @@ def test_run_strategy_cycle_strategy_plugin_load_error_is_non_blocking(monkeypat
450450
assert result["ok"] is True
451451
assert result["action_done"] is True
452452
assert result["strategy_plugin_error"].startswith("JSONDecodeError:")
453+
assert result["strategy_plugin_error_lines"] == (
454+
"⚠️ Plugin signal failed to load: invalid plugin mount JSON; this run falls back to built-in strategy rules",
455+
)
453456
assert result["strategy_plugin_alert_email_sent_count"] == 0
454457
assert result["strategy_plugin_alert_sms_sent_count"] == 0
455458

0 commit comments

Comments
 (0)