Files
pikasTech-unidesk/docs/MDTODO/artificer-runtime-capabilities.md
T
2026-07-13 18:16:46 +02:00

119 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Artificer 运行能力
本文件跟踪 Artificer 的 AipodSpec、provider/model 选择、credential 投影、任务级覆盖、Session 续跑和真实派单验收。单次配置、协议或运行故障作为 ITEM 进入本长期问题域。
## R1 [in_progress]
落实 [UniDesk #1846](https://github.com/pikasTech/unidesk/issues/1846) 与 [AgentRun #325](https://github.com/pikasTech/agentrun/issues/325)Artificer 的 API credential 唯一来自 ~/.codex/*.pikaAgentRun effective backend profile 固定为 gpt-pika,默认模型改为 gpt-5.6-sol、reasoning effort 改为 medium,并支持任务级模型与 reasoning 选择,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R1_Task_Report.md)。
### R1.1 [in_progress]
在 [UniDesk #1846](https://github.com/pikasTech/unidesk/issues/1846) 将 gpt.pika 的 auth.json/config.toml 唯一 sourceRef 改为 /root/.codex/*.pikaplan/sync 默认视图显示精确 sourceRef 与 source/effective profileconfig.toml 同步前验证显式 provider/base URL 且不输出值,activation fence blocked 时不提示 --confirm,缺失或不安全配置 fail closed,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R1.1_Task_Report.md)。
### R1.2 [completed]
在 [AgentRun #325](https://github.com/pikasTech/agentrun/issues/325) 让 AipodSpec 默认 backendProfile/credential.profile=gpt-pika、默认模型 gpt-5.6-sol、默认 reasoning effort=medium,并支持显式 model/reasoning overrideprovider/SecretRef 不随模型切换,带点的 gpt.pika 在 AgentRun admission 中 fail closed,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R1.2_Task_Report.md)。
### R1.3 [in_progress]
修复 UniDesk Aipod create/render/send:只有显式参数才覆盖服务端 AipodSpec,增加 --model 与 --reasoning-effort 同构 dry-run,禁止 client sessionPolicy 默改 provider/executionPolicy,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R1.3_Task_Report.md)。
### R1.4
两个 PR 合并后只观察自动链;先跑 .pika 默认与显式模型最短 Artificer canary,再为 [UniDesk #1844](https://github.com/pikasTech/unidesk/issues/1844) 创建唯一替代 task 并记录 supersedes,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R1.4_Task_Report.md)。
## R2 [completed]
解决 [AgentRun #335](https://github.com/pikasTech/agentrun/issues/335):修复 Artificer 同 session follow-up 的 AipodSpec primary workspace、resource bundle、GitHub tool credential 继承退化,以及终态收敛窗口复用旧 run 产生 provider-less 空 command 的竞态;只修既有 session admission/继承路径,不新增合同、租约、围栏、fallback 或第二 authority,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R2_Task_Report.md)。
## R3 [completed]
解决 [AgentRun #337](https://github.com/pikasTech/agentrun/issues/337):由 Artificer owning YAML 的既有 Aipod/runner 启动装配统一提供 Git author/committer identity,使全新 task 与同 session resume/new-turn 均无需任务内 git config 即可提交;只做最小必要修复,不新增第二 authority、合同、租约、安全机制、围栏或 monitor 支线,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R3_Task_Report.md)。
### R3.1 [completed]
调查 config/aipods/artificer.yaml、Aipod render 与 runner 启动路径,确认单一 identity owner,并用两个既有失败 task 和 #335 resume canary 建立初始/续跑复现证据,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R3.1_Task_Report.md)。
### R3.2 [completed]
由原生子代理在独立 AgentRun v0.2 worktree 实现最小 YAML-first identity 装配与定向测试,覆盖初始 runner 和同 session 新 turnArtificer 不递归修自己,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R3.2_Task_Report.md)。
### R3.3 [completed]
主代理 review/合并后只观察自动 CI/CD;以新 task 直接 commit、同 session send 直接 commit 两个 canary 验收,不使用 task-local git config 或人工发布,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R3.3_Task_Report.md)。
## R4 [completed]
解决 [AgentRun #340](https://github.com/pikasTech/agentrun/issues/340):修复 Artificer active turn 在 durable steer 已确认后发生 backend retry/thread resume 时丢失 steer 增量、错误回退初始 prompt 的问题;只修既有 command/event/thread 恢复路径,不新增客户端重发、第二 prompt authority、合同、租约、安全机制或围栏,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R4_Task_Report.md)。
### R4.1 [completed]
只读复现 [AgentRun #340](https://github.com/pikasTech/agentrun/issues/340) 的 durable steer ack → backend hard-timeout/retry → thread resume 指令回退,定位 effective prompt/turn state 在哪一层遗漏 steer,并冻结最小修复边界,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R4.1_Task_Report.md)。
### R4.2 [completed]
由原生子代理在独立 AgentRun v0.2 worktree 实现 active steer 的顺序、幂等恢复与定向测试;Artificer 不递归修自己,不触碰 Monitor 业务、provider/model/workspace/credential 装配,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R4.2_Task_Report.md)。
### R4.3 [completed]
主代理 review/合并后只观察自动 CI/CD;用新 Artificer canary 验证 active steer 后 backend retry 无需重发仍继续最新指令,并确认 workspace/resource bundle/tool credential 保持正确,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R4.3_Task_Report.md)。
## R5 [completed]
解决 [AgentRun #346](https://github.com/pikasTech/agentrun/issues/346):由 owning Aipod YAML 提示词明确当前 Artificer 是执行者并禁止递归创建或派发 Artificer;由原生子代理做最小修复,不改变模型、provider、SecretRef、workspace、credential 或 resume 语义,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R5_Task_Report.md)。
### R5.1 [completed]
由原生子代理按 [AgentRun #346](https://github.com/pikasTech/agentrun/issues/346) 修改 config/aipods/artificer.yaml 的单一 prompt authority 并补 render 定向测试,禁止 Artificer 递归修自己,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R5.1_Task_Report.md)。
### R5.2 [completed]
主代理 review/合并 [AgentRun #346](https://github.com/pikasTech/agentrun/issues/346) 的最小 PR,只观察自动 CI/CD,不新增代码默认值或第二 prompt authority,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R5.2_Task_Report.md)。
### R5.3 [completed]
自动上线后执行最短 Artificer canary,确认直接处理业务任务且没有创建第二 task,并记录 task/run/session 证据,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R5.3_Task_Report.md)。
## R6 [in_progress]
让 Artificer 派单成为 Target-aware 的单命令流程:所有子代理派单前先用 MDTODO 跟踪;主代理通过 trans 在 YAML 选择的 Target 上执行 create/dispatchArtificer 接单后内部也通过 trans 到 Target 的任务 worktree 执行,从而复用当前 NC01 的 Git、工具和运行面受控权限。CLI 只需 target、target-workspace、repo、ref 与 prompt,即在创建前通过同一 trans 核对工作区、分支和源码身份,自动渲染合法 session、workspaceRef 与 Aipod 资源包,不让 schema-invalid 或私库 fetch 错误在建 task 后才暴露;owning YAML prompt 与 unidesk-subagent 固化规则,并以 /root/.worktrees/selfmedia/r6-ocr-visual-planner 真实验收,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R6_Task_Report.md)。
### R6.1 [in_progress]
由原生子代理在最新远端基线的独立 worktree 实现易用派单入口:外层在 YAML Target 上通过 trans 派单,Artificer 内部通过 trans 到 NC01 目标工作区复用主机权限;覆盖 target/target-workspace/repo/ref、创建前源码身份预检、合法 session/workspaceRef/Aipod 投影、owning prompt,以及 unidesk-subagent 的“所有子代理先建 MDTODO”固定规则;对应原生任务 artificer_dispatch_ux,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R6.1_Task_Report.md)。
### R6.2 [in_progress]
主代理审查跨仓改动并按依赖顺序合并 PR,只观察自动 CI/CD 收敛;不得人工触发 mirror、PipelineRun、apply 或 rollout,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R6.2_Task_Report.md)。
### R6.3
上线后通过 trans 在 NC01 使用新单命令入口,以任务 worktree /root/.worktrees/selfmedia/r6-ocr-visual-planner、仓库 pikainc/selfmedia 和 ref feat/r6-ocr-visual-planner 派发 OCR/视觉规划,确认 task 直接 running、Artificer 内部继续用 trans、session 可续跑且不出现 schema-invalid 或 repository-not-found,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R6.3_Task_Report.md)。
### R6.4 [in_progress]
修复 Target 单命令 live 输出超过全局预算后丢失 task/run/session identity:默认 human 与显式 JSON/YAML 都先返回紧凑 identity、auto-dispatch decision、Target 摘要与下钻命令,不嵌入完整 task/Aipod payload;补超过 10 KiB 场景测试,确保不会退化为 stdout-text-bytes-exceeded-threshold,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R6.4_Task_Report.md)。
### R6.5 [in_progress]
修复 cancelled task 后同 session continuation 未继承原 session 的 tenant/project,导致 send session 被 tenant-policy-denied 拒绝;由 session/task durable identity 自动沿用原 project,不绕过策略,并用 selfmedia 原 session 续跑 canary 验收,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R6.5_Task_Report.md)。
## R7 [completed]
解决 [AgentRun #348](https://github.com/pikasTech/agentrun/issues/348):由 owning Artificer Aipod YAML 把单 turn hard-timeout 从 30 分钟调整为 2 小时(7200000 ms),只改 YAML 及最小必要 render/配置测试,不新增代码默认、第二 timeout authority、客户端续跑补丁、合同、租约、安全机制或围栏,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R7_Task_Report.md)。
### R7.1 [completed]
由原生子代理按 [AgentRun #348](https://github.com/pikasTech/agentrun/issues/348) 在独立 v0.2 worktree 修改 config/aipods/artificer.yaml timeoutMs 为 7200000,并完成最小 render/配置测试;禁止 Artificer 递归修自己,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R7.1_Task_Report.md)。
### R7.2 [completed]
主代理审查并合并 [AgentRun #348](https://github.com/pikasTech/agentrun/issues/348) 的最小 PR,只观察自动 CI/CD,不人工触发交付链,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R7.2_Task_Report.md)。
### R7.3 [completed]
自动上线后以新 Artificer task input 与超过 30 分钟的真实或受控 canary 验证 2 小时 budget 生效,不修改当前 Monitor run 的既有 task policy,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R7.3_Task_Report.md)。
## R8 [completed]
解决 [UniDesk #1944](https://github.com/pikasTech/unidesk/issues/1944):修复 Artificer Aipod 已为 2 小时但 UniDesk session follow-up 仍使用 15 分钟 hard-timeout 的配置分裂;将 `config/agentrun.yaml#client.sessionPolicy.executionPolicy.timeoutMs` 调整为 7200000 ms,在配置解析/校验中拒绝任何低于 3600000 ms 的 hard-timeout,并更新中文长期参考与最小测试;属于 AgentRun 自身运行时,必须由原生子代理执行,禁止 Artificer 递归修复,不新增第二 timeout authority、续跑补丁、锁、租约或状态机,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R8_Task_Report.md)。