1.8 KiB
1.8 KiB
任务计划:修复会话归组漂移
目标
修复大会话文件的预览元数据解析,确保侧栏列表只使用 JSON 顶层 cwd,不再被消息或工具调用中的嵌套 cwd 污染。
当前阶段
完成
步骤
- [DONE] 建立修复基线并确认大文件元数据解析边界
- [DONE] 编写失败回归覆盖嵌套 cwd 误判
- [DONE] 实现仅解析顶层会话元数据
- [DONE] 运行专项测试并修正边界问题
- [DONE] 运行语法检查与完整回归
- [DONE] 审查差异及兼容性风险
- [DONE] 清理临时跟踪文件并完成交付
完成标准
- 大于
CC_WEB_SESSION_META_FULL_PARSE_MAX_BYTES的会话文件,列表元数据仍读取顶层cwd。 - 消息、工具输入、工具结果中的嵌套
cwd/projectName不影响会话归组。 - 顶层
cwd位于尾部预览、嵌套cwd位于头部预览时仍返回顶层值。 - 顶层字段跨预览截断边界或头尾片段不构成完整 JSON 时安全降级,不把两个片段拼成伪字段。
- 小文件完整解析路径保持原行为。
- 回归测试先能复现旧实现失败,再验证修复通过。
node scripts/regression.js --target session-preview-metadata、server.js语法检查、完整回归和git diff --check通过。
决策
- 只修服务端元数据读取根因,不在前端增加掩盖性缓存或版本逻辑。
- 不依赖 JSON 属性顺序调整作为修复,因为后续对象构造可能再次改变顺序。
- 解析异常沿用现有保守降级行为,不让单个坏会话中断整个列表。
错误记录
| 错误 | 尝试 | 处理 |
|---|---|---|
| 暂无 | 1 | — |
已知非阻塞风险
- 尾部候选字段解析在默认 128KB 预览范围内风险可控;若未来大幅提高
CC_WEB_SESSION_META_PREVIEW_BYTES,应同步增加上限或候选尝试限制。