docs: make commander own subagent reviews
This commit is contained in:
@@ -43,6 +43,10 @@ description: UniDesk 主代理调度子代理的必读技能。用户提到子
|
||||
- Artificer 恢复后,原生子代理必须在 clean commit、PR 或只读报告 checkpoint 停止继续扩展;主代理通过原 issue、MDTODO 和 session 传递接续上下文,再由 Artificer 接替尚未完成的工作;禁止两个执行面共享可写 worktree、重复提交或并发修改同一任务;
|
||||
- 管理性、决策性文档仍由主代理负责,不为了满足 Artificer 优先规则而外包治理决策。
|
||||
- 子代理并行只用于成功率高、耦合度低、能放进独立 worktree/branch/issue/PR 的任务;共享架构方向、公共契约和同文件高冲突修改先串行定锚。
|
||||
- 子代理产出的审核默认由主代理直接完成:
|
||||
- 用户允许子代理实施、要求并行或启用多轮审查,不等于允许调度审核子代理;
|
||||
- 只有用户明确要求子代理审核、独立审核代理或多代理交叉审核时,才允许派发审核型子代理;
|
||||
- 主代理发现问题后,直接形成纠偏要求并由原执行 session 续跑或在原任务边界内修复,不新增审核代理。
|
||||
- 管理性、决策性文档由主代理直接完成,不把决策权或治理写入外包给子代理:
|
||||
- 主代理负责 `AGENTS.md`、skill 核心规则、长期 reference 规范、架构决策、主 issue anchor/closeout,以及 MDTODO FILE 的领域划分、ITEM 结构和状态治理;
|
||||
- 子代理可以在已明确的 issue、MDTODO ITEM 和验收边界内独立调研,并编写对应任务报告、验证记录、实现说明和证据附件;
|
||||
@@ -106,7 +110,7 @@ description: UniDesk 主代理调度子代理的必读技能。用户提到子
|
||||
- CI/CD、rollout、PipelineRun、Argo closeout:`$unidesk-cicd`。
|
||||
- WebProbe、Workbench、浏览器复测:`$unidesk-webdev`。
|
||||
- 子代理完成后的反馈收口和反馈 issue 判定:`$post-task`。
|
||||
- Artificer 和其他执行型子代理派单前的任务登记必须使用 `$mdtodo-edit`;只有用户明确要求多轮审查或循环修复时才使用 `$mdtodo-loop`。
|
||||
- Artificer 和其他执行型子代理派单前的任务登记必须使用 `$mdtodo-edit`;只有用户明确要求多轮审查或循环修复时才使用 `$mdtodo-loop`,启用后仍由主代理审核,除非用户明确要求审核子代理。
|
||||
|
||||
## 何时读取 reference
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
## 调度原则
|
||||
|
||||
- 主代理先明确总目标、目标 repo/branch/lane、架构方向和不可倒退边界,再拆任务。不能把“决定架构是否倒退”“是否关闭用户问题”“是否合并 PR”整体外包给子代理。
|
||||
- 主代理直接审核子代理产出的 diff、验证证据和 PR。允许子代理实施、要求并行或多轮审查都不授权审核子代理;只有用户明确要求子代理审核时,才建立独立审核任务。
|
||||
- 只有低耦合任务才并行:不同 worktree、不同模块或不同 issue,产物可以独立 review,失败不会阻塞其他任务继续产出证据。
|
||||
- 高耦合任务先串行定锚:公共类型/契约、source-of-truth、请求治理 authority、共享 runtime policy、同一大文件或同一状态机的修改,应先由主代理或一个子代理形成基线,其他子代理基于基线继续。
|
||||
- 任务要按成功率分层:调查、工具增强、业务修复、验证、PR review、上线 closeout 可以并行,但“修同一个根因的两套实现”通常不应并行。
|
||||
@@ -59,7 +60,10 @@
|
||||
## PR 工作流
|
||||
|
||||
- 子代理 PR 应小而可审:一个根因、一个模块边界、一个目标 issue;跨模块架构 PR 必须在 body 中写明为什么不是局部修补。
|
||||
- 主代理 review 时先看架构约束和倒退风险,再看实现细节。重点检查是否重新引入旧 authority、并行请求源、裸 API 绕过、隐藏默认、阈值硬编码或降低探针能力。
|
||||
- 主代理本人 review:
|
||||
- 先看架构约束和倒退风险,再看实现细节;
|
||||
- 重点检查是否重新引入旧 authority、并行请求源、裸 API 绕过、隐藏默认、阈值硬编码或降低探针能力;
|
||||
- 默认不再派审核子代理。
|
||||
- 合并前使用 `$unidesk-gh` 的 review/preflight/merge 入口。独立 PR 可以并行 review;有依赖的 PR 按契约基线、实现、验证工具、closeout 的顺序合并。
|
||||
- 子代理 PR 合并后,主代理负责同步目标 worktree、触发受控 CI/CD、执行原入口复测,并把 PipelineRun、GitOps revision、observer、trace、report SHA 等证据写回 issue。
|
||||
- 若用户明确让子代理“自己上线自己验证”,子代理可以执行受控 CI/CD 和原入口验证,但必须在 issue/PR 留下完整证据;主代理仍要抽查并最终汇总。
|
||||
|
||||
@@ -200,6 +200,12 @@ PR 是审查型交付入口,不是所有 Code Queue 任务的默认出口。Un
|
||||
|
||||
PR handoff 的职责默认分开:runner 实现、测试、提交、push head branch 并创建 PR;指挥官监督并发、steer、审阅、确认 checks 和合并裁决。短期内 GPT-5.5 runner 如果收到明确 PR 收口授权,并且 PR 是普通 UniDesk source 变更、checks 满足任务要求、无冲突且不涉及 prod/runtime/release/security/database/破坏性回滚,可以自行用 repo-owned GitHub merge/close 路径完成收口并报告 SHA。高风险、边界不清、checks 失败或用户/指挥官保留 final action 的 PR 仍必须交回 commander 审查。host commander 也不把直接编辑业务代码当成常规 PR 替代路径。
|
||||
|
||||
- PR 审核默认由指挥官主代理直接完成:
|
||||
- runner 或 Artificer 的实施授权不包含审核授权;
|
||||
- 并行实施、多轮审查或 reviewer feedback 不自动创建审核 runner;
|
||||
- 只有用户明确要求子代理审核、独立审核代理或多代理交叉审核时,才允许派发审核型 AgentRun;
|
||||
- 主代理发现问题后,优先通过原 session follow-up 纠偏,再由主代理复核。
|
||||
|
||||
PR 支持本身是 Code Queue 能力的一部分。当前 UniDesk CLI 支持 `gh pr list|view|create|update|comment create|comment update|comment edit|comment delete|close|reopen`,其中 create 需要显式 `--title`、`--base`、`--head` 和正文来源,update 需要显式 PR number、正文来源和 `--mode replace|append`,comment create/update/edit 需要显式 commentId 或目标 shorthand 和正文来源,且推荐使用 `--body-stdin` 或 `--body-file`。PR 收口观察应使用 `gh pr view <number> --json state,stateDetail,closed,closedAt,merged,mergedAt,mergeCommit,headRefName,baseRefName,mergeable,mergeStateStatus,statusCheckRollup` 获取普通关闭/已合并区分、merge commit、目标分支、源分支、mergeability 和检查汇总;该路径仍是只读元数据,不执行 merge,且 `closeoutMetadata.ok=false`、`missingOrUnknownFields` 或 GraphQL failure 都只能作为“需要人工复核/重试”的信号。`pr create --dry-run`、`pr update --dry-run` 与 `pr comment create/update/edit --dry-run` 只返回 planned operation,不创建 PR、不更新正文、不写评论;非 dry-run 创建前会校验 repo、base、head 和 compare ahead 状态,append 更新会先读取当前 PR body。`gh pr list` 不开放 mergeability/statusCheckRollup 列表字段,避免默认拉取 noisy/raw 状态汇总。`gh pr delete` 在 UniDesk REST CLI 中返回 `unsupported-command`,不能伪造硬删除;需要移除活跃 PR 时使用 `gh pr close`。`gh pr merge` 是 guarded REST write,没有 `--confirm` 可以绕过 preflight;获得收口授权的 GPT-5.5 runner 可使用 UniDesk `gh pr merge`、GitHub UI 或等价 repo-owned GitHub merge path 处理普通 PR,并报告结果 SHA。需要 PR 交付时,prompt 必须明确允许的人工、runner 或后续工具路径,并报告未覆盖范围。
|
||||
|
||||
### PR 驱动派单模板
|
||||
|
||||
Reference in New Issue
Block a user