Repository navigation
Qualify mixed blinded background and declared benchmark feedback - #8575
Conversation
Signed-off-by: huangruiteng <huangrt01@163.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max
本次评审对应提交 d47ccd36fcff49280f942ea4aa0feef20400d2cc。
[P2] 求解结束后才启动的评测通过了 during_solving 资格。
[P2] 默认 blind 路径忽略未声明的后台日志。
动机 / Motivation
Benchmark runner 在求解时定期评测工作快照,并只通过声明的提交渠道回传反馈。主干支持默认 blind 和显式 declared;缺少 active submission 时 declared 拒绝。本次增加 mixed protocol,按 policy 与 trajectory 摘要绑定后台日志和已确认的反馈传输。同一输入在两端的普通 blind 和 declared 收据完全一致。求解中启动后台评测、结束后完成,可与 active submission 并存,也可单独提供有效证据。缺日志、未知传输记录、拿后台 ID 充当提交和普通 declared 携带后台日志均被拒绝。solver 300 ms 结束,后台快照 290 ms 捕获,310 ms 才启动评测,320 ms 完成。零 active submission 的收据仍报 integrity_qualified=true、timing=during_solving、evaluation_count=1。评审覆盖源码 CLI 和资格收据。
改动思路 / Approach
保留现有 policy、runner attestation 和资格收据。本次只扩展资格判定。 两类记录沿用同一资格 owner。后台证据包含快照和评测摘要,声明渠道继续绑定提交、delivery 和 transport acknowledgement。
具体改动 / Changes
关键代码讲解
四个文件,+312/−28。mixed policy、原通道与完整私有证据可在真实 CLI 走通。带一个合格后台条目的空 active transport 通过;缺后台日志、额外 transport 记录或把后台 ID 作为 active submission 均拒绝。政策说明 后台验证
后台检查限制了 captured_at_ms,只验证评测启动晚于快照。默认 blind 在没有 decoded protocol 时跳过该验证。运行时间校验 资格入口
对照项 stable-blind-and-declared 和 mixed-opt-in 通过。during-solving 与 undeclared-background 仍有上述缺口。主干资格契约
对主干的风险 / Risks
solver 300 ms 结束,后台快照 290 ms 捕获,310 ms 才启动评测,320 ms 完成。零 active submission 的收据仍报 integrity_qualified=true、timing=during_solving、evaluation_count=1。省略 evaluation_protocol 的 policy 时,带有后台评测记录的 attestation 仍能通过默认 blind。验证器没有检查该记录与默认路径的约束是否一致。 主干也忽略没有声明的后台数据。新合约承诺拒绝这一已识别的 evidence 形态,普通 declared 现在会拒绝。建议在入口统一检查这一条件。
语义与 CI 对齐
相同真实 CLI 与 10 个合成样本在 main 和当前提交对照。普通 blind、declared 完整收据一致。250 项 head 测试、Ruff 及 canary 自动检查通过,benchmark-sensitive maintainer hold 仍在。主干对完全相同的 310 ms 样本返回未通过。
我的整体评价 / Verdict
请求修改。保留求解期间启动、结束后完成的正例,补上评测启动晚于 solver stop 和默认 blind 携带后台记录的反例。本次改动是 CLI 资格与 catalog 说明。本地核验使用合成 runner 证据。实际 runner 传输与长期 benchmark 效果待独立验收。
English verdict: REQUEST_CHANGES. Mixed qualification accepts a background evaluation that starts after solving ends, and the default blind path ignores undeclared background evidence.
| <= captured_at | ||
| <= solver_end_ms | ||
| and captured_at | ||
| <= evaluation_started_at |
There was a problem hiding this comment.
[P2] 用评测开始时间核验 during_solving。 求解在 300 ms 结束,后台快照在 290 ms 捕获,评测在 310 ms 开始、320 ms 完成。零 active submission 的 CLI 收据仍判定通过。请要求评测在 solver 窗口内启动,同时保留已启动评测在结束后完成的正例。
| background_evaluations = ( | ||
| raw_background_value if isinstance(raw_background_value, list) else [] | ||
| ) | ||
| background_valid = not background_declared and raw_background_value is None |
There was a problem hiding this comment.
[P2] 在默认 blind 路径拒绝未声明的后台日志。 不传 policy,保留正常 blind flags 并带上求解期间的后台记录,CLI 仍判定通过。资格入口只在解码到 declared protocol 时调用这一分支。请在入口检查后台记录对应的 mixed opt-in,覆盖默认 blind 和普通 declared。
Signed-off-by: huangruiteng <huangrt01@163.com>
|
已在
验证: |
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max
本次评审对应提交 bca3c9243f1a72db47f1b5e2114604e1072f3721。
动机 / Motivation
Benchmark runner 在求解期间评测快照,并通过已声明的提交渠道把反馈传给 solver。主干的 blind 和 declared 协议各自可用。仅有盲态后台评测时,declared 仍要求 active submission。现在可显式声明 mixed protocol,按 policy、trajectory 和 runner 证据核验后台评测及传输。包含 active submission 的 mixed 通过。只有完整后台证据的 mixed 也通过。求解在 300 ms 结束时,299 ms 启动且 999 ms 完成的评测仍合格。普通 blind 和 declared 的完整收据与主干相同。同一快照在 290 ms 捕获,评测到 301 ms 才启动时,CLI 退出 1。默认 blind 带入未声明的日志、空对象或错误类型也退出 1;没有记录及 null 保持旧回执。缺后台记录和混入未声明反馈同样拒绝。实际源码 CLI 消费合成 runner 证据。真实 runner 生产与传输、模型采用和完整 benchmark 成本待独立验收。实际 runner/transport 和 benchmark 效益另按完整运行验收。
改动思路 / Approach
沿用现有 policy、runner attestation、资格收据和 CLI 入口。只扩展 mixed 资格判定,后台证据仍由原 runner 提供。 后台日志与 active delivery 继续用原有 policy、trajectory、运行时间和 transport 校验。后台记录只公开资格和数量,原始证据仍由 runner 管理。
具体改动 / Changes
关键代码讲解
四个文件,+348/−28。对照 stable-blind-and-declared,两种有效普通收据逐字段一致。对照 mixed-opt-in,完整日志与显式空 transport 可资格通过。对照 during-solving,起止时间由同一验证器核验。对照 undeclared-background,默认 blind 发现非空协议字段即拒绝。后台结果从声明 delivery 中排除,缺证据或有多余 transport 记录时 CLI 返回对应 blocker。主干原协议 当前时间检查 默认分支
对主干的风险 / Risks
同一快照在 290 ms 捕获,评测到 301 ms 才启动时,CLI 退出 1。默认 blind 带入未声明的日志、空对象或错误类型也退出 1;没有记录及 null 保持旧回执。缺后台记录和混入未声明反馈同样拒绝。 同一组 16 个 CLI 样本在当前提交与合入 main 6d6439c 的预演中结果一致。兼容范围包括没有日志和显式 null 的旧 blind 收据。
语义与 CI 对齐
252 项 Python、Ruff、词表检查及 6 项直接、19 项所选自动 canary 通过。Benchmark 人工验收仍由维护者处理。源码验证采用合成日志。
我的整体评价 / Verdict
批准当前提交。上一轮两个反例已经闭环。后台评测允许在 solver 结束后完成,开始必须落在求解窗口。原普通模式与反馈传输对照通过。改动在源码 CLI 与 catalog。实际 runner 生产与传输待验证。
English verdict: APPROVE. The exact head rejects late background starts and undeclared logs while preserving ordinary blind and declared receipts and valid mixed qualification.
Some benchmark runners evaluate periodic snapshots in the background while exposing feedback only for explicit solver submissions. The integrity contract previously forced these runs into either a fully blinded post-solver protocol or a declared-feedback protocol where every completed evaluation required delivery, so a valid mixed run could not qualify.
This change adds an opt-in mixed protocol. It keeps background evaluation blinded, binds its ordered snapshot/evaluation log, preserves complete declared-submission delivery checks, and permits zero active submissions only when complete blinded background evidence exists. Missing or undeclared background evidence still fails closed.
Validation:
pytest -q tests/capabilities/test_benchmark_toolkit.py(250 passed)ruff checkon changed Python filesloopx canary premerge --from-git-diff(all automated checks passed; benchmark-sensitive maintainer review remains required)