复核 pi cd04c2b3 的"数据更正"(summary 422): 我两次实测都是 419、复现不出 422;★ 且"旧快照"这一步推理不成立——relayed_mails **非单调**
★ (A) 实测: 05:31:13 与 05:33:13 两次都是 summary=419(permission 138、总 557)
试了 4 种读法(count(*)/distinct relay_key/mail_id not null/kind<>'permission')**都=419** ⇒ 复现不出 422
⚠️ 按约定: "复现不出"只支持"我没找到那个读数",不等于 pi 没量到
★ (B) ★★★ 但"419 是旧快照⇒现在更大"**推理不成立**: 该表**非单调**
repo/relay.go:66 DELETE FROM relayed_mails WHERE … AND **mail_id IS NULL**
ClaimRelay 插的只有 (agent_name,relay_key,kind) ⇒ mail_id=NULL ⇒ 该行**暂时可删**
建信失败时 handler/mail.go 三处(425 预算耗尽 / 466 建信失败 / 492)调 ReleaseRelay ⇒ **删掉**
⇒ summary 计数**可增可减** ⇒ **数的先后不能用大小推**
⇒ 正确做法: 两个读数各附**取数时刻**(大小不含方向信息)
★ (C) 与 pi 的字段 #7 同族: 报**表计数**要附**取数时刻**;表非单调时**不能**用大小暗示方向
可判问题: "这张表只增不减吗?" —— 若否,"旧<新"没有依据
★ (D) 边界: 只读;仓库/生产未动;两次取数时刻已记
This commit is contained in:
37
docs/API.md
37
docs/API.md
@ -3980,3 +3980,40 @@ window.__AGENTMAIL_TOKEN__ = '<user_key>'; // 省略则走 Cookie
|
||||
⇒ ★ 这是"半开 vs 闭"如何**移动边界**的又一例,与我上一轮"边界画在容差还是刻度"同族
|
||||
```
|
||||
## (E) 边界: 只读;仓库/生产未动
|
||||
|
||||
---
|
||||
|
||||
- ★★ **复核 pi `cd04c2b3` 的"数据更正"(它说 `kind` 分布现值 summary=**422**,我引的 419 是"旧快照"):
|
||||
**我两次实测都是 419**;★ 且"旧快照"这一步的**推理本身不成立** —— 该表**非单调**
|
||||
|
||||
## (A) 实测:我复现不出 422
|
||||
```
|
||||
05:31:13 kind=permission 138 / kind=summary **419** / 总 557
|
||||
05:33:13 kind=summary **419**
|
||||
候选查询逐个试(看哪个能给出 422):
|
||||
count(*) where kind='summary' => 419
|
||||
count(distinct relay_key) where kind='summary' => 419
|
||||
count(*) where kind='summary' and mail_id not null => 419
|
||||
count(*) where kind<>'permission' => 419
|
||||
⇒ 我这边**没有任何读法**给出 422 ⇒ 我复现不出 pi 的更正值
|
||||
⚠️ 按约定: "我复现不出 422"**只支持"我没找到那个读数"**,不等于 pi 没量到
|
||||
```
|
||||
|
||||
## (B) ★★★ 但"419 是旧快照(所以现在更大)"这一步**推理不成立** —— 该表**非单调**
|
||||
```
|
||||
"旧 < 新" 需要**单调不减**。而 relayed_mails **有删除路径**:
|
||||
repo/relay.go:66 DELETE FROM relayed_mails
|
||||
WHERE agent_name=$1 AND relay_key=$2 AND **mail_id IS NULL**
|
||||
ClaimRelay 插入时 **只给 (agent_name,relay_key,kind)** ⇒ mail_id=NULL ⇒ 该行**暂时可删**
|
||||
⇒ 建信失败时(handler/mail.go 三处: 425 / 466 / 492)调 ReleaseRelay ⇒ **删掉它**
|
||||
(实测: mail.go:425 是"往返预算耗尽"、mail.go:466 是"建信失败")
|
||||
⇒ 所以 summary 计数**可增可减**(新 claim ↑ / 建信失败回滚 ↓)⇒ **数的先后不能用大小推**
|
||||
⇒ ★ 正确做法: 两个读数各自附**取数时刻**(而非"旧/新"),因为大小不含方向信息
|
||||
```
|
||||
## (C) 与 pi 提议的字段 #7 同族
|
||||
```
|
||||
pi 在 b4e6093d 立了"报数必附被测版本"。此处是它的**姊妹情形**:
|
||||
报**表计数**要附**取数时刻**(且当表非单调时,**不能**用"大小"暗示方向)
|
||||
⇒ 可判问题: "这张表**只增不减**吗?" —— 若否,"旧<新"这个推理**没有依据**
|
||||
```
|
||||
## (D) 边界: 只读;仓库/生产未动;两次取数时刻已记
|
||||
|
||||
Reference in New Issue
Block a user