Skip to content

fix(benchmark): retain complete LoopX state in warm replacement - #8026

Merged
huangruiteng merged 1 commit into
mainfrom
codex/replan-active-frontier-20261104
Nov 4, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/replan-active-frontier-20261104

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

完整 checkpoint 已保存本地 SQLite/File 与任务历史,但旧 warm 接收端另建 Goal 和 preparation Todo,原任务队列及控制状态没有接续。现在 warm replacement 必须保留来源 Goal/Agent,恢复完整 registry/runtime、Todos、依赖、结算与额度记录及 Vision/Explore 历史;原生会话 fork 只通过当前 Goal owner 和精确 binding CAS 接续。

删除 preparation Todo 创建、临时 cadence=1、恢复 cadence 的自动分支及专用旧测试。跨 Goal 的 Core adopt-context 继续作为独立研究资料导入,不是热恢复 fallback。目标分支:main。

Author Declaration

  • Written by: model_agent — OpenAI Codex.
  • Specification and revision: no written specification; the request in this PR is the basis. Warm replacement must continue the complete retained Goal state instead of replacing it with preparation-only work.

Implemented against

Criterion Disposition Owning path Evidence
保留完整任务与权威状态,不新建替代队列 implemented sforge_warm_start.restore_worker File/SQLite 完整状态与原 Todo 接续测试
保留当前权限、原结算与冲突保护 implemented research_checkpoint.verify_restored_loopx_state, native session owner 历史结算/lease 不变、用户 gate、占用及 CAS 竞争测试
不临时改重规划频率,不重置预算或机会 implemented SForge phase/readback、worker cadence 仍为 6;现有原生 deadline/counter 路径保留
跨 Goal 资料导入与热恢复分离 implemented Core checkpoint admission/import 既有 Core 原生会话、模型/provider transition 回归

Scope And Continuation

  • 本修复交付隔离 benchmark worker 的完整状态接续。旧脚本若传入新 Goal/Agent 会拒绝,须使用 checkpoint 的来源身份及新的隔离 run/destination。
  • 当前 guard、lease、recovery、用户 gate 和原始停止条件继续决定执行;封存数据不产生新权限或重新结算。
  • 真实长程决策/效率收益与完整 Linux runner 研究接续仍待后续实验;本 PR 不据恢复成功宣称收益,不修改捕获频率、原生冷却、评分或累计时钟。
  • 同域整理:复用既有 registry/runtime 路径常量,并将 phase 配置读回与写入分开。未扩大到其他控制面重构。

Validation

  • Tested revision: dee5bef25aeb36171222ce500297b5d2eee1c8be;下列大组在同步本 PR 无重叠的最新 main 前执行,最终 head 的完整状态恢复组另跑 9 项,全部通过。
  • Run state: finished.
  • Input classes: synthetic; authorized_private_read_only(仅本地副本机械读回,未公开原始资料)。
Check kind Result Public-safe evidence / limitation
integration / real_backend passed test_full_loopx_checkpoint_restore.py:真实 File/SQLite、真实 Codex Host + 本地确定性推理;恢复不调用模型,原 Todo、结算、lease、cadence 与当前 gate 保留
unit / integration passed 原生会话/Core checkpoint/context refresh/model transition 相关组:156 passed、11 skipped;缺少可选 provider 的条目另行补跑
real_entrypoint passed 补齐 Harbor 并只读使用冻结原生 provider 后,test_sforge_warm_start.py:79 passed
static passed Ruff、diff、RFC 双语检查、semantic vocabulary smoke;新增逻辑复用既有状态/词汇 owner
regression_parity passed 4 项 module metric budget 在冻结 base/head 的文件与指标一致;不是本次新增,未提高 ceiling 或豁免门槛
static blocked 完整 premerge 状态为 manual_review_required:上述既有 4 项预算 hold 仍需独立判断,不算完整通过
manual passed 本地授权 checkpoint 的 SQLite 副本读回原 store/revision、全部 Todo 和验收契约;未激活原实例,未公开资料
  • Coverage and gaps: 工程机械验证不等同于自然模型长期采用或科学收益;完整 premerge 为 manual_review_required,上述 4 项预算 hold 未豁免。独立 exact-head review 与 CI 另行完成。

