docs: 跟踪 runner 假活修复与验收
This commit is contained in:
@@ -54,14 +54,18 @@
|
||||
|
||||
在 UniDesk 受控 CLI 增加 task retry 资源入口,完成内存/PostgreSQL 并发测试、PR 自动交付和固定任务 `qt_5b65a086385a49bdb874cf8f9d191169` 的 bundle/provider/业务启动验收,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R3.3_Task_Report.md)。
|
||||
|
||||
## R4
|
||||
## R4 [in_progress]
|
||||
|
||||
完善 AgentRun runner 生命周期、claim 释放、容量门禁与 manager 权威回收,使终态一致性、并发安全和有界诊断形成单一可靠合同,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R4_Task_Report.md)。
|
||||
|
||||
### R4.1
|
||||
### R4.1 [in_progress]
|
||||
|
||||
解决 [AgentRun #309](https://github.com/pikasTech/agentrun/issues/309):终态 run/command 与终态 Pod 不得因陈旧 runClaimedBy 被判假活并占满 maxRunners;对齐 [AgentRun #280](https://github.com/pikasTech/agentrun/issues/280) 的 retention 边界,由 manager 原子释放 claim、终态化和 CAS 回收,完成并发测试、自动交付及 NC01 受控 CLI 验收,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R4.1_Task_Report.md)。
|
||||
|
||||
#### R4.1.1 [in_progress]
|
||||
|
||||
解决 [UniDesk #1820](https://github.com/pikasTech/unidesk/issues/1820):对齐 cleanup-runners 只读 observer 与 AgentRun manager retention 的终态 claim 分类,默认有界披露 terminal-run-stale-claim、repairKind 和一致的 candidate/protected 计数;manager 保持唯一回收 authority,禁止增加删除入口或第二事实源,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R4.1.1_Task_Report.md)。
|
||||
|
||||
## R5
|
||||
|
||||
完善 Artificer AipodSpec、primary workspace、resource bundle 物化与业务 turn admission,使声明式源码快照、能力 bundle 和失败可见性形成单一合同,完成任务后将详细报告写入[任务报告](./details/agentrun-runtime-reliability/R5_Task_Report.md)。
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# R4.1 阶段报告
|
||||
|
||||
## 状态
|
||||
|
||||
- 任务仍在进行中,来源为 [AgentRun #309](https://github.com/pikasTech/agentrun/issues/309)。
|
||||
- manager 根因修复已通过 [PR #311](https://github.com/pikasTech/agentrun/pull/311) 合并到 `v0.2`,merge commit 为 `b7a15b77e0040f2c602f09629835f2a438132d61`。
|
||||
- UniDesk 只读分类对齐由 [UniDesk #1820](https://github.com/pikasTech/unidesk/issues/1820) 和 R4.1.1 接续;完成前不关闭 R4.1。
|
||||
|
||||
## 根因与修复
|
||||
|
||||
- 终态 run/cancel 事务未释放 `claimed_by`、`lease_expires_at` 和 PostgreSQL lease。
|
||||
- retention 将终态 Pod 的 terminated container 错当成当前 active。
|
||||
- 修复让终态事务原子释放 claim/lease,并以 DB fence 与 Kubernetes CAS 修复历史漂移;fresh claim、Running/Ready Pod 和事实不完整继续 fail closed。
|
||||
|
||||
## 临时缓解
|
||||
|
||||
- 历史容量一度为 `20/20`;受控观察恢复到 `4/20` 后,两个未配置 `dsflash-go` 的 `FailedMount` 探针通过正式 `agentrun cancel run/...` 终态化,未裸删 Job/Pod。
|
||||
- 缓解期间容量保持 available,最低观测到 `3/20`、`availableSlots=17`;临时缓解不等于根因修复。
|
||||
|
||||
## 自动交付
|
||||
|
||||
- PR merge 自动产生唯一外层 PaC 事件,PipelineRun 成功,source 为 `b7a15b7`。
|
||||
- 新镜像已构建,Argo `Synced/Healthy`,runtime `1/1` 且 digest 对齐。
|
||||
- 未人工触发、sync、flush、创建 PipelineRun 或 patch 运行面。
|
||||
|
||||
## NC01 验收
|
||||
|
||||
- 正式 task `qt_385e04018ef04783a74d0ee86fbb8819` 经 Queue create/dispatch 完成,result 为 `RUNNER_RETENTION_ACCEPTANCE_OK`。
|
||||
- 新 manager 的 `runner-job-created` 事件将两个历史对象分类为 `terminal-run-stale-claim`,并给出 `repairKind=release-terminal-run-claim`;fresh active runner 继续 protected。
|
||||
- Artificer command 完成时保留 warm runner fresh claim;随后正式 cancel 使 run 进入 `cancelled`,`claimedBy=null`、`leaseExpiresAt=null`,验证终态事务立即释放 claim。
|
||||
|
||||
## 验证与剩余项
|
||||
|
||||
- 子代理已通过 runner retention/terminal lifecycle 定向合同 40 项、durable dispatch 10 项、变更模块 build 和 `git diff --check`。
|
||||
- 隔离 PostgreSQL URL 未声明,因此未反解运行面 Secret,也未执行真实 PostgreSQL 集成入口。
|
||||
- UniDesk `cleanup-runners` observer 仍沿用旧分类,未把 manager 已确认的两个终态 claim 显示为 candidate;由 #1820 修复并完成默认 compact CLI 验收。
|
||||
Reference in New Issue
Block a user