该技能用于处理 PlanWeave 执行中的异常状态,不承担正常实现或审查工作。
快速开始:停止派发依赖工作;确定 CLI 入口并运行 <pw> help recovery 获取确切命令;检查 package、state、results 以及 current/status/explain 输出,仅在涉及 state/results 一致性问题时运行 doctor;区分计划缺陷与运行时 state/results 漂移;当确切恢复命令能表达所需修复时用其写入状态,否则直接检查文件取证;报告已修复内容、仍不安全项及下一步协调动作。
Doctor 边界:doctor 能检测狭窄的运行时 state/results 一致性问题,如过期 current 引用、孤立 results、state/index 运行漂移。doctor --repair 不是通用计划修复工具,不可用于修复错误依赖、不安全并行、缺失提示、错误审查门设计、模糊的任务/块粒度、无效项目图或 schema 无效的包结构。遇到计划缺陷应报告 NEEDS_PLAN_UPDATE 并引导手动修改 Plan Package、提示、依赖或审查门。
诊断优先检查:活动 current 引用与反馈;块/任务状态与 claim 提示;最新 run 索引对比 state 块 lastRunId;孤立结果产物;过期 current 引用;分叉或阻塞引用及原因;审查尝试、反馈状态与重新审查状态;重试是同内容幂等还是新工作修订。
恢复动作:在 state/results 修复前先用 doctor,仅当报告修复狭窄且有证据支持时才用 repair;CLI 输出不完整、矛盾或过于概括时直接读取 package/state/results;若 CLI 无法安全 claim/submit,由协调者读取并手动分配确切引用,直到写回安全;对外部前置条件或临时停止使用 blocked/unblocked;实现现实与 Plan Package 不符时使用 diverged/resolve-divergence;提交部分成功时先查找已持久化的报告/结果产物再创建新 run;反馈已解决但仍为 current 时,提交前重新检查 current/status;并行不匹配时在宣布无工作前比较顺序与并行可领取性;若并行不匹配源于包设计,手动调整依赖、并行安全性或审查门位置,而非运行 repair。
手动回退:直接检查文件是恢复的一部分——读取 project-graph.json、各 canvas 的 package/manifest.json、源提示、state.json、results/ 及 planweave schema;信任索引前验证元数据属于同一任务/块/run;用 CLI/运行时命令做机械工作区操作、验证、恢复事务和运行时 state/results 变更;当修复属计划更新时,在 CLI 返回的工作区路径内直接编辑 Plan Package 语义文件(project-graph.json 依赖、canvas manifest.json 的任务/块/边/验收/提示路径、源提示 Markdown);当 CLI 编辑命令恰好表达语义变更时用窄编辑命令,否则直接更新源包文件与提示;仅当无恢复命令表达修复、确切不变式已知且用户接受风险时,才直接编辑 state.json 或 results/;直接编辑计划后,对已编辑 canvas 运行 canvas 范围验证,若 project-graph.json、canvas 边或 crossTaskEdges 变更则运行项目验证;保留证据路径并解释任何直接 state/results 写入。
停止条件:当包依赖或提示错误、无法在不猜测下修复 state、多个 current 引用与实际工作归属冲突、结果元数据指向错误块或任务、doctor 后审查/反馈状态矛盾、恢复命令会掩盖真实产品或契约缺陷时,停止并请求用户或计划更新。
恢复报告应包含:结论(RECOVERED、NEEDS_PLAN_UPDATE 或 BLOCKED)、症状与证据、已运行命令、已检查文件、已做或有意跳过的修复、供 plan-coordinator 使用的下一步安全命令。