验收口径: --prefix 严格前缀 —— 修正 --only mail- 误匹配 agentmail- 造成的 3 个假失败
第一版验收用 --only mail- 得到「47 可读 / 3 不可读」,但那 3 个根本不是邮件会话: 目录名是普通 UUID,只是父目录 --home-program-agentmail-- 里含子串 mail-。 它们的错因是另一个独立缺陷(subagent/descriptor v2)。 换严格前缀后的真实数字:真 mail-* 会话 43/43 可读,0 不可读。 脚本现在同时提供 --only(子串)与 --prefix(目录名严格前缀)。
This commit is contained in:
@ -178,7 +178,7 @@ pi 的「其它 34/28」也复现了,且能解释:28 个读不了的里
|
||||
| 事件数 | 逐文件解压行数比对 | **40/40 一致**,零丢失 |
|
||||
| 大小变化 | 例 `mail-d042cc4c` 25.2MB → 12.5MB | **纯重压缩**(单帧改 500 行/帧),非丢数据 |
|
||||
| v3 修复 | `repair-v3-usermessage-ids.mjs --apply` | **2 个写入成功** |
|
||||
| 真 mail-* 会话 | 最终验收 | **41/41 可读** |
|
||||
| 真 mail-* 会话 | 最终验收(`--prefix mail-`) | **43/43 可读** |
|
||||
|
||||
反例留档:`~/.dsh/sessions/**` 仍有 3 个非邮件会话读不了,根因是
|
||||
`subagent/descriptor ... unsupported descriptor version 2`,**与本问题无关**,
|
||||
@ -265,3 +265,20 @@ dsh 观察到 `readSession()` 成功、`JsonlSessionPersistence.open()` 失败
|
||||
2. **判定磁盘健康只认 `open()`**:`readSession()` 走 live 内存快照,会掩盖磁盘损坏。
|
||||
3. **校验与落盘不能共用同一批对象**:验证器会原地改写,dry-run/apply 会因此给出
|
||||
相反结论。
|
||||
|
||||
## 16. 度量口径的一个坑:`--only` 是子串匹配
|
||||
|
||||
第一版验收用 `--only mail-`,得到「47 可读 / 3 不可读」。那 3 个**不是邮件会话**——
|
||||
它们的目录名是普通 UUID,只是父目录是 `--home-program-agentmail--`,
|
||||
而 `agentmail-` 里含子串 `mail-`,被误匹配进来。它们的错因是另一个独立缺陷
|
||||
(`subagent/descriptor 0 uses unsupported descriptor version 2`)。
|
||||
|
||||
换成严格前缀 `--prefix mail-` 后的真实数字:
|
||||
|
||||
```
|
||||
候选: 43 可读: 43 不可读: 0
|
||||
```
|
||||
|
||||
⇒ **「真 mail-* 会话 43/43 可读,0 不可读」**。
|
||||
度量口径本身也会制造假结论,所以脚本现在两个开关都提供:
|
||||
`--only`(子串,跑路径片段)与 `--prefix`(目录名严格前缀,点名某类会话时用后者)。
|
||||
|
||||
Reference in New Issue
Block a user