Repository navigation
fix(benchmark): restore non-finite native feedback delivery - #7828
Conversation
4d4dbaa to
b97574f
Compare
Signed-off-by: huangruiteng <huangrt01@163.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; source=runtime_reported; reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
使用 LoopX native worker 的研究操作者,以及等待已接受提交的 result/history 反馈后继续改进候选的 solver。
非有限分数原先使 ordinary HTTP 反馈返回500;只升级 upstream 又会丢失 checkpoint 的非有限值编码。当前 head 同时采用反馈和清理修复,保留原 checkpoint patch,使新 cohort 可读反馈并继续捕获与恢复。
真实默认 source 组合下,Inf、-Inf、NaN、零和缺失值可区分,反馈读取不改写原数值状态、消耗机会或重置冷却;旧 cohort 继续使用原 frozen source 和 receipt。
本 PR 只资格验证新 cohort 的 provider 采用与反馈/恢复边界,不证明模型采用、研究收益或整次发布资格,不迁移历史 cohort,也不授予模型作业或合并权限。
改动思路 / Approach
source-default 继续单独决定新 cohort 的 upstream/patch pair;source.py 复用原冻结和验证 owner,native Judge 负责反馈与 session locks,checkpoint codec 保持现有独立边界,没有新增配置 owner 或通用框架。
本次交付为三文件 source pin、边界说明和实际 HTTP 回归;完整 upstream 运行时改动按依赖审查,checkpoint patch 保持原 bytes,未扩展模型、评分、调度或权限。
本次把两个不同边界放回原 owner:普通反馈把非有限数投影成标准 JSON 的明确字符串,checkpoint 必须保留恢复和选择使用的原数值。不能用 HTTP200 代替 checkpoint 资格,也不能把改 pin 当作历史 cohort 已迁移。实际入口仍是原 source/worker/judge CLI,操作者沿已有 log-dir 工作,不新增配置、确认或复制步骤。
| 边界 | 本 head 的处理 | 独立可见结果 |
|---|---|---|
| ordinary result/history | upstream 118f9257 |
host/relay200,Inf/-Inf/NaN 与0/None区分 |
| checkpoint | 保留原 nonfinite-checkpoint-v2 |
非有限值捕获/恢复、机会和冷却断言通过 |
| 已冻结 cohort | receipt-first 复用原 source | 原 d086 source/receipt bytes 未变化 |
具体改动 / Changes
审查完整三文件 +77/-4 的 exact head b97574f85a7ea7d7f698a2c815d79421865d200c。实际 Git merge-base 为 c40fdcbff65dfd2d595d5613ed19987aa628bfbc;验证时观察到的目标 main 是 d2937a8d3265a7e24046471a1a34884f543ac1a0,二者没有混用。独立 spec 为变更前 benchmark/edgebench/README.md,spec revision c40fdcbff65dfd2d595d5613ed19987aa628bfbc,该 protocol blob 与验证用 main 相同。按原 section 的三个实质条件判断:
- Select and freeze the native provider / new default pair — implemented:新 cohort 的 revision/patch 必须一起审查。实际 head CLI 产生 upstream
118f9257d39c71d0805bb5b9cd4eb85d13a1e6d2、原 patch digest02d21096a2e55f625d3c8beee2335728caf08aa6c75a5a27b1ab412bc46323bf、clean effective commitcedd08b962f6eae25b0825bb47a7031626d13dc2。 - Select and freeze the native provider / frozen cohort reuse — implemented:旧 cohort 不随默认更新。我用当前 CLI 重读实际旧 v2 cohort,仍返回
d0863478c09d7f929c0b2ab905e030aafb6c8c14;原 receipt SHA-256fc2093c450a388565764ff6010fa4e8ca0983371eabe91d8749470998c776a85保持不变。 - Select and freeze the native provider / explicit selection and provenance — implemented:显式 source 不隐式继承 patch;dirty、conflicting selection、preimage/digest/source-binding 仍在原 owner 拒绝。source/checkpoint owning tests 与实际 default receipt 覆盖这些既有分支。
关键代码讲解
source-default.json只推进 upstream SHA;patch ID、path 和 digest 均保留。原prepare_source:190未改,先验证 frozen receipt,再处理新 source,实际 derived commit 和后续 checkpoint provenance 由同一 owner 读回。ordinary feedback regression:46走实际create_app和真实 loopback HTTP,读取 host/relay result/history。输入覆盖 Inf/-Inf/NaN/0/None 和 nested metrics;断言标准 JSON、原数值/token 不变、剩余2次机会与原冷却有效,并验证 journal digest 对应实际送达的 payload。它保护的是 solver 使用的 ordinary 路径,无法由 checkpoint-only test 代替。- 原 nonfinite checkpoint codec 原样应用在新 source,实际 owning suite 覆盖非有限数 capture/restore、来源绑定与错误分支。上游从 e278 到118的完整 production diff也已检查;包含 session serialization 和 atomic game number,另跑实际组合的 native concurrency tests。checkpoint 原本明确拒绝 game-mode,本 review 没有声称支持 game checkpoint。
对主干的风险 / Risks
未发现本精确 head 的阻断问题。最强反例是“wire 修好但 checkpoint 丢失”与“测试只验证 checkpoint 而 solver 仍500”。我把同一新增五值 HTTP test 原样跑在真实旧默认 e278+patch 和新默认118+patch:旧版非有限值3 failed,零/缺失2 passed;新版5 passed。旧失败仍保存,没有改 oracle、延长 timeout 或把序列化错误归因给代理。真实反馈测试还验证读取不消费评测机会、不改 cooldown、不改 raw report,并绑定 transport journal 的送达摘要。
当前组合的3个 LoopX owning 模块与 native checkpoint 模块为 191 passed、6 skipped;另跑 native ordinary HTTP、generated submit CLI、全部 game concurrency 共 6 passed。独立实际 JudgeState/FastAPI/archive 脚本在组合 source 覆盖双 cleanup failure/status/retry、单失败、全成功、Docker 后台失败、另一 task 与新增 session,五类均通过。上游 #22 的 exact-head review 已发布并逐字读回;原2e29锁循环及恢复后的HTTP200、retry closed2、两份 archive 已分别验证。
Goal-bound standard premerge 的5项直接检查与19项 selected/executed 检查通过;初始 overall 为 quality_stale_receipt 的失败保留,当前三文件 scope 已重新审查并独立验证 cqr_d9ddaba6007c8e3edffe 为 valid。benchmark_sensitive manual hold 保留;这里没有宣称完整 merge gate 通过,也没有查询或等待 GitHub CI。DCO trailers、RFC bilingual/diff/compile、全 semantic smoke 与公开边界检查均已检查;diff advisory 的0 supported carriers不代表覆盖所有动态语义。
当前实际 preparation 使用每命令的 canonical Git transport 隔离既有 host URL rewrite 问题,没有改全局配置;#7824 的 URL identity repair 仍由其 owner 推进。此前2e29候选的一次30秒 capture 超时与作者后续重测记录保留,当前独立 owning run 在原时限下通过;未宣称旧超时原因已定位或已证明所有冷启动性能。作者的 Linux/Docker joint、hooks 和完整 suite 是另列证据,不计为本人的独立执行结果。
我的整体评价 / Verdict
该 bounded source 采用同时交付 ordinary feedback、保留 checkpoint 的实际可用路径,并独立验证旧 frozen cohort 不被 repin。long_horizon 的改进体现在反馈后能继续、非有限数仍能捕获/恢复、cleanup 失败后同一 session 能重试;测试数和 source 更新本身不构成模型效果或科学收益证据。当前三文件与现有 owner 足够,保留 codec 有明确持久消费者,新增并行协议或 migration 没有必要。
已检查三文件 diff、原 source preparation CLI 和实际 Judge HTTP/submit CLI 路径,没有新增页面、布局或 viewport 变化;README 是现有版本和边界说明。
独立验证为 macOS Python 3.12.15、实际 patched provider、真实 loopback HTTP/archive 与 synthetic backend;191 passed/6 skipped,另6个 native HTTP/CLI/concurrency 测试通过。未独立重跑作者 Linux/Docker joint、Official hooks 或完整 native suite,未调用 live E2B、模型或评分。
PR 携带的 repository experience 是设计分期的 advisory;本次内部 provider prerequisite 已沿实际 CLI/HTTP/恢复路径验证,不据此增加独立 UI、模型作业或未接受的路线图门槛。旧2e29候选、历史失败、当前可验证通过和未验证维度保持区分;本 approval 与 benchmark launch、main merge、历史 cohort 迁移各自分离。
English verdict: APPROVE for #7828b97574f. The actual new default preserves the checkpoint codec, restores non-finite ordinary feedback, and passes source-sensitive regression and cleanup-recovery checks. CI was not consulted; broader release and merge authorization remain separate.
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…ider Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
b97574f to
068b507
Compare
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; source=runtime_reported; reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
使用 LoopX native worker 的研究操作者,以及等待已接受提交的 result/history 反馈后继续改进候选的 solver。
非有限分数原先使 ordinary HTTP 反馈返回500;只升级 upstream 又会丢失 checkpoint 的非有限值编码。当前 head 同时采用反馈和清理修复,保留原 checkpoint patch,使新 cohort 可读反馈并继续捕获与恢复。
真实默认 source 组合下,Inf、-Inf、NaN、零和缺失值可区分,反馈读取不改写原数值状态、消耗机会或重置冷却;旧 cohort 继续使用原 frozen source 和 receipt。
本 PR 只资格验证新 cohort 的 provider 采用与反馈/恢复边界,不证明模型采用、研究收益或整次发布资格,不迁移历史 cohort,也不授予模型作业或合并权限。
改动思路 / Approach
source-default 继续单独决定新 cohort 的 upstream/patch pair;source.py 复用原冻结和验证 owner,native Judge 负责反馈与 session locks,checkpoint codec 保持现有独立边界,没有新增配置 owner 或通用框架。
本次交付为三文件 source pin、边界说明和实际 HTTP 回归;完整 upstream 运行时改动按依赖审查,checkpoint patch 保持原 bytes,未扩展模型、评分、调度或权限。
本次批准对象是 rebase 后的 068b5073e4741e50f081cd354daa62f559b5e657,不会沿用 b975 的历史批准。普通 result/history 的标准 JSON 投影与 checkpoint 的原数值存储继续由各自 owner 负责;新的 source pair 只影响没有显式 source 的新 cohort。已有 frozen source、显式 unmodified source 和模型/研究资格保持原边界,操作者仍使用原 CLI 和 log-dir,不新增确认步骤。
具体改动 / Changes
我重新读完本 head 相对 main 73c5daab342afe8aa6c1a85dc92bc0bf352d9132 的完整三文件 +77/-4 diff。三个作者 commit 的 git range-diff 均为 =;README、source-default、checkpoint judge/controller、source.py、原 patch 和新增测试七处完整 blob 均与 b975 相同。这证明哪些旧证据可复用;当前组合的重新执行另列,不能由 range-diff 代替。
独立 spec 为变更前 benchmark/edgebench/README.md,spec revision 73c5daab342afe8aa6c1a85dc92bc0bf352d9132;其 accepted source-freeze protocol blob 与先前 c40 完全一致:
- Select and freeze the native provider / new default pair — implemented:当前 head 的实际 cold source preparation 得到 upstream
118f9257d39c71d0805bb5b9cd4eb85d13a1e6d2+ 原nonfinite-checkpoint-v2,clean effective commit 仍为cedd08b962f6eae25b0825bb47a7031626d13dc2。 - Select and freeze the native provider / frozen cohort reuse — implemented:receipt-first 逻辑和 patch bytes 未改。旧 d086 cohort 的 source/receipt 原样复用证据保留,并由本轮 source-freeze owning tests 覆盖当前组合。
- Select and freeze the native provider / explicit selection and provenance — implemented:显式 source 不继承 default patch,dirty/conflict/preimage/digest 和 checkpoint source-binding 拒绝仍由原 owner 执行,本轮 owning suite 覆盖这些负例。
关键代码讲解
source-default.json仅推进 upstream SHA,原 patch ID/path/digest 全保留;prepare_source:190的 freeze/verify 分支未改,实际新 prepared receipt 已读回,而不是读取作者给出的 SHA。ordinary feedback regression:46走实际 LoopXcreate_app与真实 loopback HTTP,比较 host/relay result/history 的 Inf/-Inf/NaN/0/None。标准 JSON、nested metrics、原 numeric report/token、剩余机会/冷却以及 journal payload digest 都有断言。只证明 checkpoint 编码正常无法覆盖这个 solver 路径。- 原 checkpoint codec 保留,普通 HTTP projection 不替代它。native cleanup 修复的 #22@118 exact-head review 仍适用同一 provider tree;本轮完整 native game concurrency/HTTP/submit CLI tests 也进入实际组合 suite。
对主干的风险 / Risks
未发现本精确 head 的阻断代码问题。当前组合独立 197 passed、6 skipped,包含三组 LoopX source/checkpoint owning modules,以及 actual patched provider 的 checkpoint、ordinary HTTP/generated submit CLI/game concurrency 测试。另把同一五值 HTTP test 在当前068b上分别加载真实旧默认 e278+patch 和新默认118+patch:旧版非有限值3 failed,零/缺失2 passed;新版5 passed。保留旧失败,未改 oracle、timeout 或 numeric-state/cooldown 断言。先前双 cleanup failure/status 反例及重试/archive 证据按明确的相同 provider blobs 复用,未冒充新的模型或云服务运行。
本轮 source-checkout standard premerge 的5项直接检查与19项 selected/executed checks 日志均通过,但整体 CLI 随后在 CQR 的 machine-profile 校验失败,未产生完整 JSON receipt。我在不可变 base 73c5daab342afe8aa6c1a85dc92bc0bf352d9132 与 exact head 068b5073e4741e50f081cd354daa62f559b5e657 独立运行同一 CQR prepare 检查,两边完整结果相同:steward_executor.executor_endpoint must be one of codex, dsh;四处 causal CQR/machine-config 源文件和 uv.lock 也完全相同。这是当前 checkout 对已有配置的兼容问题,本三文件 diff 不经过该路径。原失败保持 failed,没有修改活动配置或让本 PR 顺带修无关 owner。当前 native CQR owner可以 prepare 新 scope,但本次不宣称已更新通过 receipt;CQR 与 benchmark-sensitive merge hold 均保留。代码批准依据独立通过的 changed invariants,以及现行 validation_matrix 的同条件 base/head 归因规则;不把整体 premerge 说成绿色。
作者报告新 head 的 Linux/Docker on/off joint、492 passed/3 skipped、原生 hooks/Goal 与额外 App UTF-8 reader 资格,作为作者证据保留,不计入我的独立执行。先前2e29候选30秒 capture 超时和所有旧失败也保留;当前通过不构成其原因已消除或冷启动 SLO 的证明。实际 source preparation 仍以每命令 canonical Git transport 隔离已有 URL rewrite 问题,没有改全局 Git 配置;#7824 的 URL identity owner 仍独立。未查询、轮询或等待 GitHub CI。
我的整体评价 / Verdict
已检查三文件 diff、原 source preparation CLI 和实际 Judge HTTP/submit CLI 路径,没有新增页面、布局或 viewport 变化;README 是现有版本和边界说明。
本轮独立验证为 macOS Python 3.12.15、当前 068b source checkout、实际新准备的118+v2 patched provider、真实 loopback HTTP/CLI 与 synthetic backend:197 passed、6 skipped;未执行 live E2B、模型、评分或作者的 Linux/Docker joint。旧反例按明确 blob 相同性复用并保留原版本;新 source 的五值 HTTP 对照已另行重跑。
当前 head 在最新 main 上重新建立了 ordinary feedback、checkpoint 与 source-freeze 的完整可用证据;旧批准没有跨 head 自动采用。diff 仍保持单一 source owner 和必要 codec,没有新增 schema、配置层或人为操作轮次。long_horizon 的已证改善是可读反馈、原数值 checkpoint 和可重试清理;模型采用、研究净益、CQR/merge readiness 及更大发布资格分别判断。旧 b975 review、当前执行与剩余配置 hold 都保留原版本和失败状态。
English verdict: APPROVE for #7828068b507. The rebased combination passes independent source-sensitive feedback, checkpoint and native caller checks. CI was not consulted. The identical base/head source-CLI configuration failure, unrenewed CQR receipt and benchmark merge hold remain separate and are not reported as passing.
普通 native feedback 包含
Inf/-Inf/NaN时,严格 JSON 编码导致已接受提交的 result/history 返回 HTTP 500,solver 丢失反馈。LoopX 默认 provider 尚未包含已有的 EdgeBench #21。更晚的 provider 还存在 E2B 多 session 清理失败时的锁循环,已由依赖 EdgeBench #22 修正。本 PR 当前 head
068b5073e4741e50f081cd354daa62f559b5e657基于 main73c5daab342afe8aa6c1a85dc92bc0bf352d9132(含 #7818 UTF-8/RPC 与 #7823 原生 Turn 引用修复),三个作者 commit 的 patch 保持原样。固定 provider 到118f9257d39c71d0805bb5b9cd4eb85d13a1e6d2,同时接入普通反馈修复和 cleanup lock 修复。现有nonfinite-checkpoint-v2compatibility patch 原样保留:普通 HTTP 反馈投影与 checkpoint 存储编码是两个边界,前者不能替代后者。README 同步版本及区别。新增参数化回归通过 LoopX 实际 judge 入口及真实 loopback HTTP 读取 host/relay ordinary result/history,验证非有限值、零、缺失值保持区别;响应与 journal 摘要一致;读取不改写 native 数值状态,不消耗评测机会或重置冷却。关闭环境代理后仍能重现旧版错误,该 500 不依赖外部网络。
当前 head 的实际 default preparation 产生 clean provider
cedd08b962f6eae25b0825bb47a7031626d13dc2(上述 upstream + 原 v2 patch),已验证真实导入来源:0.166.0-alpha.5.1和本地 fixture,覆盖 >2 MiB 原文保留、选择读取、摘要拒绝及不误建全量 retention candidate;不冒充基准所用 Linux Codex0.162.1。manual_review_requiredbenchmark-sensitive hold 保留;DCO、RFC bilingual、diff hygiene、编译、Ruff 和公开边界扫描通过。限制与关联:
2e29d24候选曾有一次既有 30 秒 capture 窗口超时(438 passed、3 skipped、1 failed);原超时设置的旧/新 provider 单项重测通过。保留这条失败,最终 suite 通过不证明所有冷启动性能都满足要求。