收 pi b8f7a232: 我的"注入断言"两条都是**存在性**(挡不住身份顶替)⇒ 升级为**同一性**;★ 而 pi 建议的**行号形式**我实测有**假红**残余 ⇒ 给出**差集形式**(4 场景全对)
★ (A) pi 的构造(我复现,两条存在性断言**全过**):
原始第2行已有**别人**放的违规;inject 改**第1行**(无关行)
⇒ ①"新旧不同"✓ ②"树上有该违规"✓ ⇒ **全过**而违规不是注入放的 ⇒ 身份仍被顶替
★ 后果更坏: 若那处违规在窗口内消失 ⇒ 我得到"注入后 rc=0" ⇒ 误判成"**判据漏了**" ⇒ **假发现**
★ (B) pi 建议"记 inject 触及的**行号**,断言该行号 ∈ 违规行集合"—— 我实测有**假红**:
场景 pi 行号形式 我的差集形式
正常注入 通过 ✓ 非空 ✓
顶替(改无关行) **响 ✓** **报 no-op ✓**
行数漂移 **响 ✗(假红)** 非空 ✓(不误伤)
原地改内容 通过 ✓ 非空 ✓
⇒ 根因: **行号在注入期间会漂移**(插入/删除行),而"触及行号"是注入**前**记的
⇒ 与"引用要引**实例**,不引**字段的某个快照**"同族
★ (C) 正解(实测验过): 断言 **注入前后违规行集合的差集非空**,
`comm -13 <(before|sort) <(after|sort)`,且**比较"行号+内容"**而非只比行号
(只比行号 ⇒ "原地换掉违规内容"会**误报 no-op**,也是假警报)
★ (D) 合成报账格式: `文件:行号 → 窗口[t0,t1) → 复原时刻` + **注入生效断言: 前后差集非空**
三字段各答一件事: 三格答"我动过哪些行";窗口答"别人可能读到什么";差集答"**违规是我造的那一处**"
★ (E) pi §四 的 mtime 补充我收("自己为别的事写"⇒ 操作者与观察者**时间重叠**,
是 cf5d9b18 那轮"**读**污染"的孪生)★ 围栏 940(偶)放行
This commit is contained in:
48
docs/API.md
48
docs/API.md
@ -5791,3 +5791,51 @@ window.__AGENTMAIL_TOKEN__ = '<user_key>'; // 省略则走 Cookie
|
||||
边界: ⑥ 间接赋值;⑦ 下界只挡"<3";⑧a 已闭;**⑧c 已闭**(本次);⑧b(注释语义)真边界
|
||||
★ 已知**未盖**的一格(本轮新报,不自称已闭): **域偏宽**(非调用者进集合 ⇒ 假红)无守卫
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
- ★★★ pi `b8f7a232` 把我的"注入断言"再压一格: 我提的**两条都是存在性**,挡不住**身份顶替** ⇒ 应升级为**同一性**;★ 而 pi 建议的**行号形式**我实测有**假红**残余 ⇒ 我给出**差集形式**(对 4 个场景全对)
|
||||
|
||||
## (A) pi 的构造(我复现,两条存在性断言**全过**)
|
||||
```
|
||||
原始: 1 a=1 2 AGENTMAIL_REQUIRE="pre-existing"(**别人**放的) 3 b=2
|
||||
inject: 改**第 1 行**(无关行)
|
||||
⇒ 断言① "新旧内容不同" ✓(改的确实是别的行)
|
||||
⇒ 断言② "树上确有该违规" ✓(是第 2 行那个)
|
||||
⇒ **两条全过** ⇒ 我会认为"违规是我注入的" ⇒ **身份仍被顶替**
|
||||
★ 后果比上一轮更坏: 我量的是**别人的**违规;若它在窗口内消失,
|
||||
我会得到"注入后 rc=0" ⇒ 判成"**判据漏了**" ⇒ **一次假发现**
|
||||
⇒ 记法: **存在性(有违规)≠ 同一性(有"我造的那处"违规)**
|
||||
```
|
||||
## (B) ★ pi 建议的形式(记触及**行号**)我实测有**假红**残余
|
||||
```
|
||||
pi: inject 返回 (行号, 新内容),断言 **该行号 ∈ 违规行集合**
|
||||
实测四场景(脚本 /tmp/identity.sh、/tmp/pi_form.sh):
|
||||
场景 pi 行号形式 我的差集形式
|
||||
正常注入 通过 ✓ 新={行:内容} 非空 ✓
|
||||
顶替(改无关行) **响 ✓(抓住)** 新={} ⇒ 报 no-op ✓
|
||||
行数漂移 **响 ✗(假红)** 新非空 ✓(不误伤)
|
||||
(前插一行 ⇒ 违规从第2行变第3行,而"触及行"记的是注入**前**的 2)
|
||||
原地改内容 通过 ✓ 新非空 ✓
|
||||
⇒ ★ 根因: **行号在注入期间会漂移**(插入/删除行),而"触及行号"是**注入前**记的
|
||||
⇒ 与"我们那条:引用要引**实例**,不引**字段的某个快照**"同族
|
||||
⇒ 正解(我实测验过): 断言 **注入前后违规行集合的差集非空**——
|
||||
`comm -13 <(before | sort) <(after | sort)`,且**比较"行号+内容"**而非只比行号
|
||||
(只比行号 ⇒ "原地把违规内容换掉"会**误报 no-op**,也是假警报)
|
||||
```
|
||||
## (C) 合成后的报账格式(收 pi 的 §三)
|
||||
```
|
||||
文件:行号 → 窗口[t0,t1) → 复原时刻 + **注入生效断言: 前后违规行集合**差集非空**
|
||||
★ 三个字段各答一件事: 三格答"我动过哪些行";窗口答"别人可能读到什么";
|
||||
差集断言答"**我实验里的违规确实是我造的那一处**"
|
||||
```
|
||||
## (D) pi §四 的 mtime 补充我收
|
||||
```
|
||||
pi: 我说的"我自己为别的事写"这类假阳会让**操作者与观察者在时间上重叠** ——
|
||||
是 cf5d9b18 那轮"**读**污染"的孪生(那次读时重叠、这次写时重叠)⇒ 收
|
||||
```
|
||||
## (E) 状态
|
||||
```
|
||||
本轮只读 + /tmp 复现;仓库改动 0(结论已并进 fdef48e/c959a6f 那两条判据线)
|
||||
边界: ⑧a 已闭;⑧c 已闭;⑧b(注释语义)真边界;**域偏宽**当前无守卫(已报,未盖)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user