From ac78693987c6e3ea4dcb4b7891dd7526c1ef299a Mon Sep 17 00:00:00 2001 From: zlt Date: Tue, 8 Sep 2026 13:31:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=B5=8B=E9=92=89=E4=BD=8F=20rule=5Fg?= =?UTF-8?q?ate.BAD=5FY=5FSIGNALS=20=E4=B8=8E=E5=8F=A6=E5=A4=96=E4=B8=A4?= =?UTF-8?q?=E5=A4=84=E5=90=8C=E9=9B=86=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 --- scripts/test_batch22_units.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/test_batch22_units.py b/scripts/test_batch22_units.py index 8547c14..e72e664 100644 --- a/scripts/test_batch22_units.py +++ b/scripts/test_batch22_units.py @@ -530,6 +530,16 @@ def _(): # ================================================================ 入口 + +# ---------- 坏信号集合钉死(2026-09-07 方案第五件,一致性检查表第十行) ---------- +@case("rule_gate.BAD_Y_SIGNALS 与选股系统 pool.BAD_SIGNALS、择时决策系统 pms_advisor.BAD_Y_SIGNALS 同集合") +def test_bad_y_signals_pinned(): + # 三处必须逐字相同:选股系统拿它移出候选池、PMS 拿它拦买入、择时决策系统拿它在应答里拦买入。 + # 任何一处改取值,三处的测试都会红,逼着一起改。这里钉 PMS 这一处。 + from app.core import rule_gate + assert set(rule_gate.BAD_Y_SIGNALS) == {"SELL", "AVOID", "DROPPED"}, sorted(rule_gate.BAD_Y_SIGNALS) + assert isinstance(rule_gate.BAD_Y_SIGNALS, tuple) + def main(): ok = 0 for name, fn in RESULTS: