Skip to content

fix(benchmark): rebind checkpoint gateways before native admission - #7697

Merged
loopx-agent merged 2 commits into
mainfrom
codex/benchmark-checkpoint-provider-route
Oct 30, 2026
Merged

loopx-agent merged 2 commits into
mainfrom
codex/benchmark-checkpoint-provider-route

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

完整 checkpoint 的新 SForge 接收端会分配新的凭据网关端口,但封存的 Codex 配置仍指向旧端口。原生会话恢复后,第一轮普通 worker 因配置不一致而拒绝执行。本修复在原生会话准入前,由宿主使用普通 worker 的同一配置 renderer 绑定当前网关地址,保留封存源配置和完整历史。

  • 依据:本 PR 所述可复现恢复缺陷;目标分支 main。
  • 结果:源配置、显式选择的 model/effort、provider 协议、凭据来源、工具和权限继续校验;新接收端只额外允许绑定当前启动环境的 provider URL。活动会话仍执行严格配置检查。

Author Declaration

  • Written by: model_agent — Codex(OpenAI GPT-6 系列)。
  • Specification and revision: benchmark/README.md 的 checkpoint continuation / model transition 合同,基线 a36e01c32b0a290a96466c766629a0b01850f823;新增宿主网关重绑定行为以本 PR 的复现与修复请求为依据,并在同一文档明确。
Criterion Disposition Symbol / path Evidence
保留封存配置和 native 历史,只在新接收端绑定目标 profile implemented loopx/hosts/codex_checkpoint.py 真实 Codex fork/admission/resume、重复准入不二次 fork、源字节保留
新网关 route 必须来自当前启动环境,其他 provider/权限配置保持一致 implemented checkpoint_destination_config, admit_warm_session route 缺失/不匹配、wire API、env key、其他 provider、sandbox 负例
第一轮 worker 接受恢复后的有效配置,后续配置变化继续拒绝 implemented codex_settings, WarmStart.stage context delivery on/off、显式 model/effort 转换、历史故障边界与重定向负例
  • Self-check: 复用配置 renderer 的小范围重构已完成;普通配置输出与错误优先级对照保持一致。Python 仅承担既有 native Host/benchmark transport,无新增控制面决策 owner。

Scope And Continuation

完成本次 gateway/config 恢复修复。宿主在现有 transition provenance 中保留完整 source/destination 配置摘要和 session profile;网关 URL 本身不证明上游 provider 身份,上游一致性仍由实验准入独立核验。已有 CLI/Host 恢复入口继续承接,未新增用户选项。

完整 SForge custom-provider 联合接续已补实际 SDK/Docker 正负资格:本地确定性 Responses 服务、Codex CLI 0.162.1、普通 full-checkpoint 声明与当前源关联复盘。测试显式配置 VM host 映射;默认 Colima 路由、真实外部 provider 的付费模型任务、独立于研究 replan 的安全捕获及运行中总期限修订仍需各自验证。本 PR 不宣称研究完成、真实研究组采用或效果收益。

Validation

  • Tested revision: 594b0e20a898374c78dc273b57a73f81ae19bdb6.
  • Run state: finished(定向验证通过;premerge 保留人工评审 hold,read-only 控制失败已披露)。
  • Input classes: synthetic.
Check kind Result Evidence / limitation
unit passed Linux test_checkpoint_model_transition.py, test_sforge_warm_start.py, test_shared_codex_runtime.py, test_sforge_runtime.py: 558 passed, 0 skipped
real_entrypoint passed Codex 0.162.1 + isolated local Responses fixtures: fresh gateway、warm preparation、model transition、gateway + native opportunity 联合接收 4 passed, 0 skipped;联合用例保留 incumbent 7、两次已用机会和冷却,实际读取旧代码/负证据后得到合成 candidate 8,第四次机会继续拒绝。无付费推理或 benchmark cell
real_entrypoint passed 实际 SForge SDK/Docker:context off/on 两个联合接收正例 + 一个配置漂移负例。每个正例均运行 preparation → 当前 replan → 后继工具工作三个 native wake,分别结算;保留原 native 历史,合成 candidate 6→8,已接受机会/原生 incumbent/冷却保持。On 三个 wake 的 native context transport 均 available;未执行完整 full/delta 呈现比较,不代表差分采用或净收益。模型服务为本地确定性替身,无付费推理或科学 cell
regression_parity passed 基线/本提交 30 组普通配置字节一致、4 组错误优先级一致;未重绑定的首轮配置拒绝及丢弃 route 字段的负例均被验证
static passed Ruff、Python compile、diff hygiene、双语 RFC diff 检查;8 个候选文件 public-boundary scan 无 error,既有合成 fixture 的非字面凭据引用 warning 已核对
integration blocked 标准 premerge 的 6 项 direct + 19 项 selected 全部通过、0 超时;整体仍为 manual_review_required(exit 1),benchmark 边界需精确 head 人工评审。首次缺依赖的失败已按原要求补齐后重跑,未提高超时预算
real_entrypoint failed 历史额外 read-only native 控制在基线 a36e01c3 和前一提交 eaf8478b 均失败:隔离 native 可执行环境缺少 system/bundled bubblewrap,工具输出未消费保留证据;较早的临时 home 还出现 helper alias/argv 拒绝。该环境边界未资格化,本次实际 benchmark profile 的 danger-full-access 四个 native 用例通过;read-only 环境资格仍缺失

新增联合用例沿原测试保留来源字节、native fork、Goal/Todo 采用、公开反馈、机会/冷却及一次结算断言。资格 fixture 同时补上当前原生 result API 必需的 token,并显式等待工具输出;首次观察到的“原始 stdout 完整、当前模型请求未见保留证据”未计为通过,修正后仍核真实模型输入。执行器明确核对实际导入的源码位置。

旧提交 eaf8478b 的远端 CI 存在 Windows self-update 4 项断言失败,以及 dashboard lens switch 超过冻结 1s 门槛的失败;新提交 CI 独立运行,远端检查和精确 head 评审仍是交付 hold。

  • Coverage and gaps: 以上验证覆盖实际 native session owner、普通 worker 配置边界及确定性本地服务下的完整 SDK 接收通路。较早失败和越过工程停止点的工作保留且未计为通过;本次 off/on 正例均在各自明确的探针界限内完成并确认容器清理。尚未用真实外部 provider 的付费模型任务验证,full/delta 呈现和完整费用/成果收益仍开放。源码合并、安装/实验采用、exact-head review、merge readiness 分别验收。当前 head 的 windows-powershell 仍失败;本次未证明它与基线等价,未据此解除验证 hold。

Frontend / Visual Evidence

  • UI impact: none。修复既有 CLI/Host 内部恢复;无 viewport、设置或交互变更。视觉证据 N/A。

Type of Change

  • Bug fix
  • Documentation update
  • Test update

LoopX Area

  • Benchmark boundary
  • Host or runtime integration

Technical Direction

S4 runtime recovery / S11 可解释的长程实验;本次只交付可独立回滚的配置 transport 修复。

Shared-authority RFC fixture impact

N/A:未改变 Goal authority-store 的 provider 选择、路由或持久化,也未迁移 compatibility projection;改动归既有 Codex Host 的凭据网关 transport。

Boundary Checklist

  • 公开 diff、正文无私有状态、凭据、原始轨迹、内部链接或本机路径。
  • 已检查相关 PR;本修复与 Docker host bridge 路由修复分别归属。
  • 范围绑定本次可复现恢复缺陷。
  • 未改 RFC pair;双语 diff 检查通过。
  • UI impact 为 none。
  • 所有提交含 DCO Signed-off-by。

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

对当前 head 594b0e20a898374c78dc273b57a73f81ae19bdb6 建议通过代码审评:已复现原版恢复失败,并独立验证新接收端能够继续工作;benchmark 边界的人工评审与 merge readiness 仍分别保留。

