Files
cc-web/.planning/fix-session-preview-cwd/task_plan.md
2026-08-07 10:54:08 +08:00

1.8 KiB

任务计划:修复会话归组漂移

目标

修复大会话文件的预览元数据解析,确保侧栏列表只使用 JSON 顶层 cwd,不再被消息或工具调用中的嵌套 cwd 污染。

当前阶段

完成

步骤

  1. [DONE] 建立修复基线并确认大文件元数据解析边界
  2. [DONE] 编写失败回归覆盖嵌套 cwd 误判
  3. [DONE] 实现仅解析顶层会话元数据
  4. [DONE] 运行专项测试并修正边界问题
  5. [DONE] 运行语法检查与完整回归
  6. [DONE] 审查差异及兼容性风险
  7. [DONE] 清理临时跟踪文件并完成交付

完成标准

  • 大于 CC_WEB_SESSION_META_FULL_PARSE_MAX_BYTES 的会话文件,列表元数据仍读取顶层 cwd
  • 消息、工具输入、工具结果中的嵌套 cwd/projectName 不影响会话归组。
  • 顶层 cwd 位于尾部预览、嵌套 cwd 位于头部预览时仍返回顶层值。
  • 顶层字段跨预览截断边界或头尾片段不构成完整 JSON 时安全降级,不把两个片段拼成伪字段。
  • 小文件完整解析路径保持原行为。
  • 回归测试先能复现旧实现失败,再验证修复通过。
  • node scripts/regression.js --target session-preview-metadataserver.js 语法检查、完整回归和 git diff --check 通过。

决策

  • 只修服务端元数据读取根因,不在前端增加掩盖性缓存或版本逻辑。
  • 不依赖 JSON 属性顺序调整作为修复,因为后续对象构造可能再次改变顺序。
  • 解析异常沿用现有保守降级行为,不让单个坏会话中断整个列表。

错误记录

错误 尝试 处理
暂无 1

已知非阻塞风险

  • 尾部候选字段解析在默认 128KB 预览范围内风险可控;若未来大幅提高 CC_WEB_SESSION_META_PREVIEW_BYTES,应同步增加上限或候选尝试限制。