SuperAPI AI 工具集

shepherd-driver

通用与其它

查看项目

更新于 10-16 00:31

技能介绍

用途:作为 APM 批处理编排器的组合式构件,接收一个已存在的 PR,将其驱动到终态(可合并、带延期建议、被取代或阻塞),并处理跨 PR 合并冲突。它由 batch-bug-shepherd 抽取而来,供 apm-issue-autopilot 等编排器复用,自身又组合 apm-review-panel 完成评审,不重复实现面板评审。

主要能力:按 PR 运行收敛循环,包括抓取并分类 Copilot 内联评审、运行评审面板、合并后续项并按 fold-vs-defer 规则处理、执行 canonical-owner 与功能证据门禁(失败关闭)、改代码并折叠 FOLD 项、运行 lint 契约、推送、CI 观察与恢复、判定终态并采集 head_sha、mergeable、mergeStateStatus 与 CI 状态。硬性上限:外层迭代 4 次、Copilot 分类 2 轮、CI 恢复 3 次。终态返回 ready-to-merge、advisory-with-deferred、superseded 或 blocked,编排器对每次返回做 schema 校验,格式错误重试一次,再次错误则标记 blocked。

使用方式:编排器为批次中每个 PR 生成一个 shepherd-driver 子代理,传入 PR_NUMBER、ISSUE_NUMBER、AUTHOR、HEAD_REPO、HEAD_BRANCH、MAINTAINER_CAN_MODIFY、REPO_ROOT、ORIGIN 及可选 PANEL_PRIOR。组合前必须探测依赖:

test -f ../shepherd-driver/assets/shepherd-driver-prompt.md
&& test -f ../shepherd-driver/assets/completion-schema.json
&& test -f ../shepherd-driver/scripts/owner_touch_gate.py
&& echo "shepherd-driver present"
|| echo "MISSING shepherd-driver - stop and ask the operator"

探测失败应停止并询问操作者,不得内联重写循环。所有副作用(推送、评论、开/关 PR、标签、CI 读取、可合并性探测)须经确定性 CLI(gh、git、uv run ruff)并遵循计划、执行、验证流程。

适用场景:仅用于已由编排器选定并已存在的单个 PR 的收敛驱动,以及跨 PR 冲突解决阶段。

限制:不负责分诊问题、决定修复哪些问题、为问题开首个 PR、选择批次或维护编排器真值表;若在分诊或开新 PR,说明用错了技能。缺失证据只能留在循环中或返回 blocked,不得延期。资料未提供收费、价格、平台或效果信息。