38a9bc82857cc3aa73fc52e358ee6ea3da54784e
config_release 是**整版本替换**语义:激活新版本后,旧版本的配置项全部不再生效。 所以新版本只要漏了某项,它就是**无声消失**的——agent_tools 里的工具白名单一少, 相关 Agent 的工具就被 fail-closed 拒掉,而现场表现只是"客服/风控什么都答不了", 没人会想到是发布配置少了一条。 本项目已经两次靠"发布前手工继承"规避(客服与风控的发布脚本里各写了一遍继承逻辑), 说明这个风险真实且反复出现。 改为在 activate 时先比对"被取代版本的配置项"与"新版本的配置项",把将被丢掉的逐条 写进 warning 日志。**不阻断激活**——有时确实是要主动撤下某项配置,拒绝会让正常运维 做不了事;这里要的是"事后能查到是谁把它弄没的"。 新增 tests/unit/service/test_config_release_dropped_items.py(3 条):丢项时点名、 完整继承时无噪音(否则运维会习惯性忽略这条日志)、首个版本不报丢项。 ruff / mypy(135 文件) / 610 unit+contract 全绿。
Description
番茄炒蛋组
18 MiB
Languages
Python
99.9%