From 652ba2dd60957a0b3c72d20118e01a3e4024536f Mon Sep 17 00:00:00 2001 From: zlt Date: Fri, 4 Sep 2026 15:17:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E8=A1=A8=E6=8C=89=E6=B8=85?= =?UTF-8?q?=E7=82=B9=E7=BB=93=E6=9E=9C=E8=A1=A5=E9=BD=90=EF=BC=9B=E4=BF=AE?= =?UTF-8?q?=E4=B8=80=E5=A4=84=E5=AE=88=E5=8D=AB=E8=87=AA=E5=B7=B1=E7=9A=84?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 枚举清点扫全了后端会送到页面的字段,结果比先前的清单彻底得多。 **先修守卫自己的错**:它把字段名 autonomy 一律映射到全局参数那一组,而个股交易 方案的 autonomy 是另一套取值(auto / confirm,对全局的 full / propose_only / off)。 字段同名但不是一回事,照它整改会接错组。改成按"字段在哪个对象上"区分。 翻译表补十组、扩四组,出处都核到了代码定义不是注释: - 动作那组原先只有八个真动作,账本里还有八个伪动作(对账修正、信号留痕这类) 是直写的字面量,少一个就在页面上露原码。挂方案那条用了中性词——想挂但放弃的 三处调用也以同一个值落库,写成"挂成功"会说反。 - 方向那组缺 none。停手那类动作真实产出这个值,此前会印成原码。 - 评审账本的结论与研判闸的结论是两组,别混:前者记"这一步放行还是驳回", 后者记"决策系统怎么说"。 - 三个字段的取值是开放集(对端下发的拒单码、上游透传的等级、决策系统给的中文 原文),不许声称全集也不许吞掉原值,在守卫里单独登记一笔免得以后被当成漏网。 周报的加权列还漏一个:excess_w 去掉后缀是 excess,而本体列叫 excess_all, 按后缀规则查不到。补一条对应。翻不出来的原样返回,宁可露出原名让人发现, 也好过安一个错的说法。 Co-Authored-By: Claude Opus 5 --- plan_review.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plan_review.py b/plan_review.py index 2cd5795..b490cd0 100644 --- a/plan_review.py +++ b/plan_review.py @@ -255,11 +255,20 @@ _COL_CN = { } +# 加权版列名到本体列名的对应。多数是直接去掉 _w 后缀就能对上,只有 excess_w 例外—— +# 它算的是相对全池的超额(:433),本体列叫 excess_all,去掉后缀查不到。 +_W_BASE = {"excess_w": "excess_all"} + + def _col_cn(c) -> str: - """列名翻成中文。带 _w 后缀的是同一个读数的样本加权版本,只用于对账。""" + """列名翻成中文。带 _w 后缀的是同一个读数的样本加权版本,只用于对账。 + + 翻不出来的原样返回而不是硬编一个中文——列名对不上时宁可露出原名让人发现, + 也好过给它安一个错的说法。 + """ name = str(c) if name.endswith("_w"): - base = _COL_CN.get(name[:-2]) + base = _COL_CN.get(_W_BASE.get(name) or name[:-2]) return f"股票多的日子算得重·{base}" if base else name return _COL_CN.get(name, name)