Skip to content

Qualify mixed blinded background and declared benchmark feedback - #8575

Merged
huangruiteng merged 2 commits into
mainfrom
codex/benchmark-mixed-feedback-integrity-20261111
Nov 11, 2026
Merged

huangruiteng merged 2 commits into
mainfrom
codex/benchmark-mixed-feedback-integrity-20261111

Conversation

@huangruiteng

Copy link
Copy Markdown
Collaborator

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 check on changed Python files
  • semantic vocabulary inventory and drift smoke
  • loopx canary premerge --from-git-diff (all automated checks passed; benchmark-sensitive maintainer review remains required)
  • public boundary scan passed

Signed-off-by: huangruiteng <huangrt01@163.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

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 · 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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[P2] 在默认 blind 路径拒绝未声明的后台日志。 不传 policy,保留正常 blind flags 并带上求解期间的后台记录,CLI 仍判定通过。资格入口只在解码到 declared protocol 时调用这一分支。请在入口检查后台记录对应的 mixed opt-in,覆盖默认 blind 和普通 declared。

Signed-off-by: huangruiteng <huangrt01@163.com>
@huangruiteng

Copy link
Copy Markdown
Collaborator Author

已在 bca3c9243 修复本轮两个 blocking findings:

  • mixed background evaluation 现在要求 evaluation_started_at_ms <= solver_ended_at_ms;已保留“求解中启动、求解后完成”的允许语义,并新增 solver 结束后才启动的负向用例。
  • 未声明 evaluation_protocol 的默认 blind policy 现在遇到 runtime evaluation log 会以 evaluation_protocol_policy_mismatch fail closed。

验证:tests/capabilities/test_benchmark_toolkit.py 252 passed;Ruff passed;premerge 的 19 项自动检查全部通过,benchmark-sensitive manual hold 仍按仓库规则保留。

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

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 · 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.

@huangruiteng
huangruiteng merged commit be64444 into main Nov 11, 2026
35 of 45 checks passed
@huangruiteng
huangruiteng deleted the codex/benchmark-mixed-feedback-integrity-20261111 branch November 11, 2026 10:51
@huangruiteng
huangruiteng restored the codex/benchmark-mixed-feedback-integrity-20261111 branch November 11, 2026 16:02
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