docs: 完成 compact 协议回归报告
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Success
Pipelines as Code CI / platform-infra-gitea-nc01- Success
Pipelines as Code CI / unidesk-host- Success

This commit is contained in:
Codex
2026-07-14 17:52:13 +02:00
parent 6e395d6217
commit 203718668d
2 changed files with 100 additions and 1 deletions
@@ -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)。
@@ -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 范围。