Repository navigation
feat(webfetch): publish reviewed six-method 430-case report - #42
lanyue-llk wants to merge 166 commits into
Conversation
1a7f2e3 to
da3f01b
Compare
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
lanyue-llk
left a comment
There was a problem hiding this comment.
审查结论:建议修正下列问题后再合入。
本 PR 将 Web Fetch 扩展为五浏览器、七类任务、每浏览器 430 题,并统一原生接口、正文评分和发布校验。共享任务投影与统一路由选择器是合适的抽象;保留动态任务分类也合理,但调用校验没有同步迁移。资源投影还把单个 URL 当成 srcset 列表解析,导致合法资源地址损坏。
确认两处功能回退,均做了基线对照:目标分支通过,PR 失败;在隔离副本中验证最小修复后,相关测试 63 项通过。现有相关测试分两组共 478 项通过、13 项跳过;启用四种真实本地浏览器后,资源、取消和文件测试 24 项通过、1 项失败,失败原因见第三条。进程清理失败后的隔离行为符合现有安全合同,不列为缺陷。
这次审查覆盖代码、调用合同及相关测试,不改变报告中独立逐结果复核 0/2,150 的范围。
|
Claude encountered an error after 3s —— View job I'll analyze this and get back to you. |
7607b18 to
2166c94
Compare
cd0b669 to
0598c6a
Compare
Rebase the session changes onto main 03c9a5e and extend its shared certification, execution, evidence, assembly and reporting owners. Keep command entry points thin, package the participant registry, remove retired runners and historical qualification recovery, and enforce task-selected native outputs without external answer repair. Preserve measured evidence and require complete declared correction scopes. Add functional controls for native documents, media URL parsing, interrupted evidence recovery, fixed versus explicitly live references, scoring regressions, report bindings and release presentation.
Separate resource admission from execution of hash-bound fixed benchmark inputs. Keep source qualification mandatory for new or changed resource tasks, explicit live references and invalid sources. Exercise the public certified entry point with frozen body and resource answers whose historical raw files are absent, preserve the original task bytes, and retain strict admission controls.
This reverts commit 8dd0a1a.
lanyue-llk
left a comment
There was a problem hiding this comment.
Review conclusion
Fail. This PR adds the six-method, 430-case Web Fetch report and changes collection, scoring, evidence validation and publication. Reusing the existing harness and renderer is appropriate, but the DNS changes break shared entry points and do not cover every network subprocess.
Findings and recommendations
Five actionable findings are attached inline: two DNS execution regressions, an attachment resolver leak, quadratic text preprocessing, and a deterministic release-identity test failure.
DNS here is test-environment preparation: it compensates for synthetic proxy addresses while retaining product private-network guards. Keep that correction explicitly scoped to the cohort that needs it. It should not become a Darwin-only dependency of unrelated default or container runs.
Validation used the exact head above in an isolated source directory and locked environment. Reproduced the default-cohort mode conflict, resource-container rejection and explicit loopback rejection. Real Moli and Chromium controls passed for inline files, redirects, attachments and HTTP denial. The committed replacement-build hash assertion fails independently of provider access. No provider measurements or saved verdicts were changed.
lanyue-llk
left a comment
There was a problem hiding this comment.
Review conclusion
Fail. The completed suite exposed two additional functional regressions, attached inline: representation-dependent false passes for image-only record names, and a broken presentation refresh for existing Chinese-only reports. These bring the review to seven findings.
Findings and recommendations
The image-only input passes through public score_attempt as Markdown and fails as equivalent HTML; both visible-text controls pass. The existing local-presentation scenario fails before its atomic installation boundary because the English not-generated notice was removed and is never recreated.
Validation: the full Python run completed with 5,523 passes, 23 failures and 85 skips. Six failures caused by the initially absent locked Markdown converter passed after dependency installation; 16 ordinary failures persisted, and the image-name subtest failure was separately reproduced. The failures include public-DNS fixture interception, the replacement-build hash mismatch, route/timing controls and report localization. Static checking also reports F401/F811 in tests/test_native_task_outputs.py (unused module-level hashlib, imported again at line 452). All three report interaction suites passed; real Moli/Chromium file controls passed. The PR is not ready for merge.
Compare six methods on the same 430 tasks across seven task families: fixed Moli 1.1.17 passes 385, Moli 1.1.15 passes 367, Chromium 234, Lightpanda 229, Obscura 223 and Kitesurf 192. Retain one current result per method and task, complete independent review of all 2,580 results, and evidence-bound diagnoses for all 950 failures.
The fixed Moli executable comes from lexmount/moli#1501. Its final build replaces the declared 56 prior failures; 374 unaffected results retain the previous fixed build. Latest replacements win regardless of outcome. All physical calls remain retained. Later observer/frame-media fixes in #1501 have focused tests and do not change these frozen benchmark executables.
Correct shared visible-name scoring: image alternative text cannot stand in for a required visible name, while a visible name adjacent to its serialized detail URL remains valid. Keep fields within their own record boundaries and reject scalar-only, image-only and cross-record matches. Paired Markdown/HTML controls cover both error directions. Supplementary blind review covers only the two affected tasks across all six methods; the other 2,568 judgments are retained. Fixed Moli changes from 386 to 385 and Lightpanda from 228 to 229, without new browser calls.
Clarify that mean/P50/P95 include each task's retry cost, add final-call and prior-call cost breakdowns, and document the recorded native readiness conditions. Raw timings remain unchanged. Rebuild interpretation with the reference report’s shared article components: combined six-method results, grouped static/complex-page comparisons, three latency-distribution charts, seven selectable reference/output specimens, complete per-method failure charts, and a four-way version comparison. Add the saved Recall/Precision/F1 values for all outcomes of the 17 static tasks with complete references. Scores and raw timings are unchanged. Replace repeated per-result inventories with links to their owning analysis/details, condense the seven-family interface matrix, and use “网页内嵌媒体” consistently. Correct 13 failure-cause categories and expose exact legacy runtime-error excerpts.
Address review comments in shared owners: keep experiment-specific DNS settings out of provider defaults; allow explicitly restricted loopback fixtures; preserve native DNS context for attachment calls; avoid quadratic plain-line processing; preserve language notices and English-primary presentation refreshes. Update stale resource/document controls to the actual native interface contracts. Bound parallel offline rescoring work without changing result ordering or physical evidence.
The earlier scoped corrections remain included: two Chromium navigation-read corrections pass, three Lightpanda iframe retries still fail, and punctuated news dates are recognized by shared scoring. No external document parser, provider-specific answer repair or task-specific acceptance exception is added.
Validation
Independent review: 2,580/2,580; no unresolved results. Failure diagnoses: 950/950.
Paired scoring controls, native file/resource behavior, loopback/network handling, attachment cancellation, serial/parallel revision equivalence, and presentation/language tests pass.
Targeted real-browser fixture checks pass. No full browser benchmark rerun or new Moli release build.
Interpretation behavior: 15 tests and 30 subtests pass, including negative controls for missing/wrong charts, verdict colors, selected examples, failure counts and version transitions. Empty responses remain zero characters. Shared publisher/artifact tests: 71 pass.
Actual article reader review covers the reference comparison, desktop/narrow layouts, both themes, and selectable examples; final reported label, color and failure-chart issues are corrected.
Installed-wheel smoke checks pass for base, WebMainBench, OSS and reference-audit extras. The fake browser uses a numeric public-address input, keeping the real preflight portable without DNS requests or a platform-specific sandbox.
Static checks: Ruff F checks and
git diff --checkpass.Formal report and presentation gates pass for 430 tasks, 2,580 results and 3,028 logical routes. The publication bundle passes local reconstruction, output-hash, privacy and link checks.
Published version
ver_b5584a3d77524f5cbced6edd93105445: authenticated metadata confirms 282 files; hosted interpretation, PDF failure evidence, success detail, keyboard collapse and return navigation are verified.Report: https://artifact-site.lexmount.cn/v/IqGpMUYHWat-dw4n8usQttTptoPzboAo