Skip to content

fix(scoring): tighten Web Fetch rules with source-backed controls - #12

Merged
lanyue-llk merged 83 commits into
lexmount:mainfrom
Maisiqi:codex/webfetch-next-development
Oct 28, 2026
Merged

lanyue-llk merged 83 commits into
lexmount:mainfrom
Maisiqi:codex/webfetch-next-development

Conversation

@Maisiqi

@Maisiqi Maisiqi commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Updated dataset composition and scoring coverage

Summary

Tightens acceptance for review-550-20261023 across five suites and 550 cases: titles, navigation, duplicate links or incomplete article endings must not substitute for the requested content. Select the revised rules with --revision review-550-20261023. Frozen input files, task URLs, prompts and original reference bytes are preserved.

Changes

  • Require substantive document content, real named records and correctly owned table fields. Check article endings in order; changing lists use structure/count requirements, while fixed examples verify source membership. Duplicate tasks share acceptance rules. Lexical forbidden-word vetoes are removed.
  • Convert 59 document cases from PR-added section/definition checks to five saved-reference body regions, each requiring 80%, restoring baseline length floors and retaining independent facts/anchors. Compared with the preceding PR state: body cases 243 → 302, section cases 74 → 16, definition cases 1 → 0. WebSocket retains section checks because its introduction was rewritten.
  • Require the substantive html.escape explanation; remove obsolete Scrapy/PostgreSQL version labels. Preserve literal plain text and record-local dates, titles and descriptions across nested/sibling wrappers.
  • Reuse existing scoring and source projection. Optional --review-source evidence is verified when supplied; missing evidence remains unverified. Remove 232 external evidence dependencies from policy-only forbidden-word corrections.

Maintained details: document-body decisions, review decisions and evidence, and sample composition/scoring coverage.

V8 review disposition

  • Correct the contradictory instruction requiring fresh webpage qualification before formal runs. The 59 cases use ordinary frozen-reference matching. Browser Eval PR #75 is closed unmerged and is not a dependency.
  • Align Push API with History API: the saved HTML confirms a default-closed Baseline explanation before the actual prose. Retain offsets 208–4332, including the Web Workers note and full introduction. Change only the first region's start and bindings; retain the other four regions, independent title requirements and all 80% thresholds. The same saved source moves from 81.57% to 99.81% in region 1. This is a source-scope correction, not trimming to meet a target score.
  • Retain FastAPI live-019, live-027 and Redux live-070 at their documented 82.26–83.72% minimum margins. Removing internal prose solely to increase scores is not justified.
  • Shorten this description and distinguish current validation from historical checkpoints. Saved-answer scoring is reproducible, but live results across dates are not automatically comparable. Source drift need not make every provider fail together; small historical samples do not predict a future change count. The 80% fragment threshold is not an exact allowance for arbitrary 20% rewrites.

Formal scoring uses saved references without an added live-page admission gate. Investigate source drift and extraction when a correct-looking answer fails; any reference correction must be reviewed, versioned and source-backed, preserving frozen inputs and keeping rules independent of provider outputs.

Validation

  • Commit 7967a12: local tests passed 3,546 tests and 353 subtests; registered-definition validation and the documentation distribution check passed.

  • CI for 7967a12 passed on 2026-10-28, including source and package checks. The bot review for the same commit also passed.

  • Compared all 550 registered revised cases against 949a2fe: only the Push API first-region boundary/bindings change; the other 549 cases are identical. Other Push requirements and later regions remain unchanged.

  • Reused hash-matching saved Push reference/HTML: complete reference and full-content source controls pass; headings/navigation only, excluded prefix only, half-body and all five omitted-region controls fail. No fresh capture or provider call.

  • Historical provider rescoring predates the document-body follow-up: 4,820 outputs replayed at 03d23e7, with targeted table checks through 19ba48a. Those totals are not results for the current revision.

Remaining limits and release work

  • Full frozen-input export checks for webfetch, popular-sites, dynamic-content and access-restrictions remain deferred at the requester's direction: exact hash-matching original bundles were unavailable. Complete export/reference acceptance remains unverified; CI and source controls do not replace those checks.
  • Cookie/banner and cart/recommendation exclusions remain prompt instructions, not independently enforced output-exclusion gates. The ownership-aware extension was not added in this minimal revision.
  • Evidence-backed non-adoptions: blanket export failure and blanket nested-definition exclusion. Maintained rationale is linked above.
  • Lexmount Moli's retained result records private-address rejection. The responsible network component was not established; the original case, failed measurement and safeguards remain unchanged.
  • Before release, maintainers must resolve release prerequisites and update/verify the scorer locator and hash for the merged commit before publishing bench-v2.1.0. No tag or merge is performed here.

Status: open for maintainer review; unmerged.

milky886 added 24 commits October 23, 2026 17:42
@Maisiqi Maisiqi changed the title Revise Web Fetch acceptance rules from the 14-item review Revise Web Fetch acceptance rules with source-backed controls Oct 25, 2026

@lexmount-ocr lexmount-ocr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Re-review complete · 1ff30e9

No findings in this incremental review.

@lexmount-ocr lexmount-ocr Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Review complete · 16e4612

This review found 1 issue(s), including 1 blocking issue(s).

Comment thread src/lexbench_webfetch/stable_tasks.py Outdated

@lexmount-ocr lexmount-ocr Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Re-review complete · e3c0757

This review found 2 issue(s), including 2 blocking issue(s).

Comment thread src/lexbench_webfetch/stable_tasks.py Outdated
Comment thread src/lexbench_webfetch/stable_tasks.py Outdated

@lanyue-llk lanyue-llk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Re-reviewed e3c0757 against base 4aa3cb2, including the latest review-boundary and mixed-record fixes and the 59 document-body conversions.

The previous outside-footer case is fixed; complete controls for all ten fixed-source tasks still pass, and fabricated quotations/authors remain rejected. The updated distribution documentation and its direct-character-floor clarification match the current declarations. The 59 body conversions use the existing version-3 scorer with five regions, an 80% floor in every region and all five required; the other 491 task definitions are unchanged from 613cd73. Projection/export binding checks passed. This review does not claim to have independently replayed the 59 private current-source captures.

Two new parser regressions remain (inline), both reproduced using public scoring and actual task contracts: ordinary div-based review cards lose their bodies, and the mixed-list fallback can borrow a description from a separate sibling section. Both stem from losing structural ownership before field matching; adding more phrase exceptions would not fix them.

The earlier output-exclusion finding remains unresolved, as the PR now acknowledges: the unchanged tasks still exclude Cookie banners/cart/recommendation material, while acceptance intentionally permits it. The documented non-adoption explains the chosen limitation, but does not make the task and scorer agree. Keep that existing finding distinct from the two new regressions rather than describing it as fixed.

Focused parser checks passed 178 tests and 34 subtests. No source edits, provider calls or historical score changes were made.

Comment thread src/lexbench_webfetch/stable_tasks.py Outdated
Comment thread src/lexbench_webfetch/stable_tasks.py

@lexmount-ocr lexmount-ocr Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Re-review complete · a3f984b

This review found 2 issue(s), including 2 blocking issue(s).

Comment thread src/lexbench_webfetch/stable_tasks.py Outdated
Comment thread src/lexbench_webfetch/stable_tasks.py Outdated

@lexmount-ocr lexmount-ocr Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Re-review complete · 7ec53bb

This review found 1 issue(s), including 1 blocking issue(s).

Comment thread src/lexbench_webfetch/stable_tasks.py Outdated

@lexmount-ocr lexmount-ocr Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Re-review complete · aa7ddc1

This review found 2 issue(s), including 2 blocking issue(s).

Comment thread src/lexbench_webfetch/stable_tasks.py Outdated
Comment thread src/lexbench_webfetch/stable_tasks.py Outdated

@lexmount-ocr lexmount-ocr Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Re-review complete · 0c3d4fd

This review found 1 issue(s), including 1 blocking issue(s).

Comment thread src/lexbench_webfetch/stable_tasks.py Outdated

@lanyue-llk lanyue-llk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the latest sample definitions and acceptance method at 9f34919, including real official-page positive/deletion controls and integration with PR65's certified runner. Three remaining issues are reproducible below. The distribution documentation now agrees with the 550-case definitions, duplicate-task acceptance gates agree, and the previously reported record-ownership cases pass their controls. The earlier Cookie/cart/recommendation exclusion finding remains unimplemented as already disclosed; this review does not duplicate it.

The fixes can stay within existing owners: source-qualified body requirements, substantive task facts, and the shared reference lifecycle. Additional provider-specific scoring or case-ID branches would not address these causes. No repository files were changed and no paid provider calls were made.

Comment thread src/lexbench_webfetch/definitions/annotation-revisions/review-550-20261023.json Outdated
Comment thread src/lexbench_webfetch/definitions/annotation-revisions/review-550-20261023.json Outdated
Comment thread src/lexbench_webfetch/annotation_revisions.py

@lexmount-ocr lexmount-ocr Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Re-review complete · 96f5496

This review found 1 issue(s), including 1 blocking issue(s).

Comment thread src/lexbench_webfetch/stable_tasks.py

@lexmount-ocr lexmount-ocr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Re-review complete · c2b468c

No findings in this incremental review.

@lanyue-llk lanyue-llk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Completed a bounded P0/P1-only re-review of the current 550 sample definitions and acceptance method at c2b468c, including the companion source lifecycle in browser-eval PR75 at d6f3665. No new P0/P1 was confirmed.

The previous substantive-documentation finding is fixed: the complete official Python HTML documentation passes, while removing the whole html.escape explanation now fails. The current Scrapy README passes with Python 3.11 wording, and the current PostgreSQL tutorial passes without the obsolete release banner. These are paired source controls, not provider measurements. The 59 newly mandatory live-body cases now all declare live_body and enter the companion consumer's pre/post source checks; missing or invalid source evidence prevents normal certification.

Population checks still agree with the maintained documentation: 550 entries, 535 exact URLs and 540 URL+prompt tasks. Ten duplicate tasks have equal acceptance gates. Empty-answer controls reject all 248 cases testable without external body references; 143 targeted acceptance/projection tests passed. No provider-result-driven sample selection or new method-specific scoring exception was found.

This review is limited to P0/P1. It does not waive lower-priority findings, deferred frozen-export checks, or the requirement to use a compatible consumer for live_body. No source edits, paid provider calls, historical rescoring or merge.

@lexmount-ocr lexmount-ocr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Review complete · 949a2fe

No findings in this review.

@lexmount-ocr lexmount-ocr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Review complete · 7967a12

No findings in this review.

@lanyue-llk
lanyue-llk merged commit 5a5b936 into lexmount:main Oct 28, 2026
3 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.

2 participants