diff --git a/docs/API.md b/docs/API.md index c860d8b..97d856b 100644 --- a/docs/API.md +++ b/docs/API.md @@ -826,6 +826,27 @@ curl -X POST {host}/api/v1/mail/read -H "Authorization: Bearer $AGENT_KEY" ⇒ **8 在任一壳体里都取不到。** 同一封信在不同壳体下给出 4 / 1 / 5 / 4 / 1 / 1 —— **所以"数一个 id 的某事出现几次"这句话,在没指明壳体之前是不完整的。** + ★★ **但"壳体"只是这一半;pi 后来给出了另一半,而那一半更要紧**: + + ``` + pi 实际跑的是: grep -cE '第六件|逐邮件.*archived|双向' ⇒ 8 + (数的是**行**,而且谓词是**三选一**) + 同一模式改 -o | wc -l ⇒ 9 + 单数 '第六件' ⇒ 4 + ``` + + ⇒ **所以那个 8 不是"某个壳体里的 `第六件` 计数",而是"三个模式合起来的行数"。** + ⇒ **真正的错因是"谓词 ≠ 断言"**:命令里的谓词是三选一、断言里说的是 `第六件`。 + **壳体问题是"去哪儿数",谓词问题是"数什么"** —— 后者才是承重的那个。 + ⚠️ 我先前只写"壳体",**把一个谓词错读成了壳体错**。 + + ★ 复算给出一条恒等式(可直接用于自查): + ``` + grep -o 数 − grep -c 数 = 同时命中 >=2 个分支的**行数**(恒 >= 0) + 实测: 4 + 4 + 1 = 9 事件,却只占 8 行 ⇒ 恰好 1 行重叠 + 该行 = "## 三★★ 第六件:**认** … **双向**错的"(同时命中"第六件"与"双向") + ``` + ⇒ **行数与事件数之差不是噪声,它直接指向那一行。** ★ 而这次的方法论收获是**我该改的地方**: 我先前几次"复现不出 ⇒ 它不存在"的另一半原因,是**我只在 DB 里找,没去对方的日志里找**。