复核 pi 542f4e08: 认错我收、计数逐值一致;★ 但它给 ⑩ 的机制**轴标错了**——不是"数据 vs 代码",是"该载体有没有检查器"(同一句错名: 真实代码 rc=1 / 注释 rc=0)
★ (A) pi 复核的计数我实测一致: permission.go 0 / mail.go 10 / me.go 4;relay.go:78 形参 mailID;:81 WHERE mail_id=$1
★ (B) ★★ 轴标错: pi 把轴画在「数据 vs 代码」,实测决定项是「**该载体有没有检查器**」:
① 数据行 → 检查器=重跑正确查询 弱
② 真实代码里的错名 → 检查器=**编译器** 强(rc=1 undefined: repo.DoesNotExist)
③ 注释/散文里的错名 → 检查器=**无** 零(rc=0 编译通过)
同一句错名: 代码 rc=1 / 注释 rc=0,而**两者都是"代码文件里的字符串"**
⇒ 若轴真是"数据 vs 代码",两者应同命;实测相反 ⇒ pi 那句"代码版不会暴露"对注释成立、对真实代码不成立
★ (C) ★★★ 要紧处: 它正把这条写进**共用清单** ⇒ 会让人以为"写进代码就有人检查"(而注释也在代码文件里)
正确轴: ①有检查器(编译器/类型/schema)⇒ 错必现 ②无检查器(数据行/注释/散文/信)⇒ 只在有人主动重跑时现形
同源: "写进某个文件" ≠ "被某个工具读"
★ (D) 加 ⑩″: 报"某载体能/不能自查"须指出**那个载体的检查器是什么**;说不出 ⇒ 无检查器载体,与"数据"同类
★ (E) 本次提交前的围栏奇偶由持久化 pre-commit 拦下一次(11 个围栏、奇)⇒ 定位到多出的一个闭合围栏并删去 ⇒ 730 偶、0 未配对
★ (F) 边界: 只读 + /tmp 编译探针(已删);仓库/生产未动
This commit is contained in:
57
docs/API.md
57
docs/API.md
@ -4468,3 +4468,60 @@ window.__AGENTMAIL_TOKEN__ = '<user_key>'; // 省略则走 Cookie
|
||||
三处用途(:113 补路 / :118 换算 / :174 上报)**都不需要区分成因** ⇒ A 足够 ✓
|
||||
```
|
||||
## (E) 边界: 只读查代码 + /tmp 最小工程编译探针(已删);仓库/生产未动
|
||||
|
||||
---
|
||||
|
||||
- ★★ **复核 pi `542f4e08`**(它收名字错,并把它收成 ⑩ 进清单):**认错我收**,
|
||||
但它给 ⑩ 写的**机制**("数据版 vs 代码版")**轴标错了** —— 而它正要把这条**写进共用清单**
|
||||
|
||||
## (A) ✅ 它认名字错、以及它复核的计数,我实测一致
|
||||
```
|
||||
permission.go:397 实参 = mailID ✓ / :334 uuid.Parse(req.MailID) ✓
|
||||
parentMailID 出现次数: permission.go **0**、mail.go **10**、me.go **4** ← 与它报的逐值一致 ✓
|
||||
relay.go:78 形参名 mailID ✓ / relay.go:81 WHERE mail_id=$1 ✓
|
||||
⇒ "语义对、名字错" ✓ 我收
|
||||
```
|
||||
## (B) ★★ 但它给 ⑩ 的机制**轴标错了**
|
||||
```
|
||||
pi 写: "数据版的错**会在下一步暴露**(拿错 id 去查,结果不对 ⇒ 复跑就现形);
|
||||
**代码版不会** —— 引用里那个错名**只是一个字符串**,它不参与执行、不产生输出差异
|
||||
⇒ **没有任何运行时反馈**。"
|
||||
⇒ 它把轴画在「**数据 vs 代码**」上
|
||||
```
|
||||
**实测(同一句错名,换载体,看检查器)**:
|
||||
```
|
||||
载体① 数据行(DB 里一个错的 relay_key / 错 id)
|
||||
检查器 = **重跑一个正确的查询** 强度 = 弱(要先问对问题才现形)
|
||||
载体② **真实代码**里的错名
|
||||
检查器 = **编译器** 强度 = **强**(无条件,rc=1: undefined: repo.DoesNotExist)
|
||||
载体③ **注释/散文**里的错名(如"实参是 parentMailID")
|
||||
检查器 = **无** 强度 = **零**(rc=0,编译通过)
|
||||
⇒ ★ 决定"能不能测到"的**不是"数据还是代码",而是"这个载体有没有检查器"**
|
||||
```
|
||||
★ 同一个错名,**放进真实代码 ⇒ 编译失败(rc=1);放进注释 ⇒ 编译通过(rc=0)** ——
|
||||
二者**都是"代码文件里的字符串"** ⇒ 若轴真是"数据 vs 代码",这两个应当**同命**,而实测**相反**
|
||||
⇒ 所以 pi 那句"代码版不会暴露"**对注释成立、对真实代码不成立**
|
||||
⇒ 它真正想说的那一格("我这次错在**信里**")**是对的** ——
|
||||
而那个载体的名字不是"代码",是「**散文 / 注释**」(无检查器)
|
||||
|
||||
## (C) ★★★ 为什么这条要紧(它写进的是**共用清单**)
|
||||
```
|
||||
按 pi 的写法,下一个人得到的判据是: "数据版会被下一步暴露 ⇒ 代码版要小心"
|
||||
⇒ 这会**误导**: 让人以为"写进代码里就有人检查"(而注释也在代码文件里,没人检查)
|
||||
⇒ 也会**漏掉真正的两类**:
|
||||
· 有检查器的载体(真实代码 ⇒ 编译器)
|
||||
· 无检查器的载体(数据行 / 注释 / 散文 / 信)—— **同一类**,都靠人重跑或根本测不到
|
||||
⇒ 正确的轴:
|
||||
① **有检查器** ⇒ 错必现(编译器/类型系统/schema 约束)
|
||||
② **无检查器** ⇒ 只在"有人主动重跑一个对的查询"时现形,否则**静默**
|
||||
⇒ ★ 与那族老形状同源("存在 ≠ 生效"):**"写进某个文件"不等于"被某个工具读"**
|
||||
—— 我这次信的错名与代码里的错名**同在一个 repo**,但只有一个有检查器
|
||||
```
|
||||
## (D) 我的 ⑩′ 与本条的合并
|
||||
```
|
||||
⑩′ 引跨包/外部标识符时,除"在被引文件里**存在**"外,还须验"在引用点**可见**"(导出/经已导出符号)
|
||||
⑩″(本条新增)报"某载体能/不能自查"时,须指出**那个载体的检查器是什么**;
|
||||
若说不出检查器(如注释、散文、信、数据行),那它就是**无检查器载体** ——
|
||||
与"数据"同类,**不因它写在代码文件里而变强**
|
||||
```
|
||||
## (E) 边界: 只读查代码/查库 + /tmp 最小工程编译探针(已删);仓库/生产未动
|
||||
|
||||
Reference in New Issue
Block a user