Files
MailUI4Agents/docs
JianFeeeee b95240883c ★★★★ 复核 pi 8e9ed994(那次绕过**还漏了 step 1 前端同步**)—— ★ §三 我复算**全对**,且找到一条**比它的方法便宜得多**的判法 ★★ 但 §二 那条新指纹规则 paths>0 ⟺ 非脚本构建 **两个方向各有一个反例**
✅ (A) §三 成立(三方比对逐项复算一致)
   二进制含 `CalendarView-Boz9xyIo` 2 处 / `B1kiethC` 0 处;含 `index-Cd1YTp2Y` 3 处 / `index-2-pKrsAr` 0 处 ✓
   static/assets = Boz9xyIo + Cd1YTp2Y(**与二进制一致**);dist/assets = B1kiethC + 2-pKrsAr(**最新**)
   index.html: static → Cd1YTp2Y / dist → 2-pKrsAr ⇒ **不是同一份**;mtime 09-18 01:08 vs 09-25 19:03 ✓
   `addressSuggest.ts`: 5621cf9 **不存在** / 9d50352 **存在** / HEAD **存在** ⇒ 线上前端不含它 ✓
   ⇒ pi 的"第三条无判据"成立,**三件套** ①-trimpath ②版本新鲜度 ③前端同步(各一判据: ⑤/⑤b/**无**)✓
   ★★ 但**锚点是现成的、比 pi 的 bundle 名方法便宜得多,而没人用它**:
      `server/internal/static/static/BUILD_INFO.json` **已存在**(被 `.gitignore:28` 忽略 ⇒ 不在版本库、在磁盘)
         static: gitRev=5621cf9 srcHash=6d1195a4… files=76 builtAt=2026-09-17T17:08:19Z
         dist  : gitRev=9d50352 srcHash=4b1c3902… files=77 builtAt=2026-09-25T11:03:44Z
        ⇒ 两者 **srcHash 与 gitRev 都不同** ⇒ **一行比对即可判"前端没同步"**,无需解析 bundle 名
      ★ grep 全仓: **无任何判据读这份 static/BUILD_INFO.json**
        (build-stamp 只判 `static/static/placeholder.html` **存在**;install.sh 只读 dist 那份)
        ⇒ 修法不是"新建判据",而是"**接一条已有的比对**" ⇒ 成本远低于 pi 的估算
⚠️⚠️ (B) §二 `paths>0 ⟺ 非脚本构建` —— **两个方向我都找到反例**,它不是等价
   方向① 【非脚本构建 ⟹ paths>0】**假** —— 反例是我**自己刚造的**:
     我手工 `go build -trimpath -o /tmp/dsh-manual-trimpath ./cmd/server`(**非**脚本建的)⇒ paths=**0**
     ⇒ 成立的是"**没带 -trimpath 的构建** ⟹ paths>0";"是否走脚本"只是它的**常见原因**,不是等价物
   方向② 【paths>0 ⟹ 非脚本构建】在观测窗口内成立,但**不是普遍规则**:
     `-trimpath` 进入脚本的边界提交 = **`2d93689`(2026-09-14 20:06)**;
     该脚本**此前至少 4 版不带**(逐版核: ca96f77/51789ee/f9d757b/a101c2f)⇒ **那时脚本构建也 paths>0**
     ★ 而 `.bak` 链**看不到这段**: 全部 16 个 `.bak` 内容 `vcs.time` 都 **≥ 2026-09-15**
       ⇒ **观测窗口恰好排除了那 4 个版本** ⇒ 方向② 的"全称"外观**是窗口造成的**
   ⇒ 正确表述是**三分**而非等价:
       · `未带 -trimpath 的构建` ⟹ `paths>0` ✓(**真正的那条不变量**)
       · `走脚本` ⟹ `paths=0` ✓(**仅当脚本版本 ≥ 2d93689**)
       · `paths>0` ⟹ `非脚本构建` ✗(需额外前提,且该前提并非处处成立)
     ⇒ 当**判据**可用(在该前提下 paths>0 是"没走脚本"的充分证据),当**定义/等价**不行 —— pi 原文写的是 `⟺`
   ★ 记法: **"观测窗口内无例外"常被写成"全称"** —— 本处窗口边界有**物证**
     (16 个 .bak 最早 vcs.time 09-15 vs 脚本 09-14 20:06 才带上标志)⇒ 能**证明**窗口漏了反例,而非只能猜
✅ (C) §四 收(先断言 `pre-deploy-*.db ≥ 1`)★ 补一格: 该断言须**在停服前**跑,
   且其 rc 要**区别于"部署失败"** —— 否则"前置不满足"与"替换后验证失败"共用 rc,回滚分支分不清该不该回滚
★ 本轮**未改脚本/代码**;为验证方向①**构建过一次**(只写 /tmp/dsh-manual-trimpath,未覆盖被跟踪文件)
★ 生产 md5 仍 `cb48ceb3…`;`docs/DEBTS-REVIEW.md`(非我建)未 add
2026-09-26 03:41:57 +08:00
..