From 45577aa3b656aedb67386d23f80bc33de5d3561c Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Sat, 19 Sep 2026 12:16:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=AD=A3:=20=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E9=87=8C=E9=82=A3=E6=9D=A1=20=E5=88=AB?= =?UTF-8?q?=E8=A1=A5=20user/message=20=E4=B9=9F=E6=98=AF=E5=81=87=E8=B1=A1?= =?UTF-8?q?=20=E2=80=94=E2=80=94=20=E8=BF=81=E7=A7=BB=E5=99=A8=E6=9C=AC?= =?UTF-8?q?=E6=9D=A5=E5=B0=B1=E4=BC=9A=E7=BB=99=E5=AE=83=E5=90=88=E6=88=90?= =?UTF-8?q?=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 与 §17 同源:后半句依据的是 校验污染入参后再校验 的假象。 深拷贝重测 40/40:补与不补都 strict-ok。 --- scripts/repair-legacy-spliced-ids.mjs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/repair-legacy-spliced-ids.mjs b/scripts/repair-legacy-spliced-ids.mjs index 5533222..b0fd453 100644 --- a/scripts/repair-legacy-spliced-ids.mjs +++ b/scripts/repair-legacy-spliced-ids.mjs @@ -15,9 +15,12 @@ * 本脚本做的事(**只改一处**): * 给 `agent/inbox/spliced` 事件里缺 `id`/`role` 的 `inserted[]` 消息补上 * `id`(确定性、可复现)与 `role: "user"`,其余字节原样保留。 - * - * 明确**不要**顺手给 `user/message` 也补 id(很多会话里它同样缺 id): - * 实测那样做会把本来能读的会话变成 `seq gap` 而读不了。 + * 本脚本只补 `agent/inbox/spliced` 的 `inserted[]`。 + * 关于 `user/message`(很多会话里它同样缺 id): + * 迁移器**本来就会**给它合成 id(对原始 v0 实测:迁出 386 条带 id / 0 条缺 id), + * 所以这里**不需要**补。早先注释说"补了会把能读的会话变成 seq gap"—— + * **那是错的**(2026-09-19 更正):那是「校验器原地改写入参、又被拿去再校验」造成的假象; + * 深拷贝重测后补与不补都 strict-ok(40/40)。详见 docs §17。 * * 用法: * node scripts/repair-legacy-spliced-ids.mjs # 预演(默认,不写盘)