Files
cc-web/.planning/subagent-plan-visibility-fix/task_plan.md

79 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 修复子代理计划进度不可见
## 目标
基于真实子代理 rollout 与会话快照,定位 `update_plan` 已执行但父会话子代理卡片不显示进度的断点,补齐回归并修复历史重建与实时更新链路;优先避免不必要的 ccweb 重启。
## 阶段
| 阶段 | 状态 | 验收标准 |
|---|---|---|
| 1. 核验真实通知与会话快照,确定显示链路断点 | complete | 真实数据能稳定复现字段被吞或 DOM 未刷新的具体路径 |
| 2. 补充真实快照驱动的失败回归 | complete | 回归在修复前失败,且覆盖已确认断点 |
| 3. 修复卡片计划字段的合并与实时更新 | complete | 历史消息和实时 child update 均保留并展示计划摘要 |
| 4. 运行定向回归和语法检查 | complete | 相关回归与 JS 语法检查通过 |
| 5. 运行全量回归并审查差异 | complete | 全量回归、diff check 通过且无无关改动 |
| 6. 验证线上静态资源并确认无需重启 | complete | 当前服务可读取修复资源;仅在确需且满足安全门禁时重启 |
| 7. 对齐真实计划事件与卡片工具 ID | complete | 找到 `plan_progress_live_demo` 计划更新实际写入哪张 tool/card以及为何当前卡片未命中 |
| 8. 补充真实工具路由失败回归 | complete | 使用本次消息 33/35 的双工具形状稳定复现错误卡片被更新 |
| 9. 修复工具路由并完成回归 | complete | 实时计划仅更新当前子代理所属卡片,定向与全量回归通过 |
| 10. 启动新演示并以实际画面验收 | in_progress | 新代理运行时卡片实际出现 `x/4`;未经用户画面确认不宣告完成 |
## 机器可读阶段状态
### Phase 1核验真实链路
**Status:** complete
### Phase 2补充失败回归
**Status:** complete
### Phase 3修复历史与实时更新
**Status:** complete
### Phase 4定向验证
**Status:** complete
### Phase 5全量回归与差异审查
**Status:** complete
### Phase 6在线资源验证
**Status:** complete
### Phase 7对齐真实工具路由
**Status:** complete
### Phase 8补充真实路由回归
**Status:** complete
### Phase 9修复并验证
**Status:** complete
### Phase 10真实画面验收
**Status:** in_progress
## 关键决策
- 以真实 rollout 中 4 次 `update_plan` 和 session 中最终 `3/3` 为事实基线,不再把问题归因于子代理未调用。
- 先验证历史消息重建,再验证实时 `ccweb_mcp_child_agent_update` DOM 更新,避免凭 UI 现象猜测。
- 使用现有 child update 事件与卡片结构,不新增协议字段或消息类型。
- 保留工作区既有脏改动和用户的其他 TODO CSV只修改本任务相关区域。
## 错误记录
| 错误 | 尝试 | 处理 |
|---|---|---|
| 定向回归报错:实时子代理更新未先定位原卡片 | 1 | 预期失败,证明回归已覆盖真实断点;进入实现修复 |
| 完成检查器报告 0/0 phases | 1 | 计划原为表格格式,补充机器可读阶段标题和完成状态标记 |
| 用户真实截图仍无 `x/4` | 2 | 前一回归只覆盖单工具历史 DOM未覆盖同一 child 同时落入消息 33/35 两个 tool 的真实路由;重新打开任务 |
| 全量回归Nested V2 child result 未合并到可见卡片 | 1 | 严格禁止非精确回退破坏嵌套子代理;改为按 child/parent 归属回退,不恢复“最新卡片”策略 |