返回 Bug 清单
BUG-0244project-02高已修复backend-logic
apply_to_yaml 正则误伤同名字段:strategy_selection/calibration.bounds 下的 capability 被一起改掉
发现:2026-10-01验证:2026-10-29置信度:70%
症状
校准后 weights.yaml 里 strategy_selection/bounds 段的值也变了;路由行为异常漂移
根因
文本替换用正则 ^ {yaml_key}: ...(2 空格缩进)定位 role_scoring 段的权重行,但 YAML 里 strategy_selection 和 calibration.bounds 段下也存在 2 空格缩进的同名字段(capability/sequence/refutation/collab)——正则不认识段边界,把所有同名行一起改了。
修复方案
改为状态机解析:逐行扫描,仅当处于顶层 role_scoring:(或 role_weights:)行之后、下一个 0 缩进顶层 key 之前(in_role_scoring=True)才执行替换,其余段落原样保留。
错误签名
apply_to_yaml 同名字段 误改 strategy_selection calibration.bounds role_scoring 正则缩进技术信息
来源项目
project-02
涉及文件
scripts/router_engine/smart_router.py
标签
YAML, 状态机, 文本替换, project-02, mcp-reported