Skip to content

Own Web Fetch definitions and standalone evaluation - #1

Merged
lanyue-llk merged 3 commits into
mainfrom
codex/own-webfetch-evaluation
Oct 16, 2026
Merged

lanyue-llk merged 3 commits into
mainfrom
codex/own-webfetch-evaluation

Conversation

@lanyue-llk

@lanyue-llk lanyue-llk commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

LexBench now owns the executable benchmark as well as its public task definitions. Move the task model, acceptance scorer, file-byte checks, scenario compiler, source bindings and regression cases from Browser Eval into this package. A saved response or delivered file can be evaluated without installing an execution harness.

Keep a single installed definition tree, preserve frozen historical bytes, and use the current access-restriction population. Public task projections retain reference hashes rather than captured bodies. Browser Eval imports this package at a pinned commit and removes its corresponding implementations in browser-eval#54.

Validation

  • 1,203 tests and 76 subtests pass in the source checkout and an isolated wheel installation without Browser Eval.
  • All 894 active scoring controls retain their previous outputs, excluding the relocated implementation fingerprint.
  • Build the wheel from the source archive and verify its packaged files against the source tree.
  • The standalone scoring CLI accepts structured answer metadata through --metadata, with paired link/resource acceptance scenarios, malformed-input rejection and protection against caller-supplied file verdicts. An independent session reproduced the original failure and confirmed this correction on head 522ede3e, with no remaining findings in this PR. Independent follow-up review.

Comment thread src/lexbench_webfetch/cli.py
@lanyue-llk

Copy link
Copy Markdown
Contributor Author

本轮独立审查完成,固定 head 为 4df9b0ec80a1b9c46a5aeda96b0bbb9a019440fc,base 为 d4e5df35c3d91a2113813b775edcb463f95464dd。

发现 1 个本 PR 的 P2 问题:独立评分 CLI 缺少结构化回答元数据输入。同一份包含两条名称/目标配对的回答,Python 接口通过,CLI 因无法接收元数据而失败;已实际运行两条入口复现。

现场验证范围:

  • 在本会话目录创建独立 checkout,读取准确 base/head 和完整 diff。检查独立性、任务模型、评分合同、文件字节验收、规则编译、输入校验/导出、冻结定义、源码指纹、CLI、文档及发布包。
  • 源码 checkout:1,194 个测试和 76 个子测试通过。另从 source archive 构建 wheel,安装到独立环境,在源码目录外再次运行同一套测试:1,194 个测试和 76 个子测试通过;四个套件的 validate 全部通过。该环境没有安装 Browser Eval。
  • 894 个有效评分场景分别运行 Browser Eval 拆分前 base 与本 head,完整指标和任务判定除源码指纹外全部相同;22 份迁移的冻结定义文件与 Browser Eval base 字节完全一致。
  • Browser Eval 集成端完整 Python 测试为 5,391 通过、2,322 子测试通过、82 跳过、0 失败;基础包及三个可选安装组合的独立 wheel 冒烟测试均通过。

本轮验证使用仓库场景、合成证据和本地采集,没有重新认证全部历史第三方采集材料或进行真实供应商评测。除已定位的 CLI 输入问题外,没有发现其他需要修改的实质问题。没有提交、推送或合并代码;本轮不跟进后续新 head。

@lanyue-llk

Copy link
Copy Markdown
Contributor Author

第二轮独立复审结论:上轮 CLI 元数据输入问题已修复,本 PR 没有剩余实质问题。

已从 GitHub 核对并固定审查 head 522ede3e54409be5ca40f4496eaf4ceaa3cb411d。新增 --metadata 读取 JSON 对象并交给原有 evaluate_response(),中英 README 的用法一致。独立重跑上轮复现:空正文加两条明确的名称/目标配对,现在 CLI 与 Python 接口完整结果相同,均为 passed=true、stable_record_count=2。

源码测试 1,203 项通过、76 个子测试通过;另从本 head 的源归档重建 wheel,安装到不含 Browser Eval 的独立环境,在源码目录外运行同一套测试,仍为 1,203 项和 76 个子测试通过,四个套件的 validate 全部通过。场景覆盖结构化链接和资源元数据的接受/拒绝、非对象 JSON 拒绝,以及不得通过元数据伪造文件验收结果;CLI 与 Python 接口的结果一致。

Browser Eval 关联边界测试 150 项和 68 个子测试通过,实际安装依赖和 revision 绑定均同步到本 head。集成端仍有一个历史路径问题,已在 browser-eval#54 单独复现和评论,不属于本包本次 CLI 修改。

本轮没有发现新实质问题。未重复第一轮未受修改影响的慢检查,未重新认证历史第三方采集材料或进行真实供应商评测。只使用本会话独立 checkout,没有修改、提交、推送或合并代码。

@lanyue-llk
lanyue-llk merged commit 6d8d726 into main Oct 16, 2026
8 checks passed
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.

1 participant