Skip to content

Add reusable ten-method native Web Fetch configuration - #65

Open
Maisiqi wants to merge 5 commits into
mainfrom
codex/webfetch-native-policy
Open

Maisiqi wants to merge 5 commits into
mainfrom
codex/webfetch-native-policy

Conversation

@Maisiqi

@Maisiqi Maisiqi commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Web Fetch's retained ten-method comparison now has a reusable configured cohort. Select --providers configured --provider-config configs/providers.example.json through the existing validation, diagnostic, benchmark or certification entry point. The shared per-call default changes from 45 to 30 seconds; the existing default of one failure retry remains. Each retry receives a fresh budget, retains its physical evidence, and selects the final response rather than the best response.

  • Add one shared Markdown adapter for Bright Data, Browser Use Fetch, Browserbase Fetch, DeepSeek Fetch API and Crawl4AI Cloud, with raw-response projection, redacted caller diagnostics and bilingual method/account documentation through the existing catalog template mechanism.
  • Configure Moli, Firecrawl, Cloudflare Markdown, Tavily, Exa and the five hosted methods with fixed native parameters. Exa uniformly requests up to 100 rich links. Remove Moli's per-host private-network exceptions; retain its security checks and pinned binary identity.
  • Reject per-case retrieval assistance before transport. Use native URL routes without helper document downloads. Preserve the 20 MB HTTP response/Moli output ceiling without imposing a Moli subresource-download cap.
  • Stop fixed-native timing before scorer-input preparation. Preserve retry cost and call-sequence time separately from final-call latency. Timed-out live workers remain quarantined.
  • Keep the supported diagnostic runner and its --measure-only option. No new --collect-only mode or hosted JSON/schema/structured output is included. Historical unscored collections still cannot silently become scored reports.

Validation

  • 561 targeted offline tests and 31 subtests passed. The 15 CLI tests requiring a local loopback server were rerun outside the restricted sandbox; no real provider APIs were used.
  • Repository lint checks and git diff --check passed.
  • Existing fixture and installed-package checks passed.
  • No credentials, measured outputs, raw responses, logs or report-instance profiles are included in Git.

Earlier development did include live smoke checks: archived runs contain five cases each for Bright Data, Browser Use Fetch, Browserbase Fetch and DeepSeek Fetch API, plus one Crawl4AI Cloud case. Those inspected runs used a 45-second budget. They are diagnostic evidence, not validation of the current 30-second configuration or a certified comparison. This revision made no new live provider calls and did not alter historical evidence.

Scope and compatibility

The configured method list is reusable configuration, not a report instance. Publishable cohorts still require explicit frozen task selection and the existing certified pipeline. CLI timeout/retry overrides remain available and recorded; explicit provider lists keep their meaning. Historical adapters remain selectable and the no-argument CLI remains an offline fixture.

Hosted adapters currently implement webpage body/structure tasks only. Their output contract is Markdown; other output formats are rejected before transport. Crawl4AI Cloud retains proxy=none; native paid proxies remain configurable but must be selected before a run. Cloud and local Crawl4AI evidence are distinct.

Local execution still requires usable public DNS. The inspected host resolved one benchmark domain to a private address while public DNS returned public addresses. Keep the existing preflight rejection rather than restoring a private-host exception; resolve the environment difference before executing an affected public cohort. This is not a provider capability failure.

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