diff --git a/docs/MDTODO/artificer-runtime-capabilities.md b/docs/MDTODO/artificer-runtime-capabilities.md index c92398e6..55f79ce9 100644 --- a/docs/MDTODO/artificer-runtime-capabilities.md +++ b/docs/MDTODO/artificer-runtime-capabilities.md @@ -59,7 +59,7 @@ 主代理 review/合并后只观察自动 CI/CD;用新 Artificer canary 验证 active steer 后 backend retry 无需重发仍继续最新指令,并确认 workspace/resource bundle/tool credential 保持正确,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R4.3_Task_Report.md)。 -## R5 [in_progress] +## 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)。 @@ -67,10 +67,10 @@ 由原生子代理按 [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 [in_progress] +### 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 +### R5.3 [completed] 自动上线后执行最短 Artificer canary,确认直接处理业务任务且没有创建第二 task,并记录 task/run/session 证据,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R5.3_Task_Report.md)。 diff --git a/docs/MDTODO/details/artificer-runtime-capabilities/R5.2_Task_Report.md b/docs/MDTODO/details/artificer-runtime-capabilities/R5.2_Task_Report.md new file mode 100644 index 00000000..10a4e1bb --- /dev/null +++ b/docs/MDTODO/details/artificer-runtime-capabilities/R5.2_Task_Report.md @@ -0,0 +1,22 @@ +# R5.2 任务报告 + +## 结论 + +主代理已独立 review 并合并 [AgentRun PR #347](https://github.com/pikasTech/agentrun/pull/347)。merge commit 为 `4155132aa7e8de1936b2bf447ea889a607ee59d7`。 + +## Review 证据 + +- `git diff --check` 通过。 +- 定向运行 `81-artificer-nonrecursive-prompt`、`76-aipod-spec`、`80-artificer-model-selection`,全部通过。 +- 规则唯一位于 owning YAML;通用 renderer 仅拼接 YAML 默认提示和用户 prompt。 +- 未改变模型、reasoning、provider、SecretRef、workspace、resource bundle、Git identity 或 session resume。 + +## 自动交付证据 + +未执行人工 mirror、PipelineRun、sync、refresh、trigger 或 rollout。PaC watcher 临时恢复后,已有自动事件自行继续: + +- PipelineRun:`agentrun-nc01-v02-ci-4155132aa7e8de1936b2bf447ea889a607ee5glss5`; +- PipelineRun:`Succeeded`,47 秒,3 个 TaskRun 全部成功; +- GitOps:`fcb77f4cf8e1520003b81928eaef9177d439cfe6`; +- Argo:`Synced / Healthy`,revision `fcb77f4cf8e1`; +- runtime manager source:`4155132aa7e8`,`1/1 ready`。 diff --git a/docs/MDTODO/details/artificer-runtime-capabilities/R5.3_Task_Report.md b/docs/MDTODO/details/artificer-runtime-capabilities/R5.3_Task_Report.md new file mode 100644 index 00000000..48096b52 --- /dev/null +++ b/docs/MDTODO/details/artificer-runtime-capabilities/R5.3_Task_Report.md @@ -0,0 +1,19 @@ +# R5.3 任务报告 + +## 结论 + +自动上线后的最短 Artificer canary 通过。当前 Artificer 直接完成任务,没有调用工具,也没有创建或派发第二个 AgentRun/Artificer task。 + +## 证据 + +- task:`qt_147d7694b83b4a62a99a6bcefa19eb11`; +- run:`run_795aaea568dc44898654ce25d35099bd`; +- command:`cmd_0ab1266c1c5c48048266efdb74edd324`; +- session:`sess_artificer_fc1728414554120dad66f19a`; +- runner:`rjob_954e449ac40f4b26bd6bd74a9cecc3f1`; +- terminal:`completed`、`OK=true`、authoritative; +- 唯一结果:`ARTIFICER_NONRECURSIVE_OK`。 + +事件 1 显示 YAML 默认提示已在用户业务提示之前进入实际初始 prompt。事件 21-32 只有 thread/turn 状态、单条 assistant message 和 terminal 状态,没有 tool call、AgentRun create/apply/dispatch 或 Code Queue 操作。canary 前后活动 task 视图未出现第二个新增任务。 + +本次 canary 为只读任务,未修改文件或外部状态。 diff --git a/docs/MDTODO/details/artificer-runtime-capabilities/R5_Task_Report.md b/docs/MDTODO/details/artificer-runtime-capabilities/R5_Task_Report.md new file mode 100644 index 00000000..576b840a --- /dev/null +++ b/docs/MDTODO/details/artificer-runtime-capabilities/R5_Task_Report.md @@ -0,0 +1,7 @@ +# R5 任务报告 + +[AgentRun #346](https://github.com/pikasTech/agentrun/issues/346) 已完成。禁止 Artificer 递归派单的职责提示由 `config/aipods/artificer.yaml#spec.payloadDefaults.prompt` 单一控制;通用 renderer 只做默认提示与用户提示合成,没有第二规则权威。 + +实现已由 [AgentRun PR #347](https://github.com/pikasTech/agentrun/pull/347) 合并,并通过自动 PaC、GitOps、Argo 和 runtime 发布。上线后真实只读 canary `qt_147d7694b83b4a62a99a6bcefa19eb11` 直接返回 `ARTIFICER_NONRECURSIVE_OK`,完整事件中没有任何 tool call 或第二 task 派单。 + +默认模型和运行事实保持 `gpt-5.6-sol`、reasoning `medium`、backend profile `gpt-pika`;workspace、resource bundle、credential、Git identity 和 session resume 均未改变。 diff --git a/docs/MDTODO/details/pr-merge-driven-automatic-delivery/R5.1_Task_Report.md b/docs/MDTODO/details/pr-merge-driven-automatic-delivery/R5.1_Task_Report.md new file mode 100644 index 00000000..e3615c62 --- /dev/null +++ b/docs/MDTODO/details/pr-merge-driven-automatic-delivery/R5.1_Task_Report.md @@ -0,0 +1,23 @@ +# R5.1 任务报告 + +## 结论 + +[UniDesk #1900](https://github.com/pikasTech/unidesk/issues/1900) 的直接断点不是 PR、Pipeline 定义或 AgentRun,而是 NC01 的 `pipelines-as-code-watcher` 未启动。GitHub merge、Gitea mirror/webhook 和 PaC 创建 PipelineRun 均正常;唯一负责把 `queued/PipelineRunPending` 推进为 `started` 的 watcher 不可用,因此自动链停在 0 TaskRun。 + +## 运行面证据 + +- watcher Deployment:`replicas=1`、`ready=0`、`unavailable=1`。 +- 故障 Pod:`pipelines-as-code-watcher-7f6c87497c-h2dzz`,UID `7fe65fbe-a18e-4513-89f2-5fac37ae0b71`。 +- projected ServiceAccount token 被 node authorizer 拒绝:`node requested token bound to a pod scheduled on a different node` / `no relationship found between node`。 +- 同一控制面恢复窗口创建的 `tempo`、`todo-note` Pod 出现相同错误;稍后新建 Pod 已能正常挂载 token,排除 watcher ServiceAccount RBAC 和 AgentRun Pipeline 定义。 +- AgentRun merge commit `4155132aa7e8de1936b2bf447ea889a607ee59d7` 的 PipelineRun 已由 PaC 创建并标记 `queued`,但长期 `startTime=null`、0 TaskRun。 + +## 有界临时恢复 + +在 issue 和 MDTODO 建立后,只删除上述精确 Pending watcher Pod,由既有 Deployment/ReplicaSet 自动重建。未修改、删除或重跑任何 PipelineRun,也未执行 mirror、sync、refresh、trigger 或 rollout。 + +新 Pod `pipelines-as-code-watcher-7f6c87497c-7lhfh` 随后 Ready,并接管 leader lease;既有 #347 PipelineRun 自动从 `queued` 进入 `Running`,产生 TaskRun。该证据证明恢复仍由原 PaC 自动权威完成。 + +## 长期归属 + +长期修复归 [#1900](https://github.com/pikasTech/unidesk/issues/1900) 的 NC01 k3s node-authorizer / Pod 生命周期恢复。不得把本次精确 Pod 重建固化为额外 delivery actor、补跑入口或自动围栏。 diff --git a/docs/MDTODO/pr-merge-driven-automatic-delivery.md b/docs/MDTODO/pr-merge-driven-automatic-delivery.md index b7681dcb..72933f97 100644 --- a/docs/MDTODO/pr-merge-driven-automatic-delivery.md +++ b/docs/MDTODO/pr-merge-driven-automatic-delivery.md @@ -68,11 +68,11 @@ 解决 [UniDesk #1900](https://github.com/pikasTech/unidesk/issues/1900):修复 NC01 PaC watcher 因 ServiceAccount token 的 node/pod 关系失败而 Pending,恢复 GitHub PR merge 驱动的唯一自动交付链,禁止人工补触发、第二权威或旁路,完成任务后将详细报告写入[任务报告](./details/pr-merge-driven-automatic-delivery/R5_Task_Report.md)。 -### R5.1 [in_progress] +### R5.1 [completed] 只读定位 [UniDesk #1900](https://github.com/pikasTech/unidesk/issues/1900) 的唯一根因,核对 watcher Pod、ServiceAccount token、node/pod 关系、owning YAML 与最近控制面变更,不改运行面,完成任务后将详细报告写入[任务报告](./details/pr-merge-driven-automatic-delivery/R5.1_Task_Report.md)。 -### R5.2 +### R5.2 [in_progress] 按 [UniDesk #1900](https://github.com/pikasTech/unidesk/issues/1900) 实施最小持久化修复和定向验证,不新增第二交付权威、合同、租约、安全机制或围栏,完成任务后将详细报告写入[任务报告](./details/pr-merge-driven-automatic-delivery/R5.2_Task_Report.md)。