From 61a2d56bbbddb493dc4a9a78d8d6e7989db42bcf Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Sun, 27 Sep 2026 18:07:41 +0800 Subject: [PATCH] =?UTF-8?q?test(lua):=20=E8=AE=B0=E5=BD=95=E4=BB=93?= =?UTF-8?q?=E5=BA=93/=E7=94=9F=E4=BA=A7=E9=80=82=E9=85=8D=E5=99=A8?= =?UTF-8?q?=E6=BC=82=E7=A7=BB=E7=9A=84=E5=85=B7=E4=BD=93=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E4=B8=8E=E6=97=B6=E9=97=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 生产 adapters/openai.lua(4853 字节)含 stream_index,仓库 ddef195 时的版本 (4709 字节)不含。生产文件时间 2026-08-26 15:46,比 ddef195 提交(16:10) 早 32 分钟 —— 该提交说明里写着「openai.lua 输出 stream_index 字段」, 但 --stat 显示它没改这个文件:修复先在生产生效,入库时漏了。 于是「生产能跑多工具、仓库跑不了」持续一个月而两端都没人发现:生产不报 问题(它有),仓库的判据也测不到(直接构造 Go 结构体,绕过适配器)。 判据本身不变(仍是诊断式 t.Log),只把这条漂移的具体内容写进注释 —— 它是理解本次全部误判的关键背景。 --- internal/lua/adapter_drift_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/internal/lua/adapter_drift_test.go b/internal/lua/adapter_drift_test.go index 6efd1de..2c53c04 100644 --- a/internal/lua/adapter_drift_test.go +++ b/internal/lua/adapter_drift_test.go @@ -24,6 +24,21 @@ import ( // 真正能自动抓 bug 的契约检查在 TestAdapterEmitsOnlyKnownFields:它查的是 // "适配器输出的键名是否在 agentAPI.ToolCall 的契约内",与部署状态无关。 // +// ★ 这条漂移的具体内容与时间线(解释了为什么仓库长期缺它却没人发现): +// +// 生产 /home/newqqagent/adapters/openai.lua 4853 字节 含 stream_index +// 仓库 ddef195 时的 openai.lua 4709 字节 不含 +// 生产文件时间 2026-08-26 15:46 +// ddef195 提交时间 2026-08-26 16:10 +// +// 生产落地比入库**早 32 分钟** —— 该提交的说明里写着「openai.lua 输出 +// stream_index 字段」,但 `--stat` 显示它没改 openai.lua。说明修复先在生产 +// 环境生效、随后提交入库时漏了这个文件。 +// +// 于是"生产能跑多工具、仓库跑不了"这个状态持续了一个月,而两端都没人发现: +// 生产不报问题(它有),仓库的判据也测不到(它直接构造 Go 结构体, +// 绕过适配器)。 +// // ★ 这条判据是被一次误判逼出来的。 // // 我曾断言「openai.lua 缺 stream_index 透传、批内并发在生产走不通」,并据此