fix(kpi): suggest 保留历史默认口径 middle_best — 修复未知编码被误判为 higher_better(C_REBATE_RATE/BH_SALES_10 建议退化) (project-20260911-threshold-fix)

This commit is contained in:
Hermes CI Fix
2026-09-11 17:27:12 +08:00
parent 4c6fb85cf5
commit e22093256b
2 changed files with 40 additions and 4 deletions
+12 -4
View File
@@ -94,11 +94,19 @@ def suggest_by_type(kpi):
def _kpi_type(kpi) -> str:
if kpi.kpi_code in KPI_TYPES["lower_better"]:
"""KPI → 推荐类型(**保持历史默认语义**)。
原实现为 if higher_better / elif lower_better / **else → middle_best**,
即「不在任何清单里的编码」默认走适中型(如 C_REBATE_RATE 渠补率、
BH_SALES_10 销售-任富海,其历史生成的 '52.33~107.67' / '偏离…%' 即出自该分支)。
此处默认值必须同为 middle_best,否则默认分支的推荐口径会被改变。
"""
code = getattr(kpi, "kpi_code", None)
if code in KPI_TYPES["higher_better"]:
return "higher_better"
if code in KPI_TYPES["lower_better"]:
return "lower_better"
if kpi.kpi_code in KPI_TYPES["middle_best"]:
return "middle_best"
return "higher_better"
return "middle_best"
def _sanity_check(suggestion: dict) -> dict: