diff --git a/.agents/skills/unidesk-code-queue/SKILL.md b/.agents/skills/unidesk-code-queue/SKILL.md index a4b59b7f..8dfbdc32 100644 --- a/.agents/skills/unidesk-code-queue/SKILL.md +++ b/.agents/skills/unidesk-code-queue/SKILL.md @@ -10,14 +10,14 @@ description: UniDesk AgentRun-backed Code Queue CLI — Skill(cli-spec)。legacy ## 高频入口 ```bash -bun scripts/cli.ts agentrun get task --limit 20 +bun scripts/cli.ts agentrun get tasks --limit 20 bun scripts/cli.ts agentrun describe task/ bun scripts/cli.ts agentrun describe task/ --input -o json bun scripts/cli.ts agentrun describe aipodspec/ bun scripts/cli.ts agentrun events run/ --limit 20 bun scripts/cli.ts agentrun events run/ --detail-seq -o json bun scripts/cli.ts agentrun logs session/ --tail 120 -bun scripts/cli.ts agentrun result command/ --run +bun scripts/cli.ts agentrun result run/ --command bun scripts/cli.ts agentrun get attempts --task bun scripts/cli.ts agentrun retry task/ --idempotency-key --reason --dry-run bun scripts/cli.ts agentrun send --prompt-stdin @@ -30,6 +30,10 @@ AipodSpec/Artificer、task manifest 和 queue 渐进披露见 [references/resour ## P0 边界 - 新写入口不要用 `codex submit/steer/resume`;这些 legacy mutation 已冻结。 +- Artificer task prompt 只引用 task 自身的 primary workspace: + - 默认写当前工作区 `.`,需要子目录时写相对路径; + - 禁止写入宿主 `/root/unidesk`、主代理 worktree 或其他 task 外部绝对路径; + - 路径不可见时先用 `agentrun events run/ --detail-seq ` 核对 durable workspace 物化事实,不让 Artificer 搜索或切换到旁路仓库。 - 默认输出保持低噪声表格/摘要;机器消费显式 `-o json|yaml` 或 `--raw`。 - 读取 task 的可重建输入: - 使用 `agentrun describe task/ --input -o json`; diff --git a/docs/MDTODO/agentrun-runtime-reliability.md b/docs/MDTODO/agentrun-runtime-reliability.md index e6cd01e9..72810b9b 100644 --- a/docs/MDTODO/agentrun-runtime-reliability.md +++ b/docs/MDTODO/agentrun-runtime-reliability.md @@ -76,3 +76,11 @@ #### R5.1.1 [in_progress] 审核并修复 [AgentRun PR #312](https://github.com/pikasTech/agentrun/pull/312) 的 session workspace 连续性:首次物化精确主仓,但同 session 后续 run/runner 恢复不得清空既有工作树;补齐 source/workspace identity、安全替换边界和回归测试,再由 PR merge 自动交付后用两项固定 Artificer 业务目标验收,禁止主代理代做、agent clone、宿主 worktree、trans 源码旁路或人工 CI/CD,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R5.1.1_Task_Report.md)。 + +### R5.2 [in_progress] + +解决 [AgentRun #313](https://github.com/pikasTech/agentrun/issues/313):让 Artificer primary workspace 的真实 commandExecution git 子进程继承 AipodSpec 声明的 github-ssh SecretRef volume projection 与 HOME/SSH/GIT transport;缺 key、known_hosts 或环境继承时必须脱敏 typed fail closed,禁止 /root/.ssh、ssh-keyscan、token URL、匿名 transport、人工 CI/CD 或主代理代做业务任务,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R5.2_Task_Report.md)。 + +### R5.3 [in_progress] + +解决 [AgentRun #219](https://github.com/pikasTech/agentrun/issues/219) 在 NC01/nc01-v02 Artificer 固定 run `run_318365a2e69e4636a52d16a722a5c410` 的 Final Response 重复与历史 assistant_message 整段重放:只修 AgentRun/Codex backend durable event emission 与 final seal,CLI 用既有 run 重放复现;禁止 HWLAB/Workbench 文本去重、tail 合并或 Kafka/SSE 补洞,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R5.3_Task_Report.md)。 diff --git a/docs/MDTODO/cli-output-progressive-disclosure.md b/docs/MDTODO/cli-output-progressive-disclosure.md index 6f174325..47af2403 100644 --- a/docs/MDTODO/cli-output-progressive-disclosure.md +++ b/docs/MDTODO/cli-output-progressive-disclosure.md @@ -43,6 +43,10 @@ 在 [UniDesk PR #1821](https://github.com/pikasTech/unidesk/pull/1821) 内修复 `--input` 与 `--full|--raw` 的组合歧义:组合使用必须稳定 fail closed,不能绕过 TaskInput 的 SecretRef-only/valuesPrinted=false 合同;补 CLI 解析测试和两项固定 task 有界只读复验后再合并,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.1.1_Task_Report.md)。 -### R3.2 [in_progress] +### R3.2 [completed] 解决 [UniDesk #1822](https://github.com/pikasTech/unidesk/issues/1822):将 aipodspec/ 默认 text/json/yaml 收敛为同构、有界且 SecretRef-only 的合同摘要,固定 Artificer 样本不再触发临时 dump;显式 --full|--raw 保持完整下钻,不提高全局 stdout 阈值、不修改 AgentRun 服务端或 AipodSpec 业务配置,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.2_Task_Report.md)。 + +### R3.3 [completed] + +解决 [UniDesk #1824](https://github.com/pikasTech/unidesk/issues/1824):为 AgentRun 精确 run+seq 事件增加通用有界详情投影,使 resource-bundle-materialized 可直接验收 primary workspace lifecycle、commit、writable 与 provenance/contract hash;默认列表保持有界,JSON/YAML/human 同构,exhaustive 仅由显式 raw/完整入口提供,禁止读取 dump 二次裁剪、提高阈值或修改 durable event,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.3_Task_Report.md)。 diff --git a/docs/MDTODO/details/cli-output-progressive-disclosure/R3.2_Task_Report.md b/docs/MDTODO/details/cli-output-progressive-disclosure/R3.2_Task_Report.md new file mode 100644 index 00000000..62ecf6c4 --- /dev/null +++ b/docs/MDTODO/details/cli-output-progressive-disclosure/R3.2_Task_Report.md @@ -0,0 +1,16 @@ +# R3.2 任务报告 + +## 结论 + +已解决 [UniDesk #1822](https://github.com/pikasTech/unidesk/issues/1822)。PR [#1823](https://github.com/pikasTech/unidesk/pull/1823) 合并到 `master`,merge commit 为 `25a0bf8f`。 + +`agentrun describe aipodspec/` 的默认 human、JSON、YAML 现在由同一有界摘要投影渲染,保留 identity/hash、runtime、workspaceRef、primary resource bundle source identity、引用计数、SecretRef-only credential 和脱敏 provenance。完整对象只通过显式 `--full -o json` 或 `--raw` 下钻;未提高全局 stdout 阈值,未读取临时 dump 二次裁剪,也未修改 AgentRun 服务端或 AipodSpec 配置。 + +## 验证 + +- 固定 `aipodspec/Artificer`:text 1330 bytes、JSON 4051 bytes、YAML 2422 bytes,均未触发 dump。 +- JSON/YAML 摘要同构,包含 6 个 bundle、11 个 required skill、4 个 credential ref,且 `secretRefsOnly=true`、`valuesPrinted=false`。 +- `--full -o json` 与 `--raw` 保持完整 resource/REST data。 +- 定向测试:15 pass、0 fail、331 assertions。 +- `git diff --check` 通过。 +- rollout=not-applicable;该变更为 render-only CLI。 diff --git a/docs/MDTODO/details/cli-output-progressive-disclosure/R3.3_Task_Report.md b/docs/MDTODO/details/cli-output-progressive-disclosure/R3.3_Task_Report.md new file mode 100644 index 00000000..6250911d --- /dev/null +++ b/docs/MDTODO/details/cli-output-progressive-disclosure/R3.3_Task_Report.md @@ -0,0 +1,16 @@ +# R3.3 任务报告 + +## 结论 + +已解决 [UniDesk #1824](https://github.com/pikasTech/unidesk/issues/1824)。PR [#1827](https://github.com/pikasTech/unidesk/pull/1827) 已合并到 `master`,merge commit 为 `7d16023c`。 + +`agentrun events run/ --detail-seq ` 现在提供通用、单事件、有界详情投影。它直接从 durable event 渲染 workspace lifecycle、commit/tree、writable、provenance/contract hash、关联 identity 和受控计数;默认列表与 JSON/YAML/human 保持同构。完整 payload 仍只通过显式 `--full` 或 `--raw` 下钻,未提高 stdout 阈值、未读取临时 dump 二次裁剪,也未修改 AgentRun 服务端或 durable event。 + +安全边界同时收紧:SCP-like/未知 remote 只显示不可逆 fingerprint;durable `resolutionAuthority` 与非权威推断分离,脱敏时不伪造权威事实。 + +## 验证 + +- 固定 run `run_3c5b9818e87347e4b99a12ae6b499579` 的 seq 8:有界 JSON 约 4.3KB,成功显示 primary workspace lifecycle、commit、writable 与 provenance,未触发临时 dump。 +- 定向回归:25 pass、0 fail、495 assertions。 +- `git diff --check` 通过。 +- rollout=not-applicable;该变更为 render-only CLI。 diff --git a/docs/MDTODO/github-gitea-durable-source-authority.md b/docs/MDTODO/github-gitea-durable-source-authority.md index 02e6a028..0eaf1a29 100644 --- a/docs/MDTODO/github-gitea-durable-source-authority.md +++ b/docs/MDTODO/github-gitea-durable-source-authority.md @@ -23,6 +23,9 @@ ### R1.4 [in_progress] 覆盖重复 delivery、跨 repo、部分 ref 已存在、atomic failure、retry exhaustion 与 truthful status,提交 non-draft PR/preflight;运行面验收只由修复 PR merge 后新事件完成,完成任务后将详细报告写入[任务报告](./details/github-gitea-durable-source-authority/R1.4_Task_Report.md)。 +#### R1.4.1 [in_progress] + +继续解决 [UniDesk #1760](https://github.com/pikasTech/unidesk/issues/1760):PR #1826 的 GitHub delivery `1e654dda-7db6-11f1-9718-08a34ab9daa0` 返回 202,但 durable inbox 无 accepted/processing/committed/failed 记录且 Gitea branch/snapshot 停在旧 commit;修复 receiver/fsync/bridge worker 的真实断点,并仅用后续真实 PR merge 自动事件验收,禁止 sync、flush、伪 push、人工 PipelineRun 或运行面 patch,完成任务后将详细报告写入[任务报告](./details/github-gitea-durable-source-authority/R1.4.1_Task_Report.md)。 ## R2 [completed] 跟踪 [UniDesk #1784](https://github.com/pikasTech/unidesk/issues/1784) 暴露的 managed mirror repository materialization 根因;本轮只完成架构风险分类,不修改 renderer/controller/reconcile authority,完成任务后将详细报告写入[任务报告](./details/github-gitea-durable-source-authority/R2_Task_Report.md)。