跳转到内容

Autopilot-full

更新于 2026-10-01

你负责裁决,但不拥有 PR。 每个 PR 由一名 owner 从构建一路做到合并,未经你的干净 swarm 裁决,任何 PR 不得合并。适用于「autopilot this queue」「full autopilot」及 one-owner-per-PR 程序。Orchestrate 运行常设程序:协调者自行落地已验证工作,worker 从不合并;此处每个 PR 的 owner 承担完整生命周期直至合并,根节点只保留验证、会签与审计。

  1. 标记操作者项并遵守先陈述再等待。 操作者点名的项归操作者:操作者审查并点击,任何 owner 不得合并。操作者要求陈述协议或计划时,交付陈述后停止;仅在操作者明确 go 后开始执行。go 时用完整程序目标配置 /goal;目标跨轮次持续,直至队列完成。
  2. 为每个 PR 孵化一名 owner,赋予完整生命周期与早期轨迹。 为整个程序一次性解析 forge。GitHub CLI(gh)为默认。若 command -v origin 成功且 Origin 能解析该仓库,则 PR 的创建、编辑、查看、监听与合并使用 origin pr ...;否则继续使用 gh,并记录回退方案。绝不强制要求 Graphite(gt)。每个 PR 由一名 Cursor 云 agent 负责:构建、首次推送、就绪 PR、对真实产物自证(prove-it-works principle skill)、按 ../references/bugbot-triage.md 做审慎 Bugbot 分诊、slop-strip(cursor-team-kit 插件中的 deslop skill(/deslop))、/no-comments(no-comments skill)、rebase 到当前 trunk、看护循环至全绿(playbooks/babysit.md),以及合并本身。每个 owner 应在约 15 分钟内:按 show-me-your-work skill 启动 decisions.tsv 轨迹、推送首个分支快照,并以就绪状态(非 draft)打开 PR。自证前打开 PR,使 URL、decisions 与 checks 形成持久轨迹。decisions.tsv 保持未提交,与报告一并返回。subagent 一旦启动,owner 将其 ID、预期运行时间(至少为该类型历史最长一次)与 state 写入同样方式维护的 children.tsv。owner 在 code-ready 报告与 babysit 之前做首次 rebase,无论 trunk 是否漂移。fix 轮中 owner 保持该 merge base;仅在合并准备(第 5 步)、与 trunk 的 git merge-tree 冲突、或 trunk 变更导致的 CI 失败时再次 rebase。代码定稿且 slop-strip 与 /no-comments 完成后,报告 code-ready head SHA;每次改变 patch 的后续推送也报告 SHA。自证、CI 与 babysit 与 swarm 并行。自证、CI 与 babysit 全部完成后,owner 报告 merge-ready 及 head SHA。每轮推送前,对涉及的文件路径运行仓库 AGENTS.md 与 rules 点名的 pre-review checks,在已提交 head 上运行;hook 通过不算证明。每次 rebase 发布时,在 ls-remote 检查后对 owner 自己的分支使用 git push --force-with-lease;绝不 force-push 共享分支。合并是 owner 不得单独执行的唯一一步,由第 4 步把关。
  3. owner 真正并行,绝不叠栈。 PR 彼此独立时可同时跑多名 owner:每分支单写者、文件不相交、跨 PR 漂移由 rebase 吸收。仅真正重叠的工作串行。自包含 PR 直接从 main 拉分支;有序工作采用 merge-then-branch。唯一例外:必须拆分真正依赖变更的 owner 可短暂持有私有 base-branch stack。
  4. 每轮合并前 swarm 验证。 一轮从 owner 的 code-ready head SHA 开始,并在每次改变 PR patch 的后续推送处重新开始。在该 SHA 上按 swarm skill 扇出并行独立验证者,聚合为单一裁决。合并需要与 merge-ready head 的 patch 匹配那一轮的干净裁决。裁决前审计 merge-ready 报告中的回执。lane 包括:在该 SHA 重跑门禁;在变更触及的真实面上现场证明 load-bearing 行为(配合匹配的 control skill,如 cursor-team-kit 的 control-cli 或 control-ui,或指定 driver);审计 diff,不信任 PR 正文。审计以两条及以上 review lane 运行完整 brief;每条 lane 一个主焦点,如与 trunk 的消费者 parity、生命周期与竞态、或数据与配置安全。针对 trunk 的回归 lane。 在当前 trunk 上运行相同 load-bearing 场景。若 trunk 尚无该特性,记录事实,改为对 diff 新增行为及用户等待的终态设门禁,而非假装 trunk 能产出。live lane 是底线;没有它的裁决不算干净。未经根节点干净裁决不得合并。lane 返回后,将所有已证实的发现一次性转交 owner 修复。lane 记为 note 的缺陷也算 finding。对每个行为 finding,要求 red test 覆盖所有相同缺陷站点;无法测出时要求 repro 回执。将该缺陷加入下一轮 review brief。新 head 需新一轮 swarm 与新一轮裁决,除非 lane 结果在 playbooks/shipping.md 的 patch-id 规则下仍有效。
  5. 干净裁决后 owner 合并并取下一项。 owner 仅从 freshly rebase 到 trunk 的 head 合并。合并准备不得早于该轮 lane 启动,且以合并前 rebase 到当前 trunk 结束。合并准备 rebase 后,owner 报告新 head SHA;该 head 上 CI 必须通过,patch-id 规则决定该轮裁决是否仍成立。合并前 trunk 再次移动时,按 playbooks/shipping.md 的 patch-id 规则决定是否重验。新 head 使裁决失效,除非 patch-id 未变。owner 通过已解析 forge squash-merge 自己的 PR,并从队列取下一项自包含工作。操作者的 full-autonomy 授权加上根节点干净裁决,才是 babysitting 单独无法提供的合并授权。操作者点名的项止于 merge-ready,等待操作者点击。
  6. 运行根节点层。 真正新的、已经固定下来的门禁,或 budget 值 raise(CI 仅允许收紧的 limit)需你重新会签;仅在验证者证明后授予。若操作者授权或 standing orders 已覆盖审批,该会签即审批。owner 按工具 approval contract 允许的形式记录,并指向根节点会签;某 lane 对照会签检查记录。根节点从不给予或绕过 forge 强制执行的 approval。吸收已落在 main 上的值为漂移,不是 raise。大约每 30 分钟对所有 owner 运行审计 tick。本地根节点将每次 tick 配置为真实终端 /loop;该 loop 使用受监控 shell 的 30 分钟 sleep,并发出 output-notification 哨兵。云根节点使用既有 cloud-sleeper 唤醒链。绝不要把节奏交给记忆或易丢失的完成通知。每次 tick:用 git show origin/main:pstack/skills/poteto-mode/playbooks/autopilot-full.md 从 trunk 重读本 playbook,再重读已配置的 /goal;对照二者审计,并在 tick 内修正漂移。对每个 owner 做通用存活或状态探测,并收集 decision trails。仅将副作用计为进展:提交、推送、PR 或检查项变化、以及 store 报告。出错或超过预期运行时间仍无副作用的 lane 视为卡住;立即停手并派替补,不要等待礼貌性返回。每次 tick 还对程序 agent 列表(平台提供时)及每个 owner 的 children.tsv 运行 lane stuck 测试。无论 stop 是否生效,根节点要求 owner 将卡住的 subagent 记为 stuck;若工作仍需要则替换。替补再次停滞时重复相同步骤;owner 无法执行时由根节点两步都做。停滞不能证明或丢弃工作。合并成批时,运行 retro pass 与 post-merge bot-comment sweep。仅当无剩余委派工作(含最后一次合并之后)才结束 tick。
  7. 操作者 stop 时立即全员停手。 操作者的 hold 或 stand-down 立即以零写入命令送达每个 owner;owner 保持 brief 直至操作者释放。

回复内容: 队列及每个 PR 的 owner、state、head SHA;每项裁决及产出它的 swarm;已合并项与各 owner 下一项;已授予会签及原因;开放的操作者门禁;收集到的 decision trails 所在位置。

本站是非官方的 pstack 中文学习站,和 poteto 没有隶属关系。译文对照的是 cursor/plugins 仓库里的 pstack/ 目录。本站不发行中文版插件。 github.com/cursor/plugins