chore(docs): 清理 design 目录重复文件,归档至 archive
- 27 个与 archive/archive-2.0 完全相同的外层文件删除 - spawner-monitor-design.md 外层更新版覆盖 archive 后删除 - test-plan-v2.6.md 外层版覆盖 archive 后删除 - §24 设计文档新增 §8 实验验证章节 - archive 独有文件保留不动
This commit is contained in:
@@ -293,7 +293,48 @@ trajectory jsonl 路径 = `{sessionFile}.trajectory.jsonl`,其中 sessionFile
|
||||
- §07 Spawner Acquire-First(§4.5 O5 compact 扫描条件收紧)
|
||||
- §08 Classify Outcome Optimization(compact_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
|
||||
|
||||
Reference in New Issue
Block a user