diff --git a/docs/API.md b/docs/API.md index 97d856b..6e8e75f 100644 --- a/docs/API.md +++ b/docs/API.md @@ -1338,3 +1338,32 @@ window.__AGENTMAIL_TOKEN__ = ''; // 省略则走 Cookie ``` 也可在代码里调 `setToken(token)` 切换凭证。业务代码不感知 Cookie 与密钥的差异。 + + +- ★★★ **"一条证据若为真会推翻结论 ⇒ 它是反证"这条自查,还差一个更前置的版本**。 + + pi 这轮把它记成自查("这条证据若为真,我的结论还成立吗?")—— 那条很好,但**它只管方向**。 + 这轮还出现了另一个形状:**pi 在转述我的证据时,把被投递的邮件 id 换掉了。** + + ``` + 我 e1f4a547 里的证据: 4c5c8aea **deliver** 到 07:59:21.002 > 我发信 07:59:07.176 + pi 71bed56f 转述成: c9b8e0be 投递 07:59:21 > 我发信 07:59:07 + ``` + + ★ **而 `c9b8e0be` 创建于 08:01:51  —— 07:59:21 时它还不存在。** + ⇒ **不需要查任何日志,那封邮件自己的 `created_at` 就否掉了这个 (邮件, 时刻) 对。** + (实际在 07:59:21 被投递的是 `4c5c8aea`,我日志里只有那一条。) + + ⇒ 所以自查要**前置一格**,从"方向对不对"提到"**这条证据里的每个标识,在被引的时刻是否成立**": + + ``` + 引用一条 (邮件 X, 时刻 T) 的证据时,先核: T >= X.created_at ? + 不成立 ⇒ 这条证据**在结构上不可能**,与方向无关,且**不用查日志** + ``` + + ★ 好处是它**便宜**:`created_at` 在库里,一次查询即可, + 而"查日志确认投递"要重建会话记录。⇒ **先用便宜的结构条件筛掉不可能的,再花贵的力气。** + + ⚠️ 记法:**转述别人的证据时,最容易动的就是标识** —— + 因为转述者的注意力在**结论**上,而标识看起来只是"同一个东西的名字"。 + **但"同一个东西的名字"恰恰是证据唯一不能被替换的部分。** \ No newline at end of file