用途:该技能对 T4 任务失败进行分类,使 master-planner 能决定重试、自愈、重规划或升级。状态为 v3.7.0-alpha.2(Milestone B)。
失败类别:F1 瞬时(网络超时、文件锁、ECONNRESET、限流、不稳定 CI),建议退避重试最多 3 次;F2 局部逻辑(测试失败、类型错误、lint 错误、断言不匹配),建议自愈提案或单次重试;F3 局部设计(按设计无法达到故事验收,如同一测试修复 2 次后仍失败或输出偏离计划超 50%),建议重规划故事(重新分解 T3);F4 故事级(兄弟任务被破坏、依赖契约违反、deviation_score ≥ 0.7),建议重规划特性(重新分解 T2);F5 架构级(跨特性影响、任务级约束违反),冻结并升级给用户;F6 冲突引发(v3.7.0-beta.2 新增,当失败信号 cause 为 conflict 或 conflict_id 非空时返回 F6,置信度 0.95,路由至 conflict-arbiter 而非 replanner)。
输入:来自 post-execute-update-node 钩子的失败事件 {tool, exit_code, stderr_tail, files_touched};活动任务节点(status、failed_attempts、replan_budget_remaining);该任务最近 10 条 history.jsonl 事件;失败测试输出(如有)。
决策规则为确定性、自上而下、首个匹配生效:exit_code 为 0 则中止分类;cause 为 conflict 或 conflict_id 非空则 F6;stderr 匹配 /ECONNRESET|ETIMEDOUT|EAI_AGAIN|429|503|rate limit/i 则 F1;failed_attempts ≥ 3 且 stderr_hash 与前两次相同则 F3;files_touched 与兄弟任务重叠则 F4;failed_attempts 为 1 且 stderr 匹配 /TypeError|SyntaxError|test failed|assertion/ 则 F2;deviation_score ≥ 0.7 则 F4;祖先 T1 意图被失败证据反驳则 F5;默认 F2。
输出 schema 含 class、confidence、evidence、recommended_action、node_id、parent_node_id。置信度:F1 0.95、F2 0.85、F3 0.75、F4 0.80、F5 0.65;低于 0.6 时输出 F2 并建议 single_retry_then_escalate 并提示用户。
限制:不调用 LLM(仅确定性);不自行决定重试或重规划(由 master-planner 负责);不修改计划树;F6 不自行派发仲裁,仅输出 recommended_action: arbitrate 与 routes_to: conflict-arbiter。相关规范见 §9.3,决策见 Q1、Q5,规则见 rules/workflow/replan-thresholds.md,钩子见 hooks/post-execute-update-node.cjs。