复核结果写进 F2:engine_version 一个字段被两种含义共用——started/failed
行写前端常量(部署声称的版本),completed 行写实际产出结果的版本(命中
旧缓存即旧版本)——而聚合用与版本先后无关的字符串 max 跨行取值。
该缺陷此前一直撞对:改动前 started 写 rectification-v5,短于 completed
的 ...scoring-7,max 恰好选中正确的那行。aa46da10 把 v9EngineVersion()
缺省改成 ...scoring-8 之后,started 行在字符串序上反超,回执遂显示第 8 版
而分数实际来自第 7 版缓存。已核部署未设该环境变量,走缺省,是真实行为。
第二个缺陷:max("...-10","...-9") 实跑得到 "...-9",聚合在第 10 版静默
反向,当前第 8 版。
定序 A 先上(started/failed 不再写版本,应用层)、B 兜底(聚合改取成功
结果那一行,只改函数体)、C 拆列本单不做;第 10 版前必须解决。A 的已知
漏洞要求实测取证,不得以「应该不会」结案,并新增一条针对版本 10 反向的
回归。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0199rbQDTsUbCVw84wc8BTFe