docs: 记录 R8 timeout 修复报告

This commit is contained in:
Codex
2026-07-13 18:00:17 +02:00
parent 38efb1605c
commit 8fe0837fae
@@ -0,0 +1,33 @@
# R8 任务报告
## 结论
已解决 [UniDesk #1944](https://github.com/pikasTech/unidesk/issues/1944) 的 AgentRun session hard-timeout 配置分裂,并创建普通 [PR #1945](https://github.com/pikasTech/unidesk/pull/1945) 等待主代理审核、合并。
- 唯一事实来源保持为 `config/agentrun.yaml#client.sessionPolicy.executionPolicy.timeoutMs`
- 默认 hard-timeout 已由 15 分钟调整为 `7200000` ms,即 2 小时。
- 既有通用 session policy 解析入口现在拒绝任何低于 `3600000` ms 的 hard-timeout。
- 未新增第二 timeout authority、续跑补丁、锁、租约、状态机或交付控制入口。
- 未执行部署、人工 PipelineRun、mirror sync、rollout 或 PR merge。
## 实现
- `config/agentrun.yaml`:将 session execution policy 的 `timeoutMs` 调整为 `7200000`
- `scripts/src/agentrun/config.ts`:在 `readAgentRunSessionPolicyConfig` 中保留正整数校验,并增加 1 小时通用下限;非法值在解析阶段明确报错。
- `scripts/src/agentrun.test.ts`:覆盖真实 owning YAML 的 2 小时值和 `3599999` ms 拒绝。
- `scripts/src/agentrun-events.test.ts`:同步既有合法 fixture,避免保留旧 15 分钟事实。
- `docs/reference/agentrun.md`:将 session hard-timeout 的唯一 authority、2 小时口径和 1 小时配置下限固化为中文长期参考。
## 验证
- `bun test scripts/src/agentrun.test.ts scripts/src/agentrun-events.test.ts`25 pass0 fail557 assertions。
- `bun --check scripts/src/agentrun/config.ts`:通过。
- `UNIDESK_AGENTRUN_TARGET_EXECUTED=NC01 bun scripts/cli.ts agentrun explain session-policy -o json`:选中 `NC01/nc01-v02``POLICY SOURCE=selected-lane`effective `timeoutMs=7200000`Secret 仅披露 metadata 且 `valuesPrinted=false`
- `git diff --check`:通过。
## 工件
- 实现 commit`38efb160`
- PR[pikasTech/unidesk#1945](https://github.com/pikasTech/unidesk/pull/1945)。
- Issue[pikasTech/unidesk#1944](https://github.com/pikasTech/unidesk/issues/1944)。
- MDTODO`docs/MDTODO/artificer-runtime-capabilities.md` R8。