Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ Formatting differences are not failures when the output contract treats them as

Agreement between the reviewer and scorer proves only that the saved answer fits the current contract; it does not prove that the contract or evaluation path is sound. After recording the blind verdict, deterministically flag suspicious results and investigate the complete chain: task input, frozen reference, provider request contract and runtime, raw response, adapter transformation, scorer, and final verdict. At minimum flag successful requests with empty answers, nonempty raw responses that become empty or implausibly small, identical short answers across unrelated URLs, tool failures that occur before meaningful network work, results that satisfy the positive structure but fail only on excluded content, provider-by-family zeroes or sharp discontinuities, and anomalies raised by the reviewer. This second stage may inspect execution metadata, but must not rewrite the already-recorded blind verdict.

A method result may reveal a benchmark anomaly, but it is never authority for changing a task, reference, annotation, or acceptance rule. Decide each correction from the task contract and method-independent source/reference evidence, without using which method benefits or how scores move. Bind that authority in the correction manifest and reject the revision before rescoring when it is absent. A source presentation state has no standalone meaning: apply it only through the benchmark's declared content scope.

Every triggered anomaly needs concrete evidence at each applicable layer, a root-cause classification, a deterministic equivalence scope expanded to the affected attempts, and one of: a justified no-change decision, a corrected reference/scorer with paired regressions, or a corrected request/adapter/runtime followed by the affected provider calls and renewed review. Missing raw/request evidence is `insufficient`, not proof that the provider failed. Do not publish with unresolved anomalies or a known evaluation defect. Report ordinary provider/origin limitations separately from evaluation defects, and do not retry a valid physical call merely because a later call might score better.

