Skip to content

refactor(reporting)!: decouple instances from shared pipelines - #56

Open
lanyue-llk wants to merge 52 commits into
mainfrom
codex/notion-webfetch-fixes-current
Open

lanyue-llk wants to merge 52 commits into
mainfrom
codex/notion-webfetch-fixes-current

Conversation

@lanyue-llk

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

Copy link
Copy Markdown
Contributor

Problem and result

Creating another benchmark report could require code edits because commands inherited a maintained report's participants, versions, source paths or publication target. This PR separates those instance inputs from the existing Web Fetch, Browser Use and Browser Trajectory Replay pipelines.

Reusable report instances across three benchmark tracks

Changes

  • Browser Eval owns adapters, execution, evidence, report build/check/package and publication. The pinned LexBench package owns task requirements and deterministic scoring.
  • Report instances select participants, versions, frozen tasks, evidence and authored content through external profiles. Remove the maintained instance profiles, variant registries and live targets from Git. Historical full-cohort formats retain their immutable bytes in an explicitly selected external authority bundle.
  • Reuse the three track owners and their public commands. Keep one logical result per task/method while retaining every physical call and retry cost; combine retained successful results with declared partial reruns.
  • Read browser execution versions from the selected profile. Template discovery uses its pinned presentation example without opening a measured instance.
  • Separate resource-report messages and existing translation dictionaries from rendering code. Remove four data-only translation modules. Replay interpretation messages use a language catalog; English, Chinese and a third-language fixture exercise the same lookup.
  • Add CI checks for English Python identifiers, comments and docstrings, the migrated renderers' catalog boundary and report-instance files returning to Git. Preserve source-language evidence, acceptance patterns and multilingual fixtures.
  • Document contribution, PR and commit conventions. Publish the updated README image in both language editions.
  • License project-owned code under Apache 2.0 across Python and Node metadata. Source archives and wheels include the canonical license, copyright notice and third-party notices.
  • Bound the real-browser reference check to five minutes and install pinned Chromium without downloading unrelated system fonts.
  • Keep method defaults, installation guidance, wait conditions and build labels in the existing bilingual method catalog. CI rejects inline Chinese messages returning to the two migrated method modules. Reported product names are removed from the version portion without changing recorded evidence or build suffixes.

Migration

Pass --profile /absolute/instance-profile.json to build, check, package and publish commands, or PROFILE=/absolute/instance-profile.json to their Make targets. Historical full-cohort formats use --authority-root /absolute/authority-bundle. Profiles, report content, evidence and mutable publication receipts stay outside the checkout. Report instance guide.

Validation

New instances were built from retained real measurements; no provider or model calls were added.

Track Tasks × configurations Results Build / check / package Browser states
Web Fetch / WCXB 504 × 6 3,024 Passed 96
Browser Use 90 × 2 180 Passed 180
Browser Trajectory Replay 90 × 5 450 Passed 96

The real seven-configuration resource report passed 8,946-call / 46,872-file verification, 27 evidence negative controls, 112 browser states, six UI negative controls and ten evidence flows. Language extraction was checked against 16 complete real-model page renders in both languages. Source archive → wheel → optional installations passed outside the checkout.

Current main's method metadata is retained in one catalog, including recorded versions, execution parameters, interfaces and account requirements. Instance-specific participants and metadata extend that owner through the selected profile. WebMainBench interfaces now use the same catalog instead of a fixed browser mapping. Every registered task family has a localized guide and label, including current main's article tasks. The companion task package is pinned to 6bd263ed.

make ci passed locally with 6,414 tests and 2,912 subtests, including source archive → wheel → optional installations. The newly built real 504-page × six-configuration WCXB instance passed build/check/package and 96 browser states; its scored evidence is byte-identical to the previous instance. Complete Chinese and English interface pages were also compared byte for byte during message extraction. Linux CI at b138ba0d passed 6,387 tests and 2,875 subtests, package checks and a separate 24-test real-Chromium check.

Scoring and report audit

The existing report keeps its normal presentation and private permissions: report. The published report retains its frozen scorer binding and saved provider outputs.

The 430-task audit compares every frozen definition and reference with the canonical task package: 286 match, 91 differ only in retrieval hints and 53 have other contract/reference/wording differences. With the same current scorer, original definitions pass 378/360/229/223/217/190; the explicitly revised definitions pass 385/367/233/227/222/194. The access-restriction group was selected using routes that included headless Chromium. The report's existing group comparison and interpretation state that scope; detailed comparison data and adjudications are attached to the Notion review.

Expanded main-content references and unified acceptance requirements remain in the separate follow-up PRs.

@lanyue-llk lanyue-llk changed the title Enforce scoring and executable consistency at release boundaries fix(webfetch): reject mixed builds and recheck retained files Oct 20, 2026
@lanyue-llk lanyue-llk changed the title fix(webfetch): reject mixed builds and recheck retained files fix(webfetch): rescore retained files and disclose partial rerun builds Oct 20, 2026
@lanyue-llk lanyue-llk changed the title fix(webfetch): rescore retained files and disclose partial rerun builds fix(benchmarks): rescore retained evidence and reuse report pipelines Oct 21, 2026
@lanyue-llk lanyue-llk changed the title fix(benchmarks): rescore retained evidence and reuse report pipelines fix(reporting): make report instances reusable across three tracks Oct 22, 2026
Comment thread evaluation/browser-use/current-report.json Outdated
Comment thread evaluation/moli/current-report.json Outdated
Comment thread evaluation/wcxb/current-report.json Outdated
Comment thread harness/trajectory_replay/interpretation.py Outdated
Comment thread scripts/moli_report/app.js Outdated
@lanyue-llk lanyue-llk changed the title fix(reporting): make report instances reusable across three tracks refactor(reporting)!: decouple instances from shared pipelines Oct 22, 2026
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