动机 / Motivation

恢复完整 checkpoint 的运行者会遇到这个问题:新接收端分配了新的凭据网关端口,封存配置仍指向旧端口。 旧版在恢复历史后仍因网关配置不同而拒绝首轮 worker;本次让新接收端在准入前绑定当前启动环境的网关,再通过普通配置校验继续工作。 独立验证已观察到保留源配置、完整会话历史和旧研究证据的新会话能够继续执行,重复准入也不会再次 fork。 本次不交付运行中会话切换、额外预算、完整外部 provider 实验资格或 frontend restore,也不证明模型质量或长程净收益。 真实外部 provider 的完整 SForge 联合生命周期、read-only native 环境及安装采用仍未资格化,沿现有 qualification owner 继续验收。

改动思路 / Approach

让普通 worker 与恢复端复用同一配置 renderer,并把网关例外限制在现有 Host 准入 owner,能修复实际恢复路径而不增加第二套配置规则。 本 PR 只修复新接收端的配置 transport 与准入,当前会话、Goal 权限、机会、冷却和结算仍由原 owner 决定。

恢复端先核对封存源配置与显式选择的 model/effort,再用实际容器内启动环境生成目标配置;只有被选中的既有 custom provider 的 base URL 可以随当前网关变化。所有其他 TOML 值、provider 名称、协议、凭据环境变量、工具和权限继续完整比较。源配置没有被修改,两个完整配置摘要进入原有 transition provenance。

普通配置 writer 仍负责凭据、只读文件、skills 与活动 trial 的固定配置;纯 renderer 不创建目录、不接触凭据。网关省略或非 warm 路径没有隐式开启新行为,也没有新增 Goal 状态、CLI 选项或第二套控制面规则。

具体改动 / Changes

完整 diff 为 8 个文件、398 行增加与 88 行删除:4 个既有 Python provider/Host 模块、3 个测试模块和 README。eaf8478b 到当前 head 仅调整 native qualification fixture;其余七个文件一致。新 fixture 保留原始来源、完整历史、机会、冷却和一次结算断言,同时显式等待工具输出并提供当前 result API 所需 token。

关键代码讲解

  1. codex_settings 从普通 writer 提取纯配置生成;普通安装与 warm 接收端调用同一实现。凭据错误顺序及后续配置变更拒绝仍由原 writer 负责。
  2. SForgeWorker._install_worker 读取当前容器网关,并从普通 worker 的 model、effort、wire 与 web 设置生成配置,避免封存端口与新 worker 各用一套来源。
  3. WarmStart._stage 在上传前确认生成配置仍匹配显式 model/effort,并验证源摘要和完整配置语义;目标配置及声明按原方式保护,旧来源字节保留。
  4. checkpoint_destination_config 只排除选中 provider 的 base URL 后比较其他全部 TOML 值;native admit/fork 入口还要求声明的 URL 等于当前启动环境。缺失、外来 route 或权限/协议漂移均不能靠这个例外越过准入。

审评依据是变更前的 benchmark/README.md,固定 revision a36e01c32b0a290a96466c766629a0b01850f823。其中 “Explicit warm worker composition (qualification in progress)” 的源字节、完整历史、独立接收会话及历史证据不继承权力已验证;model_reasoning_effort 的显式选择与其余设置不变,由完整配置比较与负例覆盖,新增加的 route 是已披露的 Host transport 例外;“frontend restore” 按原合同仍为 deferred,不能据此宣称完整前端恢复或研究资格。

对主干的风险 / Risks

最大的风险是把任意 provider/权限变化误当作网关变化,或者在 renderer 提取时改变所有普通 worker。前者通过非选中 provider、wire API、env key、sandbox、声明 model 与当前 route 不匹配等负例拒绝;后者使用同一独立 harness 比较基线与当前 head:30 组完整配置、文件模式、skills/history 及 4 组错误顺序完全一致。活动会话后续改配置仍拒绝。