Frontend / Visual Evidence

  • UI impact: none. 修复既有 operator/Host 恢复路径;无 viewport 或控件改动。
  • Before / After / first viewport / source data: N/A.

Type of Change

  • Bug fix
  • Breaking change(warm 输入必须使用原 Goal/Agent)
  • Documentation update
  • Test update

LoopX Area

  • Control plane / Host integration
  • Benchmark boundary

Technical Direction

既有本地状态、checkpoint 与原生会话 owners;Python 负责封存文件传输与校验,不新增平行决策 owner。无 TypeScript 迁移/共享权威提升声明。

Shared-authority RFC fixture impact

N/A:没有修改 provider 实现或做 PostgreSQL/共享权威推广;覆盖现有本地 File/SQLite 快照路径。

Boundary Checklist

  • 无私有状态、凭据、原始轨迹/日志、内部链接或本机路径。
  • 本次独立修复,没有合并到 main 或改写其他人的工作。
  • 无 RFC 成对文件改动;双语门已通过。
  • UI impact 为 none。
  • 所有提交包含 DCO Signed-off-by。

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)

动机 / Motivation

需要替换已停止 benchmark worker 的操作者,要让新实例继续原实验及其未完成任务。旧热恢复虽携带 SQLite/File 和历史资料,却另建 Goal 与准备任务;原实验承诺没有成为接收端的执行队列,操作者还要重新规划。现在隔离接收端保留原 Goal/Agent、任务依赖、额度和结算历史,当前 guard 能继续选中原任务,而不是用准备任务替换它。本次只交付隔离 worker 的工程接续,不认证真实模型长期采用、长程净收益、安装后的前端恢复流程,也不授予额外实验或合并权限。完整 Linux runner 研究接续、自然模型持续执行及完整成本收益仍未由本轮独立验证;扩展检查中的既有失败与合并门槛单独保留。

改动思路 / Approach

完整性由现有 artifact witness 和 canonical store 保证,文件复制留在 Python Host adapter,会话替换复用当前 Goal owner 与 binding CAS;没有新增第二个调度、决策或结算 owner。本 PR 只改变显式 warm replacement,Core 的跨 Goal 研究资料导入继续独立存在,普通冷启动保持原路径。只复制任务文字仍会丢失依赖、原结算及当前租约;继续保留“先另建准备任务”的 fallback 又会重复原来的错误。当前实现把资料的跨 Goal 导入与完整实例替换分开,直接复用已有权威存储和当前执行入口。

触发 原路径 当前路径
完整热恢复 新 Goal、新准备 Todo、临时 cadence1 原 Goal/Agent、完整状态、原 cadence
冷启动 原 phase/bootstrap 保持原 phase/bootstrap
跨 Goal 资料导入 当前目的 Todo/lease 导入证据 仍走 Core adopt-context
接收端已有状态或 binding 分歧 不应覆盖 在现有 owner 拒绝,保留失败现场

这是源码与受控执行结果的对照;不代表真实模型已持续完成研究。状态传输、完整性判断和当前执行准入各有既有 owner,恢复过程不重写历史结算。

具体改动 / Changes

关键代码讲解

  1. restore_worker 在改工作区之前核对 runtime/registry 目的地为空,再恢复原始文件和完整控制状态,并用 artifact witness 核对恢复结果。占用或部分恢复不是“空白环境”,不能覆盖后重试。
  2. verify_restored_loopx_state 从 canonical owner 读 store identity、revision、cursor、Todo 集和完整 Explore/Vision 来源,而非仅相信恢复标记。时间流逝导致的 readiness 变化交给当前 guard,不能把旧资格冻结成新权限。
  3. admit_native_checkpoint_session 的严格布尔恢复模式要求原 Goal/Agent、完整状态及捕获时的准确 binding,再经当前 Goal admission fork 原生会话;最后复用 expected-document CAS。并发更新的会话不会被覆盖,普通 Core 导入仍默认走不同身份及原有恢复规则。
  4. prepare_context 不再 bootstrap、新建 preparation Todo 或修改 cadence,只准入原生 fork 并接回既有 skills。SForge phase 改为读回原 treatment;worker 后续仍通过当前 guard、lease 和 recovery 选择工作,recapture 仍需 checkpoint-linked review/settlement。

