docs: 固化 Artificer 空闲超时与 session 续跑规格
This commit is contained in:
@@ -169,6 +169,7 @@ HWLAB Workbench 的 project/workspace 不属于 RuntimeAssembly 四要素,也
|
||||
- runner Job 必须在 `${CODEX_HOME}/<codex_rollout_subdir>` 位置把 PVC **直接挂载**到 runner pod;`auth.json`、`config.toml`、`state_*.sqlite`、`memories/`、`tmp/`、`skills/` 仍由 `emptyDir` 父目录提供,不持久化。
|
||||
- 完整 CODEX_HOME 不进入 PVC,profile Secret 投影仍走 `agentrun-v01-runner-secret-reader`,与 session 持久化路径分离。
|
||||
- runner 启动时把 PVC 名、namespace、mount path、codex rollout subdir 写入 env(`AGENTRUN_SESSION_PVC_NAME`、`AGENTRUN_SESSION_PVC_NAMESPACE`、`AGENTRUN_SESSION_PVC_MOUNT_PATH`、`AGENTRUN_CODEX_ROLLOUT_SUBDIR`),backend adapter 不需要直接读 k8s API。
|
||||
- Queue、AipodSpec 或手动调度只要携带非空 `sessionRef`,runner Job render 必须在创建 Job 前解析或创建对应 session PVC,并把 PVC 直接 mount 到 `${CODEX_HOME}/<codex_rollout_subdir>`;runner Job response、dry-run manifest 和 event 必须暴露 `sessionPvc` 摘要与 `valuesPrinted=false`。不得因为任务来自 Queue/Aipod 而跳过 `AGENTRUN_SESSION_PVC_NAME` 或只保存 metadata-only session。
|
||||
- `codex_rollout_subdir` 走 env,默认 `sessions`,codex CLI 升级改子目录时只改该 env,不改 runner/backend 装配。
|
||||
- `POST /api/v1/sessions` 创建 session 时同步创建 PVC;`POST /api/v1/runs/:runId/commands` 命中已有 session 且 `storage_kind='evicted'` 时短路返回 `session-store-evicted`,不创建 runner Job。
|
||||
- runner pod 删除或旧 lease 过期后的 replacement runner 只改变执行尝试 identity,不改变 RuntimeAssembly 的 `SessionRef`、`ProfileRef` 或 `ResourceBundleRef`。验收时应证明 replacement run/job 仍使用同一 `SessionRef.sessionId`、`threadId`、`ProfileRef.profile` 和 PVC;不能通过新 session、新 profile 或历史 prompt 拼接来制造 resume 表象。
|
||||
@@ -180,6 +181,7 @@ HWLAB Workbench 的 project/workspace 不属于 RuntimeAssembly 四要素,也
|
||||
- 不引入「runner 启动后 copy/restore」path,撤掉的 copy 方案不允许复活(PR #78 已回退 replacement 逻辑,本节同样禁止任何「持久化卷 + 热修脚手架」变体)。
|
||||
- 不允许 fake `thread/resume:completed`,PVC 真的存在且 codex 真的能 resume 才算通过。
|
||||
- 不写 fallback、不写 replacement、不拼接历史。`thread/resume` 失败时按 [spec-v01-backend-codex.md](spec-v01-backend-codex.md) T7 直接失败;只有 `AGENTRUN_SESSION_PVC_NAME` 已设 + codex 报 `no rollout found for thread id` 时升级为 `session-store-evicted`,用于上层区分「PVC 被删」与「真协议错误」。
|
||||
- 不得把 `sessionRef=null` 的历史任务伪装成可同 session 续跑。旧任务没有 session 时,manager 可以基于 trace 总结重开一个带 sessionRef 的新任务,但该动作必须被记录为新 session bootstrap,而不是 resume。
|
||||
|
||||
### ResourceBundleRef
|
||||
|
||||
|
||||
Reference in New Issue
Block a user