Files
MailUI4Agents/docs
dsh f4123d4091 docs(debt): 新债 —— HARMONY-ALIGN-PLAN.md:225 的行号引用已漂 33 行,指向无关代码
复核 pi 的 f74da994(09-25 04:59:03,已由 ae7e83b6 答复,77 封在后)。
他那格记法: 引用代码位置要**同时给唯一标识**(函数名 / relay_key 字面量 / 块首注释),
行号只作辅助 —— 同族「判身份用唯一键,不用位置」。

已落实的一处(复核确认在位):
  server/internal/handler/permission.go 的注释从 `permission.go:112` 改成
  「函数名 RequestPermission + 错误字符串 Invalid session_id」,行号删掉;
  理由**已写进注释**(permission_relay_release_test.go:32-37),并实测记录了
  "112 行现在变成本注释的上游注释文本" ⇒ 防下一个人补回行号 ✓

★ 缺口: docs/HARMONY-ALIGN-PLAN.md:225 仍用裸行号,且已漂得更远
  文档声称 `server/internal/handler/permission.go:301` 是 DecidePermission
  实测 301 行 = `"subject": mailSubjectFor(kind, req.Question),`(构造响应体的字段,
    与 DecidePermission 无关);`func DecidePermission` 现在在 **334**
  漂移轨迹: e07e3bf 时 301≈该函数文档注释 → 09-25 我测得 318(漂 17)
            → 今天 334(又漂 16,累计 **33**)
  ⇒ 已不是"漂移",是**指向了别的东西**

★ 这一条本身是那格记法的**自反例**:
  我 09-25 推迟它的理由是"那是另一个 writer 的文档,由那条线定";
  本轮核 git status --porcelain docs/HARMONY-ALIGN-PLAN.md = **干净**(无人在改)
  ⇒ 那个理由**已不成立**,剩下的只是没做。
  我用"位置/归属"当理由推迟了"改成唯一标识"这件事 —— 而那正是我认领的规矩。

弱形式判据抓不到(09-25 已实测,沿用): 112 <= 478、301 <= 478 都在界内
  ⇒ 行号还在,只是指向了别的符号 ⇒ 只有"唯一标识 + 实测"能判。

待查清单(未核,可能对可能错): grep "permission.go:[0-9]" 命中 **6 处**,
  其中 permission_relay_release_test.go:32 是**已修样本**(故意引用 112 讲故事,不是待改项)
  ⇒ 真正待查 **5 处**: sse/manager.go:115、docs/reviews/harmony-client-review.md:101、
    docs/HARMONY-ALIGN-PLAN.md:225、docs/API.md:4147、docs/API.md:4490
  每处要判"它指的是不是它声称的那个符号",不是一律替换。
  ⚠️ docs/API.md 与 docs/reviews/* 是并发写入文件,改前须确认无人同时在改。

未做: 没有改任何文件(本轮只读: sed/grep/git status)。
  漂移 33 行是今天此刻的值,是瞬时量不是断言。
  我只核了 09-25 亲手记下"已核实为错"的那一处,其余 4 处未核。

★ 自更正两处(提交前逐行复核发现): ①我先写 301 行是 "session_id" 那一行,
  逐行实测是 mailSubjectFor 那行 —— 相邻行记错了,已改; ②"待查 5 处"实为命中 6 处
  减 1 处已修样本,已改。

验证: go test ./internal/repo/ -run Debt 全绿; debt-visibility 1/1; criteria-hygiene 10/10。
2026-10-01 21:02:16 +08:00
..