Repository navigation
Bound opt-in native receiver setup recovery by the existing outer budget - #8357
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max
动机 / Motivation
APPROVE,针对 head f5c1424b42805e6db971f98779efb585ef7f1f64。 现有三次观察共用一个25秒窗口,第一次账户 RPC 超时后通常没有重试余量。这是一处真实的启动预算分配缺口;本 PR 的价值是恢复尚未开始模型推理的新 receiver,不能据此推断模型得分或真实账户恢复。
我先读了 base e441ae1f 的 provider、startup 与 failed-Host 恢复说明,再审查完整 diff 和未改动的 stdio/native caller。没有找到专门规定这次 startup retry 的已接受规格;采用既有只读账户契约、原始执行预算和可复现失败作判断,不把新增 README 当作自身验收标准。
受影响的是经 benchmark.edgebench.run 启动全新 native Goal/heartbeat receiver 的操作者。
同样的首次账户 RPC 超时,默认路径仍按原25秒窗口退出;显式扩展路径可在既有外层余量内完成第二次只读观察。
合成账户上的实际 stdio 与生成 shell 已验证恢复,默认8组 receipt 和3组 profile 精确相等;未进行真实账户或容器恢复。
实际新 receiver 的账户、资源、容器启动和后续评分尚待实验执行方验证。
不诊断真实账户旧故障的精确原因,不承诺模型提分,不修改 warm 恢复或账户路由,不授权 main 合并。
改动思路 / Approach
保留现有 codex_readiness 与 shared stdio owner。默认仍是25秒;调用者可为全新 native Goal/heartbeat receiver 显式选择总计最多75秒、单次最多25秒、最多三次。第一次进入时,从 native runner 原有剩余快照扣掉入口延迟,转换成一个 monotonic deadline;复制、初始化、cleanup 和 backoff 都消耗同一预算。末次 cleanup 可以晚于截止结束,但不得因此再发一个请求。
更小的“统一调大默认 timeout”会改变所有调用者;重试任意异常会扩大恢复权限。这里把可选策略、原有时间不变量和 provider I/O 放在现有边界内,未增加第二个 scheduler 或持久化时间 owner。当前 PR 的独立交付边界是 CLI 到真实 stdio 的有界启动恢复;实际新实验的账户、资源、容器和评分仍由其执行方资格验证。
可选 setup 策略和原有预算不变量在现有 benchmark/stdio owner 内闭合,不需要第二个 scheduler 或新的持久化时间权威。
当前 PR 只交付 CLI 到真实 stdio 的有限启动恢复;实际账户/容器和评分由实验执行方验证,不包含模型重试或自动执行。
具体改动 / Changes
native_readiness_budget()统一校验两项有限数值;CLI 和SForgeWorker都拒绝 Official/single、custom API 和 warm continuation 的覆盖。选中值写入原 worker profile,未选中时保持字段缺省。_observe_once()用内部 frozen_Observation分开原 receipt 与本地 retry 资格。只有 shared transport 的精确account/read、account/rateLimits/readtimeout 能进入扩展重试;远端伪造的同名文字仍是 protocol rejection。_outer_remaining()与check_native_receiver()复用 native per-segment 原预算;缺失、无效、未来或已过期快照在账户 I/O 前拒绝。初始化失败、disconnect、未知异常、Stop 不获得扩展重试。原 strict allowance 调用仍用原单次策略。SForgeWorker.format_run_cmd()在既有 phase clock 和 scheduler 之前接入启动选项,原 solver prompt、Todo/session 和评分机会没有变化。
独立验证:readiness 两套用例 53 PASS,既有 SForge/native Goal caller 353 PASS、4 SKIP,原 strict allowance 2 PASS。4个 Docker 用例明确要求额外隔离环境,未在本次审查执行;不把它们算作通过。另执行了8组同输入 base/head 默认 receipt/请求预算比较、3个默认命令/profile 比较,均精确一致。独立 generated-shell 检查使用实际 stdio 子进程,首次账户 timeout 后第二次成功到达原 phase/worker 边界,再次进入保持同一 phase deadline;后续 solver 用合成 stub,未发模型请求。
精确头的 Ruff、diff 检查,以及 quick premerge 的5项 direct 与3项强制 selected 检查通过。另一个 maintainability 项是既有 Lark module metric debt:在不可变 base 和 head 运行同一 smoke,均 exit1,完整输出的失败身份与细节完全相同;此处保留 advisory/manual merge hold,不把 premerge 整体称为全绿,也未查询或等待远端 CI。
对主干的风险 / Risks
这项 opt-in 会增加所选 receiver 的 setup 等待,完整成本来自原 outer allowance,并非免费增加 solver 时间。真实账户旧故障只留下已脱敏的 timeout,无法反推出精确的原异常;本 PR 不声称已查明那次故障根因或保证实际新运行成功。Stop、未知异常、伪造错误、持续失败与外层预算不足均已作负向检查,未新增 token refresh、账户切换、模型重试或 Goal 修改。
我的整体评价 / Verdict
机制位置和规模与问题相称,默认隔离及完整成本边界有实际 caller/transport 证据,可以合入实验集成候选。命令帮助与错误回读使 operator 可在同一启动命令选择已知设置,没有追加确认轮次;本 PR 未改变任何渲染页面,因此 visual review 不适用。未验证范围是实际账户/容器恢复与得分收益;这不应被包装成已实现的效果优化。APPROVE 不清除独立 merge hold,也不授权 main 合并或自动启动实验。
English verdict: APPROVE — exact head f5c1424; no blocking finding. Finite account-only startup recovery and default parity verified; real-account recovery and score benefit remain unproven.
当只读账户观察耗尽默认 25 秒窗口时,现有三次循环已没有时间再做观察,带有 retryable 标记的启动仍会直接失败。本 PR 为全新 native Goal/heartbeat receiver 接入显式、有界的 setup 恢复,默认 25 秒路径和默认诊断形状保持不变。
benchmark.edgebench.run可显式选择--native-readiness-total-seconds 75 --native-readiness-attempt-seconds 25。沿现有 SForgeWorker → codex_readiness → shared stdio owner 执行,最多三次;总预算从 native runner 原有剩余时间快照扣除入口延迟后一次性转成 monotonic deadline,单次不超过原有 25 秒。复制、初始化、账户读取、backoff 和 cleanup 均计入完整成本;末次 cleanup 可晚于截止结束,但不能授予新请求。扩展模式仅对本地 typed
account/read/account/rateLimits/readtransport timeout 重试,并在有界诊断中保留account_timeout布尔值。远端伪造 timeout 文本、初始化失败、身份或协议拒绝、disconnect、未知失败、Stop、无效或耗尽的 outer snapshot 均不能获得扩展重试。观察器不发起 inference、刷新 token、切换账户、重试模型或修改 Goal。Official/single、custom API 和 warm continuation 不接受该覆盖;原 failed-Host allowance owner 保持原行为。验证(最终头):
相邻重构仅将内部观察结果与本地 typed retry 资格分开,避免由输出文字反推权限;未增加核心语义 owner 或并行状态机。新增 whitelist 复用原生 transport 已有 machine codes,局限在现有 benchmark transport owner。
该验证证明合成账户下的真实 transport 恢复与默认隔离,不证明某个真实账户失败的原因或其后续恢复,也不构成模型效果证据。独立 exact-head review、集成和执行权限另行保留。