没有独立书面规格:以已确认的完整状态接续请求和本 PR 的公开边界判断交付;同时先读了 base a0130633723210a5406dca61ee27aa33fe48b3f3 的 research-checkpoint 约束 与 benchmark warm 合同。旧文档的“新 Goal/准备 Todo”不是新行为的依据,而是这次有意纠正的部分;源必须停止、接收端隔离、完整性、当前权限、原预算及停止条件保留。原完整任务、File/SQLite、历史结算、当前 gate 和 CAS 已实现并独立执行;完整 Linux runner 与自然模型长期收益保留为后续验证缺口。

对主干的风险 / Risks

最危险的反例是文件能复制、却仍选不到原任务,或者 fork 过程中另一个当前会话被覆盖。独立测试通过真实 File/SQLite 和 Codex app-server,使用本地确定性推理替代模型服务:恢复不调用模型,原 Todo、counterexample、lease 版本/到期时间和 source-work 结算身份不变;随后真实 guard 继续选中原任务。另测已有接收端、错误身份、并发 binding 和恢复后新增 user gate;拒绝和当前权限均未被旧 ready 状态绕过。

PASS:最终 head dee5bef25aeb36171222ce500297b5d2eee1c8be 的完整恢复组 9 passed。同一不可变 original-work oracle 在 base a0130633723210a5406dca61ee27aa33fe48b3f3 为 3 个真实 lineage 拒绝,在 head 为 3 passed,并非通过缺少新函数的 import failure 制造差异。PASS:当前冻结 SDK cedd08b962f6eae25b0825bb47a7031626d13dc2 下 SForge warm/runtime/Host bridge 412 passed、0 skipped;另有实际 native joint/Core 路径 2 passed、0 skipped。独立 Ruff、diff、RFC 双语检查通过;quick premerge 的 direct/catalog/boundary 检查通过,但最终状态仍为 manual_review_required。

诊断结果单独保留:较宽原生组 198 passed / 4 failed / 11 skipped;缺少可选依赖的路径由上述当前 SDK/真实 native 检查补上。4 个 test_successor_review_needs_checkpoint_linked_settlement 失败都是第107行读取 replan_action_packet 的 KeyError,在冻结 base 同一四个 File/SQLite 参数上逐一复现,相关测试及 fixture 源码字节相同,尚未到本次恢复分支。初选旧 SDK 的8个 runtime_attestation_key_file 错误也在 base/head 同名同因复现;改用只读的当前干净 SDK 后412项全部通过,未改断言或 LoopX 源码。四个既有 module-metric budget 文件的 base/head SHA 相同;保持 hold,没有升 ceiling、缩小扫描或声称全仓检查通过。远端 CI 按策略未查询。

语义与 CI 对齐

指令语义有意从“新身份/准备任务/临时 cadence”改为“原身份和完整任务继续”。逐项核对 actor、触发、先后顺序、来源、范围、继续与停止条件:原任务身份可继续,但 archived commands 与 settled effects 不能重放;当前 guard/recovery 决定原轮恢复或新轮,原始时钟、冷却和 recapture 资格保留。现有状态词汇与 typed owner 复用,未用任务文本或 substring 推导权限;diff-scoped semantic 检查通过。真实模型是否理解并持续采用不在这些机械测试的结论内。

我的整体评价 / Verdict

