fix(agentrun): 简化 Artificer Target 派单
This commit is contained in:
@@ -11,6 +11,50 @@
|
||||
- `agentrun retry task/<taskId> --idempotency-key <key> --reason <text> [--dry-run]`:对终态失败 task 创建下一次 attempt;
|
||||
- `agentrun dispatch|ack|cancel`:控制生命周期。
|
||||
|
||||
## Artificer Target 单命令派单
|
||||
|
||||
标准入口:
|
||||
|
||||
```bash
|
||||
bun scripts/cli.ts agentrun create task \
|
||||
--aipod Artificer \
|
||||
--target <Target> \
|
||||
--target-workspace <absolute-task-worktree> \
|
||||
--repo <owner/repo> \
|
||||
--ref <branch> \
|
||||
--mdtodo-id <R6.3> \
|
||||
--prompt-stdin \
|
||||
--dry-run
|
||||
```
|
||||
|
||||
- 先用同一命令保留 `--dry-run` 查看完整计划;
|
||||
- dry-run 与 live 都必须先经 owning YAML 选中的 Target `trans` 重入;
|
||||
- preflight 必须验证:
|
||||
- task worktree 是 Git 根目录且 clean;
|
||||
- origin 与 `--repo` 一致;
|
||||
- current branch 与 `--ref` 一致;
|
||||
- HEAD 与 origin 远端 ref commit 一致;
|
||||
- preflight 输出必须披露:
|
||||
- Target route、repo/ref、projectId、HEAD/remote 关系;
|
||||
- 合法的 `workspaceRef.kind/path`;
|
||||
- 从 AipodSpec 继承的默认 resource bundle;
|
||||
- session identity;
|
||||
- provider/tool SecretRef 的对象、key 与 presence;
|
||||
- preflight 失败固定 `mutation=false`,不得创建 task;
|
||||
- live 在 submit 成功后自动 dispatch,不要求用户再运行第二条命令;
|
||||
- 未显式传 `--idempotency-key` 时,由 Target/repo/ref/MDTODO/verified commit 派生稳定键;
|
||||
- 幂等重试遇到已有 running 或 terminal task 时,返回既有 attempt/run/session,不重复 dispatch;
|
||||
- 最终输出必须包含 task、attempt、run、command、runner 和 session identity。
|
||||
|
||||
Artificer 内部执行边界:
|
||||
|
||||
- primary workspace 只承载默认 UniDesk bundle、`tools/trans` 和 required skills;
|
||||
- 任务源码操作全部使用 `trans <Target>:<targetWorkspace>`;
|
||||
- `targetWorkspace` 必须是任务专属 worktree;
|
||||
- runner 本地结果不得替代 Target 原入口证据;
|
||||
- `unidesk-trans`、runner tools bundle、`unidesk-ssh` SecretRef 和 endpoint presence 必须同时存在;
|
||||
- Secret 值不得进入 prompt、task、日志或报告。
|
||||
|
||||
`agentrun events` 是高频渐进披露入口:
|
||||
|
||||
- 默认 human、`-o json` 和 `-o yaml` 最多返回 20 条同构事件摘要,并用一条 lookahead 披露 `hasMore` 与 `nextAfterSeq`;
|
||||
|
||||
Reference in New Issue
Block a user