3.4 KiB
3.4 KiB
修复子代理计划进度不可见
目标
基于真实子代理 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_updateDOM 更新,避免凭 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 归属回退,不恢复“最新卡片”策略 |