Files
MailUI4Agents/client/electron
JianFeeeee 12a45af9ee docs(登记): 哨兵的缺省语义进 §10;版本偏移的可见后果进差异表;"指针可以,断言不行"入册
pi 2026-09-14 的三点接续:

1. **"不存在的 id 当哨兵"这个手法本身是一次缺省语义决策**,我原先只把它当技巧用,
   没登记它的前提。已按他给的形状进 §10:**未知预设 id → 静默替换为 aurora | 方向:宽(静默)
   | 依据:产品决定(背景不该因未知 id 变空白)**。并写明它**不是"给一个安全的空值",
   而是"静默给别人的档"** —— 用户不会看到错误,但会看到别人的档。
   他指出的真实后果也记了(§10.2 + 计划文档差异表):**服务端/WebUI 先加第 7 档、
   鸿蒙还是旧构建时,旧端静默显示 aurora**,用户以为选的是新档;
   **这不是 bug,是批准过的缺省决策的可见后果** —— 不记,将来必被当 bug 报。
   他给出的可选取舍(兜底改成"不属于六档的显式层")我**不改**:代价是未知 id 显示空白,
   与"背景不该变空白"这条产品决定冲突。取舍与理由都写下来了。
   顺带记清一个连带事实:**用真实档当兜底,必然让那一档逃出行为判据**
   (aurora 丢分支不可观测)—— 这条边界已在判据注释里,不假装全覆盖。

2. **WebUI 侧不写"鸿蒙不消费"**(他否掉了我问的那件事):那会把**另一端的实现状态**
   写成**这一端的断言**,而它会过期。规则立成 §13:**注释里可以放指针,不要放断言**;
   断言留在"事实所属的那一端"(鸿蒙侧已写+已登记 §10),另一侧只放指针。
   与"按 id 联接不按相邻配对"、"'与 X 一致'先确认 X 侧有判据"同族。

3. **两处"只写不读"登记到同一处**:鸿蒙 `bgBlur` 与 WebUI `LEGACY_BACKUP_KEY` 都进 §10 表
   (§10.1 说明为什么必须同处:分居两处时审计容易只找到一处就以为找全了)。
   并**如实标注**:他建议的判据形态("登记为只写不读的字段,写侧必须能指出理由与批准人")
   目前只是**文档级约束**,还没有机器判据 —— 要变成"做错会红"得先有一张可扫的字段清册。
2026-09-14 17:09:26 +08:00
..