APPROVE:long_horizon=improved 指原长期工作承诺和后续当前任务选择的工程连续性得到修复;user_experience=improved 指既有 operator 路径可以接续原工作并准确拒绝占用/分歧。完整性由现有 artifact witness 和 canonical store 保证,文件复制留在 Python Host adapter,会话替换复用当前 Goal owner 与 binding CAS;没有新增第二个调度、决策或结算 owner。本 PR 只改变显式 warm replacement,Core 的跨 Goal 研究资料导入继续独立存在,普通冷启动保持原路径。同域整理已复用路径常量、拆开配置读回并删除错误准备分支,成本与已证实的缺口相称,无需扩大到通用恢复系统。

visual_review=not_applicable:本次没有渲染页面或控件变化;未验证范围仍包括 packaged/installed 前端恢复旅程、完整 Linux runner、真实模型采用和完整成本净收益。当前可用且独立验收的是原有显式 operator/Host 入口,不把这个边界写成最终产品恢复已完成。结论只覆盖 dee5bef25aeb36171222ce500297b5d2eee1c8be;既有质量/merge readiness hold 未解除。GitHub author-owned 限制下以 COMMENTED 承载批准结论,无合并动作或授权。

English verdict: APPROVE this exact-head full-state warm replacement; scientific benefit, full runner qualification and merge gates remain separate.

@loopx-agent

Copy link
Copy Markdown
Collaborator Author

对精确 head dee5bef25aeb36171222ce500297b5d2eee1c8be 补充一项操作者资格验证:Linux x86_64、非 root、Codex CLI 0.162.1,在隔离的 File/SQLite 权威存储上执行实际 SForge warm context 和 phase formatter;最终 6 passed、0 skipped。产品源码没有改变。

验证覆盖:完整恢复后仍选中原 Todo;原 Vision/研究历史、已结算工作、租约版本与到期时间、原 deadline 和 cadence6 保持;原生会话 fork 后重新接入 skills;不创建 preparation Todo,不调用冷启动 planning wrapper。恢复与 native admission 之间新增 gate 会拒绝已变化的状态;admission 后新增 gate 仍阻止后续工作。原生读写和 CLI 实际执行,模型服务由固定本地响应替代,未调用付费推理。

这些是源码环境下的组合资格,使用隔离的操作夹具;不认证完整打包 installer、正式实验替换或自然模型长期采用。先前操作夹具的配置、二进制路径和日志衔接失败均保留为未通过尝试,未放宽生产校验。四个既有 module-metric holds 与 merge readiness 仍单列保留;本次没有合并动作。

@loopx-agent

Copy link
Copy Markdown
Collaborator Author

补充作者验证:精确 head dee5bef25aeb36171222ce500297b5d2eee1c8be,本次补齐此前 source fixture 之外的真实打包路径。

  • 使用自然产生的 SQLite checkpoint;9 个封存组件通过原有完整性校验。保留原配置及 provider,走真实 SForgeWorker.install_stop_hook → DockerBackend → 原生 receiver 和正式安装器。
  • 恢复后完整 research_context 与封存状态相等,原工作文件字节相等、原 Todo 集合不变;原生会话分叉的历史校验与会话绑定通过,原截止时间不变,没有创建 preparation Todo 或调整重规划频率。
  • 当前 guard 能识别已满足恢复条件的原 deferred Todo。随后仅在隔离 receiver 加入测试 gate,执行未经改写的 format_run_cmd 输出,观察到真实 worker 进入 waiting,没有 should_run。

边界:最后一项在 45 秒观察窗口后由测试方取消等待,不是 worker 正常完成,也不是正向科学执行或实际研究采用的证明。安装完成后执行网络已断开,使用空凭据;没有复制源凭据,模型调用为 0。隔离容器已清理,原运行中的实验容器未修改。本次真实打包资格覆盖 SQLite;此前 File source fixture 的结果不扩称为 File 打包验证。原有独立 review、模块检查 holds 与未验证项保持分别记录;此补充不声明 merge readiness。

@huangruiteng
huangruiteng merged commit 20679c4 into main Nov 4, 2026
34 of 44 checks passed
@huangruiteng
huangruiteng deleted the codex/replan-active-frontier-20261104 branch November 4, 2026 14:06
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.

2 participants