Files
Agent-System/.cursor/skills/pi-subagent-dispatch/SKILL.md
T
weichen f9f055bee1 feat(agentctl): add governance console P1 serve and action APIs
Implement loopback HTTP console with claim new, integrate prepare, and pi packet sharing the same helpers as CLI; ship SPA and MCP brief/claim_archive wrappers.
2026-09-24 14:13:27 +00:00

3.9 KiB
Raw Blame History

name, description
name description
pi-subagent-dispatch Dispatch gmktec PI analysis/review/test subagents via project MCP pi-subagents (roles/run/result). Use when delegating research, planning, reviews, diagnosis, test_run, acceptance_check, or report work—not for code implementation.

PI Subagent 派发

权威:模型配置、执行器说明、流程规范。客户端规则:pi-subagents。阶段落盘:subagent-stage-record。

Cursor Auto 独占代码实施与修复;本 skill 只走本机 PI 子任务。

调用序列

  1. pi_subagent_roles — 只读预览角色/模型(不调 PI)。
  2. 选 role_id(research → planning → reviews → diagnosis → test_run / acceptance_check → report)。
  3. (推荐)agentctl pi packet 生成派发包;不触发 run:
    python3 -B scripts/agentctl.py pi packet \
      --task "$ID" --role research \
      --goal '…' --authorization-ref 'user:…' \
      --source-sha "$(git rev-parse HEAD)" \
      [--input-file …] [--approved-command '…']… \
      --request-id "$RID" --write
    # → .doc/test-reports/assets/pi-subagents/<task>/<request>/packet.json
    
  4. pi_subagent_run — 按 packet 字段在 agentctl 租约下异步启动。
  5. pi_subagent_result — 取回收据;轮询至终态。

CLI 等价:python3 -B scripts/pi_subagents.py roles|run|result;run 必须包在 agentctl with --resource path:.doc/test-reports/assets/pi-subagents/<task>/<request> 内。

请求字段(MCP pi_subagent_run)

外层:worktree(已登记任务工作区绝对路径)、task_id、request 对象。

request 必填:

字段 约束
role_id 配置 §3 中 enabled 角色
request_id 任务内稳定唯一;同参重放不重复调模型
goal 具体目标;子任务不依赖主会话未传入历史
authorization_ref 可回链真实用户授权,禁止日志自授
source_sha 完整 40-hex 提交;禁止 HEAD/分支名/短 hash
input_files 已跟踪 UTF-8 普通文件相对路径数组
timeout_seconds 正整数

测试角色(test_run / acceptance_check)另需:

  • approved_commands:argv 数组的数组(如 [["go","test","-short","./"]])
  • plan_digest:外部已批准计划的 SHA-256 hex

禁止静默 model_override;临时改模型写任务 override 并说明用户来源。

租约与输出

  • 资源:path:.doc/test-reports/assets/pi-subagents/<task_id>/<request_id>
  • 产物:receipt.json、report.md、命令日志(同目录)
  • 裸调 run(无租约)被拒绝

状态分离(红线)

字段 含义
run_status running / succeeded / failed / cancelled / unknown
verdict pass / changes_required / blocked / not_applicable
review_state 阶段门禁;模型 succeeded 仅 pending

测试 commands_passed/pass 只针对批准命令证据,不能直接赋给任务 acceptance。

常见拒绝码(执行器权威)

码 处置
INVALID_SOURCE_SHA 换完整提交 hash
APPROVED_COMMANDS_REQUIRED 补 approved_commands + plan_digest
MINIMAX_ROLE_FORBIDDEN 不把 M3 用于关键角色
INPUT_NOT_TRACKED / PATH_OUT_OF_SCOPE 收窄 input_files
CONCURRENCY_LIMIT 串行或等空闲槽
ORPHAN_RUNNING 先核进程/副作用,勿盲目重派

Cursor hooks 对形状错误可能 permission=ask(advisory);硬拒绝以执行器为准。

禁止

  • 把 implementation 派给 PI
  • 自动换模型 / 伪造 lease / 递归把本修复再派给 PI worker
  • 用模型叙事冒充 PASS;审查结论须带回报告路径与 receipt 字段