独立本地验证:PASS 558 项 SDK 测试(0 skipped);PASS 4 个真实 Codex native 用例,版本 0.163.0-alpha.11.1,覆盖网关、准备、模型转换及 native opportunity 联合接续。相同冻结旧 harness 在不可变基线有 2 PASS / 1 FAIL,失败落在原来的配置比较;前一修复 head eaf8478b 3 PASS,当前生产代码不变且四个新用例继续通过。联合 fixture 的 candidate 8、incumbent 7 只是合成反馈,额外机会仍被拒绝。

标准 premerge 的 6 direct + 19 selected 全部 PASS、0 超时;整体 exit 1 来自 benchmark_sensitive 人工评审 hold,未被改写成 merge 通过。最初旧 head 的 helper 导入失败、可选 SDK 未装及 SOCKS 环境缺少 socksio 的失败均保留;修正隔离测试环境后,当前完整 SDK 与 native 路径覆盖了所暴露的配置不变量。作者另报的 read-only native/bubblewrap 和历史 CI 问题没有被本次认定修复;未查询、轮询或等待远端 CI。

网关 URL 一致只证明当前 transport 绑定,不能证明上游 provider 身份。真实外部 provider、Docker 的完整 SForge 联合生命周期、read-only native 系统支持、安装采用和模型效果均为 UNVERIFIED,由现有 qualification owner 继续验收;本地静态 Responses 不替代这些证据。该修复没有改 scoring、任务语义、权限、预算和通用 Goal/Task 规则。

我的整体评价 / Verdict

这是 justified_increment:解决真实的新接收端恢复阻塞,边界可独立回滚,已有 renderer 和 Host owner 足够,无需另建配置或状态体系。long_horizon 的证据/约束保持,恢复可用性有本地实证;完整长程效果与总成本收益仍未知。user_experience 在既有 CLI/Host 恢复任务上改善。已检查 SForge 安装、WarmStart、Codex Host 和 README 的改动范围;没有渲染页面、设置控件或布局变更,无需截图。

规模与问题相称,已应用有价值的同域重构;省略 route 的兼容路径和既有持久化 provenance 应保留。语义决策复用现有词汇及 owner;没有用 substring 分类,也没有把文档指导包装成新权力。审评通过不授予合并、安装或实验运行权限,精确 head 的 merge readiness 仍须独立核验。

English verdict: APPROVE — current-head local recovery and parity evidence support the bounded transport fix; broader qualification and merge authority remain separate.

@loopx-agent

Copy link
Copy Markdown
Collaborator Author

追加资格结果(对应源代码 head 594b0e20a898374c78dc273b57a73f81ae19bdb6,不是新的代码提交):

  • 实际执行了 SForge run_agent、Docker 安装和 Codex CLI 0.162.1 的联合 checkpoint 接收。自定义 Responses provider 的非路由配置漂移,已在模型请求前被原有配置校验拒绝;该负例通过。
  • 合法路径已进入真实 native preparation 和当前 replan,两个回合均实际结算。完整正例仍未通过:资格驱动在最终历史检查时复用了父进程的 profile home,而普通 worker 使用原生 home,profile fence 因此拒绝。应修正调用者环境,保留该校验。
  • 隔离环境还需要把既有 gateway hostname 指向实际服务所在的 VM host;默认 Colima host-gateway 的可用性没有得到认证。工程探针达到截止后,graceful stop 仍留下执行宽限;宽限期工作已排除,不能计作通过证据。

目前仅增加上述工程资格证据。完整 SDK 正例、context-on 接收与差分的完整成本/成果收益仍未资格化;未据此升级真实研究组或改变评测机会。失败记录保留。Full SDK acceptance remains unqualified.

@loopx-agent
loopx-agent merged commit b96847d into main Oct 30, 2026
31 of 38 checks passed
@loopx-agent
loopx-agent deleted the codex/benchmark-checkpoint-provider-route branch October 30, 2026 00:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant