chore(docs): 清理 design 目录重复文件,归档至 archive
CI / lint (pull_request) Successful in 7s
CI / test (pull_request) Successful in 8s
CI / notify-on-failure (pull_request) Successful in 0s

- 27 个与 archive/archive-2.0 完全相同的外层文件删除
- spawner-monitor-design.md 外层更新版覆盖 archive 后删除
- test-plan-v2.6.md 外层版覆盖 archive 后删除
- §24 设计文档新增 §8 实验验证章节
- archive 独有文件保留不动
This commit is contained in:
cfdaily
2026-06-13 08:32:28 +08:00
parent 2567ace2bd
commit f62004e6a7
35 changed files with 344 additions and 15661 deletions
+42 -1
View File
@@ -293,7 +293,48 @@ trajectory jsonl 路径 = `{sessionFile}.trajectory.jsonl`,其中 sessionFile
- §07 Spawner Acquire-First(§4.5 O5 compact 扫描条件收紧)
- §08 Classify Outcome Optimizationcompact_hanging 处理)
## 8. 评审记录
## 8. 实验验证(2026-06-13
### 8.1 Manual Compact 实验
`jiangwei-infra` 执行 `/compact`,每秒采样 4 个维度,完整时间线:
| 时间 | 事件 | 维度 |
|---|---|---|
| 08:08:57 | 基线:lock=0, status=done, compact=2, jsonl=1942 | 全部 |
| 08:09:22 | **Lock file 出现** + JSONL +1 行 | lock, jsonl |
| 08:09:22~08:12:31 | Lock 持有中,status=done 不变 | lock |
| 08:12:32 | **Lock 释放** + compaction+1 + GW 2 条新日志 | 全部 |
| 08:12:32.035 | GW: `[compaction] rotated active transcript` | gateway log |
| 08:12:32.057 | GW: `⇄ res ✓ sessions.compact 191267ms` | gateway log |
**Compact 耗时**191267ms ≈ 3 分 11 秒。
### 8.2 关键结论
1. **Lock file 是最通用的 compact 运行时标记**manual compact 开始时立即出现,结束时释放,覆盖全程。
2. **Gateway log 无开始标记**manual compact 不产生 `context-overflow-precheck``route=compact_then_truncate`,只有结束标记(`rotated active transcript` + `sessions.compact` WS 响应)。
3. **sessions.json status 不变**:全程 `done`,不出现 `compacting` 之类的中间状态。
4. **JSONL compaction entry 是可靠的结束标记**:所有路径(precheck/manual/threshold)完成后都会写入。
5. **V5 安全性**manual/threshold 无开始标记 → V5 不会误判为进行中 → 不会在完成后误阻塞。Phase 2 的 `session_locked`lock file 检查)覆盖了 compact 期间的阻塞需求。
### 8.3 实际防御体系
| Phase 2 检查 | 检测信号 | 覆盖路径 |
|---|---|---|
| `session_compacting` | Gateway log precheck 开始标记 + jsonl 结束标记 | precheck |
| `session_locked` | Lock file 存在 + PID 活 | 全部(precheck + manual + threshold |
两条路径互补,先命中哪个就 skip。V5 compact 检测是附加保险,不是唯一防线。
### 8.4 自身 compact 验证(庞统)
同日 08:00 对庞统自身执行 `/compact` 的结果一致:
- Gateway log 无开始标记,只有 `08:00:12.213``rotated active transcript`(结束)
- `sessions.compact 238358ms` ≈ 3 分 58 秒
- 结论相同
## 9. 评审记录
- **v1**trajectory jsonl 间接推断 → 仲达指出 trajectoryPath 不可用、需多文件等 3 个问题
- **v2**gateway 日志 precheck 开始标志 → 仲达指出开始标志覆盖率仅 30%,建议 rotation-only