From 203718668d69526c3f374ba674829105a5d309e6 Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 14 Jul 2026 17:52:13 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E6=88=90=20compact=20?= =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E5=9B=9E=E5=BD=92=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/MDTODO/artificer-runtime-capabilities.md | 2 +- .../R10_Task_Report.md | 99 +++++++++++++++++++ 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 docs/MDTODO/details/artificer-runtime-capabilities/R10_Task_Report.md diff --git a/docs/MDTODO/artificer-runtime-capabilities.md b/docs/MDTODO/artificer-runtime-capabilities.md index dbe6c35c..298678ee 100644 --- a/docs/MDTODO/artificer-runtime-capabilities.md +++ b/docs/MDTODO/artificer-runtime-capabilities.md @@ -121,6 +121,6 @@ 解决 [UniDesk #2034](https://github.com/pikasTech/unidesk/issues/2034):确认 `908c5515a` 与 `dcff1b205` 汇合后产生的重复 `pikainc/pikaoa` override 已由 `3bded7e0` / PR #2020 精确删除;通过 PR #2038 保护并吸收固定 `/root/unidesk` 的 4 个并行提交,再按 P0 执行 `stash -u`、`pull --ff-only` 与 `stash apply`,不新增 parser/validator、warning normalization、credential authority、fallback、锁或租约;最后以 #2537 continuation task 做最短 Artificer canary,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R9_Task_Report.md)。 -## R10 [in_progress] +## R10 [completed] 解决 [UniDesk #2044](https://github.com/pikasTech/unidesk/issues/2044):定位首次引入 `/responses/compact` 响应消息缺少 `role` 的提交或镜像版本,并精确反向移除该回归以恢复既有 compact 合同;保持 Artificer、Codex app-server、Sub2API 与原 session 单一路径,不增加 retry、fallback、role 猜测、第二 authority 或新 session 绕行;经 YAML-first 自动交付后复用 HWLAB #2541 原 session continuation 验证,属于 Artificer 自身运行链故障,必须由原生子代理执行,完成任务后将详细报告写入[任务报告](./details/artificer-runtime-capabilities/R10_Task_Report.md)。 diff --git a/docs/MDTODO/details/artificer-runtime-capabilities/R10_Task_Report.md b/docs/MDTODO/details/artificer-runtime-capabilities/R10_Task_Report.md new file mode 100644 index 00000000..b032592e --- /dev/null +++ b/docs/MDTODO/details/artificer-runtime-capabilities/R10_Task_Report.md @@ -0,0 +1,99 @@ +# R10 任务报告 + +## 结果 + +- 已解决 [UniDesk #2044](https://github.com/pikasTech/unidesk/issues/2044) 跟踪的 Artificer `/responses/compact` 协议回归。 +- PK01 已恢复 Sub2API `0.1.155`。 +- HWLAB #2541 原 session 在同一 continuation 路径成功 compact 并继续执行。 +- 本次没有创建新 session,也没有增加以下机制: + - retry; + - fallback; + - `role` 猜测; + - 兼容层; + - 第二 authority。 + +## 引入点 + +- 首次把故障重新引入当前 PK01 运行面的是: + - UniDesk commit:`6829826ef7ab3ff707de9503834b161bc36b85dd`; + - [PR #2021](https://github.com/pikasTech/unidesk/pull/2021)。 +- 该变更在 2026-07-14 10:29Z 唯一修改 owning YAML: + - PK01 镜像从 `0.1.155` 回退到 `0.1.147`; + - 只验证镜像、health 与 dry-run; + - 没有给出业务回退原因; + - 没有执行 compact 合同验收。 + +### Upstream 证据 + +- `16c0613b` 明确记录: + - `v0.1.147` 会把 unary compact JSON 原样返回给按 Responses SSE 消费的 Codex。 +- `2cffe1cf` / `000f6dc6` 修复: + - SSE 到 JSON 时没有保留 raw `output_item.done` 与 compact item。 +- `84bb7d07` 保留: + - `remote_compaction_v2` 原生 Responses 链。 +- 版本包含关系: + - `0.1.155` 包含上述修复; + - `0.1.147` 不包含上述修复。 + +### 运行面证据 + +- 故障 trace:`8eda7eb2719f69bcdbf9cd48f438e6a0`。 +- Trace 中 AgentRun manager 与 runner span 均存在。 +- 原 run:`run_d52387b2aae64b2e8026c81aaf72869a`。 +- 该 run 从 2026-07-14 14:11Z 开始,在不同 payload 位置重复报 `missing field role`。 +- 错误位置变化证明故障不是固定位置的传输截断。 + +## 精确修复 + +- 修复 commit:[`4646760c`](https://github.com/pikasTech/unidesk/commit/4646760c208c537c0a573a57d6370e209a13d0d6)。 +- 修复 PR:[#2047](https://github.com/pikasTech/unidesk/pull/2047)。 +- merge commit:`9235a8c5c62baebb7afaf79cace3c7b3f737db96`。 +- 唯一代码差异: + - 路径:`config/platform-infra/sub2api.yaml#targets.PK01.image.tag`; + - 修改:`0.1.147` 恢复为 `0.1.155`; + - 语义:精确反向移除 `6829826e`。 + +## 交付验证 + +- 受控 apply job:`platform_infra_sub2api_apply_pk01_20260714152435687_5ae6e6`。 +- Job 结果: + - 状态:`succeeded`; + - exit:`0`; + - 耗时:18 秒; + - 公网 exposure 子任务:成功。 +- 实际镜像:`docker.1panel.live/weishaw/sub2api:0.1.155`。 +- 实际 revision:`41cec0db059ffb82d0efdcfcf07a24ab51fbfe97`。 +- `status` 与 `validate` 全部通过。 + +## 原 session 验收 + +- 复用 session:`sess_artificer_b7854f952db117b2cd630180`。 +- Continuation 资源: + - run:`run_14c95984920146e29c49918abda0d850`; + - command:`cmd_c5dd41287dea41148abc19f79241ca50`。 +- 该 run 完成 thread resume 与 compact 后明确报告: + - “Compact 上下文已成功恢复”。 +- 随后已连续执行: + - Target worktree skill 读取; + - 现场核对; + - 实现命令。 +- 该 run 已越过原失败点,未再出现 `missing field role`。 + +## 边界与风险 + +- 本任务没有修改: + - AgentRun; + - Codex app-server; + - 账号池 runtime; + - Kafka 投影; + - 数据库; + - Secret; + - Redis; + - Caddy; + - 其他 target。 +- PK01 host-Docker 当前不由 PR merge 自动 rollout 覆盖: + - 本次按唯一受控 `platform-infra sub2api apply` 入口收敛; + - 该交付边界不影响本次 compact 修复成立。 +- HWLAB #2541 的剩余页面实现: + - 已由恢复后的原 Artificer run 继续执行; + - 不属于 R10 closeout 范围。