## Decide what to rerun
Expand Down
4 changes: 2 additions & 2 deletions evaluation/webmainbench-full/case-correction-binding.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"schema_version": 1,
"relative_path": "evidence/webmainbench-545-origin-correction-seven-pr919-e944d066-rescored-20260929",
"sha256": "4bd72bf64c56f72566f7085cf6bdbb8107b1e34efe2b0f4845546e6fa0d9fc0e"
"relative_path": "evidence/webmainbench-545-origin-correction-seven-pr919-721bd2e-authority-rescored-20261008",
"sha256": "72be654df28c75eeca879101b0eb416dbcbe3b8e2f79e1b5073e9f8ee9ea52f2"
}
2 changes: 1 addition & 1 deletion evaluation/webmainbench-full/content-binding.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"schema_version": 1,
"relative_path": "seven-method-moli-repairs/report-content.json",
"sha256": "92307a6be0ea8ec3bdae29045d19750fc4c66945dd901c9746eb8349647c054b"
"sha256": "9c6576a4991ba7ef319a9941c2bed13be1b76c487cdd5b82a1b2445c2394fd57"
}
6 changes: 3 additions & 3 deletions evaluation/webmainbench-full/illustrations.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{
"name": "seven-method-overview.png",
"role": "overview",
"sha256": "dde509a23ff5e0694df68c7b91974c388ddae3ff9441df6e161caddc6912f06e",
"sha256": "59b8f5025ae770eecc53f0d81446dd275e16458fae31b7ac122bcc36e9c3ac7e",
"generator": "deterministic HTML/CSS render",
"scope": "seven methods after certified origin, reference, TEDS and shared-population corrections",
"claims": {
Expand All @@ -15,7 +15,7 @@
"chromium": "27.02",
"obscura": "31.03",
"moli-pr785-fixed": "36.53",
"moli-content-fixed": "39.41"
"moli-content-fixed": "39.27"
},
"machine_issues": 25,
"request_failures": 15,
Expand Down Expand Up @@ -51,7 +51,7 @@
{
"name": "moli-repair-mechanisms.png",
"role": "repair-mechanisms",
"sha256": "9db091bb41d693aa22862f2fe7e8f316ebfaaba1d2d1938fc515df915a8a329a",
"sha256": "f2a8d8e5cede37bf824b8a8ba585875d0e67b084975364b138df88ff5c37f137",
"generator": "deterministic HTML/CSS render",
"scope": "observed defect to shared cause, implementation layer and verification"
},
Expand Down
27 changes: 20 additions & 7 deletions evaluation/webmainbench-full/moli-content-fixed-report.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,37 @@
"case_count": 545,
"case_ids_sha256": "5c0cf5810602b70e8f7c1e16723e24a49c3ea207d54865df5c03c38f3d88ffd5",
"source_dataset_sha256": "03bc6370a2b37427eba94f95268cf3c935ac89b15b184dfc47f84b78b97fe18e",
"providers": ["moli"],
"versions": {"moli": "1.1.11"},
"binary_sha256": "e146b853bb06ea02bb8847407a76e28eb2bc31ba4ce741af3a7fdaabb194e209",
"source_commit": "e944d066bc12493bc05e737f07c5721d5be32cf6",
"providers": [
"moli"
],
"versions": {
"moli": "1.1.11"
},
"binary_sha256": "fac987f54939fab2f5db7bf54af41b25cbb3aed3230528c170b4c22ada0b98ac",
"source_commit": "721bd2e329f96c06573db6e6b257a149cf17a6fe",
"timeout_seconds": 45,
"runs_per_case": 1,
"concurrency": 1,
"max_failure_retries": 1,
"reference_binding_mode": "complete_webmainbench_545_official_frozen_html_and_groundtruth_content",
"official_scorer_commit": "f7cb97df2dfb5ac10ebc97cd0b8f9d73ab40f50b",
"metric_config": {"use_llm": false},
"official_metrics": ["overall", "text_edit", "code_edit", "formula_edit", "table_edit", "table_TEDS"],
"metric_config": {
"use_llm": false
},
"official_metrics": [
"overall",
"text_edit",
"code_edit",
"formula_edit",
"table_edit",
"table_TEDS"
],
"input_contract": {
"body": "official html field encoded as UTF-8 without mutation",
"execution": "inline scripts may run; non-loopback subresources and data access are blocked; local engine receives the same body from an OS-isolated loopback HTTPS fixture with a per-run CA",
"original_url": "retained as evidence metadata only"
},
"publication_state": "pending",
"require_independent_result_review": false,
"conversion": "Native Markdown from Moli PR #919 after shared fallback semantics, live form state, proven interactive disclosures, bounded one-shot fade-in final-state recovery, media candidate and fragment-target fixes, based on main cb56b3b33"
"conversion": "Native Markdown from Moli PR #919 after shared fallback semantics, live form state, proven interactive disclosures, resolved cascade visibility, and composed final animation effects, based on main cb56b3b33"
}
2 changes: 1 addition & 1 deletion evaluation/webmainbench-full/moli-variants.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"provider": "moli-content-fixed",
"profile": "moli-content-fixed-report.json",
"evidence_alias": "moli-fixed",
"label": "Moli 1.1.11 · PR919 修复版",
"label": "Moli 1.1.11 · PR919 721bd2e 实测版",
"short_label": "PR919 修复版",
"role": "content_repair",
"pull_request": "https://github.com/lexmount/moli/pull/919"
Expand Down
4 changes: 2 additions & 2 deletions evaluation/webmainbench-full/publication-target.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
"profile_sha256": "8cbceaf9694e88e7c1ddbba3263573dcccf69b1ac89d7e9ea5aa098f2a3bab02",
"variant_profile_sha256": {
"moli-pr785-fixed": "db8e7fa408edf3dc2e19d2b0f35645448d0e1efd3ac86926d0bcc9e1a3fb3848",
"moli-content-fixed": "e3a4b3abd03e29ef3aab13e27e11b614d06f0d822fad86b08c61dbde1501b6bf"
"moli-content-fixed": "ee4c91daa5221a0e44a5f5300b03e379a3875623a31c0e0baf59c723a5e093e3"
},
"host": "https://artifact-site.lexmount.cn",
"site_slug": "zrqPjO672dgg",
"share_url": "https://artifact-site.lexmount.cn/v/Avz3qzo6EEujI0iln1LAzCUF93I47OEC",
"expected_remote_version": "ver_9440fb2764424af387e7a3c41cf6720f"
"expected_remote_version": "ver_cdd1a9316d6c4d49a5dc4fee4646fba1"
}
6 changes: 3 additions & 3 deletions evaluation/webmainbench-full/scoring-correction-binding.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"schema_version": 1,
"kind": "webmainbench_shared_population_scoring_correction_binding",
"receipt_sha256": "514c99c3c8b55b29eccc38fd87efecc40ebf8602f2e9e84b6807538df696061e",
"scorer_commit": "f7cb97df2dfb5ac10ebc97cd0b8f9d73ab40f50b",
"receipt_sha256": "25281e33ad59cbbe9d7a52ce5e220ff335d769ec6864860989f71820b11ab4f8",
"scorer_commit": "65b49124b923e59f3cfcd839ee1af4628c36f340",
"regression_registry_sha256": "ddd89c55e5791a94f3d9282dc3a56fbefed2cb72aad8b0fc43d5275a3bca7cd3",
"results_sha256": "08f4464fe98c57910bcc21b63d3dad8c87d3bd505c8f181c89f169257fd8f439"
"results_sha256": "08f57ca52b337e3d3dbe42c2a84c291de2636383af36f0d401fce786b83b03e9"
}
6 changes: 3 additions & 3 deletions harness/web_fetch/report.py
Original file line number Diff line number Diff line change
Expand Up @@ -3244,7 +3244,7 @@ def page(route, title, body):
anchor("index.html", "WebMainBench · 545") + '</strong><nav>' + links + '</nav>' + anchor("en/index.html", "English") +
'<button onclick="theme()">切换主题</button></div></header><main class="wrap">' + body +
'</main><footer class="wrap">WebMainBench 545 例 · ' + str(len(providers)) + ' 种方法 · ' +
anchor("https://github.com/lexmount/WebMainBench/tree/lexmain", "Lexmain 数据与评分器") + '</footer></body></html>')
anchor("https://github.com/lexmount/WebMainBench/tree/lex-main", "lex-main 数据与评分器") + '</footer></body></html>')
target = out / route
target.parent.mkdir(parents=True, exist_ok=True)
target.write_text(markup, encoding="utf-8")
Expand Down Expand Up @@ -3504,13 +3504,13 @@ def bound_artifact(path, expected, shard_path):
'<section class="hero"><h1>测量与评分方法</h1><p>' + prose('method_lead') + '</p></section>' +
'<section class="panel"><h2>输入</h2><p>' + prose('method_input') + '</p><p>数据 SHA-256:<code>' +
esc(profile["source_dataset_sha256"]) + '</code>。原始评分器提交:<code>' + esc(profile["official_scorer_commit"]) +
'</code>' + ((';Lexmain 修正评分器提交:<code>' + esc(scoring_correction['scorer_commit']) + '</code>') if scoring_correction else '') +
'</code>' + ((';lex-main 修正评分器提交:<code>' + esc(scoring_correction['scorer_commit']) + '</code>') if scoring_correction else '') +
'。</p></section><section class="panel"><h2>失败重试</h2><p>本轮共 ' + str(len(records) + retry_count) +
' 次物理调用,包含 ' + str(retry_count) + ' 次失败后的重试;其中 ' + str(recovered_count) +
' 条重试后返回成功,' + str(final_request_failures) +
' 条最终请求失败均调用两次。返回成功但正文为空或为错误页的结果不触发请求失败重试。</p></section>' +
'<section class="panel"><h2>评分</h2><p>' + prose('method_scoring') + '</p><p>' + prose('method_correction') + '</p>' +
((anchor("teds-correction.json", "历史 TEDS 修正收据") + " · " + anchor("teds-correction-review.json", "历史修正复核")) if (out / "teds-correction.json").is_file() else anchor("scoring-correction.json", "Lexmain 统一评分修正收据")) + "</section>" +
((anchor("teds-correction.json", "历史 TEDS 修正收据") + " · " + anchor("teds-correction-review.json", "历史修正复核")) if (out / "teds-correction.json").is_file() else anchor("scoring-correction.json", "lex-main 统一评分修正收据")) + "</section>" +
'<section><h2>调用接口</h2>' + table(['方法', '本轮调用方式'], interface_rows) + '</section>' +
'<p class="note">' + prose('kitesurf_version_note') + '</p>' +
'<section class="panel"><h2>公开采用证据</h2><p>' + prose('adoption_lead') + ' 截至 ' + esc(adoption['cutoff'][:10]) +
Expand Down
55 changes: 55 additions & 0 deletions research/report-changes.json
Original file line number Diff line number Diff line change
Expand Up @@ -1275,6 +1275,61 @@
}
],
"releases": [
{
"id": "webmainbench-545-pr919-721bd2e-authority-20261008",
"date": "2026-10-08",
"comparison_kinds": [
"webmainbench_frozen_html_to_markdown"
],
"title": "保留人工主内容参考并重算 PR919 实测结果",
"summary": "Moli 1.1.11 PR919 提交 721bd2e32 以固定 release 二进制完成 545 页认证运行,目标正文 545/545。复核确认任务 8798f93a 的 91 组可展开比赛明细属于人工标注主内容;撤销错误参考改动后,七方法零调用离线重算,PR919 实测版综合分为 39.27%。",
"changes": [
[
"实测版本边界",
"此前把 721bd2e 的运行称为 PR919 当前版本,分支后续重排会让这一称呼失真。",
"继续绑定提交 721bd2e32 与 release 二进制 fac987f5…,并明确它是一次独立实测版本。",
"目标正文 545/545;后续分支提交不借用本次分数。"
],
[
"主内容参考复核",
"仅凭页面启动时折叠就删除任务 8798f93a 的 91 组比赛明细,混淆了初始可见文本与主内容抽取契约。",
"核对任务定义、人工 cc-select 标注、main_html 和 groundtruth_content;四者均把明细纳入主内容。恢复原参考,并要求未来修订绑定任务契约与冻结来源,禁止用方法得分授权改题。",
"PR919 实测版在该页的代码分保留为 12.28%;七方法只离线重算,没有新增 provider 调用。"
],
[
"七方法结果",
"错误参考把一个真实的方法差距从正式结果中移除。",
"七种方法统一使用 22 条有效数据修订、固定公共总体和同一原网址补测结果。",
"PR919 实测版综合分 39.27%,全文 40.73%、代码 91.06%、公式 28.20%、表格内容 22.62%、表格结构 13.75%;综合分和代码为唯一最高。"
]
],
"i18n": {
"en": {
"title": "Retain the annotated main-content reference and rescore the measured PR919 build",
"summary": "Moli 1.1.11 PR919 commit 721bd2e32 completed a certified 545-page run with a pinned release binary and delivered 545/545 target bodies. Review confirmed that the 91 expandable game-detail groups in case 8798f93a belong to the human-annotated main content. After reverting the invalid reference change, zero-call offline rescoring gives the measured PR919 build a 39.27% overall score.",
"changes": [
[
"Measured-build boundary",
"Calling the 721bd2e run the current PR919 build became inaccurate after the branch was rebased.",
"Keep the exact 721bd2e32 source and fac987f5… release binary binding and label it as a measured build.",
"It delivers 545/545 target bodies; later branch commits do not inherit these scores."
],
[
"Main-content reference review",
"Removing 91 game-detail groups solely because they are collapsed at startup confused initial visible text with the benchmark main-content contract.",
"Check the task definition, human cc-select annotations, main_html, and groundtruth_content. All four include the details. Restore the reference and require future corrections to bind task-contract and frozen-source authority, never method scores.",
"The measured PR919 build retains a 12.28% code score on this page. All seven methods are rescored offline with zero provider calls."
],
[
"Seven-method result",
"The invalid reference change removed a real method gap from the formal result.",
"Use the same 22 valid dataset corrections, reference-defined populations, and original-origin replacement result for all seven methods.",
"The measured PR919 build scores 39.27% overall, 40.73% text, 91.06% code, 28.20% formula, 22.62% table content, and 13.75% table structure; overall and code are the unique maxima."
]
]
}
}
},
{
"id": "2026-10-07-risk-control-historical-presentation",
"comparison_kinds": [
Expand Down
6 changes: 3 additions & 3 deletions scripts/check_webmainbench_full_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,10 @@ def check(root: Path) -> None:
raise ValueError('Shared-population scoring correction differs from repository binding')
home_html = (root / 'index.html').read_text(encoding='utf-8')
methodology_html = (root / 'methodology/index.html').read_text(encoding='utf-8')
if ('https://github.com/lexmount/WebMainBench/tree/lexmain' not in home_html
if ('https://github.com/lexmount/WebMainBench/tree/lex-main' not in home_html
or scoring_receipt['scorer_commit'] not in methodology_html
or 'Lexmain 修正评分器提交' not in methodology_html):
raise ValueError('Public report does not identify the bound Lexmain scorer')
or 'lex-main 修正评分器提交' not in methodology_html):
raise ValueError('Public report does not identify the bound lex-main scorer')
releases = json.loads((Path(__file__).resolve().parents[1] / 'research/report-changes.json').read_text(encoding='utf-8'))['releases']
expected_releases = [item for item in releases if 'webmainbench_frozen_html_to_markdown' in item.get('comparison_kinds', [])]
history = BeautifulSoup((root / 'history/index.html').read_text(encoding='utf-8'), 'html.parser')
Expand Down
Loading
Loading