85823eb732
master 只有一道平坦的 depth<=1 门,任何第二跳都拒,所以委派 task 末尾那句 「这是对已认领委派 X 的唯一返工轮」对澄清跳也是真的。本分支改成按谱系分类 (澄清跳不吃 repair_depth、上限 3)之后没同步这句话,它就变成了假天花板。 本机 13 个生产 project 的委派账本:4 次澄清续跑 4 次命中这句话,命中后全部 直接出稿,没有任何一个 run 走到第 2 轮。 三处一起收口: 1. render_static_delegate_task_contract 的入参从 Option<repairOf> 换成显式的 StaticDelegateHopNote。Repair 分支逐字保留原文——design-foundation / art-director / art-asset-plan 的角色提示词把「任务正文明确标识这是带 repairOfDelegationId 的唯一返工轮」当作 replaceExisting=true 的唯一授权 信号,改一个字就会让返工轮拿不到许可。新增的 PlanClarification 分支写明 已用轮次与上限;预算用尽时改为要求收稿,因为出卡侧本来就会拒掉第四张卡。 2. 同一句里写明本轮 header 该用第几轮。planning_coordinator 出卡时要求 header 精确等于「第N轮·关键决定」,N 由 Runtime 从谱系派生,而此前没有 任何地方告诉子 Agent 当前轮号——修完第 1 条后第 2 轮信封会栽在这里。 轮次与上限都用 static_delegate_lineage_counters / *_round_limit_at 现算, 和出卡校验器同源。 3. plan/common.md 对 Supervisor 说子 Agent 返回「1-3 个结构化问题」,而 plan 链路的校验器只收恰好 1 题,Supervisor 照抄进了委派 task。修正放 plan/supervisor-playbook.md:prompt.rs 有断言钉死 planCommon 必须是 common.md 的逐字子集,而通用 common.md 的 1-3 对其它专业 Agent 是对的。 判据用 clarification_continuation_identity.is_some() 加 target 是 project-planning:后者由 validate_project_planning_child_binding_at 强制挂在 project-supervisor-plan 根下,所以做游戏 / 做素材 / game-chat 的澄清续跑与 全部质量返工仍走 Repair 分支,渲染结果与 master 逐字相同。 实测(9 个 --swarm-chat --plan run):6 次澄清续跑全部拿到新句、0 次误用返工 文案;2 次真正的质量返工仍拿到原文;有 1 个 run 走到第 2 轮并被出卡侧接受, 最终提交 GDD。0 轮直出那一档基本没动——决定要不要开口问的是首轮委派 task 由 Supervisor 自由撰写,那是另一件事,本次不动。 这个 renderer 此前零直接测试覆盖,补一条钉住两支文案、轮号和预算用尽。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>