From 1493840d4b87c17047e084c0b04296a804742dd5 Mon Sep 17 00:00:00 2001
From: lanyue-llk <270302213+lanyue-llk@users.noreply.github.com>
Date: Wed, 21 Oct 2026 16:59:13 +0800
Subject: [PATCH 01/44] feat: add web search benchmark and streamline report
checks
---
.agents/skills/benchmark-report/SKILL.md | 4 +-
.../references/presentation-quality.md | 4 +-
.../references/report-and-release.md | 6 +-
.env.example | 9 +
AGENTS.md | 6 +-
README.md | 9 +-
configs/report-templates.json | 17 +
docs/README.zh-CN.md | 9 +-
docs/architecture.md | 9 +-
docs/report-hosting.md | 12 +-
evaluation/web-search/NOTICE.txt | 42 +
evaluation/web-search/assets.json | 91 +
.../web-search/community-originals.json | 95 +
evaluation/web-search/current-report.json | 2372 +++
.../web-search/identity-correction.json | 107 +
evaluation/web-search/publication-target.json | 75 +
evaluation/web-search/relevance-sample.json | 44 +
evaluation/web-search/search-api-modes.json | 2409 +++
evaluation/web-search/simpleqa-verified.json | 15058 ++++++++++++++++
evaluation/web-search/social-platforms.json | 558 +
examples/web_search/README.md | 10 +
harness/browser_use/report_visual.py | 84 +-
harness/lexbench/report.py | 13 +-
harness/report_languages.py | 25 +-
harness/reporting/visual.py | 11 +-
harness/web_fetch/README.md | 4 +-
harness/web_fetch/certification.py | 5 +
harness/web_fetch/cli.py | 5 +-
harness/web_fetch/wcxb_report_check.py | 36 +-
harness/web_search/README.md | 99 +
harness/web_search/__init__.py | 1 +
harness/web_search/answer_rules.py | 121 +
harness/web_search/comparison.py | 186 +
harness/web_search/core.py | 383 +
harness/web_search/delivery.py | 178 +
harness/web_search/diagnostics.py | 83 +
harness/web_search/evidence_quality.py | 31 +
harness/web_search/example.py | 93 +
harness/web_search/relevance.py | 92 +
harness/web_search/report.py | 3003 +++
harness/web_search/runner.py | 406 +
harness/web_search/scoring.py | 86 +
harness/web_search/simpleqa.py | 94 +
scripts/build_search_report.py | 10 +
scripts/build_simpleqa_search_profile.py | 29 +
scripts/moli_report/BUILD.md | 4 +-
scripts/moli_report/README.md | 2 +-
scripts/moli_report/index.html | 1 +
scripts/report_template.py | 10 +-
tests/browser_use/test_report_visual.py | 23 +-
tests/test_moli_report_render_contract.py | 7 +
tests/test_public_report_language.py | 24 +-
tests/test_report_languages.py | 36 +-
tests/test_reporting_visual.py | 9 +-
tests/test_wcxb_report_languages.py | 1 +
.../test_report_languages.py | 2 +-
.../test_webarena_publish.py | 1 +
.../test_webarena_visual_check.py | 26 +-
tests/web_search/test_answer_rules.py | 97 +
tests/web_search/test_assessment_revision.py | 75 +
tests/web_search/test_comparison.py | 121 +
tests/web_search/test_delivery.py | 90 +
tests/web_search/test_diagnostics.py | 59 +
tests/web_search/test_evidence_quality.py | 31 +
tests/web_search/test_public_calls.py | 63 +
tests/web_search/test_reference_report.py | 112 +
tests/web_search/test_relevance.py | 38 +
tests/web_search/test_report.py | 573 +
tests/web_search/test_report_selection.py | 186 +
tests/web_search/test_runner.py | 291 +
tests/web_search/test_scoring.py | 56 +
tests/web_search/test_search.py | 307 +
tests/web_search/test_simpleqa.py | 44 +
73 files changed, 28134 insertions(+), 179 deletions(-)
create mode 100644 evaluation/web-search/NOTICE.txt
create mode 100644 evaluation/web-search/assets.json
create mode 100644 evaluation/web-search/community-originals.json
create mode 100644 evaluation/web-search/current-report.json
create mode 100644 evaluation/web-search/identity-correction.json
create mode 100644 evaluation/web-search/publication-target.json
create mode 100644 evaluation/web-search/relevance-sample.json
create mode 100644 evaluation/web-search/search-api-modes.json
create mode 100644 evaluation/web-search/simpleqa-verified.json
create mode 100644 evaluation/web-search/social-platforms.json
create mode 100644 examples/web_search/README.md
create mode 100644 harness/web_search/README.md
create mode 100644 harness/web_search/__init__.py
create mode 100644 harness/web_search/answer_rules.py
create mode 100644 harness/web_search/comparison.py
create mode 100644 harness/web_search/core.py
create mode 100644 harness/web_search/delivery.py
create mode 100644 harness/web_search/diagnostics.py
create mode 100644 harness/web_search/evidence_quality.py
create mode 100644 harness/web_search/example.py
create mode 100644 harness/web_search/relevance.py
create mode 100644 harness/web_search/report.py
create mode 100644 harness/web_search/runner.py
create mode 100644 harness/web_search/scoring.py
create mode 100644 harness/web_search/simpleqa.py
create mode 100644 scripts/build_search_report.py
create mode 100644 scripts/build_simpleqa_search_profile.py
create mode 100644 tests/web_search/test_answer_rules.py
create mode 100644 tests/web_search/test_assessment_revision.py
create mode 100644 tests/web_search/test_comparison.py
create mode 100644 tests/web_search/test_delivery.py
create mode 100644 tests/web_search/test_diagnostics.py
create mode 100644 tests/web_search/test_evidence_quality.py
create mode 100644 tests/web_search/test_public_calls.py
create mode 100644 tests/web_search/test_reference_report.py
create mode 100644 tests/web_search/test_relevance.py
create mode 100644 tests/web_search/test_report.py
create mode 100644 tests/web_search/test_report_selection.py
create mode 100644 tests/web_search/test_runner.py
create mode 100644 tests/web_search/test_scoring.py
create mode 100644 tests/web_search/test_search.py
create mode 100644 tests/web_search/test_simpleqa.py
diff --git a/.agents/skills/benchmark-report/SKILL.md b/.agents/skills/benchmark-report/SKILL.md
index 9de3f1751..f065c396b 100644
--- a/.agents/skills/benchmark-report/SKILL.md
+++ b/.agents/skills/benchmark-report/SKILL.md
@@ -31,7 +31,7 @@ An explicitly requested diagnostic report may be delivered separately from a cer
## Working contract
-Public report CLIs default to English where supported and expose `--language en|zh`. Preserve the selected language on rebuild. English builds retain the matching Chinese edition; keep measured material in its source language. Historical Chinese-only renderers must disclose that limit and reject unsupported requests. Bind generated languages and the selected entry in report metadata. English navigation opens a not-generated notice when absent; never publish stale English pages. Validate each generated edition and retain route, value and evidence-link parity checks when both exist.
+Public report CLIs fall back to English. `BROWSER_EVAL_REPORT_LANGUAGE` changes the environment default; an explicit `--language` wins, and a rebuild preserves the saved primary language. For an agent-driven build, select the language from the current conversation. English builds retain the matching Chinese edition; a Chinese selection does not generate an English translation unless explicitly requested. Keep measured material in its source language. Historical Chinese-only renderers must disclose that limit and reject unsupported requests. Bind generated languages and the selected entry in report metadata. English navigation opens a not-generated notice when absent; never publish stale English pages. Validate each generated edition and retain route, value and evidence-link parity checks when both exist.
1. Establish the decision being supported, the measured unit, cohort, versions, execution location, freshness policy, and intended deliverable. Inspect the actual dataset, runner, outputs, scorer, prior review evidence, and current report. Do not infer them from screenshots or prose.
2. Freeze a machine-readable evaluation contract before expensive calls. It must identify the exact cases and methods, run count, timeout, concurrency policy, input and output contract, scoring provenance, reference state, and publication target when one exists. Existing compiled reference answers are frozen by default. Source metadata, capture dates, and absent newer acceptance-contract fields do not imply a live-reference task. Only tasks explicitly declaring `source_verification.reference_mode: live_exact` require live checks. For those tasks, fail closed: verify and freeze references immediately before calls, verify the same declared scope afterward, and certify the cohort only when both checks pass. An unchanged compiled acceptance-contract dataset is already the benchmark input: freeze its task and rule bytes for execution, without requiring historical source-qualification raw files or re-auditing cohort admission. Qualify sources when adding tasks or changing references/acceptance rules; do not turn an ordinary version rerun into dataset reconstruction. Partial or uncertified cohorts remain diagnostic evidence and cannot enter a release.
@@ -46,7 +46,7 @@ For an explicitly requested full review, set `independent_result_review_scope: a
9. Rerun only calls whose inputs, provider route/version, runtime contract, or source validity changed. Recompute downstream scores and reports without provider calls when only scoring, annotations, or presentation changed. Never retry merely to obtain a better result. A reference or verdict correction must identify the shared root cause and add executable positive/negative controls through the production scorer; bind those regression IDs in the revision receipt instead of patching stored verdicts.
10. Build the public report from the frozen evidence. Every page should answer a reader question. Show task and run identifiers, the exact expected-versus-actual evidence behind a verdict, denominators and unavailable metrics, method differences, limits, concise reproduction instructions, and a compact review history.
-11. Release only after code tests, evidence integrity, report links, responsive/visual checks, secret scans, target-site checks, and deployed-output verification pass. Preserve earlier sites unless replacement was explicitly requested.
+11. Release only after code tests, evidence integrity, report links, deterministic interaction checks, the one-pass top-level-page reader review, secret scans, target-site checks, and deployed-output verification pass. Responsive and theme matrices belong to shared renderer tests when those owners change; do not replay them for every report release. Preserve earlier sites unless replacement was explicitly requested.
12. Present one authoritative logical result per method and task. The frozen protocol chooses the score-bearing execution; a renderer must never silently replace that rule. Keep every physical call in the evidence chain retain accumulated execution cost separately from the declared primary latency metric. State whether primary latency measures the final call or the complete user-visible operation; retries never increase the logical-result denominator. Do not make execution ordinal labels part of the public comparison unless retry behavior is the declared subject.
13. Apply the track-independent presentation contract in [report and release](references/report-and-release.md) to every report, including a new track. Wire semantic checks into its release command; prose instructions alone are not a release gate.
14. In this repository, publish a finished report to the Artifact Site host and site bound by that track’s current profile, following that host’s current `for-agents.md`. Never embed a default deployment hostname or borrow a target from another report. Build and validate before the external write, bind the returned slug, share URL, and version in the current profile, use optimistic locking for later updates, and verify the unauthenticated share page. Use repository publish targets when available; do not reconstruct a target from prose or an earlier receipt. Export the whole deployed tree only when the specific report publisher requires it or when diagnosing a release failure.
diff --git a/.agents/skills/benchmark-report/references/presentation-quality.md b/.agents/skills/benchmark-report/references/presentation-quality.md
index 9b20667c4..614a6f9f9 100644
--- a/.agents/skills/benchmark-report/references/presentation-quality.md
+++ b/.agents/skills/benchmark-report/references/presentation-quality.md
@@ -32,8 +32,8 @@ Choose checks from the changed surface:
| --- | --- |
| Metric value or comparison logic | Unit test the semantic contract and independently recompute affected derived values |
| Table markup or emphasis | Render representative directional, tied, missing, and observational rows |
-| Navigation or drill-down | Check every top-level route and one representative result-to-evidence path |
-| CSS, layout, or responsive behavior | Visually inspect affected page types at desktop and narrow viewport widths |
+| Navigation or drill-down | Deterministically check all routes and links; render every top-level page once |
+| CSS, layout, or responsive behavior | Run shared component coverage; visually inspect only the affected page types at one representative width |
| Text-only wording | Factual and terminology review; no visual sweep unless wrapping or hierarchy changes |
| Release metadata only | Binding and destination check only |
diff --git a/.agents/skills/benchmark-report/references/report-and-release.md b/.agents/skills/benchmark-report/references/report-and-release.md
index f0997bc78..07ab2a7af 100644
--- a/.agents/skills/benchmark-report/references/report-and-release.md
+++ b/.agents/skills/benchmark-report/references/report-and-release.md
@@ -20,9 +20,9 @@ A diagnostic instance profile can bind `diagnostic_input.path` relative to the d
## Language generation
-Public CLIs default to English where the current renderer supports it and accept `--language en|zh`. Rebuilds preserve the saved choice. English builds retain a matching Chinese edition; language selection never translates measured evidence or changes scores. Historical Chinese-only reports must disclose their limit and reject an English request. Record generated editions and the primary entry in metadata. If English is absent, keep only its not-generated notice with a return link and remove stale English pages and unused assets. Validate each generated edition; bilingual reports require matching routes, values, section order and evidence links.
+Public CLIs fall back to English and accept `--language en|zh`. `BROWSER_EVAL_REPORT_LANGUAGE` supplies an environment default; explicit arguments win, and rebuilds preserve the saved choice. Agent-driven builds choose from the current conversation language. English builds retain a matching Chinese edition; a Chinese selection omits the English translation unless it is requested. Language selection never translates measured evidence or changes scores. Historical Chinese-only reports must disclose their limit and reject an English request. Record generated editions and the primary entry in metadata. If English is absent, keep only its not-generated notice with a return link and remove stale English pages and unused assets. Validate each generated edition; bilingual reports require matching routes, values, section order and evidence links.
-For the current trajectory report, `make trajectory-replay-report EVIDENCE=/absolute/path/results.json` defaults to English. Set `REPORT_LANGUAGE=zh` (or the build script's `--language zh`) for Chinese-only output. Report, visual and packaging checks use the generated manifest, so they do not regenerate an absent edition.
+For the current trajectory report, `make trajectory-replay-report EVIDENCE=/absolute/path/results.json` uses the shared language resolution. Set `REPORT_LANGUAGE=zh|en`, `BROWSER_EVAL_REPORT_LANGUAGE=zh|en`, or the build script's `--language` when selecting a different entry. Report, visual and packaging checks use the generated manifest, so they do not regenerate an absent edition.
## Reader-facing structure
@@ -100,7 +100,7 @@ Common publication gates:
6. fetch the unauthenticated share URL and compare the deployed file tree or archive with the submitted package;
7. record a concise release entry with score/denominator effects and remaining limits.
-The responsive/visual gate must cover every core route class, both languages, desktop and narrow widths, and light and dark themes. Check that short headers do not wrap one character per line, long cells receive deliberate width or scrolling, filters remain operable, code and evidence blocks have readable contrast, and text-heavy diagrams use scalable/vector rendering or retain a readable minimum width. A screenshot of only the home page is insufficient.
+The release reader pass renders each top-level navigation page once at the standard desktop width in every explicitly generated edition. It checks the report's reading order, visible values, data-bearing visuals, tables and horizontal overflow. It does not repeat detail pages, themes, viewports or interaction tours. Shared renderer/component tests own narrow-width and theme behavior; deterministic generation-time tests own route completeness, links, filters, pagination, dialogs and evidence loading. A host-specific nested-path contract gets one representative local topology check, never a remote click-through.
Render release history like a report, not a heading plus a raw table: show the current version summary first, keep evidence/handling/impact details expandable, retain older versions in a compact history, and provide the structured record download. Each entry states what changed, why, the formal handling, and the score, denominator, latency, evidence, and limitation effects.
Keep localized release text beside each structured release record and render every language from that record. Do not copy release-specific prose or historical measurements into report renderers or exact-string translation tables. Check the rendered release IDs, summary, effects and evidence links against the record; wording changes alone must not require a release-gate code edit.
diff --git a/.env.example b/.env.example
index 8fc860082..035f1b677 100644
--- a/.env.example
+++ b/.env.example
@@ -6,6 +6,11 @@ OPENCLAW_REPO=
OPENCLAW_NODE=~/.browser-eval/toolchains/openclaw-node/node_modules/node/bin/node
OPENCLAW_PNPM=~/.browser-eval/toolchains/openclaw-node/node_modules/.bin/pnpm
DEEPSEEK_HARNESS_REPO=
+
+# Web Search providers. Keep evaluation credentials in this repository file.
+LEXMOUNT_SEARCH_API_KEY=
+DEEPSEEK_API_KEY=
+BOCHA_API_KEY=
OSS_PYTHON=.venv/bin/python
# Official Moli CLIs; each measured release binary is version- and SHA-256-gated.
# Use an executable path or a command on PATH. No API key is needed.
@@ -55,6 +60,10 @@ ARTIFACT_SITE_TOKEN=
# Set explicitly in the environment for both report build and packaging.
WEBFETCH_REPORT_PUBLIC_URL=
+# Public report language. Agents set this from the conversation language.
+# The code fallback is English when this variable is absent.
+BROWSER_EVAL_REPORT_LANGUAGE=
+
# Core benchmark
LEXMOUNT_API_KEY=
LEXMOUNT_PROJECT_ID=
diff --git a/AGENTS.md b/AGENTS.md
index 23ce014a1..e73ee57a6 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -51,7 +51,7 @@ These requirements apply to **all** report tracks; browser-specific rules below
- A reference, scoring or acceptance correction must fix the shared cause, not patch stored verdicts or one provider. Add paired executable controls to `evaluation/scoring-regressions.json` where both error directions are plausible, run them through the public `score_attempt` and task predicate, and bind the root cause plus regression IDs in every new reference/scoring revision receipt. A revision without this provenance fails before evidence is changed.
- A heterogeneous same-window latency cohort keeps every predeclared method-task call. Report the common-denominator all-call distribution separately from each method's conditional successful-call distribution; an all-method common-pass intersection is diagnostic only and must never drive post-outcome task selection or a ranking.
- Evaluation credentials come only from the repository `.env`. Artifact Site publishing is the sole user-scoped exception: read explicit `ARTIFACT_SITE_TOKEN`, then `~/.config/artifact-site/tokens/`; the previous `ARTIFACT_HUB_TOKEN` and `~/.config/artifact-hub/` locations are read-only migration fallbacks. Never load `.env` for publishing. Save new authorizations per target host without overwriting another deployment's token. Keep `.env.example` current and publish only account requirements, official acquisition links and variable names.
-- Public report CLIs default to English where the owning renderer supports it; expose `--language en|zh` and preserve the saved primary language on rebuild. English builds retain the matching Chinese edition. Chinese-only historical renderers must state their limitation and reject an English request rather than relabel untranslated pages. Never infer language from host locale or translate measured evidence. Record generated editions and the selected entry in report metadata. When English is absent, its navigation opens a not-generated notice with a return link; never ship stale English pages. Check the generated languages and notice, and require matching route inventories, section order, tables, values, filters and evidence links when both editions exist.
+- Public report CLIs fall back to English. `BROWSER_EVAL_REPORT_LANGUAGE` changes the environment default; an explicit `--language` wins, and an existing report preserves its saved primary language. Agent-driven builds must set the language from the current user conversation instead of guessing from the host locale. English builds retain the matching Chinese edition; a Chinese selection generates no English translation unless explicitly requested. Keep measured material in its source language. Historical Chinese-only renderers must state their limitation and reject unsupported requests. Record generated editions and the selected entry in report metadata. When English is absent, its navigation opens a not-generated notice with a return link; never ship stale English pages. Require route, value and evidence-link parity only when both editions were explicitly generated.
- Web, dynamic, popular-site and document text use shared `score_attempt` orchestration and one task-result predicate. Task-specific requirements live in case configuration, not provider- or track-specific scoring branches. Binary acceptance and text diagnostics remain separate; missing reference coverage is unavailable, not zero or perfect.
- Dynamic-content reference capture follows `harness/web_fetch/README.md`: retain paired initial HTTP bytes and independently rendered visible text, bound completion and the full declared scope. Distinguish embedded state from follow-up fetching; never require JavaScript as the only valid route.
- Popular-site stable text must be independently observed and task-relevant. Do not freeze volatile ranks, prices, member counts or current list membership. Title diagnostics join returned entities to independent names by detail URL and never substitute for body quality, recall, freshness or task acceptance.
@@ -80,7 +80,7 @@ These requirements apply to **all** report tracks; browser-specific rules below
- Split environment preparation, browser-session setup, Agent run, BrowserTool wall time, evidence finalization and evaluator time at collection. Publish the self-hosted deployment topology and image identity; claim per-execution reset/readiness only when a preparation receipt binds reset, readiness and application health.
- Formal report prose is reader-facing: no prompts, reasoning, internal work narration, conversational rebuttals or references to parallel sessions. Review pages contain review rounds and corrections, not per-case audit tables; release notes contain reader-visible effects.
- English routes may preserve measured task names, IDs and evidence verbatim, but all report-authored interface and explanatory prose must be localized. Release checks must reject known untranslated interface markers and untranslated accessibility attributes.
-- Before release, inspect every core route class in each explicitly generated language at desktop and narrow widths in both themes, plus the English not-generated notice when applicable. Prevent vertical table labels, clipped controls and unreadable evidence; use ImageGen raster assets or Mermaid rather than SVG for Browser Use diagrams.
-- Keep routine report checks fast and deterministic; they cover structure, evidence, links, terminology, and static readability guards without launching a browser. Run the separate full release check before packaging or publishing; it adds the complete cross-language, cross-theme, desktop and narrow-width visual gate.
+- Before release, render every top-level navigation page once at the standard desktop width in the saved primary language, and do the same for another explicitly generated edition. Review its content hierarchy, data-bearing visuals, tables and horizontal overflow. Do not multiply this reader pass across detail pages, themes or viewports. Cover responsive layout and theme behavior once in shared renderer/component tests when those owners change; cover filters, pagination, dialogs and evidence links with deterministic generation-time behavior tests. When a host has special nested-path rules, add one representative local topology check instead of navigating the deployed report.
+- Keep routine report checks fast and deterministic; they cover the complete route inventory, evidence, links, terminology, filters, pagination and static readability without launching a browser. The release browser pass is a focused content-and-layout review of top-level pages, not a second interaction test suite.
All code changes go through a feature branch and pull request. Never push directly to main or merge a pull request.
diff --git a/README.md b/README.md
index be06ae515..740f8cf92 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,7 @@ Supported execution tracks:
| Track | Question | Start here |
| --- | --- | --- |
+| Web Search | Which links and text does a search API return, at what latency and cost? | [Synthetic example](examples/web_search/README.md) · [Track guide](harness/web_search/README.md) |
| Web Fetch | Can a method return the required page text, records, resources or files? How long does it take? | [Local example](examples/web_fetch/README.md) · [Full guide](harness/web_fetch/README.md) |
| Browser Trajectory Replay | Can different browsers complete the same recorded actions? What resources do they use? | [Curated suite](examples/trajectory_replay/README.md) · [WebArena recordings](examples/trajectory_replay/public_webarena/README.md) |
| Browser Use | Can an Agent complete a task when only the browser changes? | [CowAgent + WebArena guide](examples/browser_use/README.md) |
@@ -113,7 +114,7 @@ major comparison rules.
| Output | What you will find |
| --- | --- |
-| `report/en/index.html` | English comparisons, task results and evidence links |
+| `report/en/index.html` | English edition when it was explicitly requested; otherwise a not-generated notice |
| `report/index.html` | Report entry; opens the selected language |
| `results.jsonl`, `summary.json` | Scores and aggregates for scripts or further analysis |
| `manifest.json`, `dataset.json` | Methods, versions, settings and tasks used |
@@ -127,11 +128,11 @@ Rebuild a report from saved evidence without repeating browser or API calls:
uv run --frozen browser-harness-eval report /absolute/path/to/run
```
-The Web Fetch CLI opens English by default, with a switchable Chinese edition. Choose Chinese when starting a run, or change the language of a saved report:
+The Web Fetch CLI falls back to English. Set the environment default for a team or agent session, or select a language explicitly; an existing report keeps its saved choice:
```bash
-uv run --frozen browser-harness-eval run --delay 0 --language zh
-uv run --frozen browser-harness-eval report /absolute/path/to/run --language en
+BROWSER_EVAL_REPORT_LANGUAGE=zh uv run --frozen browser-harness-eval run --delay 0
+uv run --frozen browser-harness-eval report /absolute/path/to/run --language zh
```
Rebuilding without `--language` keeps the previous choice. Language changes do not repeat calls or change scores; task wording, responses and logs retain their original language. English (`en`) and Chinese (`zh`) are supported; other language codes are rejected. See [report language support](docs/report-hosting.md#report-languages) for the standalone builders and historical reports.
diff --git a/configs/report-templates.json b/configs/report-templates.json
index 36693ead9..4f85d1230 100644
--- a/configs/report-templates.json
+++ b/configs/report-templates.json
@@ -48,6 +48,23 @@
"tests": "tests/browser_use/test_report.py",
"package": "uv run --frozen python scripts/package_browser_use_artifact_hub.py --report /absolute/new-report --profile /absolute/instance-profile.json --evidence /absolute/evidence --output /absolute/package.zip --attestation /absolute/attestation.json --visual-receipt /absolute/visual.json",
"example": "https://artifact-hub.app.lexmount.com/s/7l77EeXPRfml?version=ver_ce4dd70fde2e444ab18d24bba3ee0e93"
+ },
+ "web-search": {
+ "renderer": "harness/web_search/report.py",
+ "entrypoint": "scripts/build_search_report.py",
+ "profile": "evaluation/web-search/current.json",
+ "example": "examples/web_search/README.md",
+ "example_version": 1,
+ "example_build": "uv run --frozen python -m harness.web_search.example --output /tmp/search-example",
+ "build": "uv run --frozen python scripts/build_search_report.py --source /absolute/run --output /absolute/report",
+ "check": "uv run --frozen python scripts/build_search_report.py --output /absolute/report --check",
+ "tests": "tests/web_search/test_report.py",
+ "variants": [
+ "certified-api-comparison",
+ "synthetic",
+ "combined-cohorts"
+ ],
+ "release_check": "uv run --frozen python scripts/build_search_report.py --output /absolute/report --release-check /absolute/visual-receipt.json"
}
}
}
diff --git a/docs/README.zh-CN.md b/docs/README.zh-CN.md
index 7b2bceeb8..086432e50 100644
--- a/docs/README.zh-CN.md
+++ b/docs/README.zh-CN.md
@@ -37,6 +37,7 @@ flowchart LR
| 轨道 | 回答什么问题 | 从这里开始 |
| --- | --- | --- |
+| Web Search | 搜索接口返回哪些链接和文本,耗时与费用如何? | [合成示例](../examples/web_search/README.md) · [专项指南](../harness/web_search/README.md) |
| Web Fetch | 能否返回任务要求的正文、记录、资源或文件?需要多久? | [本地示例](../examples/web_fetch/README.md) · [完整说明](../harness/web_fetch/README.md) |
| Browser Trajectory Replay(轨迹重放) | 不同浏览器能否完成同一组已记录的操作?消耗多少资源? | [项目任务集](../examples/trajectory_replay/README.md) · [WebArena 人工轨迹](../examples/trajectory_replay/public_webarena/README.md) |
| Browser Use | 只更换浏览器时,Agent 能否完成任务? | [CowAgent + WebArena 说明](../examples/browser_use/README.md) |
@@ -112,7 +113,7 @@ uv run --frozen browser-harness-eval run --delay 0
| 输出 | 内容 |
| --- | --- |
-| `report/en/index.html` | 英文比较、任务结果和证据入口 |
+| `report/en/index.html` | 仅在显式要求时生成英文版;否则显示未生成说明 |
| `report/index.html` | 报告入口,打开所选语言 |
| `results.jsonl`、`summary.json` | 供程序分析的评分和汇总 |
| `manifest.json`、`dataset.json` | 使用的方法、版本、设置和任务 |
@@ -126,11 +127,11 @@ uv run --frozen browser-harness-eval run --delay 0
uv run --frozen browser-harness-eval report /absolute/path/to/run
```
-Web Fetch 命令默认打开英文报告,并保留可切换的中文版。开始评测时可以选中文,也可以更改已有报告的语言:
+Web Fetch 命令在没有配置时默认英文。团队或 Agent 会话可通过环境变量设置默认语言,也可显式指定;已有报告沿用保存的语言:
```bash
-uv run --frozen browser-harness-eval run --delay 0 --language zh
-uv run --frozen browser-harness-eval report /absolute/path/to/run --language en
+BROWSER_EVAL_REPORT_LANGUAGE=zh uv run --frozen browser-harness-eval run --delay 0
+uv run --frozen browser-harness-eval report /absolute/path/to/run --language zh
```
重建时不传 `--language`,会沿用上次的选择。切换语言不重新调用浏览器或服务,也不改变评分;任务原文、响应和日志保留原来的语言。目前支持英文(`en`)和中文(`zh`),其他语言代码会报错。独立构建器和历史报告的支持范围见[报告语言说明](report-hosting.md#report-languages)。
diff --git a/docs/architecture.md b/docs/architecture.md
index 183cff7ec..685f6e3cd 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -136,10 +136,11 @@ receipts retain the binding hash, and upload snapshots protect it from changes.
### Check and publish
Release checks cover evidence, links, semantic presentation and the declared
-languages. A separate visual gate exercises core routes, success and failure
-details, evidence controls, navigation, desktop and narrow widths, and both
-themes. Packaging copies only declared public files, rejects symlinks and checks
-that source and authority bytes remain unchanged.
+languages. A focused reader pass renders each top-level navigation page once at
+the standard desktop width. Deterministic generation checks own routes, detail
+links, filters, pagination, dialogs and evidence loading; shared component tests
+own narrow-width and theme behavior. Packaging copies only declared public files,
+rejects symlinks and checks that source and authority bytes remain unchanged.
Use the selected track's publisher after its release gates pass. Publishers
freeze the archive and authority, check the expected remote version, retain
diff --git a/docs/report-hosting.md b/docs/report-hosting.md
index 2a539bae4..dbda51dbd 100644
--- a/docs/report-hosting.md
+++ b/docs/report-hosting.md
@@ -20,14 +20,14 @@ an older report.
## Report languages
-The Web Fetch CLI defaults to English. `run --language zh` generates Chinese only; `report --language en` rebuilds both editions and opens English. A rebuild without `--language` keeps the saved choice, including Chinese-only reports created by older versions.
+The Web Fetch CLI falls back to English. `BROWSER_EVAL_REPORT_LANGUAGE=zh` changes the environment default, and `--language` overrides it. A rebuild without `--language` keeps the saved choice.
| Builder | Language selection |
| --- | --- |
-| `browser-harness-eval run`, `report`, `rescore` | `--language en` or `--language zh`; new runs default to English |
-| `scripts/build_report.py`: standard Web Fetch, local audit, WCXB, WebMainBench sample, research companion | `--language en` or `--language zh`; default English |
-| `scripts/build_browser_use_report.py` | `--language en` or `--language zh`; default English |
-| `scripts/build_webarena_replay_report.py` | `--language en` or `--language zh`; default English |
+| `browser-harness-eval run`, `report`, `rescore` | `--language en` or `--language zh`; fallback English, environment configurable |
+| `scripts/build_report.py`: standard Web Fetch, local audit, WCXB, WebMainBench sample, research companion | `--language en` or `--language zh`; fallback English, environment configurable |
+| `scripts/build_browser_use_report.py` | `--language en` or `--language zh`; fallback English, environment configurable |
+| `scripts/build_webarena_replay_report.py` | `--language en` or `--language zh`; fallback English, environment configurable |
| Complete 545-case WebMainBench and diagnostic-cohort reports | Chinese-only content; omitted language keeps the historical Chinese default; explicit `en` is rejected |
| Curated replay example, public WebArena recording report and catalog | Chinese-only renderers; no language option |
@@ -35,7 +35,7 @@ Builders keep the saved language when rebuilding without `--language`. Make foll
English builds retain a Chinese edition so readers can switch languages. Chinese-only builds show a notice at the English entry. These choices affect report text and navigation, not scores, timings or saved evidence. Task names, source quotations, responses and logs stay in their original language.
-Upload the entire report directory, including `en/`, assets and evidence. The report root opens the selected language; Chinese links remain usable when English is the default. Serve the directory over HTTP for evidence that loads on demand.
+Upload the entire report directory, including the English notice or explicitly generated edition, assets and evidence. The report root opens the selected language. Serve the directory over HTTP for evidence that loads on demand.
Only `en` and `zh` are supported. Unsupported codes fail before a run starts or an existing report is replaced. Browser or operating-system language does not silently change a report. To add a language, extend the owning renderer's translation catalog and route, value and evidence-link checks; see [contributing](../CONTRIBUTING.md).
diff --git a/evaluation/web-search/NOTICE.txt b/evaluation/web-search/NOTICE.txt
new file mode 100644
index 000000000..2b0b2bb80
--- /dev/null
+++ b/evaluation/web-search/NOTICE.txt
@@ -0,0 +1,42 @@
+The 80 public_catalog queries are adapted from Microck/websearch-bench
+Commit: 7714e86b1b8d7b943037c38b04d4f6ba65566d5b
+Source: https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl
+Query text and intent are retained; provider judgments and scores are not imported.
+
+MIT License
+
+Copyright (c) 2026 Microck
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+SimpleQA Verified factual retrieval probes
+------------------------------------------
+Source: Google DeepMind / Google Research, SimpleQA Verified
+Authors: Lukas Haas, Gal Yona, Giovanni D'Antonio, Sasha Goldshtein, Dipanjan Das
+Dataset revision: ed392714d14fa5225b07c2b456453983bc75f690
+Dataset: https://huggingface.co/datasets/google/simpleqa-verified
+Report: https://arxiv.org/abs/2509.07968
+The pinned dataset card declares the MIT license.
+
+The search profile retains the original question, reference answer and supporting
+URLs for all 831 questions within the shared 128-character input limit. The other
+169 questions were excluded before collection. These are adapted retrieval probes,
+not official SimpleQA Verified scores: the original benchmark evaluates parametric
+knowledge without search or retrieval tools. Source-URL and literal-answer checks
+are reported separately and do not replace semantic answer grading.
diff --git a/evaluation/web-search/assets.json b/evaluation/web-search/assets.json
new file mode 100644
index 000000000..f76d28fd3
--- /dev/null
+++ b/evaluation/web-search/assets.json
@@ -0,0 +1,91 @@
+{
+ "schema": "web-search-assets/1",
+ "data_home": "BROWSER_EVAL_DATA_HOME or ~/.browser-eval",
+ "publication_target": "evaluation/web-search/publication-target.json",
+ "files": [
+ {
+ "path": "web-search/20261020-v1/reader-content.json",
+ "sha256": "515e971e18b3d87bcdbcc02c6dcd34f11a9d4fe648854ef287ef255992f30b02"
+ },
+ {
+ "path": "web-search/20261020-v1/reader-report/manifest.json",
+ "sha256": "ba2ec90fe59118e91cce8ed6206b2903ed88e86442ef5121b887bd37df883e60"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-ai-esg-request.json",
+ "sha256": "a84c1660c1b5287bcda29f5d68c1646e755af3f9f5c5b19c10364bf59ecc16aa"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-ai-esg-response.json",
+ "sha256": "033cd00ffa7a74d970c682a3df5ca6e4010bf1664d2833ebbb882b178aca3a3a"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-ai-request.json",
+ "sha256": "57c564c80fd0090e2c324af67246cd43630345ed0a1763b3f361407ddf0feb16"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-ai-response.json",
+ "sha256": "9316e77e68a8f9b8c262b6c4674b793b1ae3590cbec9ac0c0bccd3f642ee0e85"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-web-esg-request.json",
+ "sha256": "df4acf4902ae9bebf6fb335ce373baf8285d2b9a193bd80429b430ad6dafff71"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-web-esg-response.json",
+ "sha256": "aa15ce8fab393dde9b926caf68a1f409e03d46d3e8b66ec5f77bf8c2c77564ab"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-web-request.json",
+ "sha256": "01f2e87756e786089afeebd5bae3d277e14d5a87634df7f66ef98d9a9a8b0a71"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/bocha-web-response.json",
+ "sha256": "6968208082b5744f1b82adaab5bd38cd706ecbcf89169321635383bfdec6ccc9"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/esg-request.json",
+ "sha256": "639370ff008a3e328a49322ec61fd6b02275f2c0c4016d03bf585c5de88d86bf"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/esg-response.json",
+ "sha256": "a49072931d245a3408e78acc8bed750c9b93e6150d566121472c35d8106fb10e"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/palace-request.json",
+ "sha256": "cc397777692776276a88a4438acd3b311870e07a89769e3e557a58d245f7a69b"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/palace-response.json",
+ "sha256": "4d6599f5ed1c984aa3cf7e02a3bec228f5154ea5c2c8e6f1f42ccabb9c2b7623"
+ },
+ {
+ "path": "web-search/20261020-v1/interface-research/source.json",
+ "sha256": "1d5d89a7d751f1cef490baf6a0afcf0bdb5636347054364bae778a15230299ef"
+ },
+ {
+ "path": "web-search/20261020-expanded-120/profile.json",
+ "sha256": "537cbfe360df8a3cac6ed1afc7d08837f8195de9a8ac5dc834cd8d6d0b4a08e2"
+ },
+ {
+ "path": "web-search/20261020-expanded-120/receipt.json",
+ "sha256": "3264449659a16c17b45293c36e8951e8c13a37c2df10ad6c7982aa32a68f7881"
+ },
+ {
+ "path": "web-search/20261020-social-28/profile.json",
+ "sha256": "9d6241102df4f6cf137e50914b9d72097cdf9c4bc59f3b9eececd149f77f3361"
+ },
+ {
+ "path": "web-search/20261020-social-28/receipt.json",
+ "sha256": "d60d70b5ef337533d43c3792f0454af1120898e0180340372dd922330e1aaac7"
+ },
+ {
+ "path": "web-search/20261020-community-original/profile.json",
+ "sha256": "9b4b54743822bc52c5ae45494ba1de7116d9668d15a540222da3e585d831cd4f"
+ },
+ {
+ "path": "web-search/20261020-community-original/receipt.json",
+ "sha256": "1b6973cc322747a46aa96b42924cff9cf19b3ded45d984eb1dffd9398652ac98"
+ }
+ ]
+}
diff --git a/evaluation/web-search/community-originals.json b/evaluation/web-search/community-originals.json
new file mode 100644
index 000000000..105e593df
--- /dev/null
+++ b/evaluation/web-search/community-originals.json
@@ -0,0 +1,95 @@
+{
+ "schema": "web-search/1",
+ "title": "One additional exact community query from the supplied Arcadia screenshot",
+ "publication": {
+ "host": "https://artifact-site.lexmount.cn",
+ "state": "new-private-artifact",
+ "slug": null,
+ "expected_version": null
+ },
+ "protocol": {
+ "top_k": 10,
+ "rounds": 3,
+ "score_round": 0,
+ "concurrency": 1,
+ "server_timeout_ms": 10000,
+ "client_timeout_s": 20,
+ "interval_s": 0.3,
+ "retry": false,
+ "order": "rotate methods by case and round",
+ "latency": "Client wall time to complete response bytes; all calls and nonempty successes reported separately",
+ "quality": "First preselected round; known-page hit@5/@10 and reciprocal rank; not full-web recall",
+ "review": "No independent result review; machine checks only",
+ "reference": "Before/after complete publisher responses verify declared target identity; volatile HTML bytes may differ. No source-body scoring.",
+ "cost": "List-price estimate in native currency; unknown Lexmount price remains unavailable; not an invoice",
+ "reference_timeout_s": 30,
+ "reference_scope": "identity",
+ "execution_location": "Same macOS client in Asia/Shanghai time zone; provider localization defaults; upstream geographic routing not controlled"
+ },
+ "methods": [
+ {
+ "id": "lexmount",
+ "label": "Lexmount Search",
+ "adapter": "lexmount",
+ "endpoint": "https://webfetch.local.lexmount.net/v1/search",
+ "key_env": "LEXMOUNT_SEARCH_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": null,
+ "price_source": "Product pricing not set in supplied requirements",
+ "price_checked": "2026-10-20",
+ "billing": "unknown"
+ },
+ {
+ "id": "deepseek",
+ "label": "DeepSeek Search + content",
+ "adapter": "deepseek",
+ "endpoint": "https://api.deepseek.com/v1/tools/search",
+ "key_env": "DEEPSEEK_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 5,
+ "price_source": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "price_checked": "2026-10-20",
+ "billing": "http-200-nonempty"
+ }
+ ],
+ "cases": [
+ {
+ "id": "arcadia-homelab-original",
+ "family": "web",
+ "category": "community_original",
+ "language": "zh",
+ "query": "个人博客 Homelab NixOS",
+ "anchors": [],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "provenance_kind": "community_exact",
+ "intent": "Find independent personal blogs discussing Homelab and NixOS.",
+ "derivation": "Exact visible query in user-supplied screenshot 3; no inferred relevance labels or expected pages.",
+ "source_image_sha256": "c751c85b3c961f129a3b3d863a5a99150d09617acc223e8d0348e14b8e725aea"
+ }
+ ],
+ "reference_revision": {
+ "id": "search-reference-1",
+ "root_cause": "A paper lookup targets the paper across arXiv formats; a repository lookup targets the official repository including files. Exact landing-page equality is too narrow. Other tasks keep exact known-page anchors.",
+ "scope": "All methods for declared paper and repository tasks; frozen diagnostic preflight remains unchanged",
+ "regressions": [
+ "tests.web_search.test_search.ReferenceIdentityScenarios.test_paper_formats_match_declared_paper_but_citations_do_not",
+ "tests.web_search.test_search.ReferenceIdentityScenarios.test_declared_repository_accepts_files_but_not_forks_or_lookalikes",
+ "tests.web_search.test_search.ReferenceIdentityScenarios.test_reference_url_without_entity_contract_stays_exact"
+ ]
+ },
+ "collection_revision": {
+ "id": "search-collection-2",
+ "root_cause": "HTTP 200 can precede a truncated body; reference availability now also requires a successful transfer. Reference timeout is separate from API timing.",
+ "scope": "Entire declared two-method, 24-query, three-round cohort rerun; previous calls preserved outside Git",
+ "regressions": [
+ "tests.web_search.test_runner.ReferenceCaptureScenarios.test_http_200_with_incomplete_transfer_is_not_qualified"
+ ],
+ "supersedes_data_home_relative": "web-search/20261020-matched"
+ },
+ "cohort_revision": {
+ "reason": "Expand from 24 to 120 preregistered queries; public query catalog and exact community queries added. New complete matrix; previous pilot retained separately.",
+ "public_catalog_commit": "7714e86b1b8d7b943037c38b04d4f6ba65566d5b",
+ "public_catalog_sha256": "90ed45dae3a4604664102eede1470e1a1ab1cdca0c54f279113c94ec55c64231"
+ },
+ "reference_checks": {}
+}
diff --git a/evaluation/web-search/current-report.json b/evaluation/web-search/current-report.json
new file mode 100644
index 000000000..645b69e47
--- /dev/null
+++ b/evaluation/web-search/current-report.json
@@ -0,0 +1,2372 @@
+{
+ "schema": "web-search/1",
+ "title": "Search API benchmark — 149 queries, five results",
+ "publication": {
+ "host": "https://artifact-site.lexmount.cn",
+ "state": "update-private-artifact",
+ "slug": "W3MxzlJuPRl6",
+ "expected_version": "ver_f5a6b8253cf240998915e60a75087817"
+ },
+ "protocol": {
+ "top_k": 5,
+ "rounds": 1,
+ "score_round": 0,
+ "concurrency": 1,
+ "server_timeout_ms": 10000,
+ "client_timeout_s": 20,
+ "interval_s": 0.3,
+ "retry": true,
+ "order": "rotate methods by case",
+ "latency": "One logical result per query and provider; end-to-end elapsed time includes a single retry after transport, HTTP, or invalid-response failure",
+ "quality": "Final response only; known-page Hit@5 and reciprocal rank. Relevance requires a separate pooled judgment set.",
+ "review": "No independent result review; machine checks only",
+ "reference": "Before/after complete publisher responses verify declared target identity; volatile HTML bytes may differ. No source-body scoring.",
+ "cost": "Cumulative list-price estimate over physical calls; unknown Lexmount price remains unavailable; not an invoice",
+ "reference_timeout_s": 30,
+ "reference_scope": "identity",
+ "execution_location": "Same macOS client in Asia/Shanghai time zone; provider localization defaults; upstream geographic routing not controlled",
+ "as_of": "2026-10-20"
+ },
+ "methods": [
+ {
+ "id": "lexmount",
+ "label": "Lexmount Search",
+ "adapter": "lexmount",
+ "endpoint": "https://webfetch.local.lexmount.net/v1/search",
+ "key_env": "LEXMOUNT_SEARCH_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": null,
+ "price_source": "Product pricing not set in supplied requirements",
+ "price_checked": "2026-10-20",
+ "billing": "unknown"
+ },
+ {
+ "id": "deepseek",
+ "label": "DeepSeek Search + content",
+ "adapter": "deepseek",
+ "endpoint": "https://api.deepseek.com/v1/tools/search",
+ "key_env": "DEEPSEEK_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 5,
+ "price_source": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "price_checked": "2026-10-20",
+ "billing": "http-200-nonempty"
+ },
+ {
+ "id": "bocha",
+ "label": "Bocha Web Search",
+ "adapter": "bocha",
+ "endpoint": "https://api.bochaai.com/v1/web-search",
+ "key_env": "BOCHA_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 36,
+ "price_source": "https://market.aliyun.com/detail/cmgj00071702.html",
+ "price_checked": "2026-10-20",
+ "billing": "http-200"
+ }
+ ],
+ "cases": [
+ {
+ "id": "ds-price-zh",
+ "family": "web",
+ "language": "zh",
+ "query": "DeepSeek Search API 价格 空结果 是否收费",
+ "anchors": [
+ "https://api-docs.deepseek.com/zh-cn/guides/search/"
+ ],
+ "origin": "https://x.com/Mileson07/status/2112394138054279679",
+ "derivation": "New query from reported per-task billing concern",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "ds-price-en",
+ "family": "web",
+ "language": "en",
+ "query": "DeepSeek search fetch API pricing count need_content",
+ "anchors": [
+ "https://api-docs.deepseek.com/guides/search/"
+ ],
+ "origin": "https://x.com/ethereaglehq/status/2112397029393736153",
+ "derivation": "New query from billing discussion",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "ds-schema",
+ "family": "web",
+ "language": "en",
+ "query": "DeepSeek search API rerank_score authority summary schema",
+ "anchors": [
+ "https://api-docs.deepseek.com/api/search/"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "New query testing official specification discovery",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "tavily-price",
+ "family": "web",
+ "language": "en",
+ "query": "Tavily basic advanced search API credits pricing",
+ "anchors": [
+ "https://docs.tavily.com/documentation/api-credits"
+ ],
+ "origin": "https://x.com/ai_fengshou/status/2112382046328807921",
+ "derivation": "New query testing a price-comparison claim",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "gemini-original",
+ "family": "web",
+ "language": "en",
+ "query": "find out who Gemini cites for your query",
+ "anchors": [
+ "https://suganthan.com/blog/gemini-citations/"
+ ],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "derivation": "Exact published query; known original page, not an exhaustive relevance judgment; top 10 differs from author count=50",
+ "provenance_kind": "community_exact",
+ "category": "web"
+ },
+ {
+ "id": "fanout-original",
+ "family": "web",
+ "language": "en",
+ "query": "ChatGPT fan-out queries Chrome extension",
+ "anchors": [
+ "https://suganthan.com/blog/fanoutfox/"
+ ],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "derivation": "Exact published query; known creator page; top 10 differs from author count=50; caller localization left at default",
+ "provenance_kind": "community_exact",
+ "category": "web"
+ },
+ {
+ "id": "kubernetes-probe",
+ "family": "web",
+ "language": "zh",
+ "query": "Kubernetes Deployment 滚动更新 maxSurge maxUnavailable 官方文档",
+ "anchors": [
+ "https://kubernetes.io/docs/concepts/workloads/controllers/deployment/",
+ "https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/"
+ ],
+ "origin": "authored-control",
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "ranking-benchmark",
+ "family": "web",
+ "language": "en",
+ "query": "Artificial Analysis Search Index methodology fixed answer model",
+ "anchors": [
+ "https://artificialanalysis.ai/methodology/search-api"
+ ],
+ "origin": "https://x.com/IMG_5955/status/2112392830878732564",
+ "derivation": "New query to verify benchmark methodology rather than social ranking",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "freshstack",
+ "family": "web",
+ "language": "en",
+ "query": "FreshStack Building Realistic Benchmarks technical documents",
+ "anchors": [
+ "https://arxiv.org/abs/2504.13128",
+ "https://fresh-stack.github.io/"
+ ],
+ "origin": "https://arxiv.org/abs/2504.13128",
+ "paper_ids": [
+ "2504.13128"
+ ],
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "bright",
+ "family": "web",
+ "language": "en",
+ "query": "BRIGHT reasoning intensive retrieval benchmark",
+ "anchors": [
+ "https://arxiv.org/abs/2407.12883"
+ ],
+ "origin": "https://arxiv.org/abs/2407.12883",
+ "paper_ids": [
+ "2407.12883"
+ ],
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "mcp-source",
+ "family": "web",
+ "language": "zh",
+ "query": "Model Context Protocol 官方规范 文档",
+ "anchors": [],
+ "domains": [
+ "modelcontextprotocol.io"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "New first-party-source probe; domain presence is not relevance",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "python-source",
+ "family": "web",
+ "language": "zh",
+ "query": "Python asyncio TaskGroup 官方文档 异常处理",
+ "anchors": [
+ "https://docs.python.org/3/library/asyncio-task.html"
+ ],
+ "origin": "authored-control",
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "wechat-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek site:mp.weixin.qq.com",
+ "anchors": [],
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored topic query from reported WeChat coverage gap; not a reproduced original query",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "v2ex-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek API site:v2ex.com",
+ "anchors": [],
+ "domains": [
+ "v2ex.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored domain constraint probe; no index-wide coverage claim",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "reddit-probe",
+ "family": "site",
+ "language": "en",
+ "query": "DeepSeek search API site:reddit.com",
+ "anchors": [],
+ "domains": [
+ "reddit.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored community search probe",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "youtube-probe",
+ "family": "site",
+ "language": "en",
+ "query": "Andrej Karpathy neural networks site:youtube.com",
+ "anchors": [],
+ "domains": [
+ "youtube.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored video discovery probe",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "douyin-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek 使用教程 site:douyin.com",
+ "anchors": [],
+ "domains": [
+ "douyin.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored video discovery probe; content length is not transcript accuracy",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "sspai-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek site:sspai.com",
+ "anchors": [],
+ "domains": [
+ "sspai.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored independent-publisher probe",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "arxiv-bright",
+ "family": "vertical",
+ "language": "en",
+ "query": "BRIGHT A Realistic and Challenging Benchmark for Reasoning-Intensive Retrieval",
+ "source": "arxiv",
+ "domains": [
+ "arxiv.org"
+ ],
+ "anchors": [
+ "https://arxiv.org/abs/2407.12883"
+ ],
+ "origin": "https://arxiv.org/abs/2407.12883",
+ "paper_ids": [
+ "2407.12883"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "arxiv-freshstack",
+ "family": "vertical",
+ "language": "en",
+ "query": "FreshStack Building Realistic Benchmarks for Evaluating Retrieval on Technical Documents",
+ "source": "arxiv",
+ "domains": [
+ "arxiv.org"
+ ],
+ "anchors": [
+ "https://arxiv.org/abs/2504.13128"
+ ],
+ "origin": "https://arxiv.org/abs/2504.13128",
+ "paper_ids": [
+ "2504.13128"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "github-harness",
+ "family": "vertical",
+ "language": "en",
+ "query": "deepseek-harness",
+ "source": "github",
+ "domains": [
+ "github.com"
+ ],
+ "anchors": [
+ "https://github.com/deepseek-ai/deepseek-harness"
+ ],
+ "origin": "https://github.com/deepseek-ai/deepseek-harness",
+ "repositories": [
+ "deepseek-ai/deepseek-harness"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "github-search-evals",
+ "family": "vertical",
+ "language": "en",
+ "query": "tavily-search-evals",
+ "source": "github",
+ "domains": [
+ "github.com"
+ ],
+ "anchors": [
+ "https://github.com/tavily-ai/tavily-search-evals"
+ ],
+ "origin": "https://github.com/tavily-ai/tavily-search-evals",
+ "repositories": [
+ "tavily-ai/tavily-search-evals"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "bilibili-tutorial",
+ "family": "vertical",
+ "language": "zh",
+ "query": "DeepSeek 使用教程",
+ "source": "bilibili",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored native vertical vs site-filter route probe",
+ "provenance_kind": "community_derived",
+ "category": "vertical"
+ },
+ {
+ "id": "wechat-native",
+ "family": "vertical",
+ "language": "zh",
+ "query": "DeepSeek",
+ "source": "sogou_weixin",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored native vertical vs site-filter route probe; unresolved redirect URLs reported separately",
+ "provenance_kind": "community_derived",
+ "category": "vertical"
+ },
+ {
+ "id": "public-ki01",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "official RFC for HTTP semantics published as 9110",
+ "anchors": [
+ "https://www.rfc-editor.org/rfc/rfc9110.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI01",
+ "intent": "Find the canonical RFC 9110 document, not a summary or repost.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki02",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "Python proposal to make the global interpreter lock optional PEP",
+ "anchors": [
+ "https://peps.python.org/pep-0703/"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI02",
+ "intent": "Find PEP 703 on the official Python PEP site.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki03",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "Rich Sutton essay arguing general methods that scale with computation beat hand-built knowledge",
+ "anchors": [
+ "http://www.incompleteideas.net/IncIdeas/BitterLesson.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI03",
+ "intent": "Find Rich Sutton's essay The Bitter Lesson.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki04",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "SQLite documentation explaining isolation between separate database connections",
+ "anchors": [
+ "https://www.sqlite.org/isolation.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI04",
+ "intent": "Find SQLite's canonical isolation documentation.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki05",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "W3C Web Content Accessibility Guidelines 2.2 recommendation",
+ "anchors": [
+ "https://www.w3.org/TR/WCAG22/"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI05",
+ "intent": "Find the W3C Recommendation for WCAG 2.2.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki06",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "BurntSushi ripgrep source repository",
+ "anchors": [
+ "https://github.com/BurntSushi/ripgrep"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI06",
+ "intent": "Find the canonical ripgrep repository owned by BurntSushi.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments",
+ "repositories": [
+ "burntsushi/ripgrep"
+ ]
+ },
+ {
+ "id": "public-ki07",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "Google site reliability engineering book chapter about handling overload",
+ "anchors": [
+ "https://sre.google/sre-book/handling-overload/"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI07",
+ "intent": "Find the Handling Overload chapter of Google's SRE book.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki08",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "NIST AI Risk Management Framework 1.0 PDF",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI08",
+ "intent": "Find the official NIST AI RMF 1.0 publication or its canonical PDF.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps01",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "European Union AI Act Regulation 2024/1689 official journal full text",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS01",
+ "intent": "Return the official EU legal text for Regulation (EU) 2024/1689.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps02",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "CISA known exploited vulnerabilities catalog official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS02",
+ "intent": "Return CISA's official Known Exploited Vulnerabilities Catalog.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps03",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "FDA cybersecurity in medical devices final guidance 2023",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS03",
+ "intent": "Return the official FDA final guidance document issued in 2023.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps04",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "WHO guideline on non-sugar sweeteners 2023",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS04",
+ "intent": "Return the official WHO guideline or publication page.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps05",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "SEC NVIDIA 2025 annual report 10-K",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS05",
+ "intent": "Return NVIDIA's official SEC 10-K filing for fiscal 2025.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps06",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "Federal Reserve March 2024 FOMC meeting minutes",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS06",
+ "intent": "Return the official Federal Reserve minutes for the March 2024 FOMC meeting.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps07",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "NASA Artemis II mission official overview",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS07",
+ "intent": "Return NASA's official Artemis II mission overview.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps08",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "EDPB Opinion 08/2024 consent or pay large online platforms",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS08",
+ "intent": "Return the European Data Protection Board's official Opinion 08/2024.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te01",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Python \"TypeError: unhashable type: 'dict'\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE01",
+ "intent": "Find pages that correctly explain and resolve this exact Python error.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te02",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "PostgreSQL SQLSTATE 40001 serialization_failure",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE02",
+ "intent": "Find authoritative documentation or high-quality troubleshooting for PostgreSQL serialization failures.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te03",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Rust E0502 cannot borrow as mutable because it is also borrowed as immutable",
+ "anchors": [
+ "https://doc.rust-lang.org/error_codes/E0502.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE03",
+ "intent": "Find the official error explanation or a directly applicable high-quality explanation.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te04",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "OpenSSL error:0A00010B SSL routines wrong version number",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE04",
+ "intent": "Find a technically accurate explanation and fixes for this exact OpenSSL error.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te05",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Kubernetes ImagePullBackOff ErrImagePull difference",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE05",
+ "intent": "Find pages that accurately distinguish the two Kubernetes states and provide diagnostic steps.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te06",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "React \"Hydration failed because the initial UI does not match what was rendered on the server\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE06",
+ "intent": "Find directly relevant React or Next.js hydration mismatch documentation or troubleshooting.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te07",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Python asyncio \"Task exception was never retrieved\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE07",
+ "intent": "Find directly relevant explanations and corrective patterns for this asyncio warning.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te08",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Git \"fatal: refusing to merge unrelated histories\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE08",
+ "intent": "Find directly relevant Git documentation or accurate troubleshooting for this exact error.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm01",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "browser API that reports when an element enters or leaves the viewport",
+ "anchors": [
+ "https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM01",
+ "intent": "Retrieve documentation or strong explanations of the Intersection Observer API.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm02",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "Linux mechanism for receiving filesystem change notifications without polling",
+ "anchors": [
+ "https://man7.org/linux/man-pages/man7/inotify.7.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM02",
+ "intent": "Retrieve documentation or strong explanations of inotify.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm03",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "PostgreSQL command that runs a query and reports the actual execution plan and timing",
+ "anchors": [
+ "https://www.postgresql.org/docs/current/sql-explain.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM03",
+ "intent": "Retrieve PostgreSQL EXPLAIN ANALYZE documentation or a directly useful explanation.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm04",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "HTTP feature for resuming a download from a specific byte offset",
+ "anchors": [
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM04",
+ "intent": "Retrieve documentation on HTTP range requests and byte ranges.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm05",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "CSS grid pattern that automatically fits as many equal-width cards as possible without media queries",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM05",
+ "intent": "Retrieve documentation or a strong explanation of repeat(auto-fit, minmax(...)).",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm06",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "safe file update technique that writes a temporary file and renames it over the original",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM06",
+ "intent": "Retrieve strong technical material on atomic file replacement using write-fsync-rename patterns.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm07",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "retry strategy that adds randomness to exponential delays to prevent synchronized clients",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM07",
+ "intent": "Retrieve documentation or strong explanations of exponential backoff with jitter.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm08",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "browser security policy that limits which origins may load scripts images and frames",
+ "anchors": [
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM08",
+ "intent": "Retrieve documentation on Content Security Policy.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw01",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "personal blog measuring keyboard input latency across computers and keyboards",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW01",
+ "intent": "Find detailed independent measurements rather than generic SEO summaries.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw02",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "reverse engineering the Intel 8087 floating point chip from microscope die photographs",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW02",
+ "intent": "Find detailed independent reverse-engineering write-ups based on chip die imagery.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw03",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "blog post implementing an arena allocator in C with alignment and out-of-memory handling",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW03",
+ "intent": "Find a technically detailed independent implementation, not a shallow definition.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw04",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "write-up building a tiny debugger with ptrace in C",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW04",
+ "intent": "Find a detailed independent tutorial or project write-up using ptrace.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw05",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "detailed amateur radio guide decoding NOAA APT weather satellite images with a cheap SDR",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW05",
+ "intent": "Find detailed hobbyist or specialist instructions with real setup information.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw06",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "personal project restoring a Sun SPARCstation IPX power supply and NVRAM",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW06",
+ "intent": "Find a detailed restoration log covering the PSU and NVRAM.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw07",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "graphics programming blog explaining image downsampling aliasing and the limits of bilinear filtering",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW07",
+ "intent": "Find a technically deep independent graphics-programming article.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw08",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "homebrew 6502 computer build log memory map and address decoding",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW08",
+ "intent": "Find detailed personal build logs or specialist guides with an explicit memory map and decoder design.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc01",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "open source vector database written in Rust Apache 2.0 HNSW",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC01",
+ "intent": "Find a project satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc02",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "self-hosted web analytics AGPL cookieless PostgreSQL",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC02",
+ "intent": "Find a web analytics product satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc03",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "embedded columnar OLAP database SQL reads Parquet without a server",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC03",
+ "intent": "Find a database satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc04",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "static site generator written in Go multilingual taxonomies Apache 2.0",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC04",
+ "intent": "Find a static-site generator satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc05",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "open source Kubernetes-native workflow engine written in Go supports DAGs and a web UI",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC05",
+ "intent": "Find a workflow engine satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc06",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "Python ASGI framework dependency injection OpenAPI type hints",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC06",
+ "intent": "Find a Python framework satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc07",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "open source feature flag service written in Go self-hosted PostgreSQL",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC07",
+ "intent": "Find a feature-flag service satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc08",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "low-profile split wireless mechanical keyboard open source ZMK firmware",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC08",
+ "intent": "Find keyboard projects or build guides satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex01",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "approaches to zero-downtime PostgreSQL schema migrations",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX01",
+ "intent": "Return a useful mix of distinct migration strategies and implementation guidance.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex02",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "ways to model hierarchical data in SQL",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX02",
+ "intent": "Return results covering multiple distinct hierarchy-modeling techniques.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex03",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "distributed API rate limiting algorithms",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX03",
+ "intent": "Return results covering multiple algorithmic and distributed implementation approaches.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex04",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "strategies for handling out-of-order events in stream processing",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX04",
+ "intent": "Return results covering multiple event-time and correction strategies.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex05",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "monorepo versus polyrepo tradeoffs",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX05",
+ "intent": "Return results covering distinct organizational and engineering tradeoffs.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex06",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "offline-first web app synchronization approaches",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX06",
+ "intent": "Return results covering multiple synchronization and conflict-resolution models.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex07",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "database change data capture approaches",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX07",
+ "intent": "Return results covering multiple CDC mechanisms and their tradeoffs.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex08",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "methods for preventing cache stampede",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX08",
+ "intent": "Return results covering multiple prevention and mitigation techniques.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml01",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "cómo solicitar el certificado digital de persona física FNMT",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML01",
+ "intent": "Find the official Spanish FNMT procedure in Spanish.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml02",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "factura electrónica obligatoria empresas ley crea y crece requisitos oficiales",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML02",
+ "intent": "Find official Spanish information on business e-invoicing requirements under the Create and Grow Law.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml03",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "rupture conventionnelle délai de rétractation site officiel",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML03",
+ "intent": "Find the official French rule and procedure for the withdrawal period.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml04",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "Bundesurlaubsgesetz Mindesturlaub Vollzeit offizielle Fassung",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML04",
+ "intent": "Find the official German statutory text or official explanation of minimum annual leave.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml05",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "Portal das Finanças pedir certidão de dívida e não dívida",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML05",
+ "intent": "Find the official Portuguese tax portal procedure for obtaining a tax-debt clearance certificate.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml06",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "マイナンバーカード 電子証明書 有効期限 公式",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML06",
+ "intent": "Find an official Japanese source stating the validity period of My Number Card electronic certificates.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml07",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "Rijksoverheid vakantiegeld wanneer uitbetalen",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML07",
+ "intent": "Find the official Dutch government explanation of when holiday allowance is paid.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml08",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "com donar-se d'alta a l'idCAT Mòbil requisits oficials",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML08",
+ "intent": "Find the official Catalan registration requirements for idCAT Mòbil.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb01",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "pyhton dataclass frozen hash not work mutable field",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB01",
+ "intent": "Find accurate material explaining frozen dataclass hashing and mutable fields despite spelling and grammar noise.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb02",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "ngnix 502 bad gateway upstream prematurely closed connection",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB02",
+ "intent": "Find accurate nginx troubleshooting despite the misspelling.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb03",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "kuberentes pod stuck terminatting finalizer remove safely",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB03",
+ "intent": "Find safe Kubernetes finalizer-removal guidance despite multiple misspellings.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb04",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "postgres index for json not full text exact key value",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB04",
+ "intent": "Find JSONB indexing guidance for exact key/value queries while respecting the negative constraint.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb05",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "css cards same hight grid without javascript",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB05",
+ "intent": "Find CSS-only equal-height card layouts despite misspelling and shorthand.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb06",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "git undo last commit keep changes dont delete files",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB06",
+ "intent": "Find the correct Git operation while preserving working changes.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb07",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "whats the thing in http where browser asks server if cached file changed etag 304",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB07",
+ "intent": "Find HTTP conditional-request documentation from a verbose colloquial query.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb08",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "rust cant move out borrowed content option take",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB08",
+ "intent": "Find relevant Rust guidance on moving a value out through Option::take.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr01",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest stable Rust release notes official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR01",
+ "intent": "Surface the newest stable Rust release notes from an official Rust source.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr02",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest Python security release official announcement",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR02",
+ "intent": "Surface the newest official Python security release announcement.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr03",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest Kubernetes release notes official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR03",
+ "intent": "Surface the newest official stable Kubernetes release notes.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr04",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest Mozilla Firefox release notes official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR04",
+ "intent": "Surface the newest official Firefox release notes.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr05",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest PostgreSQL minor release announcement official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR05",
+ "intent": "Surface the newest official PostgreSQL minor release announcement.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr06",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest CISA known exploited vulnerabilities additions official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR06",
+ "intent": "Surface the newest official CISA KEV additions or update notice.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr07",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest European Commission Digital Markets Act decision official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR07",
+ "intent": "Surface the newest official European Commission decision or formal action under the DMA.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr08",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest GitHub Actions runner release",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR08",
+ "intent": "Surface the newest release of GitHub's official Actions runner repository.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "creator-1",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "track Google AI Mode traffic Search Console",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "creator-2",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "AI crawler access checker",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "creator-3",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "Google Search Console MCP",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "creator-4",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "x402 pay per crawl AI agents",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "cn-01",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "铁路12306 官方网站 网上订票",
+ "anchors": [
+ "https://www.12306.cn/index/"
+ ],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-02",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "故宫博物院 官方预约购票入口",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-03",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "国家统计局 2026年9月 居民消费价格",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-04",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "杭州 西湖 博物馆 周一 开放时间",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-05",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "北京 办理护照 官方预约 材料",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-06",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "上海 电子税务局 发票 红冲 操作",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-07",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "Vue 3 官方文档 计算属性 缓存",
+ "anchors": [
+ "https://cn.vuejs.org/guide/essentials/computed.html",
+ "https://cn.vuejs.org/guide/essentials/computed"
+ ],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-08",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "微信小程序 官方文档 wx.request",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-09",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "支付宝小程序 官方文档 云调用",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-10",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "高德地图 JavaScript API 路径规划 文档",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-11",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "国家图书馆 读者证 办理 官方",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-12",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "个人信息保护法 全文 全国人大",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "social-01",
+ "family": "site",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L1",
+ "query": "site:mp.weixin.qq.com 大模型 应用",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 1,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-02",
+ "family": "web",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L2",
+ "query": "公众号文章 DeepSeek 使用教程",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 2,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-03",
+ "family": "site",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L3",
+ "query": "site:mp.weixin.qq.com AI after:2026-09-01",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 3,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-04",
+ "family": "site",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L1",
+ "query": "site:xiaohongshu.com 露营装备清单",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 4,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-05",
+ "family": "web",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L2",
+ "query": "小红书 成都 美食 推荐 笔记",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 5,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-06",
+ "family": "site",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L3",
+ "query": "site:xiaohongshu.com 穿搭 after:2026-09-01",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 6,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-07",
+ "family": "site",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L1",
+ "query": "site:zhihu.com 如何评价 DeepSeek",
+ "domains": [
+ "zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 7,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-08",
+ "family": "web",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L2",
+ "query": "程序员 35 岁 危机 怎么看",
+ "domains": [
+ "zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 8,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-09",
+ "family": "site",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L3",
+ "query": "site:zhuanlan.zhihu.com 大模型 after:2026-09-01",
+ "domains": [
+ "zhuanlan.zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 9,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-10",
+ "family": "site",
+ "language": "zh",
+ "category": "douyin",
+ "difficulty": "L1",
+ "query": "site:douyin.com 做饭 教程",
+ "domains": [
+ "douyin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 10,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-11",
+ "family": "web",
+ "language": "zh",
+ "category": "douyin",
+ "difficulty": "L2",
+ "query": "抖音 健身 教学 视频",
+ "domains": [
+ "douyin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 11,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-12",
+ "family": "site",
+ "language": "zh",
+ "category": "weibo",
+ "difficulty": "L1",
+ "query": "site:weibo.com 热搜",
+ "domains": [
+ "weibo.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 12,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-13",
+ "family": "web",
+ "language": "zh",
+ "category": "weibo",
+ "difficulty": "L2",
+ "query": "微博 网友 热议 AI",
+ "domains": [
+ "weibo.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 13,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-14",
+ "family": "site",
+ "language": "zh",
+ "category": "bilibili",
+ "difficulty": "L1",
+ "query": "site:bilibili.com 机器学习 教程",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 14,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-15",
+ "family": "web",
+ "language": "zh",
+ "category": "bilibili",
+ "difficulty": "L2",
+ "query": "B站 up主 大模型 原理 讲解",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 15,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-16",
+ "family": "site",
+ "language": "zh",
+ "category": "baijiahao",
+ "difficulty": "L1",
+ "query": "site:baijiahao.baidu.com 新能源汽车",
+ "domains": [
+ "baijiahao.baidu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 16,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-17",
+ "family": "site",
+ "language": "zh",
+ "category": "toutiao",
+ "difficulty": "L1",
+ "query": "site:toutiao.com 新能源汽车",
+ "domains": [
+ "toutiao.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 17,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-18",
+ "family": "site",
+ "language": "zh",
+ "category": "douban",
+ "difficulty": "L1",
+ "query": "site:douban.com 小组 租房",
+ "domains": [
+ "douban.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 18,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-19",
+ "family": "web",
+ "language": "zh",
+ "category": "douban",
+ "difficulty": "L2",
+ "query": "豆瓣 书评 百年孤独",
+ "domains": [
+ "douban.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 19,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-20",
+ "family": "site",
+ "language": "en",
+ "category": "x",
+ "difficulty": "L1",
+ "query": "site:x.com AnthropicAI",
+ "domains": [
+ "x.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 20,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-21",
+ "family": "web",
+ "language": "en",
+ "category": "x",
+ "difficulty": "L2",
+ "query": "Karpathy tweet on vibe coding",
+ "domains": [
+ "x.com",
+ "twitter.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 21,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-22",
+ "family": "site",
+ "language": "en",
+ "category": "reddit",
+ "difficulty": "L1",
+ "query": "site:reddit.com LocalLLaMA best model",
+ "domains": [
+ "reddit.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 22,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-23",
+ "family": "web",
+ "language": "en",
+ "category": "reddit",
+ "difficulty": "L2",
+ "query": "reddit thread best budget mechanical keyboard",
+ "domains": [
+ "reddit.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 23,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-24",
+ "family": "site",
+ "language": "en",
+ "category": "instagram",
+ "difficulty": "L1",
+ "query": "site:instagram.com nasa",
+ "domains": [
+ "instagram.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 24,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-25",
+ "family": "site",
+ "language": "en",
+ "category": "facebook",
+ "difficulty": "L1",
+ "query": "site:facebook.com NASA",
+ "domains": [
+ "facebook.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 25,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-26",
+ "family": "site",
+ "language": "en",
+ "category": "linkedin",
+ "difficulty": "L1",
+ "query": "site:linkedin.com Anthropic",
+ "domains": [
+ "linkedin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 26,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-27",
+ "family": "site",
+ "language": "en",
+ "category": "medium",
+ "difficulty": "L1",
+ "query": "site:medium.com LLM agents",
+ "domains": [
+ "medium.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 27,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-28",
+ "family": "site",
+ "language": "en",
+ "category": "substack",
+ "difficulty": "L1",
+ "query": "site:substack.com AI newsletter",
+ "domains": [
+ "substack.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 28,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "arcadia-homelab-original",
+ "family": "web",
+ "category": "community_original",
+ "language": "zh",
+ "query": "个人博客 Homelab NixOS",
+ "anchors": [],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "provenance_kind": "community_exact",
+ "intent": "Find independent personal blogs discussing Homelab and NixOS.",
+ "derivation": "Exact visible query in user-supplied screenshot 3; no inferred relevance labels or expected pages.",
+ "source_image_sha256": "c751c85b3c961f129a3b3d863a5a99150d09617acc223e8d0348e14b8e725aea"
+ }
+ ],
+ "reference_revision": {
+ "id": "search-reference-2",
+ "root_cause": "Known tracking parameters obscured identical page URLs; the Vue documentation is officially available at both declared paths. Semantic query parameters remain significant.",
+ "scope": "All three methods and all predeclared known-page queries in the five-result cohort",
+ "regressions": [
+ "tests.web_search.test_search.SearchScenarios.test_known_tracking_parameters_do_not_hide_the_same_page",
+ "tests.web_search.test_search.SearchScenarios.test_semantic_url_parameters_are_preserved"
+ ]
+ },
+ "collection_revision": {
+ "id": "search-collection-2",
+ "root_cause": "HTTP 200 can precede a truncated body; reference availability now also requires a successful transfer. Reference timeout is separate from API timing.",
+ "scope": "Entire declared two-method, 24-query, three-round cohort rerun; previous calls preserved outside Git",
+ "regressions": [
+ "tests.web_search.test_runner.ReferenceCaptureScenarios.test_http_200_with_incomplete_transfer_is_not_qualified"
+ ],
+ "supersedes_data_home_relative": "web-search/20261020-matched"
+ },
+ "cohort_revision": {
+ "reason": "Expand from 24 to 120 preregistered queries; public query catalog and exact community queries added. New complete matrix; previous pilot retained separately.",
+ "public_catalog_commit": "7714e86b1b8d7b943037c38b04d4f6ba65566d5b",
+ "public_catalog_sha256": "90ed45dae3a4604664102eede1470e1a1ab1cdca0c54f279113c94ec55c64231"
+ },
+ "reference_checks": {
+ "https://api-docs.deepseek.com/zh-cn/guides/search/": {
+ "url": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "contains": [
+ "need_content"
+ ]
+ },
+ "https://api-docs.deepseek.com/guides/search/": {
+ "url": "https://api-docs.deepseek.com/guides/search/",
+ "contains": [
+ "need_content"
+ ]
+ },
+ "https://api-docs.deepseek.com/api/search/": {
+ "url": "https://api-docs.deepseek.com/api/search/",
+ "contains": [
+ "rerank_score"
+ ]
+ },
+ "https://docs.tavily.com/documentation/api-credits": {
+ "url": "https://docs.tavily.com/documentation/api-credits",
+ "contains": [
+ "credit"
+ ]
+ },
+ "https://suganthan.com/blog/gemini-citations/": {
+ "url": "https://suganthan.com/blog/gemini-citations/",
+ "contains": [
+ "Gemini"
+ ]
+ },
+ "https://suganthan.com/blog/fanoutfox/": {
+ "url": "https://suganthan.com/blog/fanoutfox/",
+ "contains": [
+ "FanoutFox"
+ ]
+ },
+ "https://kubernetes.io/docs/concepts/workloads/controllers/deployment/": {
+ "url": "https://kubernetes.io/docs/concepts/workloads/controllers/deployment/",
+ "contains": [
+ "Deployment"
+ ]
+ },
+ "https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/": {
+ "url": "https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/",
+ "contains": [
+ "Deployment"
+ ]
+ },
+ "https://artificialanalysis.ai/methodology/search-api": {
+ "url": "https://artificialanalysis.ai/methodology/search-api",
+ "contains": [
+ "Search"
+ ]
+ },
+ "https://arxiv.org/abs/2504.13128": {
+ "url": "https://arxiv.org/abs/2504.13128",
+ "contains": [
+ "2504.13128"
+ ]
+ },
+ "https://fresh-stack.github.io/": {
+ "url": "https://fresh-stack.github.io/",
+ "contains": [
+ "FreshStack"
+ ]
+ },
+ "https://arxiv.org/abs/2407.12883": {
+ "url": "https://arxiv.org/abs/2407.12883",
+ "contains": [
+ "2407.12883"
+ ]
+ },
+ "https://docs.python.org/3/library/asyncio-task.html": {
+ "url": "https://docs.python.org/3/library/asyncio-task.html",
+ "contains": [
+ "asyncio"
+ ]
+ },
+ "https://github.com/deepseek-ai/deepseek-harness": {
+ "url": "https://github.com/deepseek-ai/deepseek-harness",
+ "contains": [
+ "deepseek-ai/deepseek-harness"
+ ]
+ },
+ "https://github.com/tavily-ai/tavily-search-evals": {
+ "url": "https://github.com/tavily-ai/tavily-search-evals",
+ "contains": [
+ "tavily-ai/tavily-search-evals"
+ ]
+ },
+ "https://www.rfc-editor.org/rfc/rfc9110.html": {
+ "url": "https://www.rfc-editor.org/rfc/rfc9110.html",
+ "contains": [
+ "HTTP Semantics"
+ ]
+ },
+ "https://peps.python.org/pep-0703/": {
+ "url": "https://peps.python.org/pep-0703/",
+ "contains": [
+ "703"
+ ]
+ },
+ "http://www.incompleteideas.net/IncIdeas/BitterLesson.html": {
+ "url": "http://www.incompleteideas.net/IncIdeas/BitterLesson.html",
+ "contains": [
+ "Bitter Lesson"
+ ]
+ },
+ "https://www.sqlite.org/isolation.html": {
+ "url": "https://www.sqlite.org/isolation.html",
+ "contains": [
+ "Isolation"
+ ]
+ },
+ "https://www.w3.org/TR/WCAG22/": {
+ "url": "https://www.w3.org/TR/WCAG22/",
+ "contains": [
+ "Web Content Accessibility Guidelines"
+ ]
+ },
+ "https://github.com/BurntSushi/ripgrep": {
+ "url": "https://github.com/BurntSushi/ripgrep",
+ "contains": [
+ "BurntSushi/ripgrep"
+ ]
+ },
+ "https://sre.google/sre-book/handling-overload/": {
+ "url": "https://sre.google/sre-book/handling-overload/",
+ "contains": [
+ "Handling Overload"
+ ]
+ },
+ "https://doc.rust-lang.org/error_codes/E0502.html": {
+ "url": "https://doc.rust-lang.org/error_codes/E0502.html",
+ "contains": [
+ "E0502"
+ ]
+ },
+ "https://www.12306.cn/index/": {
+ "url": "https://www.12306.cn/index/",
+ "contains": [
+ "12306"
+ ]
+ },
+ "https://cn.vuejs.org/guide/essentials/computed.html": {
+ "url": "https://cn.vuejs.org/guide/essentials/computed.html",
+ "contains": [
+ "computed"
+ ]
+ },
+ "https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API": {
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API",
+ "contains": [
+ "IntersectionObserver"
+ ]
+ },
+ "https://man7.org/linux/man-pages/man7/inotify.7.html": {
+ "url": "https://man7.org/linux/man-pages/man7/inotify.7.html",
+ "contains": [
+ "inotify"
+ ]
+ },
+ "https://www.postgresql.org/docs/current/sql-explain.html": {
+ "url": "https://www.postgresql.org/docs/current/sql-explain.html",
+ "contains": [
+ "EXPLAIN"
+ ]
+ },
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests": {
+ "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests",
+ "contains": [
+ "Range"
+ ]
+ },
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP": {
+ "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP",
+ "contains": [
+ "Content Security Policy"
+ ]
+ },
+ "https://cn.vuejs.org/guide/essentials/computed": {
+ "url": "https://cn.vuejs.org/guide/essentials/computed",
+ "contains": [
+ "计算属性"
+ ]
+ }
+ }
+}
diff --git a/evaluation/web-search/identity-correction.json b/evaluation/web-search/identity-correction.json
new file mode 100644
index 000000000..6e6572cd6
--- /dev/null
+++ b/evaluation/web-search/identity-correction.json
@@ -0,0 +1,107 @@
+{
+ "schema": "web-search-identity-correction/1",
+ "verified_at": "2026-10-20",
+ "root_cause": "Exact URL matching missed publisher-confirmed equivalent pages with tracking parameters, host aliases or redirects. Only observed equivalences are accepted; related pages and other versions remain distinct.",
+ "regression_ids": [
+ "verified-equivalent-url-hits",
+ "undeclared-query-change-misses",
+ "unverified-host-alias-misses",
+ "different-page-proof-rejected"
+ ],
+ "aliases": {
+ "public-ki02": {
+ "https://peps.python.org/pep-0703/?_bhlid=037c2b8fb27c1b01ff6bf620589c8093ae1d1de6": "https://peps.python.org/pep-0703/"
+ },
+ "public-sm02": {
+ "https://www.man7.org/linux/man-pages/man7/inotify.7.html": "https://man7.org/linux/man-pages/man7/inotify.7.html"
+ },
+ "cn-07": {
+ "https://cn.vuejs.org/guide/essentials/computed": "https://cn.vuejs.org/guide/essentials/computed.html"
+ },
+ "public-sm08": {
+ "https://developer.mozilla.org/docs/Web/HTTP/Guides/CSP": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP"
+ }
+ },
+ "observations": [
+ {
+ "url": "https://peps.python.org/pep-0703/",
+ "final": "https://peps.python.org/pep-0703/",
+ "title": "PEP 703 – Making the Global Interpreter Lock Optional in CPython | peps.python.org",
+ "canonical": "https://peps.python.org/pep-0703/",
+ "text_sha256": "ee629d6bff0101e325e28013c36274a7fd5f3dbcbab521b45a27f8a37bc983e8",
+ "text_start": "PEP 703 – Making the Global Interpreter Lock Optional in CPython PEP 703 – Making the Global Interpreter Lock Optional in CPython Author : Sam Gross Sponsor : Łukasz Langa Discussions-To : Discourse thr"
+ },
+ {
+ "url": "https://peps.python.org/pep-0703/?_bhlid=037c2b8fb27c1b01ff6bf620589c8093ae1d1de6",
+ "final": "https://peps.python.org/pep-0703/?_bhlid=037c2b8fb27c1b01ff6bf620589c8093ae1d1de6",
+ "title": "PEP 703 – Making the Global Interpreter Lock Optional in CPython | peps.python.org",
+ "canonical": "https://peps.python.org/pep-0703/",
+ "text_sha256": "ee629d6bff0101e325e28013c36274a7fd5f3dbcbab521b45a27f8a37bc983e8",
+ "text_start": "PEP 703 – Making the Global Interpreter Lock Optional in CPython PEP 703 – Making the Global Interpreter Lock Optional in CPython Author : Sam Gross Sponsor : Łukasz Langa Discussions-To : Discourse thr"
+ },
+ {
+ "url": "https://man7.org/linux/man-pages/man7/inotify.7.html",
+ "final": "https://man7.org/linux/man-pages/man7/inotify.7.html",
+ "title": "inotify(7) - Linux manual page",
+ "canonical": null,
+ "text_sha256": "b05511ec08993ccc1bc86c0d2a490914d01974b9d88c782962342d343907dff7",
+ "text_start": "man7.org > Linux > man-pages Linux/UNIX system programming training inotify(7) — Linux manual page NAME | DESCRIPTION | STANDARDS | HISTORY | NOTES | BUGS | EXAMPLES | SEE ALSO | COLOPHON inotify (7) Miscellaneous Information Manual inotify"
+ },
+ {
+ "url": "https://www.man7.org/linux/man-pages/man7/inotify.7.html",
+ "final": "https://www.man7.org/linux/man-pages/man7/inotify.7.html",
+ "title": "inotify(7) - Linux manual page",
+ "canonical": null,
+ "text_sha256": "b05511ec08993ccc1bc86c0d2a490914d01974b9d88c782962342d343907dff7",
+ "text_start": "man7.org > Linux > man-pages Linux/UNIX system programming training inotify(7) — Linux manual page NAME | DESCRIPTION | STANDARDS | HISTORY | NOTES | BUGS | EXAMPLES | SEE ALSO | COLOPHON inotify (7) Miscellaneous Information Manual inotify"
+ },
+ {
+ "url": "https://cn.vuejs.org/guide/essentials/computed.html",
+ "final": "https://cn.vuejs.org/guide/essentials/computed",
+ "title": "计算属性 | Vue.js",
+ "canonical": null,
+ "text_sha256": "d80b6b3167dc55176df7d976b89c204a0cc2806c76fb05a2859ebf43b8b64796",
+ "text_start": "Are you an LLM? You can read better optimized documentation at /guide/essentials/computed.md for this page in Markdown format 计算属性 基础示例 模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。比如说,我们有这样一个包含嵌套数组的对象: js export default { data () { return "
+ },
+ {
+ "url": "https://cn.vuejs.org/guide/essentials/computed",
+ "final": "https://cn.vuejs.org/guide/essentials/computed",
+ "title": "计算属性 | Vue.js",
+ "canonical": null,
+ "text_sha256": "d80b6b3167dc55176df7d976b89c204a0cc2806c76fb05a2859ebf43b8b64796",
+ "text_start": "Are you an LLM? You can read better optimized documentation at /guide/essentials/computed.md for this page in Markdown format 计算属性 基础示例 模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。比如说,我们有这样一个包含嵌套数组的对象: js export default { data () { return "
+ },
+ {
+ "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP",
+ "final": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP",
+ "title": "Content Security Policy (CSP) - HTTP | MDN",
+ "canonical": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP",
+ "text_sha256": "9cf7532768989d0eef7925b497903a919b88d8b109c0a2bcb0756e3f3fe90522",
+ "text_start": "Content Security Policy (CSP) Content Security Policy (CSP) is a feature that helps to prevent or minimize the risk of certain types of security threats. It consists of a series of instructions from a website to a browser, which instruct the browser "
+ },
+ {
+ "url": "https://developer.mozilla.org/docs/Web/HTTP/Guides/CSP",
+ "final": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP",
+ "title": "Content Security Policy (CSP) - HTTP | MDN",
+ "canonical": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP",
+ "text_sha256": "9cf7532768989d0eef7925b497903a919b88d8b109c0a2bcb0756e3f3fe90522",
+ "text_start": "Content Security Policy (CSP) Content Security Policy (CSP) is a feature that helps to prevent or minimize the risk of certain types of security threats. It consists of a series of instructions from a website to a browser, which instruct the browser "
+ },
+ {
+ "url": "https://sre.google/sre-book/handling-overload/",
+ "final": "https://sre.google/sre-book/handling-overload/",
+ "title": "Google SRE: Load Balancing with Client Side Throttling",
+ "canonical": "https://sre.google/sre-book/handling-overload/",
+ "text_sha256": "0bf8f7d15333c6ae1ef6cb45c6e0cfccfc4674d98a20bd351c99b443a872e262",
+ "text_start": "Chapter 21 - Handling Overload Table of Contents Foreword Preface Part I - Introduction 1. Introduction 2. The Production Environment at Google, from the Viewpoint of an SRE Part II - Principles 3. Embracing Risk 4. Service Level Objectives 5. Elimin"
+ },
+ {
+ "url": "https://sre.google/resources/book-update/handling-overload/",
+ "final": "https://sre.google/resources/book-update/handling-overload/",
+ "title": "Google SRE: SRE approach to handling traffic load balancing",
+ "canonical": "https://sre.google/resources/book-update/handling-overload/",
+ "text_sha256": "0e878b51338463fffffb1e8f4b7422d04a2035d6c608d9a0f1aeb4984eb08815",
+ "text_start": "21. Handling Overload Read Handling Overload from the SRE Book. Publications SRE Workbook: Chapter 11 - Managing Load Using load shedding to survive a success disaster Talks/Videos Load-Shedding: Overview of Different Methodologies"
+ }
+ ]
+}
diff --git a/evaluation/web-search/publication-target.json b/evaluation/web-search/publication-target.json
new file mode 100644
index 000000000..c7cd2e29f
--- /dev/null
+++ b/evaluation/web-search/publication-target.json
@@ -0,0 +1,75 @@
+{
+ "base_url": "https://artifact-site.lexmount.cn",
+ "slug": "W3MxzlJuPRl6",
+ "url": "https://artifact-site.lexmount.cn/s/W3MxzlJuPRl6",
+ "versionId": "ver_ea325d46a4f04cfea2c8d2fb618636bd",
+ "visibility": "private",
+ "previous_version": "ver_0cf0f00b6261495e88e2bded36368699",
+ "archive_sha256": "6a0b3ea86ed240f29246daa5e3ff9a9bf8c640d30a3be354e8da9140dac5cd7e",
+ "schema": "web-search-publication/1",
+ "published_at": "2026-10-21",
+ "report_kind": "three-provider-top-five-comparison",
+ "cases": 980,
+ "logical_results": 2940,
+ "physical_calls": 2944,
+ "superseded_physical_calls": 89,
+ "quality_judge": "none",
+ "bindings": {
+ "primary_profile": {
+ "path": "evaluation/web-search/search-api-modes.json",
+ "sha256": "a1cd39a6c3ba49a792590da317d53153e8aea0a303b63ed6ca04414d250e8877"
+ },
+ "primary_receipt": {
+ "path": "web-search/20261020-search-api-matched-modes/receipt.json",
+ "sha256": "e01a0d76c820131b937f5b5ebc621301ed0c58c340ca94994c594426acf2cfd9"
+ },
+ "simpleqa_profile": {
+ "path": "evaluation/web-search/simpleqa-verified.json",
+ "sha256": "ad08ff7adf29acdffe28e49179a14f92ec28d3af2fe79ffbc05d721da2d0f74b"
+ },
+ "simpleqa_receipt": {
+ "path": "web-search/20261020-search-api-simpleqa-verified/receipt.json",
+ "sha256": "6a680b8fa3b58d8cfb25ce124288fae4d6a5680492f29167ae3a23eb9fff88e7"
+ },
+ "report_manifest": {
+ "path": "web-search/20261021-search-api-three-provider-report/report/manifest.json",
+ "sha256": "3e3590a20c162a3cc4041690028a1002df35ee587c0250e57c141da6171f16a2"
+ },
+ "content": {
+ "path": "web-search/20261021-search-api-three-provider-report/reader-content.json",
+ "sha256": "b653137decc351ee903adc8e208aa89c378d0e5080033f2602d96f55234ae89a"
+ },
+ "visual_acceptance": {
+ "path": "web-search/20261021-search-api-three-provider-report/visual/release.json",
+ "sha256": "e643460634e4da73d041f091fd494be9d7daf32c57951ddfa4e7070578260bba"
+ },
+ "delivery_index": {
+ "path": "web-search/20261021-search-api-three-provider-report/delivery/delivery-index.json",
+ "sha256": "351653bec51b1ec381fbe40596d24a0999053e3b5ad338b8615f1a6d5615ec71"
+ },
+ "reference_additions": {
+ "path": "web-search/20261021-search-api-three-provider-report/scenario-additions.json",
+ "sha256": "44b63a8f1251ebbf24d259a49f621813ddaeb034ac11fd4b7d28fc6c1376e118"
+ }
+ },
+ "cohort_inputs": [
+ {
+ "id": "primary",
+ "source": "web-search/20261020-search-api-matched-modes"
+ },
+ {
+ "id": "simpleqa",
+ "source": "web-search/20261020-search-api-simpleqa-verified"
+ }
+ ],
+ "populations": {
+ "overall": 980,
+ "factual": 831,
+ "scenario": 60
+ },
+ "methods": [
+ "lexmount",
+ "deepseek-content",
+ "bocha-summary"
+ ]
+}
diff --git a/evaluation/web-search/relevance-sample.json b/evaluation/web-search/relevance-sample.json
new file mode 100644
index 000000000..cf0789b90
--- /dev/null
+++ b/evaluation/web-search/relevance-sample.json
@@ -0,0 +1,44 @@
+{
+ "schema": "web-search-relevance-sample/1",
+ "seed": "search-api-top5-relevance-2026-10-20",
+ "cutoff": 5,
+ "quota_by_family": {
+ "web": 15,
+ "site": 9,
+ "vertical": 6
+ },
+ "case_ids": [
+ "public-ex01",
+ "public-nw01",
+ "public-nw08",
+ "public-ml06",
+ "public-ki02",
+ "public-ps06",
+ "public-te01",
+ "creator-1",
+ "public-ml05",
+ "cn-09",
+ "public-rb06",
+ "cn-04",
+ "cn-01",
+ "public-ps08",
+ "public-sm07",
+ "youtube-probe",
+ "social-22",
+ "social-07",
+ "social-01",
+ "reddit-probe",
+ "social-09",
+ "social-27",
+ "social-03",
+ "v2ex-probe",
+ "arxiv-freshstack",
+ "github-harness",
+ "wechat-native",
+ "arxiv-bright",
+ "github-search-evals",
+ "bilibili-tutorial"
+ ],
+ "grading": "0 off-intent or violates required domain/date; 1 topical but not useful for task; 2 useful partial support; 3 directly satisfies core intent. Judge pooled, deduplicated candidates using URL, title and snippet only; no provider identity or original rank. Unclear evidence is unjudged, not zero.",
+ "primary_metric": "nDCG@5 on completely judged top-five lists; query-weighted within family; no global score without representative weighting."
+}
diff --git a/evaluation/web-search/search-api-modes.json b/evaluation/web-search/search-api-modes.json
new file mode 100644
index 000000000..08583d424
--- /dev/null
+++ b/evaluation/web-search/search-api-modes.json
@@ -0,0 +1,2409 @@
+{
+ "schema": "web-search/1",
+ "title": "Search API baseline and content-option comparison — complete 149-query scope",
+ "publication": {
+ "host": "https://artifact-site.lexmount.cn",
+ "state": "update-private-artifact",
+ "slug": "W3MxzlJuPRl6",
+ "expected_version": "ver_19a9434a8bd84230807f10620e771a70"
+ },
+ "protocol": {
+ "top_k": 5,
+ "rounds": 1,
+ "score_round": 0,
+ "concurrency": 1,
+ "server_timeout_ms": 10000,
+ "client_timeout_s": 20,
+ "interval_s": 0.3,
+ "retry": true,
+ "order": "rotate methods by case",
+ "latency": "One logical result per query and provider; end-to-end elapsed time includes a single retry after transport, HTTP, or invalid-response failure",
+ "quality": "Deterministic declared-target and site-constraint checks; no model judge. Public labeled evidence evaluated separately.",
+ "review": "No independent result review; machine checks only",
+ "reference": "Before/after complete publisher responses verify declared target identity; volatile HTML bytes may differ. No source-body scoring.",
+ "cost": "Cumulative list-price estimate over physical calls; unknown Lexmount price remains unavailable; not an invoice",
+ "reference_timeout_s": 30,
+ "reference_scope": "identity",
+ "execution_location": "Same macOS client in Asia/Shanghai time zone; provider localization defaults; upstream geographic routing not controlled",
+ "as_of": "2026-10-20",
+ "comparison": "All 149 queries, five modes in rotating serial order. Baseline: Lexmount native, DeepSeek need_content=false, Bocha summary=false. Optional-output comparisons use same-query paired differences, not historical run differences."
+ },
+ "methods": [
+ {
+ "id": "lexmount",
+ "label": "Lexmount Search",
+ "adapter": "lexmount",
+ "endpoint": "https://webfetch.local.lexmount.net/v1/search",
+ "key_env": "LEXMOUNT_SEARCH_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": null,
+ "price_source": "Product pricing not set in supplied requirements",
+ "price_checked": "2026-10-20",
+ "billing": "unknown"
+ },
+ {
+ "id": "deepseek",
+ "label": "DeepSeek Search",
+ "adapter": "deepseek",
+ "endpoint": "https://api.deepseek.com/v1/tools/search",
+ "key_env": "DEEPSEEK_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 5,
+ "price_source": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "price_checked": "2026-10-20",
+ "billing": "http-200-nonempty",
+ "output_options": {
+ "need_content": false
+ }
+ },
+ {
+ "id": "bocha",
+ "label": "Bocha Web Search",
+ "adapter": "bocha",
+ "endpoint": "https://api.bochaai.com/v1/web-search",
+ "key_env": "BOCHA_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 36,
+ "price_source": "https://market.aliyun.com/detail/cmgj00071702.html",
+ "price_checked": "2026-10-20",
+ "billing": "http-200",
+ "output_options": {
+ "summary": false
+ }
+ },
+ {
+ "id": "deepseek-content",
+ "label": "DeepSeek Search + content",
+ "adapter": "deepseek",
+ "endpoint": "https://api.deepseek.com/v1/tools/search",
+ "key_env": "DEEPSEEK_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 5,
+ "price_source": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "price_checked": "2026-10-20",
+ "billing": "http-200-nonempty",
+ "output_options": {
+ "need_content": true
+ }
+ },
+ {
+ "id": "bocha-summary",
+ "label": "Bocha Web Search + summary",
+ "adapter": "bocha",
+ "endpoint": "https://api.bochaai.com/v1/web-search",
+ "key_env": "BOCHA_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 36,
+ "price_source": "https://market.aliyun.com/detail/cmgj00071702.html",
+ "price_checked": "2026-10-20",
+ "billing": "http-200",
+ "output_options": {
+ "summary": true
+ }
+ }
+ ],
+ "cases": [
+ {
+ "id": "ds-price-zh",
+ "family": "web",
+ "language": "zh",
+ "query": "DeepSeek Search API 价格 空结果 是否收费",
+ "anchors": [
+ "https://api-docs.deepseek.com/zh-cn/guides/search/"
+ ],
+ "origin": "https://x.com/Mileson07/status/2112394138054279679",
+ "derivation": "New query from reported per-task billing concern",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "ds-price-en",
+ "family": "web",
+ "language": "en",
+ "query": "DeepSeek search fetch API pricing count need_content",
+ "anchors": [
+ "https://api-docs.deepseek.com/guides/search/"
+ ],
+ "origin": "https://x.com/ethereaglehq/status/2112397029393736153",
+ "derivation": "New query from billing discussion",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "ds-schema",
+ "family": "web",
+ "language": "en",
+ "query": "DeepSeek search API rerank_score authority summary schema",
+ "anchors": [
+ "https://api-docs.deepseek.com/api/search/"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "New query testing official specification discovery",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "tavily-price",
+ "family": "web",
+ "language": "en",
+ "query": "Tavily basic advanced search API credits pricing",
+ "anchors": [
+ "https://docs.tavily.com/documentation/api-credits"
+ ],
+ "origin": "https://x.com/ai_fengshou/status/2112382046328807921",
+ "derivation": "New query testing a price-comparison claim",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "gemini-original",
+ "family": "web",
+ "language": "en",
+ "query": "find out who Gemini cites for your query",
+ "anchors": [
+ "https://suganthan.com/blog/gemini-citations/"
+ ],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "derivation": "Exact published query; known original page, not an exhaustive relevance judgment; top 10 differs from author count=50",
+ "provenance_kind": "community_exact",
+ "category": "web"
+ },
+ {
+ "id": "fanout-original",
+ "family": "web",
+ "language": "en",
+ "query": "ChatGPT fan-out queries Chrome extension",
+ "anchors": [
+ "https://suganthan.com/blog/fanoutfox/"
+ ],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "derivation": "Exact published query; known creator page; top 10 differs from author count=50; caller localization left at default",
+ "provenance_kind": "community_exact",
+ "category": "web"
+ },
+ {
+ "id": "kubernetes-probe",
+ "family": "web",
+ "language": "zh",
+ "query": "Kubernetes Deployment 滚动更新 maxSurge maxUnavailable 官方文档",
+ "anchors": [
+ "https://kubernetes.io/docs/concepts/workloads/controllers/deployment/",
+ "https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/"
+ ],
+ "origin": "authored-control",
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "ranking-benchmark",
+ "family": "web",
+ "language": "en",
+ "query": "Artificial Analysis Search Index methodology fixed answer model",
+ "anchors": [
+ "https://artificialanalysis.ai/methodology/search-api"
+ ],
+ "origin": "https://x.com/IMG_5955/status/2112392830878732564",
+ "derivation": "New query to verify benchmark methodology rather than social ranking",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "freshstack",
+ "family": "web",
+ "language": "en",
+ "query": "FreshStack Building Realistic Benchmarks technical documents",
+ "anchors": [
+ "https://arxiv.org/abs/2504.13128",
+ "https://fresh-stack.github.io/"
+ ],
+ "origin": "https://arxiv.org/abs/2504.13128",
+ "paper_ids": [
+ "2504.13128"
+ ],
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "bright",
+ "family": "web",
+ "language": "en",
+ "query": "BRIGHT reasoning intensive retrieval benchmark",
+ "anchors": [
+ "https://arxiv.org/abs/2407.12883"
+ ],
+ "origin": "https://arxiv.org/abs/2407.12883",
+ "paper_ids": [
+ "2407.12883"
+ ],
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "mcp-source",
+ "family": "web",
+ "language": "zh",
+ "query": "Model Context Protocol 官方规范 文档",
+ "anchors": [],
+ "domains": [
+ "modelcontextprotocol.io"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "New first-party-source probe; domain presence is not relevance",
+ "provenance_kind": "community_derived",
+ "category": "web"
+ },
+ {
+ "id": "python-source",
+ "family": "web",
+ "language": "zh",
+ "query": "Python asyncio TaskGroup 官方文档 异常处理",
+ "anchors": [
+ "https://docs.python.org/3/library/asyncio-task.html"
+ ],
+ "origin": "authored-control",
+ "provenance_kind": "curated",
+ "category": "web"
+ },
+ {
+ "id": "wechat-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek site:mp.weixin.qq.com",
+ "anchors": [],
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored topic query from reported WeChat coverage gap; not a reproduced original query",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "v2ex-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek API site:v2ex.com",
+ "anchors": [],
+ "domains": [
+ "v2ex.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored domain constraint probe; no index-wide coverage claim",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "reddit-probe",
+ "family": "site",
+ "language": "en",
+ "query": "DeepSeek search API site:reddit.com",
+ "anchors": [],
+ "domains": [
+ "reddit.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored community search probe",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "youtube-probe",
+ "family": "site",
+ "language": "en",
+ "query": "Andrej Karpathy neural networks site:youtube.com",
+ "anchors": [],
+ "domains": [
+ "youtube.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored video discovery probe",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "douyin-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek 使用教程 site:douyin.com",
+ "anchors": [],
+ "domains": [
+ "douyin.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored video discovery probe; content length is not transcript accuracy",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "sspai-probe",
+ "family": "site",
+ "language": "zh",
+ "query": "DeepSeek site:sspai.com",
+ "anchors": [],
+ "domains": [
+ "sspai.com"
+ ],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored independent-publisher probe",
+ "provenance_kind": "community_derived",
+ "category": "site"
+ },
+ {
+ "id": "arxiv-bright",
+ "family": "vertical",
+ "language": "en",
+ "query": "BRIGHT A Realistic and Challenging Benchmark for Reasoning-Intensive Retrieval",
+ "source": "arxiv",
+ "domains": [
+ "arxiv.org"
+ ],
+ "anchors": [
+ "https://arxiv.org/abs/2407.12883"
+ ],
+ "origin": "https://arxiv.org/abs/2407.12883",
+ "paper_ids": [
+ "2407.12883"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "arxiv-freshstack",
+ "family": "vertical",
+ "language": "en",
+ "query": "FreshStack Building Realistic Benchmarks for Evaluating Retrieval on Technical Documents",
+ "source": "arxiv",
+ "domains": [
+ "arxiv.org"
+ ],
+ "anchors": [
+ "https://arxiv.org/abs/2504.13128"
+ ],
+ "origin": "https://arxiv.org/abs/2504.13128",
+ "paper_ids": [
+ "2504.13128"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "github-harness",
+ "family": "vertical",
+ "language": "en",
+ "query": "deepseek-harness",
+ "source": "github",
+ "domains": [
+ "github.com"
+ ],
+ "anchors": [
+ "https://github.com/deepseek-ai/deepseek-harness"
+ ],
+ "origin": "https://github.com/deepseek-ai/deepseek-harness",
+ "repositories": [
+ "deepseek-ai/deepseek-harness"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "github-search-evals",
+ "family": "vertical",
+ "language": "en",
+ "query": "tavily-search-evals",
+ "source": "github",
+ "domains": [
+ "github.com"
+ ],
+ "anchors": [
+ "https://github.com/tavily-ai/tavily-search-evals"
+ ],
+ "origin": "https://github.com/tavily-ai/tavily-search-evals",
+ "repositories": [
+ "tavily-ai/tavily-search-evals"
+ ],
+ "provenance_kind": "curated",
+ "category": "vertical"
+ },
+ {
+ "id": "bilibili-tutorial",
+ "family": "vertical",
+ "language": "zh",
+ "query": "DeepSeek 使用教程",
+ "source": "bilibili",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored native vertical vs site-filter route probe",
+ "provenance_kind": "community_derived",
+ "category": "vertical"
+ },
+ {
+ "id": "wechat-native",
+ "family": "vertical",
+ "language": "zh",
+ "query": "DeepSeek",
+ "source": "sogou_weixin",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "derivation": "Authored native vertical vs site-filter route probe; unresolved redirect URLs reported separately",
+ "provenance_kind": "community_derived",
+ "category": "vertical"
+ },
+ {
+ "id": "public-ki01",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "official RFC for HTTP semantics published as 9110",
+ "anchors": [
+ "https://www.rfc-editor.org/rfc/rfc9110.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI01",
+ "intent": "Find the canonical RFC 9110 document, not a summary or repost.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki02",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "Python proposal to make the global interpreter lock optional PEP",
+ "anchors": [
+ "https://peps.python.org/pep-0703/"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI02",
+ "intent": "Find PEP 703 on the official Python PEP site.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki03",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "Rich Sutton essay arguing general methods that scale with computation beat hand-built knowledge",
+ "anchors": [
+ "http://www.incompleteideas.net/IncIdeas/BitterLesson.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI03",
+ "intent": "Find Rich Sutton's essay The Bitter Lesson.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki04",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "SQLite documentation explaining isolation between separate database connections",
+ "anchors": [
+ "https://www.sqlite.org/isolation.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI04",
+ "intent": "Find SQLite's canonical isolation documentation.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki05",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "W3C Web Content Accessibility Guidelines 2.2 recommendation",
+ "anchors": [
+ "https://www.w3.org/TR/WCAG22/"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI05",
+ "intent": "Find the W3C Recommendation for WCAG 2.2.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki06",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "BurntSushi ripgrep source repository",
+ "anchors": [
+ "https://github.com/BurntSushi/ripgrep"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI06",
+ "intent": "Find the canonical ripgrep repository owned by BurntSushi.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments",
+ "repositories": [
+ "burntsushi/ripgrep"
+ ]
+ },
+ {
+ "id": "public-ki07",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "Google site reliability engineering book chapter about handling overload",
+ "anchors": [
+ "https://sre.google/sre-book/handling-overload/"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI07",
+ "intent": "Find the Handling Overload chapter of Google's SRE book.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ki08",
+ "family": "web",
+ "category": "known_item",
+ "language": "en",
+ "query": "NIST AI Risk Management Framework 1.0 PDF",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "KI08",
+ "intent": "Find the official NIST AI RMF 1.0 publication or its canonical PDF.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps01",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "European Union AI Act Regulation 2024/1689 official journal full text",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS01",
+ "intent": "Return the official EU legal text for Regulation (EU) 2024/1689.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps02",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "CISA known exploited vulnerabilities catalog official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS02",
+ "intent": "Return CISA's official Known Exploited Vulnerabilities Catalog.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps03",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "FDA cybersecurity in medical devices final guidance 2023",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS03",
+ "intent": "Return the official FDA final guidance document issued in 2023.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps04",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "WHO guideline on non-sugar sweeteners 2023",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS04",
+ "intent": "Return the official WHO guideline or publication page.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps05",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "SEC NVIDIA 2025 annual report 10-K",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS05",
+ "intent": "Return NVIDIA's official SEC 10-K filing for fiscal 2025.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps06",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "Federal Reserve March 2024 FOMC meeting minutes",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS06",
+ "intent": "Return the official Federal Reserve minutes for the March 2024 FOMC meeting.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps07",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "NASA Artemis II mission official overview",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS07",
+ "intent": "Return NASA's official Artemis II mission overview.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ps08",
+ "family": "web",
+ "category": "primary_source",
+ "language": "en",
+ "query": "EDPB Opinion 08/2024 consent or pay large online platforms",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "PS08",
+ "intent": "Return the European Data Protection Board's official Opinion 08/2024.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te01",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Python \"TypeError: unhashable type: 'dict'\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE01",
+ "intent": "Find pages that correctly explain and resolve this exact Python error.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te02",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "PostgreSQL SQLSTATE 40001 serialization_failure",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE02",
+ "intent": "Find authoritative documentation or high-quality troubleshooting for PostgreSQL serialization failures.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te03",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Rust E0502 cannot borrow as mutable because it is also borrowed as immutable",
+ "anchors": [
+ "https://doc.rust-lang.org/error_codes/E0502.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE03",
+ "intent": "Find the official error explanation or a directly applicable high-quality explanation.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te04",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "OpenSSL error:0A00010B SSL routines wrong version number",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE04",
+ "intent": "Find a technically accurate explanation and fixes for this exact OpenSSL error.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te05",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Kubernetes ImagePullBackOff ErrImagePull difference",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE05",
+ "intent": "Find pages that accurately distinguish the two Kubernetes states and provide diagnostic steps.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te06",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "React \"Hydration failed because the initial UI does not match what was rendered on the server\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE06",
+ "intent": "Find directly relevant React or Next.js hydration mismatch documentation or troubleshooting.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te07",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Python asyncio \"Task exception was never retrieved\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE07",
+ "intent": "Find directly relevant explanations and corrective patterns for this asyncio warning.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-te08",
+ "family": "web",
+ "category": "technical_exact",
+ "language": "en",
+ "query": "Git \"fatal: refusing to merge unrelated histories\"",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "TE08",
+ "intent": "Find directly relevant Git documentation or accurate troubleshooting for this exact error.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm01",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "browser API that reports when an element enters or leaves the viewport",
+ "anchors": [
+ "https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM01",
+ "intent": "Retrieve documentation or strong explanations of the Intersection Observer API.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm02",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "Linux mechanism for receiving filesystem change notifications without polling",
+ "anchors": [
+ "https://man7.org/linux/man-pages/man7/inotify.7.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM02",
+ "intent": "Retrieve documentation or strong explanations of inotify.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm03",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "PostgreSQL command that runs a query and reports the actual execution plan and timing",
+ "anchors": [
+ "https://www.postgresql.org/docs/current/sql-explain.html"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM03",
+ "intent": "Retrieve PostgreSQL EXPLAIN ANALYZE documentation or a directly useful explanation.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm04",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "HTTP feature for resuming a download from a specific byte offset",
+ "anchors": [
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM04",
+ "intent": "Retrieve documentation on HTTP range requests and byte ranges.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm05",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "CSS grid pattern that automatically fits as many equal-width cards as possible without media queries",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM05",
+ "intent": "Retrieve documentation or a strong explanation of repeat(auto-fit, minmax(...)).",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm06",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "safe file update technique that writes a temporary file and renames it over the original",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM06",
+ "intent": "Retrieve strong technical material on atomic file replacement using write-fsync-rename patterns.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm07",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "retry strategy that adds randomness to exponential delays to prevent synchronized clients",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM07",
+ "intent": "Retrieve documentation or strong explanations of exponential backoff with jitter.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-sm08",
+ "family": "web",
+ "category": "semantic_long_tail",
+ "language": "en",
+ "query": "browser security policy that limits which origins may load scripts images and frames",
+ "anchors": [
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP"
+ ],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "SM08",
+ "intent": "Retrieve documentation on Content Security Policy.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw01",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "personal blog measuring keyboard input latency across computers and keyboards",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW01",
+ "intent": "Find detailed independent measurements rather than generic SEO summaries.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw02",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "reverse engineering the Intel 8087 floating point chip from microscope die photographs",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW02",
+ "intent": "Find detailed independent reverse-engineering write-ups based on chip die imagery.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw03",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "blog post implementing an arena allocator in C with alignment and out-of-memory handling",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW03",
+ "intent": "Find a technically detailed independent implementation, not a shallow definition.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw04",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "write-up building a tiny debugger with ptrace in C",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW04",
+ "intent": "Find a detailed independent tutorial or project write-up using ptrace.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw05",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "detailed amateur radio guide decoding NOAA APT weather satellite images with a cheap SDR",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW05",
+ "intent": "Find detailed hobbyist or specialist instructions with real setup information.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw06",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "personal project restoring a Sun SPARCstation IPX power supply and NVRAM",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW06",
+ "intent": "Find a detailed restoration log covering the PSU and NVRAM.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw07",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "graphics programming blog explaining image downsampling aliasing and the limits of bilinear filtering",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW07",
+ "intent": "Find a technically deep independent graphics-programming article.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-nw08",
+ "family": "web",
+ "category": "niche_small_web",
+ "language": "en",
+ "query": "homebrew 6502 computer build log memory map and address decoding",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "NW08",
+ "intent": "Find detailed personal build logs or specialist guides with an explicit memory map and decoder design.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc01",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "open source vector database written in Rust Apache 2.0 HNSW",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC01",
+ "intent": "Find a project satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc02",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "self-hosted web analytics AGPL cookieless PostgreSQL",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC02",
+ "intent": "Find a web analytics product satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc03",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "embedded columnar OLAP database SQL reads Parquet without a server",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC03",
+ "intent": "Find a database satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc04",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "static site generator written in Go multilingual taxonomies Apache 2.0",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC04",
+ "intent": "Find a static-site generator satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc05",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "open source Kubernetes-native workflow engine written in Go supports DAGs and a web UI",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC05",
+ "intent": "Find a workflow engine satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc06",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "Python ASGI framework dependency injection OpenAPI type hints",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC06",
+ "intent": "Find a Python framework satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc07",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "open source feature flag service written in Go self-hosted PostgreSQL",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC07",
+ "intent": "Find a feature-flag service satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-mc08",
+ "family": "web",
+ "category": "multi_constraint",
+ "language": "en",
+ "query": "low-profile split wireless mechanical keyboard open source ZMK firmware",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "MC08",
+ "intent": "Find keyboard projects or build guides satisfying all stated constraints.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex01",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "approaches to zero-downtime PostgreSQL schema migrations",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX01",
+ "intent": "Return a useful mix of distinct migration strategies and implementation guidance.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex02",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "ways to model hierarchical data in SQL",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX02",
+ "intent": "Return results covering multiple distinct hierarchy-modeling techniques.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex03",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "distributed API rate limiting algorithms",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX03",
+ "intent": "Return results covering multiple algorithmic and distributed implementation approaches.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex04",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "strategies for handling out-of-order events in stream processing",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX04",
+ "intent": "Return results covering multiple event-time and correction strategies.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex05",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "monorepo versus polyrepo tradeoffs",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX05",
+ "intent": "Return results covering distinct organizational and engineering tradeoffs.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex06",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "offline-first web app synchronization approaches",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX06",
+ "intent": "Return results covering multiple synchronization and conflict-resolution models.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex07",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "database change data capture approaches",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX07",
+ "intent": "Return results covering multiple CDC mechanisms and their tradeoffs.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ex08",
+ "family": "web",
+ "category": "exploratory_diversity",
+ "language": "en",
+ "query": "methods for preventing cache stampede",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "EX08",
+ "intent": "Return results covering multiple prevention and mitigation techniques.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml01",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "cómo solicitar el certificado digital de persona física FNMT",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML01",
+ "intent": "Find the official Spanish FNMT procedure in Spanish.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml02",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "factura electrónica obligatoria empresas ley crea y crece requisitos oficiales",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML02",
+ "intent": "Find official Spanish information on business e-invoicing requirements under the Create and Grow Law.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml03",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "rupture conventionnelle délai de rétractation site officiel",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML03",
+ "intent": "Find the official French rule and procedure for the withdrawal period.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml04",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "Bundesurlaubsgesetz Mindesturlaub Vollzeit offizielle Fassung",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML04",
+ "intent": "Find the official German statutory text or official explanation of minimum annual leave.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml05",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "Portal das Finanças pedir certidão de dívida e não dívida",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML05",
+ "intent": "Find the official Portuguese tax portal procedure for obtaining a tax-debt clearance certificate.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml06",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "マイナンバーカード 電子証明書 有効期限 公式",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML06",
+ "intent": "Find an official Japanese source stating the validity period of My Number Card electronic certificates.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml07",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "Rijksoverheid vakantiegeld wanneer uitbetalen",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML07",
+ "intent": "Find the official Dutch government explanation of when holiday allowance is paid.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-ml08",
+ "family": "web",
+ "category": "multilingual_regional",
+ "language": "multilingual",
+ "query": "com donar-se d'alta a l'idCAT Mòbil requisits oficials",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "ML08",
+ "intent": "Find the official Catalan registration requirements for idCAT Mòbil.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb01",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "pyhton dataclass frozen hash not work mutable field",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB01",
+ "intent": "Find accurate material explaining frozen dataclass hashing and mutable fields despite spelling and grammar noise.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb02",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "ngnix 502 bad gateway upstream prematurely closed connection",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB02",
+ "intent": "Find accurate nginx troubleshooting despite the misspelling.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb03",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "kuberentes pod stuck terminatting finalizer remove safely",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB03",
+ "intent": "Find safe Kubernetes finalizer-removal guidance despite multiple misspellings.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb04",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "postgres index for json not full text exact key value",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB04",
+ "intent": "Find JSONB indexing guidance for exact key/value queries while respecting the negative constraint.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb05",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "css cards same hight grid without javascript",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB05",
+ "intent": "Find CSS-only equal-height card layouts despite misspelling and shorthand.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb06",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "git undo last commit keep changes dont delete files",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB06",
+ "intent": "Find the correct Git operation while preserving working changes.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb07",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "whats the thing in http where browser asks server if cached file changed etag 304",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB07",
+ "intent": "Find HTTP conditional-request documentation from a verbose colloquial query.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-rb08",
+ "family": "web",
+ "category": "robustness_noisy",
+ "language": "en",
+ "query": "rust cant move out borrowed content option take",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "RB08",
+ "intent": "Find relevant Rust guidance on moving a value out through Option::take.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr01",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest stable Rust release notes official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR01",
+ "intent": "Surface the newest stable Rust release notes from an official Rust source.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr02",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest Python security release official announcement",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR02",
+ "intent": "Surface the newest official Python security release announcement.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr03",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest Kubernetes release notes official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR03",
+ "intent": "Surface the newest official stable Kubernetes release notes.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr04",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest Mozilla Firefox release notes official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR04",
+ "intent": "Surface the newest official Firefox release notes.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr05",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest PostgreSQL minor release announcement official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR05",
+ "intent": "Surface the newest official PostgreSQL minor release announcement.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr06",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest CISA known exploited vulnerabilities additions official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR06",
+ "intent": "Surface the newest official CISA KEV additions or update notice.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr07",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest European Commission Digital Markets Act decision official",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR07",
+ "intent": "Surface the newest official European Commission decision or formal action under the DMA.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "public-fr08",
+ "family": "web",
+ "category": "freshness_rolling",
+ "language": "en",
+ "query": "latest GitHub Actions runner release",
+ "anchors": [],
+ "origin": "https://github.com/Microck/websearch-bench/blob/7714e86b1b8d7b943037c38b04d4f6ba65566d5b/data/queries.jsonl",
+ "provenance_kind": "public_catalog",
+ "source_case_id": "FR08",
+ "intent": "Surface the newest release of GitHub's official Actions runner repository.",
+ "derivation": "Exact public catalog query; target hints are not imported as relevance judgments"
+ },
+ {
+ "id": "creator-1",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "track Google AI Mode traffic Search Console",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "creator-2",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "AI crawler access checker",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "creator-3",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "Google Search Console MCP",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "creator-4",
+ "family": "web",
+ "category": "creator_discovery",
+ "language": "en",
+ "query": "x402 pay per crawl AI agents",
+ "anchors": [],
+ "origin": "https://suganthan.com/blog/deepseek-search-api/",
+ "provenance_kind": "community_exact",
+ "derivation": "Exact published query; no inferred target label; count=10 differs from original count=50"
+ },
+ {
+ "id": "cn-01",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "铁路12306 官方网站 网上订票",
+ "anchors": [
+ "https://www.12306.cn/index/"
+ ],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-02",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "故宫博物院 官方预约购票入口",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-03",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "国家统计局 2026年9月 居民消费价格",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-04",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "杭州 西湖 博物馆 周一 开放时间",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-05",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "北京 办理护照 官方预约 材料",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-06",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "上海 电子税务局 发票 红冲 操作",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-07",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "Vue 3 官方文档 计算属性 缓存",
+ "anchors": [
+ "https://cn.vuejs.org/guide/essentials/computed.html",
+ "https://cn.vuejs.org/guide/essentials/computed"
+ ],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-08",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "微信小程序 官方文档 wx.request",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-09",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "支付宝小程序 官方文档 云调用",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-10",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "高德地图 JavaScript API 路径规划 文档",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-11",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "国家图书馆 读者证 办理 官方",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "cn-12",
+ "family": "web",
+ "category": "chinese_service",
+ "language": "zh",
+ "query": "个人信息保护法 全文 全国人大",
+ "anchors": [],
+ "origin": "Curated Chinese service and documentation queries",
+ "provenance_kind": "curated",
+ "derivation": "New coverage supplement; not copied from an X evaluation"
+ },
+ {
+ "id": "social-01",
+ "family": "site",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L1",
+ "query": "site:mp.weixin.qq.com 大模型 应用",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 1,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-02",
+ "family": "web",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L2",
+ "query": "公众号文章 DeepSeek 使用教程",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 2,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-03",
+ "family": "site",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L3",
+ "query": "site:mp.weixin.qq.com AI after:2026-09-01",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 3,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-04",
+ "family": "site",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L1",
+ "query": "site:xiaohongshu.com 露营装备清单",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 4,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-05",
+ "family": "web",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L2",
+ "query": "小红书 成都 美食 推荐 笔记",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 5,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-06",
+ "family": "site",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L3",
+ "query": "site:xiaohongshu.com 穿搭 after:2026-09-01",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 6,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-07",
+ "family": "site",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L1",
+ "query": "site:zhihu.com 如何评价 DeepSeek",
+ "domains": [
+ "zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 7,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-08",
+ "family": "web",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L2",
+ "query": "程序员 35 岁 危机 怎么看",
+ "domains": [
+ "zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 8,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-09",
+ "family": "site",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L3",
+ "query": "site:zhuanlan.zhihu.com 大模型 after:2026-09-01",
+ "domains": [
+ "zhuanlan.zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 9,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-10",
+ "family": "site",
+ "language": "zh",
+ "category": "douyin",
+ "difficulty": "L1",
+ "query": "site:douyin.com 做饭 教程",
+ "domains": [
+ "douyin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 10,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-11",
+ "family": "web",
+ "language": "zh",
+ "category": "douyin",
+ "difficulty": "L2",
+ "query": "抖音 健身 教学 视频",
+ "domains": [
+ "douyin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 11,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-12",
+ "family": "site",
+ "language": "zh",
+ "category": "weibo",
+ "difficulty": "L1",
+ "query": "site:weibo.com 热搜",
+ "domains": [
+ "weibo.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 12,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-13",
+ "family": "web",
+ "language": "zh",
+ "category": "weibo",
+ "difficulty": "L2",
+ "query": "微博 网友 热议 AI",
+ "domains": [
+ "weibo.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 13,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-14",
+ "family": "site",
+ "language": "zh",
+ "category": "bilibili",
+ "difficulty": "L1",
+ "query": "site:bilibili.com 机器学习 教程",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 14,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-15",
+ "family": "web",
+ "language": "zh",
+ "category": "bilibili",
+ "difficulty": "L2",
+ "query": "B站 up主 大模型 原理 讲解",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 15,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-16",
+ "family": "site",
+ "language": "zh",
+ "category": "baijiahao",
+ "difficulty": "L1",
+ "query": "site:baijiahao.baidu.com 新能源汽车",
+ "domains": [
+ "baijiahao.baidu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 16,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-17",
+ "family": "site",
+ "language": "zh",
+ "category": "toutiao",
+ "difficulty": "L1",
+ "query": "site:toutiao.com 新能源汽车",
+ "domains": [
+ "toutiao.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 17,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-18",
+ "family": "site",
+ "language": "zh",
+ "category": "douban",
+ "difficulty": "L1",
+ "query": "site:douban.com 小组 租房",
+ "domains": [
+ "douban.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 18,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-19",
+ "family": "web",
+ "language": "zh",
+ "category": "douban",
+ "difficulty": "L2",
+ "query": "豆瓣 书评 百年孤独",
+ "domains": [
+ "douban.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 19,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-20",
+ "family": "site",
+ "language": "en",
+ "category": "x",
+ "difficulty": "L1",
+ "query": "site:x.com AnthropicAI",
+ "domains": [
+ "x.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 20,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-21",
+ "family": "web",
+ "language": "en",
+ "category": "x",
+ "difficulty": "L2",
+ "query": "Karpathy tweet on vibe coding",
+ "domains": [
+ "x.com",
+ "twitter.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 21,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-22",
+ "family": "site",
+ "language": "en",
+ "category": "reddit",
+ "difficulty": "L1",
+ "query": "site:reddit.com LocalLLaMA best model",
+ "domains": [
+ "reddit.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 22,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-23",
+ "family": "web",
+ "language": "en",
+ "category": "reddit",
+ "difficulty": "L2",
+ "query": "reddit thread best budget mechanical keyboard",
+ "domains": [
+ "reddit.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 23,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-24",
+ "family": "site",
+ "language": "en",
+ "category": "instagram",
+ "difficulty": "L1",
+ "query": "site:instagram.com nasa",
+ "domains": [
+ "instagram.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 24,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-25",
+ "family": "site",
+ "language": "en",
+ "category": "facebook",
+ "difficulty": "L1",
+ "query": "site:facebook.com NASA",
+ "domains": [
+ "facebook.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 25,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-26",
+ "family": "site",
+ "language": "en",
+ "category": "linkedin",
+ "difficulty": "L1",
+ "query": "site:linkedin.com Anthropic",
+ "domains": [
+ "linkedin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 26,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-27",
+ "family": "site",
+ "language": "en",
+ "category": "medium",
+ "difficulty": "L1",
+ "query": "site:medium.com LLM agents",
+ "domains": [
+ "medium.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 27,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-28",
+ "family": "site",
+ "language": "en",
+ "category": "substack",
+ "difficulty": "L1",
+ "query": "site:substack.com AI newsletter",
+ "domains": [
+ "substack.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 28,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "arcadia-homelab-original",
+ "family": "web",
+ "category": "community_original",
+ "language": "zh",
+ "query": "个人博客 Homelab NixOS",
+ "anchors": [],
+ "origin": "https://x.com/Arcadia_Bao/status/2111711040757006401",
+ "provenance_kind": "community_exact",
+ "intent": "Find independent personal blogs discussing Homelab and NixOS.",
+ "derivation": "Exact visible query in user-supplied screenshot 3; no inferred relevance labels or expected pages.",
+ "source_image_sha256": "c751c85b3c961f129a3b3d863a5a99150d09617acc223e8d0348e14b8e725aea"
+ }
+ ],
+ "reference_revision": {
+ "id": "search-reference-2",
+ "root_cause": "Known tracking parameters obscured identical page URLs; the Vue documentation is officially available at both declared paths. Semantic query parameters remain significant.",
+ "scope": "All three methods and all predeclared known-page queries in the five-result cohort",
+ "regressions": [
+ "tests.web_search.test_search.SearchScenarios.test_known_tracking_parameters_do_not_hide_the_same_page",
+ "tests.web_search.test_search.SearchScenarios.test_semantic_url_parameters_are_preserved"
+ ]
+ },
+ "collection_revision": {
+ "id": "search-collection-2",
+ "root_cause": "HTTP 200 can precede a truncated body; reference availability now also requires a successful transfer. Reference timeout is separate from API timing.",
+ "scope": "Entire declared two-method, 24-query, three-round cohort rerun; previous calls preserved outside Git",
+ "regressions": [
+ "tests.web_search.test_runner.ReferenceCaptureScenarios.test_http_200_with_incomplete_transfer_is_not_qualified"
+ ],
+ "supersedes_data_home_relative": "web-search/20261020-matched"
+ },
+ "cohort_revision": {
+ "reason": "Expand from 24 to 120 preregistered queries; public query catalog and exact community queries added. New complete matrix; previous pilot retained separately.",
+ "public_catalog_commit": "7714e86b1b8d7b943037c38b04d4f6ba65566d5b",
+ "public_catalog_sha256": "90ed45dae3a4604664102eede1470e1a1ab1cdca0c54f279113c94ec55c64231"
+ },
+ "reference_checks": {
+ "https://api-docs.deepseek.com/zh-cn/guides/search/": {
+ "url": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "contains": [
+ "need_content"
+ ]
+ },
+ "https://api-docs.deepseek.com/guides/search/": {
+ "url": "https://api-docs.deepseek.com/guides/search/",
+ "contains": [
+ "need_content"
+ ]
+ },
+ "https://api-docs.deepseek.com/api/search/": {
+ "url": "https://api-docs.deepseek.com/api/search/",
+ "contains": [
+ "rerank_score"
+ ]
+ },
+ "https://docs.tavily.com/documentation/api-credits": {
+ "url": "https://docs.tavily.com/documentation/api-credits",
+ "contains": [
+ "credit"
+ ]
+ },
+ "https://suganthan.com/blog/gemini-citations/": {
+ "url": "https://suganthan.com/blog/gemini-citations/",
+ "contains": [
+ "Gemini"
+ ]
+ },
+ "https://suganthan.com/blog/fanoutfox/": {
+ "url": "https://suganthan.com/blog/fanoutfox/",
+ "contains": [
+ "FanoutFox"
+ ]
+ },
+ "https://kubernetes.io/docs/concepts/workloads/controllers/deployment/": {
+ "url": "https://kubernetes.io/docs/concepts/workloads/controllers/deployment/",
+ "contains": [
+ "Deployment"
+ ]
+ },
+ "https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/": {
+ "url": "https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/",
+ "contains": [
+ "Deployment"
+ ]
+ },
+ "https://artificialanalysis.ai/methodology/search-api": {
+ "url": "https://artificialanalysis.ai/methodology/search-api",
+ "contains": [
+ "Search"
+ ]
+ },
+ "https://arxiv.org/abs/2504.13128": {
+ "url": "https://arxiv.org/abs/2504.13128",
+ "contains": [
+ "2504.13128"
+ ]
+ },
+ "https://fresh-stack.github.io/": {
+ "url": "https://fresh-stack.github.io/",
+ "contains": [
+ "FreshStack"
+ ]
+ },
+ "https://arxiv.org/abs/2407.12883": {
+ "url": "https://arxiv.org/abs/2407.12883",
+ "contains": [
+ "2407.12883"
+ ]
+ },
+ "https://docs.python.org/3/library/asyncio-task.html": {
+ "url": "https://docs.python.org/3/library/asyncio-task.html",
+ "contains": [
+ "asyncio"
+ ]
+ },
+ "https://github.com/deepseek-ai/deepseek-harness": {
+ "url": "https://github.com/deepseek-ai/deepseek-harness",
+ "contains": [
+ "deepseek-ai/deepseek-harness"
+ ]
+ },
+ "https://github.com/tavily-ai/tavily-search-evals": {
+ "url": "https://github.com/tavily-ai/tavily-search-evals",
+ "contains": [
+ "tavily-ai/tavily-search-evals"
+ ]
+ },
+ "https://www.rfc-editor.org/rfc/rfc9110.html": {
+ "url": "https://www.rfc-editor.org/rfc/rfc9110.html",
+ "contains": [
+ "HTTP Semantics"
+ ]
+ },
+ "https://peps.python.org/pep-0703/": {
+ "url": "https://peps.python.org/pep-0703/",
+ "contains": [
+ "703"
+ ]
+ },
+ "http://www.incompleteideas.net/IncIdeas/BitterLesson.html": {
+ "url": "http://www.incompleteideas.net/IncIdeas/BitterLesson.html",
+ "contains": [
+ "Bitter Lesson"
+ ]
+ },
+ "https://www.sqlite.org/isolation.html": {
+ "url": "https://www.sqlite.org/isolation.html",
+ "contains": [
+ "Isolation"
+ ]
+ },
+ "https://www.w3.org/TR/WCAG22/": {
+ "url": "https://www.w3.org/TR/WCAG22/",
+ "contains": [
+ "Web Content Accessibility Guidelines"
+ ]
+ },
+ "https://github.com/BurntSushi/ripgrep": {
+ "url": "https://github.com/BurntSushi/ripgrep",
+ "contains": [
+ "BurntSushi/ripgrep"
+ ]
+ },
+ "https://sre.google/sre-book/handling-overload/": {
+ "url": "https://sre.google/sre-book/handling-overload/",
+ "contains": [
+ "Handling Overload"
+ ]
+ },
+ "https://doc.rust-lang.org/error_codes/E0502.html": {
+ "url": "https://doc.rust-lang.org/error_codes/E0502.html",
+ "contains": [
+ "E0502"
+ ]
+ },
+ "https://www.12306.cn/index/": {
+ "url": "https://www.12306.cn/index/",
+ "contains": [
+ "12306"
+ ]
+ },
+ "https://cn.vuejs.org/guide/essentials/computed.html": {
+ "url": "https://cn.vuejs.org/guide/essentials/computed.html",
+ "contains": [
+ "computed"
+ ]
+ },
+ "https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API": {
+ "url": "https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API",
+ "contains": [
+ "IntersectionObserver"
+ ]
+ },
+ "https://man7.org/linux/man-pages/man7/inotify.7.html": {
+ "url": "https://man7.org/linux/man-pages/man7/inotify.7.html",
+ "contains": [
+ "inotify"
+ ]
+ },
+ "https://www.postgresql.org/docs/current/sql-explain.html": {
+ "url": "https://www.postgresql.org/docs/current/sql-explain.html",
+ "contains": [
+ "EXPLAIN"
+ ]
+ },
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests": {
+ "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests",
+ "contains": [
+ "Range"
+ ]
+ },
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP": {
+ "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP",
+ "contains": [
+ "Content Security Policy"
+ ]
+ },
+ "https://cn.vuejs.org/guide/essentials/computed": {
+ "url": "https://cn.vuejs.org/guide/essentials/computed",
+ "contains": [
+ "计算属性"
+ ]
+ }
+ }
+}
diff --git a/evaluation/web-search/simpleqa-verified.json b/evaluation/web-search/simpleqa-verified.json
new file mode 100644
index 000000000..bf98aecc4
--- /dev/null
+++ b/evaluation/web-search/simpleqa-verified.json
@@ -0,0 +1,15058 @@
+{
+ "schema": "web-search/1",
+ "title": "SimpleQA Verified: all unchanged questions within the shared API query limit",
+ "publication": {
+ "host": "https://artifact-site.lexmount.cn",
+ "state": "update-private-artifact",
+ "slug": "W3MxzlJuPRl6",
+ "expected_version": "ver_19a9434a8bd84230807f10620e771a70"
+ },
+ "protocol": {
+ "top_k": 5,
+ "rounds": 1,
+ "score_round": 0,
+ "concurrency": 1,
+ "server_timeout_ms": 10000,
+ "client_timeout_s": 20,
+ "interval_s": 0.3,
+ "retry": true,
+ "order": "rotate methods by case",
+ "latency": "One logical result per query and provider; end-to-end elapsed time includes a single retry after transport, HTTP, or invalid-response failure",
+ "quality": "Deterministic declared-target and site-constraint checks; no model judge. Public labeled evidence evaluated separately.",
+ "review": "No independent result review; machine checks only",
+ "reference": "Before/after complete publisher responses verify declared target identity; volatile HTML bytes may differ. No source-body scoring.",
+ "cost": "Cumulative list-price estimate over physical calls; unknown Lexmount price remains unavailable; not an invoice",
+ "reference_timeout_s": 30,
+ "reference_scope": "identity",
+ "execution_location": "Same macOS client in Asia/Shanghai time zone; provider localization defaults; upstream geographic routing not controlled",
+ "as_of": "2026-10-20",
+ "comparison": "All 149 queries, five modes in rotating serial order. Baseline: Lexmount native, DeepSeek need_content=false, Bocha summary=false. Optional-output comparisons use same-query paired differences, not historical run differences."
+ },
+ "methods": [
+ {
+ "id": "lexmount",
+ "label": "Lexmount Search",
+ "adapter": "lexmount",
+ "endpoint": "https://webfetch.local.lexmount.net/v1/search",
+ "key_env": "LEXMOUNT_SEARCH_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": null,
+ "price_source": "Product pricing not set in supplied requirements",
+ "price_checked": "2026-10-20",
+ "billing": "unknown"
+ },
+ {
+ "id": "deepseek",
+ "label": "DeepSeek Search",
+ "adapter": "deepseek",
+ "endpoint": "https://api.deepseek.com/v1/tools/search",
+ "key_env": "DEEPSEEK_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 5,
+ "price_source": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "price_checked": "2026-10-20",
+ "billing": "http-200-nonempty",
+ "output_options": {
+ "need_content": false
+ }
+ },
+ {
+ "id": "bocha",
+ "label": "Bocha Web Search",
+ "adapter": "bocha",
+ "endpoint": "https://api.bochaai.com/v1/web-search",
+ "key_env": "BOCHA_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 36,
+ "price_source": "https://market.aliyun.com/detail/cmgj00071702.html",
+ "price_checked": "2026-10-20",
+ "billing": "http-200",
+ "output_options": {
+ "summary": false
+ }
+ },
+ {
+ "id": "deepseek-content",
+ "label": "DeepSeek Search + content",
+ "adapter": "deepseek",
+ "endpoint": "https://api.deepseek.com/v1/tools/search",
+ "key_env": "DEEPSEEK_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 5,
+ "price_source": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "price_checked": "2026-10-20",
+ "billing": "http-200-nonempty",
+ "output_options": {
+ "need_content": true
+ }
+ },
+ {
+ "id": "bocha-summary",
+ "label": "Bocha Web Search + summary",
+ "adapter": "bocha",
+ "endpoint": "https://api.bochaai.com/v1/web-search",
+ "key_env": "BOCHA_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 36,
+ "price_source": "https://market.aliyun.com/detail/cmgj00071702.html",
+ "price_checked": "2026-10-20",
+ "billing": "http-200",
+ "output_options": {
+ "summary": true
+ }
+ }
+ ],
+ "cases": [
+ {
+ "id": "sqv-5",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How much money, in euros, was the surgeon held responsible for Stella Obasanjo's death ordered to pay her son?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "120,000 euros",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Stella_Obasanjo",
+ "https://www.abc.net.au/news/2009-09-22/doctor-jailed-over-former-first-ladys-lipo-death/1437416",
+ "https://www.independent.co.uk/news/world/africa/surgeon-jailed-over-death-of-first-lady-1791712.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-8",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the former Prime Minister of Iceland who worked as a cabin crew member until 1971?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jóhanna Sigurðardóttir",
+ "reference_urls": [
+ "https://kids.kiddle.co/J%C3%B3hanna_Sigur%C3%B0ard%C3%B3ttir",
+ "https://en.wikipedia.org/wiki/J%C3%B3hanna_Sigur%C3%B0ard%C3%B3ttir",
+ "https://www.britannica.com/biography/Johanna-Sigurdardottir"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-9",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "To whom did Mehbooba Mufti Sayed contest the 2019 Lok Sabha elections and lose?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hasnain Masoodi",
+ "reference_urls": [
+ "https://www.indiatoday.in/elections/lok-sabha-2019/story/j-k-lok-sabha-results-2019-pdp-chief-mehbooba-mufti-loses-anantnag-seat-to-nc-hasnain-masoodi-1533245-2019-05-23",
+ "https://timesofindia.indiatimes.com/elections/lok-sabha-constituencies/jammu-kashmir/anantnag",
+ "https://en.wikipedia.org/wiki/Mehbooba_Mufti"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-13",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Melbourne's Monash Gallery of Art (MGA) rebrand and become the Museum of Australian Photography (MAPh)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2023",
+ "reference_urls": [
+ "https://www.monash.vic.gov.au/About-Us/News/Monash-Gallery-of-Art-rebrands-as-MAPh-Museum-of-Australian-Photography",
+ "https://www.australianphotography.com/news/monash-gallery-of-art-to-rebrand-as-museum-of-australian-photography",
+ "https://maph.org.au/about/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-15",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What signature piece of the MOBA did Scott Wilson discover on the curb between two trash cans?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lucy in the Field with Flowers",
+ "reference_urls": [
+ "https://museumofbadart.org/poor-traits/",
+ "https://en.wikipedia.org/wiki/Museum_of_Bad_Art",
+ "https://pagesweturned.medium.com/a-post-so-bad-it-cant-be-ignored-c879abfa08a6"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-23",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which U.S. TV station did the Canadian reality series *To Serve and Protect* debut?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "KVOS-TV",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/To_Serve_and_Protect",
+ "https://play.google.com/store/tv/show/To_Serve_and_Protect?id=2D702407ED20EE6ASH&hl=ur&gl=US&pli=1",
+ "https://en.wikipedia.org/wiki/KVOS-TV"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-29",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The WWI Q-Ship \"Salvia\" was partially reconstructed with a false counter-stern to resemble what kind of ship?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "tramp steamer (or collier)",
+ "reference_urls": [
+ "https://www.gutenberg.org/cache/epub/54338/pg54338-images.html",
+ "https://reviews.ipmsusa.org/review/q-ship",
+ "http://www.public-library.uk/dailyebook/Q-ships%20and%20their%20story%20(1922).pdf",
+ "https://navymuseum.co.nz/uncategorised/wybrants-olphert-2/"
+ ],
+ "topic": "History",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-31",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1810, François Aimé Louis Dumoulin published a collection of how many engravings themed on the journey of \"Robinson Crusoe\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "150 (acceptable range: anything between 148 and 152)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Fran%C3%A7ois_Aim%C3%A9_Louis_Dumoulin",
+ "https://www.theseus.fi/bitstream/handle/10024/510799/Payne_Sam.pdf;jsessionid=4E7D0553C98F587885B7F5A1C2BECF59?sequence=4"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-32",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was Carrie Underwood's album \"Cry Pretty\" certified Gold by the RIAA?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Oct 23, 2018",
+ "reference_urls": [
+ "https://www.riaa.com/gold-platinum/?tab_active=default-award&se=cry+pretty",
+ "https://en.wikipedia.org/wiki/Cry_Pretty"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-37",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the first and last name of the woman whom the British linguist Bernard Comrie married in 1985?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Akiko Kumahira",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bernard_Comrie",
+ "https://alchetron.com/Bernard-Comrie"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-39",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the kibbutz that Simon Le Bon lived on in 1978?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gvulot.",
+ "reference_urls": [
+ "https://www.thejc.com/news/israel/duran-duran-to-perform-in-israel-de4dp28b",
+ "https://en.wikipedia.org/wiki/Kibbutz_volunteer",
+ "https://www.grunge.com/1088796/simon-le-bon-facts-about-the-duran-duran-frontman/",
+ "https://en.wikipedia.org/wiki/Gvulot"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-43",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Algerian artist Mohammed Racim born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "June 24, 1896",
+ "reference_urls": [
+ "https://www.algeria.com/blog/talented-algerian-artist-mohammed-racim/",
+ "https://en.wikipedia.org/wiki/Mohammed_Racim",
+ "https://www.thenationalnews.com/arts-culture/art/who-is-mohammed-racim-google-doodle-pays-tribute-to-algerian-artist-1.1247864"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-50",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was Vladislav Kaborda born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "July 24, 1995",
+ "reference_urls": [
+ "https://us.soccerway.com/players/vladislav-kabord/210936/",
+ "https://www.transfermarkt.co.uk/kaborda/nationalmannschaft/spieler/255750",
+ "https://en.wikipedia.org/wiki/Vladislav_Kaborda"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-55",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the latitude of Lilongwe in decimal format?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "33.7738 (acceptable range: anything between 33.7586 and 33.8022)",
+ "reference_urls": [
+ "https://latitude.to/map/mw/malawi",
+ "https://worldpopulationreview.com/countries/malawi/location"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-59",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Racing's top scorer in the Copa Libertadores 1967?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Norberto Raffo",
+ "reference_urls": [
+ "https://www.livefutbol.com/goleadores/copa-libertadores-1967/",
+ "https://en.wikipedia.org/wiki/List_of_Copa_Libertadores_top_scorers",
+ "https://en.wikipedia.org/wiki/Norberto_Raffo"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-61",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Beloit College's Center for the Sciences renamed in 2017?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Marjorie and James Sanger Center for the Sciences.",
+ "reference_urls": [
+ "https://www.beloit.edu/live/news/155-naming-the-science-center",
+ "https://www.beloit.edu/live/news/1080-science-center-named-for-sangers",
+ "https://en.wikipedia.org/wiki/Beloit_College"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-69",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What position was Everton in when Rafael Benítez was sacked in the 2021-22 Premier League season?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "15th place",
+ "reference_urls": [
+ "https://www.espn.com/soccer/story/_/id/37624476/rafa-benitez-everton-six-months-charge",
+ "https://en.wikipedia.org/wiki/Rafael_Ben%C3%ADtez",
+ "https://en.wikipedia.org/wiki/2021%E2%80%9322_Premier_League"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-71",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who replaced Don Santos in the band group Immature?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kelton \"LDB\" Kessee",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/IMx",
+ "https://www.last.fm/music/Immature/+wiki",
+ "https://www.discogs.com/artist/108944-Immature"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-73",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the length in meters of Abdullah Bridge in Srinagar including the fly-over and viaduct?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "390 metres (acceptable range: anything between 386 and 394 metres)",
+ "reference_urls": [
+ "https://alchetron.com/Abdullah-Bridge",
+ "https://en.wikipedia.org/wiki/Abdullah_Bridge"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-74",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many acres did the University of Alabama purchase to expand its campus in 2010?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "168 acres (acceptable range: anything between 166 and 170 acres)",
+ "reference_urls": [
+ "https://thecrimsonwhite.com/22595/top-stories/bryce-revisited-168-acre-acquisition-will-serve-ua-student-growth/",
+ "https://universitylands.ua.edu/bryce-hospital",
+ "https://en.wikipedia.org/wiki/University_of_Alabama"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-75",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the first vampire number in recreational mathematics obtained by a 3x3-digit multiplication?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "102510",
+ "reference_urls": [
+ "https://rosettacode.org/wiki/Vampire_number",
+ "https://medium.com/@bhaskaravsupraja/ever-heard-of-vampire-numbers-ac45830315a1",
+ "https://en.wikipedia.org/wiki/Vampire_number"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-76",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which district of Uttarakhand was Ila Pant (an Indian politician) born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Nainital district",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ila_Pant",
+ "https://abhipedia.abhimanu.com/Article/State/MTIzNjA3/Women-in-Uttarakhand-politics-Uttarakhand-State",
+ "https://prabook.com/web/ila.pant/2361780"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-79",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who replaced Bradie Tennell in the 2021 Skate America?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Starr Andrews",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Starr_Andrews",
+ "https://www.usfigureskating.org/news/press-release/starr-andrews-added-2021-guaranteed-rate-skate-america"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-81",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What company was Natasha Merle a civil rights fellow at from 2013 to 2015 in New York City?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": " Fried, Frank, Harris, Shriver & Jacobson",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Natasha_C._Merle",
+ "https://deathpenaltyinfo.org/news/womens-history-month-profile-u-s-district-court-judge-natasha-merle",
+ "https://afj.org/nominee/natasha-merle/",
+ "https://www.naacpldf.org/about-us/staff/natasha-merle/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-83",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "According to Henry Scadding, author of \"Toronto of Old,\" how many people died on the HMS Ontario in 1780?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "172 (acceptable range: anything between 170 and 174)",
+ "reference_urls": [
+ "https://archive.org/details/historyoftoronto01mulvuoft/page/217/mode/1up",
+ "https://www.gutenberg.ca/ebooks/scadding-torontoofold/scadding-torontoofold-00-h-dir/scadding-torontoofold-00-h.html"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-94",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On June 24, 2018, how many more votes did the winning candidate get in total than Muharrem İnce?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "10,990,502 (acceptable range: anything between 10,440,976 and 11,540,028)",
+ "reference_urls": [
+ "https://ysk.gov.tr/doc/dosyalar/Ingilizce/ElectionResults/2018CB-416D_en.pdf",
+ "https://en.wikipedia.org/wiki/2018_Muharrem_%C4%B0nce_presidential_campaign"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-97",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was Notepad++ version 7.8.8 released?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "June 28, 2020",
+ "reference_urls": [
+ "https://notepad-plus-plus.org/news/v788-released/",
+ "https://notepad-plus-plus.org/downloads/v7.8.8/",
+ "https://github.com/notepad-plus-plus/notepad-plus-plus/wiki/Changes"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-104",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many houses did the village of Bure Nangal in Batala have according to the 2011 Census of India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "211 (acceptable range: anything between 208 and 214)",
+ "reference_urls": [
+ "https://www.census2011.co.in/data/village/28649-bure-nangal-punjab.html",
+ "https://villageinfo.in/punjab/gurdaspur/batala/bure-nangal.html",
+ "https://en.wikipedia.org/wiki/Bure_Nangal"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-109",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who laid the foundation stone of Jamia Millia Islamia?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mahmud Hasan Deobandi.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mahmud_Hasan_Deobandi",
+ "https://en.wikipedia.org/wiki/Jamia_Millia_Islamia",
+ "https://jmi.ac.in/About-Jamia/Profile/History/History/11521/Founder"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-131",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which All India Rank (AIR) did Arvind Kejriwal achieve in 1985?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "563",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Arvind_Kejriwal",
+ "https://www.jagranjosh.com/general-knowledge/arvind-kejriwal-1581082470-1"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-134",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many daughters did the mathematician Hsien-Chung Wang have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://www.encyclopedia.com/science/dictionaries-thesauruses-pictures-and-press-releases/wang-hsien-chung",
+ "https://en.wikipedia.org/wiki/Hsien_Chung_Wang"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-141",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The \"Un'alma innamorata\" was written by what composer in 1707?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "George Frideric Handel",
+ "reference_urls": [
+ "https://www.naxos.com/CatalogueDetail/?id=CDR90000-057",
+ "https://en.wikipedia.org/wiki/Un%27alma_innamorata",
+ "https://imslp.org/wiki/Un%27_alma_innamorata"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-144",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the district with the Regional Transport Office (RTO) code SK-06 in Sikkim, India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Soreng",
+ "reference_urls": [
+ "https://www.cars24.com/rto-vehicle-registration-details-sikkim-sk-06/",
+ "https://www.acko.com/rto/sikkim/",
+ "https://en.wikipedia.org/wiki/List_of_Regional_Transport_Office_districts_in_India"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-150",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many losses did Adolf Anderssen have in his 1864 chess match against Berthold Suhle?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Adolf_Anderssen",
+ "https://www.sources.com/SSR/Docs/SSRW-Anderssen_Adolf.htm",
+ "https://en.wikipedia.org/wiki/Berthold_Suhle"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-151",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is Harees, a famous dish of Armenia and the Arabian Peninsula, called in Zanzibar?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "boko boko",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Harees",
+ "https://donimranfamilykitchen.wordpress.com/2020/11/08/bokoboko-recipe-arabic-style-haleem-known-as-harees-or-hareesa-famous-in-zanzibar-and-mombasa/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-158",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For how many days was Frida Kahlo's first solo exhibit held?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "15",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Frida_Kahlo",
+ "https://www.christies.com/en/lot/lot-5382705",
+ "https://www.moma.org/explore/inside_out/2009/12/03/a-close-look-frida-kahlo-s-fulang-chang-and-i/",
+ "https://www.centrepompidou.fr/en/ressources/oeuvre/EaZN1kV"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-161",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first person to be an American diplomatic minister to Romania and Serbia?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Eugene Schuyler",
+ "reference_urls": [
+ "https://ro.usembassy.gov/our-relationship/policy-history/io/",
+ "https://en.wikipedia.org/wiki/List_of_ambassadors_of_the_United_States_to_Serbia",
+ "https://en.wikipedia.org/wiki/Eugene_Schuyler"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-162",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What prize was El Anatsui awarded in 1998 in Osaka?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bronze Prize",
+ "reference_urls": [
+ "https://www.kunstmuseumbern.ch/admin/data/hosts/kmb/files/page_editorial_paragraph_file/file_en/1583/biography-el-anatsui.pdf?lm=1583758068",
+ "https://en.wikipedia.org/wiki/El_Anatsui",
+ "https://www.okayafrica.com/youssou-ndour-el-anatsui-japanese-award/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-164",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the crest of the Agnew clan, what animal is depicted \"issuant and regardant Proper\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Eagle",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Clan_Agnew",
+ "https://archive.org/details/collinsscottishc0000wayg/page/64/mode/1up",
+ "https://www.scotsconnection.com/clan_crests/agnew.htm",
+ "https://www.scotclans.com/collections/agnew-clan-shop"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-179",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At what zoo did August Scherl demonstrate his gyro-monorail to the public?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Berlin Zoological Gardens",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Gyro_monorail",
+ "http://www.douglas-self.com/MUSEUM/LOCOLOCO/scherlgyro/scherlgyro.htm"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-180",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many egg-shaped layers of float glass is William Cochran's sculpture *Pillar of Fire* made of?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "370 (acceptable range: anything between 366 and 374)",
+ "reference_urls": [
+ "https://www.williamcochran.com/GalleryMain.asp?GalleryID=112757&AKey=YX679BSX",
+ "https://en.wikipedia.org/wiki/Pillar_of_Fire_%28sculpture%29",
+ "https://en.wikipedia.org/wiki/Pillar_of_Fire_(sculpture)",
+ "https://www.americancityandcounty.com/2014/12/11/dc-is-alight-with-the-pillar-of-fire/"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-200",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year did Australian politician William Lawrence Morrison graduate from the University of Sydney?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1949",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bill_Morrison_(politician)",
+ "https://www.eoas.info/biogs/P005870b.htm"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-202",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the sole survivor of the Saha Airlines 2019 Boeing 707 crash?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Farshad Mahdavinejad",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_sole_survivors_of_aviation_accidents_and_incidents",
+ "https://en.trend.az/iran/3005183.html",
+ "https://en.wikipedia.org/wiki/2019_Saha_Airlines_Boeing_707_crash"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-204",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which specific issue did Black Condor II perish?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Infinite Crisis #1",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Black_Condor",
+ "https://crisisonearthprime.com/infinite-crisis/ic01/",
+ "https://dcuguide.com/w/Black_Condor_(Ryan_Kendall)"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-213",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which TV station did Belva Davis make her debut on?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "KTVU",
+ "reference_urls": [
+ "https://manualredeye.com/95964/arts-entertainment/how-journalist-belva-davis-reported-her-way-to-success/",
+ "https://en.wikipedia.org/wiki/Belva_Davis",
+ "https://www.prweb.com/releases/san_francisco_leader_belva_davis_bestowed_with_honorary_doctorate_in_acknowledgement_of_her_trail_blazing_contributions_to_journalism_and_equality/prweb11870660.htm"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-219",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did Emperor Xizong of Jin become the emperor of the Jin dynasty?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "10 February, 1135",
+ "reference_urls": [
+ "https://www.nouahsark.com/en/infocenter/culture/history/monarchs/emperor_xizong_of_jin.php",
+ "https://en.wikipedia.org/wiki/Emperor_Xizong_of_Jin",
+ "https://www.wikidata.org/wiki/Q5071"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-224",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What prize did Jun Takahashi win in 1997?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The New Face Prize",
+ "reference_urls": [
+ "https://artinthestreets.org/contributor/jun-takahashi",
+ "https://032c.com/magazine/smash-what-is-left-to-be-smashed-jun-takahashis-undercover",
+ "https://web.archive.org/web/20150222045657/http://undercoverism.com/worldofu/",
+ "https://en.wikipedia.org/wiki/Jun_Takahashi"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-231",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who is the god the Hawaiian name Kamaʻehuakanaloa refers to?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kanaloa",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Kama%CA%BBehuakanaloa_Seamount",
+ "https://kawaiola.news/moomeheu/a-change-of-name/",
+ "https://www.patheos.com/blogs/danpeterson/2024/02/103967.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-236",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the song for the lip sync in Episode 5, Season 1 of RPDR?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "\"Stronger\" by Britney Spears",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ongina",
+ "https://en.wikipedia.org/wiki/RuPaul%27s_Drag_Race_season_1",
+ "https://www.youtube.com/watch?v=ZNDZzE_1_tc"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-237",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the minor planet discovered by the Soviet astronomer in the name of Pyotr Kapitsa in 1982?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3437 Kapitsa",
+ "reference_urls": [
+ "https://naturehabitats.org/?rdp_we_resource=https%3A%2F%2Fen.wikipedia.org%2Fw%2Findex.php%3Ftitle%3DPyotr_Kapitsa%26diff%3Dprev%26oldid%3D311439504",
+ "https://en.wikipedia.org/wiki/Pyotr_Kapitsa",
+ "https://timenote.info/en/Pyotr-Kapitsa"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-240",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which peninsular plateau of India extends 900 km, with many peaks rising above 1,000 m?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Satpura Range",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Geography_of_India",
+ "http://indiansaga.com/others/index1.html",
+ "https://dlab.epfl.ch/wikispeedia/wpcd/wp/g/Geography_of_India.htm"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-247",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the first elephant born in Valencia Bioparc?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Makena",
+ "reference_urls": [
+ "https://bioparcvalencia.es/en/bebe-elefante/",
+ "https://www.zooborns.com/zooborns/2022/12/the-bioparc-valencia-elephant-calf-is-named-makena-by-popular-decision.html",
+ "https://en.wikipedia.org/wiki/Valencia_Bioparc",
+ "https://en.wikipedia.org/wiki/Makena_(elephant)"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-254",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In how many games did Matija Radović appear for the Hofstra Pride during the 2017-18 season?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "25",
+ "reference_urls": [
+ "https://gohofstra.com/sports/mens-basketball/roster/matija-radovic/6070",
+ "https://en.wikipedia.org/wiki/Matija_Radovi%C4%87",
+ "https://wikiroulette.co/?p=Matija_Radovi%C4%87",
+ "https://www.foxsports.com/college-basketball/matija-radovic-player-stats?category=scoring&seasonType=reg"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-261",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the gold medal in men's foil at the first modern European Fencing Championships?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Andrea Borella",
+ "reference_urls": [
+ "https://olympics.com/en/athletes/andrea-borella",
+ "https://fencing.ophardt.online/en/search/results/10920",
+ "https://en.wikipedia.org/wiki/1981_European_Fencing_Championships"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-262",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "As of the 2020 Census, what was the population of Wheatland, Iowa?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "775 (acceptable range: anything between 767 and 783)",
+ "reference_urls": [
+ "https://data.census.gov/table/DECENNIALPL2020.P1?q=Wheatland%20city",
+ "https://data.census.gov/all?q=Wheatland%20city",
+ "https://en.wikipedia.org/wiki/Wheatland",
+ "https://data.census.gov/profile/Wheatland_city"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-266",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was Srinagar declared a UNESCO Creative City?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2021",
+ "reference_urls": [
+ "https://www.jagranjosh.com/current-affairs/unesco-creative-cities-network-2021-srinagar-joins-the-list-as-city-of-craft-and-folk-art-check-details-1636433693-1",
+ "https://timesofindia.indiatimes.com/india/unesco-includes-srinagar-in-list-of-creative-cities/articleshow/87614134.cms",
+ "https://www.unesco.org/en/creative-cities/srinagar",
+ "https://www.thehindu.com/news/national/other-states/unesco-picks-srinagar-as-creative-city/article37387229.ece"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-276",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many of his early oil portraits did English sculptor Robert Adams exhibit in the Northampton Public Library in April 1946?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "14",
+ "reference_urls": [
+ "https://archive.org/details/sculptureofrober0000grie/mode/2up?q=1946",
+ "https://en.wikipedia.org/wiki/Robert_Adams_(sculptor)",
+ "https://en.wikipedia.org/wiki/Robert_Adams_%28sculptor%29",
+ "https://app.smartify.org/en-GB/artists/robert-adams-whdbn"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-277",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city was the first International Association for Engineering Geology and the Environment congress held?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Paris",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/International_Association_for_Engineering_Geology_and_the_Environment",
+ "https://uia.org/s/or/en/1100003651",
+ "https://www.iaeg.info/wp-content/uploads/2020/11/IAEG_Electronic_Newsletter_2020_Issue-No.3.pdf"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-279",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "New Yorker Edward A. Tuttle's patent application was granted on October 11, 1881, for what kind of machine?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Exercising Machine",
+ "reference_urls": [
+ "https://patents.google.com/patent/US248121A/en?before=priority:18811231&after=priority:18810101&oq=1881",
+ "https://patents.google.com/patent/US248121",
+ "https://patentimages.storage.googleapis.com/ed/7e/81/9fcc065c1eec21/US248121.pdf"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-281",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the seminal film that Lygia Pape made in 1975 focusing on gender and sexuality?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Eat Me",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lygia_Pape",
+ "https://www.frieze.com/article/lygia-pape",
+ "https://theartsdesk.com/visual-arts/lygia-pape-magnetised-space-serpentine-gallery"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-283",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "According to the 2021 World Bank data, which country has the largest renewable freshwater resources per capita?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Iceland",
+ "reference_urls": [
+ "https://data.worldbank.org/indicator/ER.H2O.INTR.PC",
+ "https://www.statista.com/statistics/269361/worldwide-renewable-water-resources/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-285",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "After Bessie Smith's car accident, which arm was amputated?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The right arm",
+ "reference_urls": [
+ "https://www.americanbluesscene.com/2012/03/who-killed-bessie-smith/",
+ "https://en.wikipedia.org/wiki/Bessie_Smith",
+ "https://www.allaboutbluesmusic.com/the-death-of-bessie-smith/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-291",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which two instruments was John Cage's experimental piece *Two^5* written for?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Tenor trombone and piano",
+ "reference_urls": [
+ "https://johncage.org/pp/John-Cage-Work-Detail.cfm?work_ID=228",
+ "https://www.alfred.com/two5/p/98-EP67419/",
+ "https://en.wikipedia.org/wiki/Number_Pieces"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-296",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which university did David Hibbett receive his Bachelor of Arts degree?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Massachusetts Amherst",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/David_Hibbett",
+ "https://www.clarku.edu/faculty/profiles/david-hibbett/",
+ "https://www2.clarku.edu/faculty/dhibbett/people_hibbett.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-297",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which one of the 1990 Fly Girls from the series In Living Color stayed for five seasons?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Deidre Lang",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_In_Living_Color_cast_members",
+ "https://www.listal.com/deidre-lang"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-299",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which specific ocean was the asteroid 224 Oceana named after?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Pacific Ocean",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/224_Oceana",
+ "https://graphsearch.epfl.ch/en/concept/1524880",
+ "https://markandrewholmes.com/oceana.html"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-302",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what district was the English songwriter Robert Patrick Weston born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Islington",
+ "reference_urls": [
+ "https://alchetron.com/R-P-Weston",
+ "https://wikiroulette.co/?p=R._P._Weston",
+ "https://music.metason.net/artistinfo?name=Robert%20Patrick%20Weston",
+ "https://en.wikipedia.org/wiki/R._P._Weston"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-308",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What coach was Mike Young an assistant to at Radford University?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Oliver Purnell",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mike_Young_(basketball)",
+ "https://hof.ehc.edu/members/mike-young/",
+ "https://hokiesports.com/sports/mens-basketball/roster/season/2024-25/staff/mike-young"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-319",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the father of the Russian stage actress and singer \"Baroness Olga Vadimovna von Root?\"",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Baron Vadim Nikolayevich von Root",
+ "reference_urls": [
+ "https://royaldish.com/index.php?topic=15867.msg1412476;topicseen",
+ "https://en.wikipedia.org/wiki/Olga_von_Root",
+ "https://www.geni.com/people/Olga-Vadina/6000000021237100366"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-323",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many years was the attraction Horizons at EPCOT sponsored by General Electric?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "10",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Horizons_(Epcot)",
+ "https://d23.com/a-to-z/horizons/",
+ "https://www.horizons1.com/history.htm"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-325",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What item was found in a damaged wooden coffin in July 2018 by Ramadan Badry Hussein?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mask",
+ "reference_urls": [
+ "https://www.livescience.com/63066-mummy-mask-sarcophagus-saqqara-egypt.html",
+ "https://www.heritagedaily.com/2018/07/researchers-discover-gilded-mummy-mask/120943",
+ "https://en.wikipedia.org/wiki/Saqqara",
+ "https://greekreporter.com/2018/07/16/mask-with-ancient-greek-style-elements-discovered-in-egypt/"
+ ],
+ "topic": "History",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-330",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who designed Buenos Aires's Palais de Glace?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "J. L. Ruiz Basadre",
+ "reference_urls": [
+ "https://www.gpsmycity.com/attractions/palais-de-glace-(ice-palace)-19461.html",
+ "https://en.wikipedia.org/wiki/Palais_de_Glace"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-333",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the man who served as Reeve of North Red Deer, Alberta, between 1924 and 1925?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "A.M. Donnelly.",
+ "reference_urls": [
+ "https://www.reddeer.ca/city-government/mayor-and-city-councillors/past-mayor-and-councillors/past-mayors/",
+ "https://www.google.com/books/edition/Canadian_Almanac_Directory/LSfZAAAAMAAJ?hl=en&gbpv=1&dq=%22North%20Red%20Deer%22%20%22A.M.%20Donnelly%22&pg=PA327&printsec=frontcover",
+ "https://reddeer.ca/city-government/mayor-and-city-councillors/past-mayor-and-councillors/past-mayors/",
+ "https://www.google.com/books/edition/Municipal_Canada/k6XlAAAAMAAJ?hl=en&gbpv=1&dq=%22North%20Red%20Deer%22%20%22A.M.%20Donnelly%22&pg=PA32&printsec=frontcover"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-337",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which famous drummer opened a Wahoo's Fish Taco restaurant in Norco, California, in 2004?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Travis Barker",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Wahoo%27s_Fish_Taco",
+ "https://web.archive.org/web/20080130152554/http://www.famoussas.com/articlelive/articles/20/1/BLINK-182s-TRAVIS-BARKER-EXPANDS-CORPORATE-EMPIRE-WITH-NEW-WAHOOS-FISH-TACOS-IN-NORCO/Page1.html",
+ "https://en.wikipedia.org/wiki/Wahoo's_Fish_Taco"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-342",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the age gap between George Frederic Watts and his first wife, Ellen Terry?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "30 years.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ellen_Terry",
+ "https://en.wikipedia.org/wiki/George_Frederic_Watts",
+ "https://www.npg.org.uk/collections/search/portraitExtended/mw06269/Ellen-Terry-Choosing"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-353",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was Neelam Sanjiva Reddy first elected to the Lok Sabha from Hindupur?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1967",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Hindupur_Lok_Sabha_constituency",
+ "https://en.wikipedia.org/wiki/Neelam_Sanjiva_Reddy",
+ "https://pastpresidentsofindia.indiapress.org/reddy.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-360",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Into which Hall of Fame was Zippo Pine Bar inducted in 1992?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "National Snaffle Bit Association",
+ "reference_urls": [
+ "http://www.barnmice.com/profiles/blogs/zippo-pine-bar-a-quarter-horse-history",
+ "https://en.wikipedia.org/wiki/Zippo_Pine_Bar",
+ "https://www.aceofclubsquarterhorses.com/horses_d.asp?HiD=2541&id=refs"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-361",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the original scientific name given to *Calytrix acutifolia* by John Lindley in 1839?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lhotskya acutifolia",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Calytrix_acutifolia",
+ "https://bie.ala.org.au/species/https://id.biodiversity.org.au/taxon/apni/51439660",
+ "https://kids.kiddle.co/Calytrix_acutifolia"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-365",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which month and year did \"Flying\" magazine publish \"Battling the Big Lie: John King's Crusade to Change Aviation's Culture\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "March 2001",
+ "reference_urls": [
+ "https://commons.erau.edu/cgi/viewcontent.cgi?article=1567&context=jaaer",
+ "https://web.archive.org/web/20180720134510id_/https://commons.erau.edu/cgi/viewcontent.cgi?article=1567&context=jaaer",
+ "https://en.wikipedia.org/wiki/King_Schools"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-366",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year was \"Discussion sur l’évolution de l’univers\" by Georges Lemaitre published?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1933",
+ "reference_urls": [
+ "https://www.britannica.com/biography/Georges-Lemaitre",
+ "https://en.wikipedia.org/wiki/Georges_Lema%C3%AEtre"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-378",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Ghana's Minister of Information at the time of the Kulungugu bomb attack?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Tawia Adamafio",
+ "reference_urls": [
+ "https://time.com/archive/6626385/ghana-dealing-with-enemies/",
+ "https://en.wikipedia.org/wiki/Kulungugu_bomb_attack",
+ "https://www.ghanacelebrities.com/2020/08/01/today-in-history-exactly-58-years-ago-today-kwame-nkrumah-survives-a-deadly-bomb-attack-in-kulungugu/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-386",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which digits of the forefeet are vestigial and tiny on the Isoodon obesulus?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "the first digits",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Southern_brown_bandicoot",
+ "https://carnivora.net/southern-brown-bandicoot-isoodon-obesulus-t1968.html",
+ "https://www.youtube.com/watch?v=-cLtuk22hoE"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-394",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which team won the Coppa Italia Serie C in the 1981-82 season?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Vicenza.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Coppa_Italia_Serie_C",
+ "https://www.rsssf.org/tablesi/italcup2hist.html",
+ "https://www.fc-suedtirol.com/it/news/vicenza-tanti-capitoli-nella-storia-del-calcio/24-774.html"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-395",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What two football teams were mentioned in the libel case against \"The Saturday Evening Post\" in 1963?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Georgia and University of Alabama",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Curtis_Publishing_Co._v._Butts",
+ "https://en.wikipedia.org/wiki/The_Saturday_Evening_Post",
+ "https://www.oyez.org/cases/1966/37",
+ "https://www.saturdayeveningpost.com/2013/03/curtis-publishing-butts/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-397",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which city in Nepal is known as the \"City of Nine Hills?\"",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Nuwakot",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Nuwakot_District",
+ "https://nepaltraveller.com/sidetrack/nuwakot-the-city-of-nine-hills",
+ "https://en.wikipedia.org/wiki/Nuwakot"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-410",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Joeri Verlinden born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "22 January 1988",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Joeri_Verlinden",
+ "https://www.olympedia.org/athletes/125724",
+ "https://www.eurosport.com/swimming/joeri-verlinden_prs216871/person.shtml"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-415",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Off of what coast of Morrowind does the DLC Dragonborn take place?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "North",
+ "reference_urls": [
+ "https://ztgd.com/reviews/the-elder-scrolls-v-skyrim-dragonborn-dlc/",
+ "https://en.wikipedia.org/wiki/The_Elder_Scrolls_V:_Skyrim_%E2%80%93_Dragonborn"
+ ],
+ "topic": "Video games",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-427",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which was the second largest republic in the Soviet Union by area?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kazakh Soviet Socialist Republic",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Kazakh_Soviet_Socialist_Republic",
+ "https://en.wikipedia.org/wiki/History_of_Kazakhstan",
+ "https://nationalinterest.org/blog/buzz/kazakhstan-not-russia-was-last-republic-leave-ussr-195400",
+ "https://en.wikipedia.org/wiki/Republics_of_the_Soviet_Union"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-442",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What compilation did Machine Girl release in 2015?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Phantom Tracks",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Machine_Girl_(band)",
+ "https://genius.com/albums/Machine-girl/Phantom-tracks",
+ "https://archive.org/details/MachineGirlPhantomTracks"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-443",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who did Buzz Thomas defeat in the 2006 election for the Michigan State Senate - 4th District?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Karen Fobbs",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Buzz_Thomas",
+ "https://ballotpedia.org/Buzz_Thomas"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-446",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On April 1, 1952, at which university did Hidegorô Nakano become a professor?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hokkaido University",
+ "reference_urls": [
+ "https://mathshistory.st-andrews.ac.uk/Biographies/Nakano/",
+ "https://en.wikipedia.org/wiki/Hidegor%C5%8D_Nakano",
+ "https://www.diva-portal.org/smash/get/diva2:1001415/FULLTEXT01.pdf"
+ ],
+ "topic": "History",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-448",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What years was Antonio de Padua María Severino López de Santa Anna y Pérez de Lebrón vice president?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1837 to 1839",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Antonio_L%C3%B3pez_de_Santa_Anna",
+ "https://pantheon.world/profile/person/Antonio_L%C3%B3pez_de_Santa_Anna",
+ "https://www.geni.com/people/Antonio-L%C3%B3pez-de-Santa-Anna/6000000092355998834"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-455",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who drew a map of 64 stars of the Pleiades from his observations in 1779 and then published it in 1786?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Edme-Sébastien Jeaurat",
+ "reference_urls": [
+ "https://coleyartastro.wordpress.com/2013/01/18/seven-sisters-pleiades/",
+ "https://en.wikipedia.org/wiki/Pleiades"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-459",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was the \"Playlist: The Very Best of Heather Headley\" released?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "May 29, 2012",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Heather_Headley",
+ "https://www.allmusic.com/album/release/playlist-the-very-best-of-heather-headley-mr0003632653",
+ "https://www.last.fm/music/Heather%2BHeadley/Playlist:%2BThe%2BVery%2BBest%2BOf%2BHeather%2BHeadley"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-462",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the height of Vickerman Hill in New York in feet?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1142 feet (acceptable range: anything between 1130 and 1154 feet)",
+ "reference_urls": [
+ "https://trailsnh.com/weather/n/357594518/Vickerman-Hill-NY-Summit-Forecast",
+ "https://en.wikipedia.org/wiki/Vickerman_Hill",
+ "https://www.mountainzone.com/mountains/new-york/herkimer-ny/summits/vickerman-hill/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-466",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who is known as the first rock star of the Middle East?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lydia Canaan",
+ "reference_urls": [
+ "https://www.familysearch.org/en/blog/middle-east-art-music",
+ "https://en.wikipedia.org/wiki/Middle_Eastern_music",
+ "https://en.wikipedia.org/wiki/List_of_women%27s_firsts",
+ "https://www.the961.com/lydia-canaan-talks-feminism-equality-and-hope/"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-477",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many shots did Inter attempt on target in the Champions League Final match between Bayern and Inter on May 23, 2010?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "7",
+ "reference_urls": [
+ "https://www.uefa.com/uefachampionsleague/match/2000488--bayern-vs-inter/",
+ "https://en.wikipedia.org/wiki/2010_UEFA_Champions_League_final",
+ "https://www.espn.co.uk/football/match/_/gameId/292088/internazionale-bayern-munich"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-480",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the university in Nepal that was established in 2016 A.D. and is located in Lalitpur?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Nepal Open University",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_universities_in_Nepal",
+ "https://www.educatenepal.com/affiliation-body/detail/nepal-open-university",
+ "https://www.ugcnepal.edu.np/frontpage/20"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-483",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Specify the month, and year in which Activision Blizzard announced the upcoming establishment of a new esports division.",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October, 2015",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Activision_Blizzard",
+ "https://www.ign.com/articles/2015/10/22/activision-blizzard-announces-new-esports-division",
+ "https://www.gameinformer.com/b/features/archive/2015/10/22/activision-blizzard-forms-new-esports-division-with-espn-mlg-vets-at-the-top.aspx"
+ ],
+ "topic": "Video games",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-487",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which was the first Indian album to have more than 1 billion streams on Spotify?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Moosetape",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Sidhu_Moose_Wala",
+ "https://www.5dariyanews.com/news/426551-Sidhu-Moosewalas-Moosetape-Makes-History-As-The-First-Indian-Album-To-Surpass-1-Billion-Streams-O",
+ "https://culturehaze.com/breaking-moosetape-by-the-g-o-a-t-sidhu-moose-wala-becomes-the-first-indian-album-with-over-a-billion-spotify-streams/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-488",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the choir that performed at the 2019 Cape Town International Jazz Festival?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Soweto Gospel Choir",
+ "reference_urls": [
+ "https://www.jambase.com/festival/cape-town-international-jazz-festival-2019",
+ "https://www.google.com/search?q=2019+cape+town+international+jazz+festival&rlz=1C1CHBF_enZA1105ZA1105&gs_lcrp=EgZjaHJvbWUqBwgAEAAYgAQyBwgAEAAYgAQyBggBEEUYOdIBCTE2NzE4ajBqN6gCALACAA&sourceid=chrome&ie=UTF-8&si=ACC90nwLLwns5sISZcdzuISy7t-NHozt8Cbt6G3WNQfC9ekAgIOVZh02_FcNax7v3ZPVmKW7oP-4a7wznIL2MSMXCUjEzVNOTz09fz5SDnVrsyM8Ig8z1dFSz8GnVql9ypDjitW-M-tCU3j3tRr0ZLC_F4H3wxHgqQ%3D%3D&ictx=1&ved=2ahUKEwjx5YHZwYqGAxXmSfEDHW37DbkQyNoBKAB6BAgREAA",
+ "https://uct.ac.za/radio/articles/2019-04-01-cape-town-international-jazz-festival-2019",
+ "https://www.capetownjazzfest.com/artists/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-491",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did the biochemist Mildred Cohn receive the Golden Plate Award from the American Academy of Achievement?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1984",
+ "reference_urls": [
+ "https://achievement.org/our-history/golden-plate-awards/all-honorees/",
+ "https://en.wikipedia.org/wiki/Mildred_Cohn"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-502",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who preceded Oscar Alende as governor of the Province of Buenos Aires?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Emilio Alvaro Bonnecarrere",
+ "reference_urls": [
+ "https://worldleadersindex.org/argentineprovinces.html?t=1719761676190",
+ "https://en.wikipedia.org/wiki/Oscar_Alende",
+ "https://commons.wikimedia.org/wiki/Category:Emilio_A._Bonnecarr%C3%A9re"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-509",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who joined Rose Matafeo in July 2020 on the comedy show Tiny Tour of Aotearoa, traveling across New Zealand?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Guy Montgomery",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Rose_Matafeo",
+ "https://nz.datescloud.com/rose-matafeo-and-guy-montgomerys-tiny-tour-of-aotearoa-2020-the-meteor-hamilton-2027453-302617275.html",
+ "https://events.humanitix.com/rm-and-gm-tiny-tour-of-aotearoa"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-510",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Yoido Full Gospel Church's membership in 1968?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "8000 (acceptable range: anything between 7920 and 8080)",
+ "reference_urls": [
+ "https://joelcomiskeygroup.com/en/resources/phd_tutorials/en_prp_yfgc/",
+ "https://en.wikipedia.org/wiki/Yoido_Full_Gospel_Church",
+ "https://celycecomiskey.tripod.com/new_page_11.htm"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-517",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which medal in the 1932 Summer Olympics art competition did Frederick William MacMonnies receive?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Silver",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Frederick_William_MacMonnies",
+ "https://www.olympedia.org/athletes/921564",
+ "https://www.sport-olympic.gr/sp/index.php/olympic-games/modern-olympic-games/summer-olympic-games/1932-los-angeles-summer-olympics/1649-1932-summer-olympics-the-results-art-competitions",
+ "https://olympics.com/en/athletes/frederick-william-macmonnies"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-521",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What university did Berlinda Tolbert major in theater at?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "North Carolina School of the Arts",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Berlinda_Tolbert",
+ "https://www.thefamouspeople.com/profiles/berlinda-tolbert-49859.php",
+ "https://www.celebritynooz.com/Celebrity.aspx/Berlinda_Tolbert"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-533",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was Massimo Cacciari, an Italian philosopher and politician, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "June 5, 1944",
+ "reference_urls": [
+ "https://www.archinform.net/arch/10647.htm",
+ "https://en.wikipedia.org/wiki/Massimo_Cacciari",
+ "https://dbpedia.org/page/Massimo_Cacciari"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-537",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The Arvida Theatre, built in 1927 in Saguenay, Québec, was built according to the plans of which architect?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Alfred Lamontagne",
+ "reference_urls": [
+ "https://ville.saguenay.ca/files/activites_et_loisirs/histoire_et_patrimoine/batiments_et_lieux_d_interet/jonquiere/16_le_theatre_palace_arvida.pdf",
+ "https://www.citedelaluminium.ca/en/life-in-arvida/",
+ "https://arvida.saguenay.ca/en/the-city-of-aluminum/history-br-and-profile-of-arvida/ligne-du-temps",
+ "https://baladodecouverte.com/circuits/774/poi/8875/the-palace-theatre-in-arvida"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-538",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the day, month, and year when Mario-Rafael Ionian, an Austrian former competitive figure skater, was born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "14 October 1990.",
+ "reference_urls": [
+ "https://alchetron.com/Mario-Rafael-Ionian",
+ "https://en.wikipedia.org/wiki/Mario-Rafael_Ionian",
+ "https://www.eurosport.com/figure-skating/mario-rafael-ionian_prs231685/person.shtml"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-541",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what date, month, and year was the Public Order Ordinance commenced in Hong Kong?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "17 November 1967",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Public_Order_Ordinance",
+ "https://oelawhk.lib.hku.hk/items/show/2969"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-547",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the title of chemist Mary Letitia Caldwell's Ph.D. thesis?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "An experimental study of certain basic amino acids",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mary_Letitia_Caldwella",
+ "https://archive.org/details/experimentalstud00caldrich",
+ "https://en.wikipedia.org/wiki/Mary_Letitia_Caldwell",
+ "https://books.google.co.in/books/about/An_Experimental_Study_of_Certain_Basic_A.html?id=0rFAAAAAYAAJ&redir_esc=y"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-548",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the match between Sri Lanka and West Indies, Final at Colombo, Oct 07, 2012, who was the match referee?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jeff Crowe",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/2012_ICC_World_Twenty20_final",
+ "https://www.espncricinfo.com/series/icc-world-twenty20-2012-13-531597/sri-lanka-vs-west-indies-final-533298/full-scorecard"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-552",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the Heinz Hopf Prize in 2019?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ehud Hrushovski",
+ "reference_urls": [
+ "https://www.maths.ox.ac.uk/node/34153",
+ "https://en.wikipedia.org/wiki/Heinz_Hopf_Prize",
+ "https://math.ethz.ch/news-and-events/events/lecture-series/heinz-hopf-prize-and-lectures/laureates/laureate-2019.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-554",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was the first Sazae-san strip run by the Asahi Shimbun published?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "November 30, 1949",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/The_Asahi_Shimbun",
+ "https://en.wikipedia.org/wiki/Sazae-san",
+ "https://comicarttracker.com/sazae-san-original-art-for-sale"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-563",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the ChemSpider ID of diazepam?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2908",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Diazepam",
+ "https://hmdb.ca/metabolites/HMDB0014967",
+ "https://www.chemspider.com/Chemical-Structure.2908.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-568",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "When (day, month, year), where, and by whom was the central sports club organization IFK founded?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1 February 1895, Stockholm, by Louis Zettersten and Pehr Ehnemark",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Idrottsf%C3%B6reningen_Kamraterna",
+ "https://www.ifkcs.org/historik/historik.php"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-580",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the original names of the first three ships in the Sea Organization associated with the Church of Scientology?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Avon River, Enchanter, and HMS Royal Scotsman",
+ "reference_urls": [
+ "https://therevealer.org/the-last-twentieth-century-book-club-power-of-source/",
+ "https://en.wikipedia.org/wiki/Sea_Org"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-593",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did William II of Holland become King of Germany?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October 3, 1247",
+ "reference_urls": [
+ "https://www.hubert-herald.nl/William%20II%20of%20%20Holland.htm",
+ "https://www.britannica.com/biography/William-king-of-Germany",
+ "https://en.wikipedia.org/wiki/William_II_of_Holland"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-596",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which DropoutTV series is a spin-off of \"Game Changer\" inspired by its \"Noise Boys\" episodes?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Make Some Noise",
+ "reference_urls": [
+ "https://thegameofnerds.com/2022/12/26/make-some-noise-a-fabulous-spin-off/",
+ "https://en.wikipedia.org/wiki/Game_Changer_(game_show)"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-597",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The Partial Solar Eclipse of January 1, 1805 was a part of which Saros series?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Saros 109",
+ "reference_urls": [
+ "https://wwpw.eclipsewise.com/solar/SEprime/1801-1900/SE1805Jan01Pprime.html",
+ "https://en.wikipedia.org/wiki/List_of_solar_eclipses_in_the_19th_century",
+ "https://eclipsewise.com/solar/SEprime/1801-1900/SE1805Jan01Pprime.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-598",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which month and year did Jose Maria Canlas Sison marry his wife, Julie de Lima, in a Catholic church?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "January 1960",
+ "reference_urls": [
+ "https://frosh.s3.uk.io.cloud.ovh.net/how-did-cpp-founder-die-meet-his-wife.html",
+ "https://en.wikipedia.org/wiki/Jose_Maria_Sison"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-608",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Jeffrey Epstein's released bond in dollars on July 27, 2006, at the Palm Beach County jail?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "$3,000 bond",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Jeffrey_Epstein",
+ "https://web.archive.org/web/20210614061819/https://www.palmbeachpost.com/article/20080701/NEWS/190918539"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-613",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did Mira Sintra-Meleças railway station open for revenue service?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "29 November 2004",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mira_Sintra-Mele%C3%A7as_railway_station",
+ "https://www.dn.pt/arquivo/2004/interior/estacao-de-melecas-e-inaugurada-hoje-591035.html/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-617",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was the municipality of Tipacoque, Boyacá, Colombia, created?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "November 28th, 1968",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Tipacoque",
+ "http://censoarchivos.mcu.es/CensoGuia/archivodetail.htm?id=1746553",
+ "https://www.tipacoque-boyaca.gov.co/municipio/informacion-general",
+ "https://es.wikipedia.org/wiki/Tipacoque"
+ ],
+ "topic": "Geography",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-618",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year of the Olympics did Seiko become the Official Timer?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1964",
+ "reference_urls": [
+ "https://www.europastar.com/the-watch-files/watchmaking-in-japan/1004089786-sports-timekeeping.html",
+ "https://www.grand-seiko.com/benelux-en/special/10stories/vol9/1",
+ "https://www.seiko.co.jp/en/sports_music/sports/history/",
+ "https://www.seikowatches.com/us-en/special/heritage/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-619",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the second-largest island in the world?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "New Guinea",
+ "reference_urls": [
+ "https://www.worldatlas.com/geography/10-largest-islands-countries-in-the-world.html",
+ "https://en.wikipedia.org/wiki/New_Guinea",
+ "https://www.worldatlas.com/articles/biggest-islands-in-indonesia.html",
+ "https://timesofindia.indiatimes.com/travel/destinations/a-look-at-10-largest-island-nations-in-the-world/photostory/101151868.cms?picid=101152215",
+ "https://www.easemytrip.com/blog/largest-islands-in-the-world"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-646",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Dr. Sanduk Ruit conferred with the National Order of Merit of Bhutan in Gold?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "17 December 2015",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Sanduk_Ruit",
+ "https://factmandu.com/sanduk-ruit"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-656",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many and which colors does the Zambian flag have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Four - Green, Red, Black, Orange.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Flag_of_Zambia",
+ "https://www.flagcolorcodes.com/zambia",
+ "https://www.zambiaembassy.org/page/the-flag-of-zambia",
+ "https://www.africa.upenn.edu/Country_Specific/Zamflag.html"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-659",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Other than being a choreographer for the TV series In Living Color, what other job did Rosie Perez do on the show?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "segment producer",
+ "reference_urls": [
+ "https://voiceactorsplacesmediaandmore.fandom.com/wiki/Rosie_Perez",
+ "https://en.wikipedia.org/wiki/Rosie_Perez",
+ "https://www.rogerebert.com/interviews/rosie-perez-on-a-roll"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-669",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which streamer won the \"Best Variety Streamer\" award at The Streamer Awards in 2022?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "moistcr1tikal",
+ "reference_urls": [
+ "https://www.twitch.tv/moistcr1tikal",
+ "https://en.wikipedia.org/wiki/The_Streamer_Awards",
+ "https://thestreamerawards.com/winners",
+ "https://www.invenglobal.com/articles/16733/all-the-award-winners-at-the-streamer-awards-2022",
+ "https://en.wikipedia.org/wiki/Cr1TiKaL"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-674",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which female chemist was awarded the Garvan–Olin Medal in 1952?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gladys A. Emerson",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Gladys_Anderson_Emerson",
+ "https://www.chemeurope.com/en/encyclopedia/Garvan-Olin_Medal.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-685",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which Swiss municipality was the painter Jean Preudhomme baptized in 1732?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Rolle",
+ "reference_urls": [
+ "https://whataday.info/e/3127860?closeby=1",
+ "https://en.wikipedia.org/wiki/Jean_Preudhomme"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-687",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many UN Volunteers served in 54 United Nations missions, agencies, funds, and programs across the globe in 2019?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "8,282 (acceptable range: anything between 8199 and 8365)",
+ "reference_urls": [
+ "https://www.unv.org/Annual-report/Annual-Report-2019",
+ "https://www.un.org/en/academic-impact/unai-quiz-international-volunteer-day-0"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-691",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the chief guest of the eighteenth convocation of Indira Gandhi National Open University, New Delhi, held in 2007?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Justice K. G. Balakrishnan",
+ "reference_urls": [
+ "https://www.oneindia.com/2007/03/10/eighteenth-ignou-convocation-on-march-17-1174142985.html",
+ "https://en.wikipedia.org/wiki/Indira_Gandhi_National_Open_University",
+ "http://www.ignou.ac.in/upload/convocationall.htm"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-693",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The first public showings of the theatrical work \"Another Day in America\" by Laurie Anderson were in which city?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Calgary",
+ "reference_urls": [
+ "https://www.pressreader.com/canada/calgary-herald/20120110/282303907000362",
+ "https://www.amsterdam-dance-event.nl/en/artists-speakers/laurie-anderson/14323/",
+ "https://en.wikipedia.org/wiki/Laurie_Anderson"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-700",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was the Kangri cancer effect first studied?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1866",
+ "reference_urls": [
+ "https://researchoutput.csu.edu.au/ws/portalfiles/portal/182665577/141960578_published_article.pdf",
+ "https://en.wikipedia.org/wiki/Kanger",
+ "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4949346/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-701",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day, month, and year did Anugrah Narayan Sinha become the Deputy Premier cum Finance Minister of Bihar province?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "July 20, 1937",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Anugrah_Narayan_Sinha",
+ "https://www.amcollegegaya.ac.in/pages.php?Url=anugrah-babu"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-704",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the Friday night headliner of ArcTanGent 2013 on the Arc stage?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "65daysofstatic",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/ArcTanGent_Festival",
+ "https://www.efestivals.co.uk/festivals/arctangent/2013",
+ "https://circuitsweet.co.uk/2013/02/arctangent-announce-headliner%E2%80%8F/",
+ "https://circuitsweet.co.uk/2013/01/arctangent-festival-announces-first-bands%E2%80%8F/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-706",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From what university did Bill Brown (professor at the University of Chicago and critical theorist) receive his B.A.?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Duke University",
+ "reference_urls": [
+ "https://magazine.uchicago.edu/9906/CollegeReport/interview.htm",
+ "https://en.wikipedia.org/wiki/Bill_Brown_(critical_theory)"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-710",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year did Cornelia Parker have her first solo museum exhibition?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2000",
+ "reference_urls": [
+ "https://www.icaboston.org/art/cornelia-parker/wedding-ring-drawing-circumference-living-room/",
+ "https://www.britishcouncil.uz/en/programmes/arts/new-past/cornelia-parker",
+ "https://en.wikipedia.org/wiki/Cornelia_Parker"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-725",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which football club won the inaugural Hessenpokal?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Eintracht Frankfurt",
+ "reference_urls": [
+ "https://thelexicon.org.uk/the-rise-of-eintracht-frankfurt/",
+ "https://en.wikipedia.org/wiki/Hessian_Cup",
+ "https://betsapi.com/t/16016/Eintracht-Frankfurt"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-728",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For which garden was the \"Neptune and Triton\" sculpture carved?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Garden of the Villa Montalto",
+ "reference_urls": [
+ "https://www.vam.ac.uk/articles/neptune-and-triton-by-gian-lorenzo-bernini",
+ "https://en.wikipedia.org/wiki/Neptune_and_Triton",
+ "https://collections.vam.ac.uk/item/O17204/neptune-and-triton-figure-group-bernini-gian-lorenzo/"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-744",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the maximum depth of the Mediterranean Sea in meters?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "5109 m (acceptable range: anything between 5057 and 5161 m)",
+ "reference_urls": [
+ "https://blitztest.com/geography/seas/mediterranean-sea",
+ "https://en.wikipedia.org/wiki/Calypso_Deep",
+ "https://en.wikipedia.org/wiki/Mediterranean_Sea"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-745",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the project that won the 2008 ACM Software System Award?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gamma Parallel Database System",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/ACM_Software_System_Award",
+ "https://www.microsoft.com/en-us/sql-server/blog/2009/03/20/microsoft-colleagues-win-acm-award/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-750",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the man who purchased Belmont on St. Saviour's Hill, Jersey, UK, in 1822?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sir Colin Halkett",
+ "reference_urls": [
+ "https://www.theislandwiki.org/index.php/Government_House",
+ "https://www.governmenthouse.gov.je/governmenthouse/",
+ "https://en.wikipedia.org/wiki/Government_House"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-752",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the 11th song on \"The Last Unicorn\" soundtrack album?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Tree",
+ "reference_urls": [
+ "https://www.allmusic.com/album/last-unicorn-mw0000523894",
+ "https://en.wikipedia.org/wiki/The_Last_Unicorn_(album)",
+ "https://www.discogs.com/release/2287481-America-The-Last-Unicorn-Original-Soundtrack"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-755",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name and surname of the photographer who first invented a tool to coat calotype paper called the Buckle Brush?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Samuel Buckle",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Samuel_Buckle",
+ "https://luminous-lint.com/app/photographer/Samuel__Buckle/A/"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-761",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Bindy Johal's age in years when he immigrated to Vancouver, British Columbia, with his parents during his childhood?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4 years.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bindy_Johal",
+ "https://medium.com/@Samuel.kerr/im-still-around-32db1572765a",
+ "https://cfseu.bc.ca/gangster-profile/"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-762",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What month, date, and year was Sicily Sewell released from the TV show \"One on One\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "20 Jun 2005",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Sicily_Sewell",
+ "https://kids.kiddle.co/Sicily_Sewell",
+ "https://filmboards.com/t/One-on-One/Sicily-Sewell-(Spirit)-and-Kelly-Perine-(Duane)-fired-1200230/"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-765",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What month, day, and year was the Köln Frankfurter Straße station opened?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "13 June 2004",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/K%C3%B6ln_Frankfurter_Stra%C3%9Fe_station",
+ "https://commons.wikimedia.org/wiki/Category:Bahnhof_K%C3%B6ln-Frankfurter_Stra%C3%9Fe",
+ "https://www.wikidata.org/wiki/Q2410431"
+ ],
+ "topic": "Geography",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-768",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of New York's National Academy of Design in 1825?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The New York Drawing Association",
+ "reference_urls": [
+ "https://www.aaa.si.edu/collections/national-academy-design-records-9080",
+ "https://www.jstor.org/stable/25608025?seq=2",
+ "https://en.wikipedia.org/wiki/National_Academy_of_Design"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-779",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What river borders the west of Goldsboro, NC?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Little River",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Goldsboro",
+ "https://www.mapquest.com/us/north-carolina/goldsboro-nc-282030899"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-782",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Where is Leonard Perry Jr., the college basketball coach, originally from?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Dallas, Texas",
+ "reference_urls": [
+ "https://weberstatesports.com/news/2024/6/21/mens-basketball-leonard-perry-named-mens-basketball-assistant-coach",
+ "https://wikiroulette.co/?p=Leonard_Perry",
+ "https://pacifictigers.com/sports/mens-basketball/roster/coaches/leonard-perry/745",
+ "https://www.standard.net/sports/weber-state/2024/jun/18/weber-state-hires-veteran-coach-leonard-perry-to-mens-basketball-staff/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-786",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the common-law husband of the Indian-Canadian serial killer Simmi Kahlon?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Harnek Mahal",
+ "reference_urls": [
+ "https://www.cbc.ca/news/canada/calgary/calgary-woman-hid-3-dead-newborns-1.865822",
+ "https://en.wikipedia.org/wiki/Simmi_Kahlon",
+ "https://www.findagrave.com/memorial/259212238/harsimrat-kahlon"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-788",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What camera has the world's first dual-driven shutter system?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sony Alpha 1",
+ "reference_urls": [
+ "https://cardinalcamera.com/shop/sony-alpha-1-mirrorless-digital-camera-body-only/35cdb3c0-421f-0139-b034-00163e90e196?variation=2908414",
+ "https://aabworld.com/sony-alpha-1-mirrorless-digital-camera-body-only",
+ "https://electronics.sony.com/imaging/interchangeable-lens-cameras/all-interchangeable-lens-cameras/p/ilce1-b"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-799",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what month, day, and year did Ketanji Brown Jackson's service as a circuit judge end?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "29 June 2022",
+ "reference_urls": [
+ "https://www.fjc.gov/node/1394151",
+ "https://en.wikipedia.org/wiki/Ketanji_Brown_Jackson",
+ "https://ballotpedia.org/Ketanji_Brown_Jackson_confirmation_hearings_and_votes"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-803",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which art dealership did Peter Arrell Browne Widener buy \"Portrait of Elena Grimaldi Cattaneo\" from in 1906?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Knoedler",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_most_expensive_paintings",
+ "https://thereaderweb.com/?url=https://thereaderwiki.com/en/List%20of%20most%20expensive%20paintings",
+ "https://archive.org/details/guinnessbookofwo0000unse_e7s5/page/176/mode/2up?view=theater"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-815",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What school was Aleister Crowley first sent to at the age of 8?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "H. T. Habershon's evangelical Christian boarding school",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Aleister_Crowley",
+ "https://rickontheater.blogspot.com/2019/09/the-wickedest-man-in-world-aleister.html",
+ "https://www.occult.live/index.php?title=Aleister_Crowley&mobileaction=toggle_view_desktop"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-834",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Darnell's occupation before he was a mechanic in the series \"Girlfriends\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "airport baggage handler",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Girlfriends_(American_TV_series)",
+ "https://www.distractify.com/p/why-did-flex-leave-girlfriends"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-835",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which famous video game character is featured in the music video for Die Ärzte's song \"Men Are Pigs\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lara Croft",
+ "reference_urls": [
+ "https://de.wikipedia.org/wiki/13_(Die-Ärzte-Album)",
+ "https://www.mobygames.com/game/348/tomb-raider/trivia/",
+ "https://www.tomb-of-ash.com/laras-musical-career/",
+ "https://en.wikipedia.org/wiki/Lara_Croft"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-849",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which ward in Tokyo was the AT-1 phono cartridge created in?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Shinjuku",
+ "reference_urls": [
+ "https://ww1.namm.org/playback/industry-crossroads/celebrating-60-years-audio-technica",
+ "https://www.audio-technica.com/en-us/our-story",
+ "https://happymag.tv/audio-technica-60-year-anniversary/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-850",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Welsh broadcaster Louise Elliott join Jamie Owen as host of a weekday morning show on BBC Radio Wales?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2007",
+ "reference_urls": [
+ "https://radiotoday.co.uk/2013/09/radio-wales-louise-elliott-takes-a-break/",
+ "https://en.wikipedia.org/wiki/Louise_Elliott"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-853",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the height of the Space Shuttle Atlantis in meters?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "17.2 meters (acceptable range: anything between 17.03 and 17.37 meters)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Space_Shuttle_Atlantis",
+ "https://www.kennedyspacecenter-tickets.com/space-shuttle-atlantis/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-855",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the location where the stone came from to replace the 199 wooden steps at Whitby Abbey in 1774?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sneaton",
+ "reference_urls": [
+ "https://www.yorkshirecoastalcottages.com/blog/199-steps-whitby/",
+ "https://www.visitwhitby.com/blog/199-whitby-abbey-steps/",
+ "https://whitbyjetstore.co.uk/blogs/news/the-199-steps-in-whitby",
+ "https://thenorthyorkshiregallery.co.uk/199-steps/"
+ ],
+ "topic": "History",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-862",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the first Catholic church in The Woodlands, Texas?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sts. Simon and Jude",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/The_Woodlands",
+ "https://en.wikipedia.org/wiki/List_of_churches_in_the_Roman_Catholic_Archdiocese_of_Galveston%E2%80%93Houston",
+ "https://www.ssjwoodlands.com/about",
+ "https://communityimpact.com/houston/the-woodlands/2019/11/18/sts-simon-and-jude-catholic-parish-marks-40-years-in-the-woodlands/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-867",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many years was the scholarship that Mary Fairchild MacMonnies Low won from the St. Louis School of Fine Arts for?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "three",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mary_Fairchild_MacMonnies_Low",
+ "https://reidhall.globalcenters.columbia.edu/macmonnies",
+ "https://www.tuttartpitturasculturapoesiamusica.com/2021/12/Mary-Fairchild.html"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-868",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the NS Class 1311 train in the NS Class 1300 series?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Best",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/NS_Class_1300",
+ "https://www.waymarking.com/waymarks/WMF776_Schiedam_The_Netherlands"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-871",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many assists did Kostas Tsimikas have across all competitions in the 2021-2022 season?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "6",
+ "reference_urls": [
+ "https://lfchistory.net/Players/Player/Profile/1372",
+ "https://en.wikipedia.org/wiki/2021%E2%80%9322_Liverpool_F.C._season",
+ "https://www.transfermarkt.co.uk/konstantinos-tsimikas/leistungsdaten/spieler/338070/plus/0?saison=2021",
+ "https://www.footballdatabase.eu/en/player/details/243380-konstantinos-tsimikas"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-874",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Paul Holdengräber awarded the Austrian Decoration for Science and Art?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2010",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Austrian_Decoration_for_Science_and_Art",
+ "https://web.archive.org/web/20121010220017/http://www.pen.org/author.php/prmAID/178"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-876",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day, month, and year was Max Vuyisile Sisulu born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "23 August 1945",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Max_Sisulu",
+ "https://www.geni.com/people/Max-Sisulu/6000000021268148329",
+ "https://canoncollins.org/people/max-sisulu/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-880",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the wheelbase of the 1969 Honda CL125 in millimeters?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1270 mm (acceptable range: anything between 1257 and 1283 mm)",
+ "reference_urls": [
+ "https://www.motorbikecatalog.com/make/honda/cl125/cl125/1969.html",
+ "https://4-stroke.net/815-honda/honda-cl125/information.html",
+ "https://en.wikipedia.org/wiki/Honda_CL125"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-882",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What are the dimensions in centimeters of the painting \"Holy Mount Athos\" from The Slav Epic?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "405 x 480 cm (acceptable range: [400-409] x [475-485] cm)",
+ "reference_urls": [
+ "https://www.muchafoundation.org/en/gallery/browse-works/object/230",
+ "https://en.m.wikipedia.org/wiki/File:Mucha",
+ "https://www.muchafoundation.org/en/gallery/themes/theme/slav-epic/object/230"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-889",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the 19th edition of the Women’s Asian Individual Squash Championships (AISC)-2017?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Joshna Chinappa",
+ "reference_urls": [
+ "https://www.gktoday.in/question/who-has-won-the-19th-edition-of-womens-asian-indiv",
+ "https://www.asiansquash.org/resources/docs/PAST%20ASIAN%20SQUASH%20INDIVIDUAL%20CHAMPIONSHIPS.pdf",
+ "https://en.wikipedia.org/wiki/Joshna_Chinappa",
+ "https://www.newindianexpress.com/sport/other/2017/Apr/30/joshna-chinappa-becomes-first-indian-to-win-asian-squash-title-1599594.html"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-890",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What baseball team won the Burrard League Championship in 1940?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Asahis",
+ "reference_urls": [
+ "https://parks.canada.ca/culture/designation/evenement-event/asahi-baseball",
+ "https://en.wikipedia.org/wiki/Asahi_(baseball_team)",
+ "https://dutchbaseballhangout.blog/2017/01/13/the-asahi-baseball-team-a-tragic-story/",
+ "https://attheplate.com/wcbl/1940_100i.html"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-897",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who started a \"Free Theatre\" at the Ferrer Center in late 1914?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Moritz Jagendorf",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ferrer_Center_and_Colony",
+ "https://oll.libertyfund.org/titles/liggio-literature-of-liberty-january-march-1979-vol-2-no-1",
+ "https://manifesto-library.espivblogs.net/files/2019/04/Paul-Avrich-The-Modern-School-Movement_-Anarchism-and-Education-in-the-U.S.pdf"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-911",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the school where the Kaki Tree Project did its first planting?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ryuhoku Elementary School.",
+ "reference_urls": [
+ "https://www.larosadei4venti.com/partnerships-and-projects/",
+ "https://kakitreeproject.com/english/?page_id=5385",
+ "https://en.wikipedia.org/wiki/Tatsuo_Miyajima",
+ "https://kakitreeproject.com/english/"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-914",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Swiss painter Benjamin Samuel Bolomey become a pupil of Joseph-Marie Vien?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1758",
+ "reference_urls": [
+ "https://artvee.com/artist/benjamin-samuel-bolomey/",
+ "https://en.wikipedia.org/wiki/Benjamin_Samuel_Bolomey"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-917",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the eighth track on the album \"These Two Windows\" by Alec Benjamin?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Alamo",
+ "reference_urls": [
+ "https://www.last.fm/music/Alec+Benjamin/These+Two+Windows",
+ "https://en.wikipedia.org/wiki/These_Two_Windows",
+ "https://genius.com/albums/Alec-benjamin/These-two-windows"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-926",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who served as the first Deputy Commissioner of the Pherzawl District, located in the southern part of Manipur, India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Shri A.Tombikanta Singh",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Pherzawl_district",
+ "https://pherzawl.nic.in/about-district/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-930",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did the 7th All-Africa Games end?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "September 19, 1999",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/African_Games",
+ "https://en.wikipedia.org/wiki/1999_All-Africa_Games",
+ "https://sportscouncil.au.int/index.php/en/history-african-games"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-940",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "During which years was Otto Schlüter a professor of geography at the University of Halle?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1911 to 1959",
+ "reference_urls": [
+ "https://prabook.com/web/otto.schluter/2118054",
+ "https://en.wikipedia.org/wiki/Otto_Schl%C3%BCter"
+ ],
+ "topic": "Geography",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-947",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the title of the engineer and scientist Ahmet Cemal Eringen's Ph.D. dissertation?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Solution of the Two-dimensional Mixed-mixed Boundary Value Problem of Elasticity For Rectangular, Orthotropic Media And Application To The Buckling Of Sandwich Beams[1]",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ahmed_Cemal_Eringen",
+ "https://mathgenealogy.org/id.php?id=147062"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-952",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which year did Emmanuel Radnitzky, an American visual artist, enroll in the Ferrer School?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1912",
+ "reference_urls": [
+ "https://manray.weebly.com/",
+ "https://en.wikipedia.org/wiki/Man_Ray",
+ "https://www.theartstory.org/artist/ray-man/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-958",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many balls did Hardik Pandya play in the Indian Premier League 2019 final match between CSK and MI on May 12, 2019?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "10",
+ "reference_urls": [
+ "https://m.cricbuzz.com/live-cricket-scorecard/22509/mi-vs-csk-final-indian-premier-league-2019",
+ "https://en.wikipedia.org/wiki/2019_Indian_Premier_League_final",
+ "https://www.cricbuzz.com/live-cricket-scorecard/22509/mi-vs-csk-final-indian-premier-league-2019",
+ "https://www.espncricinfo.com/series/ipl-2019-1165643/chennai-super-kings-vs-mumbai-indians-final-1181768/full-scorecard"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-963",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Bonaya Adhi Godana first elected to the National Assembly of Kenya?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1988",
+ "reference_urls": [
+ "https://www.standardmedia.co.ke/health/moi-cabinets/article/2001389374/robert-ouko-kenyas-most-celebrated-foreign-affairs-minister",
+ "https://en.wikipedia.org/wiki/Bonaya_Godana"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-969",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which month and year was William Harrison Standley appointed as the American Ambassador to the USSR?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "February 1942",
+ "reference_urls": [
+ "https://history.state.gov/departmenthistory/people/standley-william-harrison",
+ "https://en.wikipedia.org/wiki/William_Harrison_Standley",
+ "https://www.history.navy.mil/browse-by-topic/people/chiefs-of-naval-operations/admiral-william-h--standley.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-970",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the magnitude of the solar eclipse that occurred on June 21, 2001?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1.0495 (acceptable range: anything between 1.04 and 1.06)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Solar_eclipse_of_June_21",
+ "https://www.astron-soc.in/bulletin/asics_vol010/137-prabhakar.pdf",
+ "https://eclipse.gsfc.nasa.gov/SEpubs/20010621/TP209484.pdf"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-972",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What color is the third stripe from the top of the aromantic pride flag created in 2014?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Whitehttps://www.sfgmc.org/blog/pride-flags#block-yui_3_17_2_1_1683145657332_180414",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Pride_flag",
+ "https://equity.ok.ubc.ca/pride-flags/",
+ "https://www.sfgmc.org/blog/pride-flags",
+ "https://flagsforgood.com/blogs/news/all-about-aromantic-the-aro-experience-and-aro-pride-flag-explained"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-983",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What are the stud dimensions of the LEGO part with ID 54093?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "20 x 56 in studs",
+ "reference_urls": [
+ "https://www.bricklink.com/v2/catalog/catalogitem.page?P=54093",
+ "https://www.brickowl.com/catalog/lego-white-wing-20-x-56-with-cutout-no-holes-54093",
+ "https://bricker.info/parts/54093/"
+ ],
+ "topic": "Video games",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1001",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the first and last name of the recipient of the Annie Jump Cannon Award in Astronomy in 1952?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ida Barney",
+ "reference_urls": [
+ "https://peabodyhsi.wordpress.com/2022/07/06/ida-barney-calculating-the-cosmos/",
+ "https://aas.org/sites/default/files/2019-09/AJC01.02.pptx.pdf",
+ "https://en.wikipedia.org/wiki/Annie_Jump_Cannon_Award_in_Astronomy"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1010",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many total lunar eclipses were there in 1982?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/July_1982_lunar_eclipse",
+ "https://en.wikipedia.org/wiki/January_1982_lunar_eclipse",
+ "https://eclipse.gsfc.nasa.gov/LEdecade/LEdecade1981.html",
+ "https://www.eclipsewise.com/lunar/LEdecade/LEdecade1981.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1013",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many children did Swiss painter Johann Caspar Füssli have with his wife, Elisabeth?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "18",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Johann_Caspar_F%C3%BCssli",
+ "https://www.theartstory.org/artist/fuseli-henry/",
+ "https://arthistorians.info/fuselih/"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1016",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was British chemist John Shipley Rowlinson appointed a Fellow of the Royal Academy of Engineering?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1976",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/John_Shipley_Rowlinson",
+ "https://www.exeter.ox.ac.uk/emeritus-fellow-sir-john-rowlinson-dies-aged-92/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1019",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who succeeded Stefano Moshi as presiding bishop of the Evangelical Lutheran Church in Tanzania?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sebastian Kolowa",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Evangelical_Lutheran_Church_in_Tanzania",
+ "https://habarika1.rssing.com/chan-52911238/article1400.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1025",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which university did Raissa M. D'Souza complete her B.S. in physics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Illinois at Urbana–Champaign.",
+ "reference_urls": [
+ "https://mae.ucdavis.edu/news/raissa-dsouza-appointed-lead-editor-physical-review-research",
+ "https://engineering.ucdavis.edu/people/raissa-dsouza",
+ "https://en.wikipedia.org/wiki/Raissa_D%27Souza"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1031",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who played baritone saxophone on the 1958 album *Basie Reunion*?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jack Washington",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Basie_Reunion",
+ "https://www.discogs.com/release/2802201-Paul-Quinichette-Basie-Reunion",
+ "https://www.allmusic.com/album/basie-reunion-mw0000105921"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1032",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which Israeli university did Judith Feist Hemmendinger receive her master's degree?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bar-Ilan University",
+ "reference_urls": [
+ "https://books.google.com/books?id=vIcdOOt5p-gC&pg=PA19",
+ "https://en.wikipedia.org/wiki/Judith_Hemmendinger"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1039",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Cylindrovertilla kingi is endemic to which country?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Australia",
+ "reference_urls": [
+ "https://ia600208.us.archive.org/14/items/1994iucnredlisto94groo/1994iucnredlisto94groo.pdf",
+ "https://en.wikipedia.org/wiki/Cylindrovertilla_kingi",
+ "https://www.iucnredlist.org/species/6066/12381943"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1040",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What new species introduced in D&D's Unearthed Arcana 2022 \"Character Origins\" has a head resembling that of an animal?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ardlings",
+ "reference_urls": [
+ "https://media.dndbeyond.com/compendium-images/one-dnd/character-origins/CSWCVV0M4B6vX6E1/UA2022-CharacterOrigins.pdf",
+ "https://dungeonsanddragonsfan.com/ardling-one-dnd-news/",
+ "https://www.cbr.com/one-dnd-ardling-race-abilities-names/",
+ "https://media.dndbeyond.com/compendium-images/one-dnd/character-origins/CSWCVV0M4B6vX6E1/UA2022-CharacterOrigins.pdf?icid_source=house-ads&icid_medium=crosspromo&icid_campaign=playtest1"
+ ],
+ "topic": "Video games",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1042",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Patricia Bullrich's first husband?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Marcelo Langieri",
+ "reference_urls": [
+ "https://noticias.perfil.com/noticias/actualidad/2017-11-26-la-tragica-historia-de-los-novios-de-patricia-bullrich-desaparecidos-durante-la-dictadura.phtml",
+ "https://www.batimes.com.ar/news/argentina/patricia-bullrich-a-profile.phtml",
+ "https://en.wikipedia.org/wiki/Patricia_Bullrich"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1049",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did the original ActRaiser soundtrack come out in Japan?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "January 25, 1991",
+ "reference_urls": [
+ "https://vgmdb.net/album/120",
+ "https://en.wikipedia.org/wiki/ActRaiser"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1054",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day, month, and year was the SROSS-C satellite launched from the Satish Dhawan Space Centre in India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "20 May 1992",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Stretched_Rohini_Satellite_Series",
+ "https://www.isro.gov.in/SROSS_C.html?timeline=timeline",
+ "https://www.satnow.com/space-mission-details/isro/sross-c"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1059",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the pre-2000s band with which the author of *Batman R.I.P.* toured and recorded?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Mixers",
+ "reference_urls": [
+ "https://www.eruditorumpress.com/blog/last-war-in-albion-book-two-chapter-eleven-by-another-mans-look-upon-my-works-ye-mighty",
+ "https://en.wikipedia.org/wiki/Grant_Morrison",
+ "https://www.discogs.com/artist/453013-The-Mixers"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1060",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the strike rate of Manish Pandey in the 2019 IPL match between KKR and SRH on March 24, 2019?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "160 (acceptable range: anything between 158 and 162)",
+ "reference_urls": [
+ "https://m.cricbuzz.com/live-cricket-scorecard/22397/kkr-vs-srh-2nd-match-indian-premier-league-2019",
+ "https://sports.ndtv.com/cricket/kkr-vs-srh-scorecard-live-cricket-score-ipl-2019-match-2-krsh03242019189311",
+ "https://www.cricbuzz.com/live-cricket-scorecard/22397/kkr-vs-srh-2nd-match-indian-premier-league-2019",
+ "https://www.espncricinfo.com/series/ipl-2019-1165643/kolkata-knight-riders-vs-sunrisers-hyderabad-2nd-match-1175357/full-scorecard"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1061",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the 38th mayor of Toronto?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Charles Alfred Maguire.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_mayors_of_Toronto",
+ "https://www.geni.com/projects/Mayors-of-Toronto-Ontario/26075",
+ "https://en.wikipedia.org/wiki/Charles_A._Maguire"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1063",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which major American political party was the first to have a keynote speech delivered by a woman at its national convention?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Republican Party",
+ "reference_urls": [
+ "https://www.genderontheballot.org/fast-facts-women-at-national-conventions/",
+ "https://en.wikipedia.org/wiki/1972_Republican_National_Convention",
+ "https://www.k-state.edu/landon/speakers/anne-armstrong/",
+ "https://en.wikipedia.org/wiki/Anne_L._Armstrong"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1070",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the initial name of the political party that Emmanuel Macron founded?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "En Marche!",
+ "reference_urls": [
+ "https://www.britannica.com/biography/Emmanuel-Macron",
+ "https://www.bsg.ox.ac.uk/events/how-did-president-macron-build-new-political-party-and-will-it-last",
+ "https://en.wikipedia.org/wiki/Emmanuel_Macron",
+ "https://en.wikipedia.org/wiki/Renaissance_%28French_political_party%29"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1073",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At what age did Kichizo Yoshida start learning to craft fine bags?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "12",
+ "reference_urls": [
+ "https://www.yoshidakaban.com/en/story/1470.html?ncat=5",
+ "https://www.heddels.com/2018/10/yoshida-co-brand-profile/",
+ "https://www.highsnobiety.com/p/porter-yoshida-history/"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1075",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was P. V. Sanjay Kumar's position just before being appointed as a judge of the Supreme Court of India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "chief justice of the Manipur High Court",
+ "reference_urls": [
+ "https://www.scconline.com/blog/post/2023/08/14/know-thy-judge-supreme-court-of-india-justice-pv-sanjay-kumar/",
+ "https://www.scobserver.in/judges/p-v-sanjay-kumar/",
+ "https://en.wikipedia.org/wiki/P._V._Sanjay_Kumar"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1076",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many goals did the Selkirk Fishermen score in Game 2 of the 1920 Memorial Cup against the Toronto Canoe Club Paddlers?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4",
+ "reference_urls": [
+ "https://en-academic.com/dic.nsf/enwiki/4707620",
+ "https://internationalhockeywiki.com/ihw/index.php/1919-20_Memorial_Cup_Final",
+ "https://en.wikipedia.org/wiki/1920_Memorial_Cup"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1081",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the halftime score between Liverpool and Leicester in the game from December 30, 2022?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Liverpool 2 - 1 Leicester",
+ "reference_urls": [
+ "https://www.espn.com/soccer/commentary/_/gameId/637995",
+ "https://www.espn.co.uk/football/match/_/gameId/637995/leicester-city-liverpool",
+ "https://www.espn.co.uk/football/report/_/gameId/637995",
+ "https://www.transfermarkt.co.uk/liverpool-fc_leicester-city/index/spielbericht/3838265"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1083",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the Andalusi poet Mansa Musa met on his return journey from his pilgrimage to Mecca between 1324 and 1325?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Abu Ishaq al-Sahili.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mansa_Musa",
+ "https://kids.kiddle.co/Mansa_Musa",
+ "https://www.jstor.org/stable/40732660"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1084",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "According to the 2011 Nepal census, what percentage of the population of Nepal speaks Urdu?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2.61% (acceptable range: anything between 2.58% and 2.64%)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Demographics_of_Nepal",
+ "https://unstats.un.org/unsd/demographic-social/census/documents/Nepal/Nepal-Census-2011-Vol1.pdf",
+ "https://www.indexmundi.com/nepal/demographics_profile.html",
+ "https://en.wikipedia.org/wiki/Languages_of_Nepal"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1086",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What certification did Alan Walker's album, \"Different World,\" receive in the region of Singapore?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Platinum",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Different_World_(Alan_Walker_album)",
+ "https://bestsellingalbums.org/album/1659",
+ "https://en.wikipedia.org/wiki/Different_World_%28Alan_Walker_album%29"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1095",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the former name of the Shastri Nagar Metro Station of the Delhi Metro in Delhi, India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Vivekanandapuri",
+ "reference_urls": [
+ "https://timesofindia.indiatimes.com/city/delhi/metro-rail-suffers-from-identity-crisis/articleshow/590303.cms",
+ "https://en.wikipedia.org/wiki/Shastri_Nagar_metro_station",
+ "https://metrostationshub.com/shastri-nagar/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1105",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the first and last name of Margaret Bourchier, Countess of Bath's first husband?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Thomas Kitson",
+ "reference_urls": [
+ "https://www.findagrave.com/memorial/145146590/margaret-bourchier",
+ "https://www.geni.com/people/Margaret-Bourchier-Countess-of-Bath/6000000000103964686",
+ "https://en.wikipedia.org/wiki/Margaret_Bourchier"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1111",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the ICA's Hall Medal in 2011?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Olga Polverino",
+ "reference_urls": [
+ "https://ieeexplore.ieee.org/author/37089882273",
+ "https://en.wikipedia.org/wiki/Institute_of_Combinatorics_and_its_Applications",
+ "http://www.the-ica.org/medals.php"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1119",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the 10th King of Nepal?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Birendra Bir Bikram Shah Dev",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Birendra_of_Nepal",
+ "https://www.britannica.com/biography/Birendra-Bir-Bikram-Shah-Dev"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1121",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At what age was M. S. Subbulakshmi's first recording released?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "10 years",
+ "reference_urls": [
+ "https://www.javatpoint.com/ms-subbulakshmi",
+ "https://medium.com/@soodsandeep/the-queen-of-carnatic-music-ms-subbulakshmi-1bef3f1a3533",
+ "https://en.wikipedia.org/wiki/M._S._Subbulakshmi"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1129",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the length in meters of the TCG Yavuz (F240) ship of the Turkish Navy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "110.50 m (acceptable range: anything between 109.39 and 111.61 m)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/TCG_Yavuz_(F_240)",
+ "https://www.shipspotting.com/photos/1354303",
+ "https://www.helis.com/database/unit/2073-TCG-Yavuz"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1131",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the DrugBank accession number of barium sulfate?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "DB11150",
+ "reference_urls": [
+ "https://pubchem.ncbi.nlm.nih.gov/substance/347827920",
+ "https://www.drugs.com/ingredient/barium-sulfate.html",
+ "https://go.drugbank.com/drugs/DB11150"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1132",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the only country in the world to invoke Napoleon in its national anthem?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Poland",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Napoleon",
+ "https://en.wikipedia.org/wiki/Poland_Is_Not_Yet_Lost",
+ "https://www.historytoday.com/archive/napoleon-and-polish-identity",
+ "https://polishmusic.usc.edu/research/national-anthems/"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1137",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At which university did the mathematician William Prager study civil engineering and receive his diploma in 1925?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Technische Universität Darmstadt",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/William_Prager",
+ "https://getsol.app/profile/William-Prager-1903",
+ "https://www.anb.org/browse;jsessionid=E0C83877C1B8BCF11C3CBCD5FD8733BB?isQuickSearch=true&pageSize=10&sort=titlesort&t=OccupationsAndRealmsOfRenownANB%3A1480&t_0=OccupationsAndRealmsOfRenownANB%3A1453"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1140",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Jon Kleinberg become a fellow of the Association for Computing Machinery?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2013",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Jon_Kleinberg",
+ "https://awards.acm.org/award_winners/kleinberg_0032532",
+ "https://www.siggraph.org/news/acm-announces-2013-fellows/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1145",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Where did Adore Delano attend high school?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sierra High School.",
+ "reference_urls": [
+ "https://cashtvogue.s3.waw.io.cloud.ovh.net/is-adore-delano-trans-sexuality-partner-and.html",
+ "https://en.wikipedia.org/wiki/Adore_Delano",
+ "https://kids.kiddle.co/Adore_Delano"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1146",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of India's first-ever cricket team formed by the Parsi community in Mumbai?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Oriental Cricket Club",
+ "reference_urls": [
+ "https://in.hellomagazine.com/lifestyle/20231119303703/indian-cricket-lesser-known-facts/",
+ "https://en.wikipedia.org/wiki/India_national_cricket_team",
+ "https://stevewaugh.com.au/pages/the-history-of-cricket-in-india"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1155",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Singapore island is the nation's easternmost point?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Pedra Branca",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_countries_by_easternmost_point",
+ "https://en.wikipedia.org/wiki/Singapore",
+ "https://worldpopulationreview.com/country-rankings/easternmost-point-by-country"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1157",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the exact number of visitors who visited Edinburgh Castle in 2018?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2,111,578 (acceptable range: anything between 2,006,000 and 2,217,157)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_most_visited_palaces_and_monuments",
+ "https://www.historicenvironment.scot/about-us/news/scotland-out-performs-rest-of-uk-for-7th-year-running/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1164",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who were the runners-up for the 2000 doubles competition for the WTA Finals?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Nicole Arendt and Manon Bollegraf.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/2000_WTA_Tour_Championships_%E2%80%93_Doubles",
+ "https://www.wtatennis.com/tournament/808/wta-finals/past-winners",
+ "https://www.flashscore.ca/tennis/wta-doubles/olympic-games-2000/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1174",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many photographs comprise Isa Genzken's Der Spiegel?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "121 (acceptable range: anything between 119 and 123)",
+ "reference_urls": [
+ "https://fashionpluslifestyle.wordpress.com/2013/10/15/isa-genzken-retrospective-at-the-museum-of-modern-art/",
+ "https://en.wikipedia.org/wiki/Isa_Genzken",
+ "https://thephotographersgallery.org.uk/whats-on/isa-genzken-der-spiegel"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1181",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the spring of which year did Henry Martin Nevius join the law office of future U.S. Secretary of War Russell A. Alger?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1861",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Henry_M._Nevius",
+ "https://www.omsa.org/files/jomsa_arch/Splits/2004/288252_JOMSA_Vol55_4_40.pdf",
+ "https://books.google.com/books?id=i98SAAAAYAAJ&pg=PA328&lpg=PA328&dq=henry+nevius+law+office+alger+1861&source=bl&ots=R1Bbg7R7aj&sig=ACfU3U0QFOewqUs2KdInz2vR8uajwdBgVQ&hl=en&sa=X&ved=2ahUKEwjcqp_Th4uHAxVUMlkFHYEIDjMQ6AF6BAgiEAM"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1191",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At which international show jumping event did Susie Hutchison and Samsung Woodstock get blocked mid-round by the ring crew?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Volvo FEI World Cup Final",
+ "reference_urls": [
+ "https://www.proequest.com/blog/susie-hutchison-letting-horse-guide-you",
+ "https://www.chronofhorse.com/article/tbt-watch-susie-hutchison-survive-ultimate-interference-course/",
+ "https://equineink.com/2015/08/27/susie-hutchinson-and-samsung-woodstock-foiled-by-jump-crew/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1200",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the 2016 Wisden-MCC (Melbourne Cricket Council) Cricket Photograph of the Year?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Saqib Majeed",
+ "reference_urls": [
+ "https://www.utilitabowl.com/cricket/news/wisden-mcc-cricket-photograph-of-the-year-competition/",
+ "https://www.thecricketer.com/Topics/globalgame/wisden-mcc-cricket-photograph-2016.html"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1201",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Pioneer's first LaserDisc player made for consumers with a solid-state laser?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "LD-700",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/LaserDisc",
+ "https://manuals.lddb.com/LD_Players/Pioneer/LD/LD-700/LD-700_Booklet.pdf",
+ "https://mistervideo.net/laserdisc-players/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1204",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the first and last name of the host who interviewed military pilot Eugene Bullard on NBC’s \"Today Show\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Dave Garroway",
+ "reference_urls": [
+ "https://www.donaldwatkins.com/post/eugene-jacques-bullard-the-first-black-american-fighter-pilot",
+ "https://garrowayatlarge.com/index.php/category/daves-life/page/3/",
+ "https://allthatsinteresting.com/eugene-bullard",
+ "https://commons.wikimedia.org/wiki/File:Eugene_Bullard_interviewed_on_NBC%27s_Today_Show"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1205",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the accession number given by the Metropolitan Museum of Art for Hendrick Goltzius' \"Farnese Hercules\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "17.37.59",
+ "reference_urls": [
+ "https://commons.wikimedia.org/wiki/File:Farnese_Hercules_MET_MM2664.jpg",
+ "https://www.metmuseum.org/art/collection/search/343588",
+ "https://www.lookandlearn.com/history-images/YM0343588/Farnese-Hercules?t=4&n=554226"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1212",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "As of 2010, what was the population of the village of Manyazybash in Russia?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "30 (acceptable range: anything between 29 and 31)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Manyazybash",
+ "https://web.archive.org/web/20190517104742/http://bashstat.gks.ru/wps/wcm/connect/rosstat_ts/bashstat/resources/2f055a804e303140ba45fe3bf8d20d64/%D0%A7%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C+%D0%BD%D0%B0%D1%81%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F+%D0%BF%D0%BE+%D0%BD%D0%B0%D1%81%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC+%D0%BF%D1%83%D0%BD%D0%BA%D1%82%D0%B0%D0%BC+%D0%A0%D0%B5%D1%81%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B8+%D0%91%D0%B0%D1%88%D0%BA%D0%BE%D1%80%D1%82%D0%BE%D1%81%D1%82%D0%B0%D0%BD.pdf"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1225",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who originally recorded the scientific name of the white-headed duck as *Anas leucocephala* in 1769?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Giovanni Antonio Scopoli",
+ "reference_urls": [
+ "https://avibase.bsc-eoc.org/author.jsp?id=2711",
+ "https://en.wikipedia.org/wiki/White-headed_duck"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1228",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Edward Baker Jelks earn a Ph.D. in archaeology?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1965",
+ "reference_urls": [
+ "http://onlinedigeditions.com/publication/?i=761718&article_id=4347026&view=articleBrowser",
+ "https://en.wikipedia.org/wiki/Edward_B._Jelks",
+ "https://news.illinoisstate.edu/2022/04/scholarship-memorializes-anthropologist-and-isu-faculty-emeritus-edward-b-jelks/"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1235",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the population of Spring Rock Township, Clinton County, Iowa, at the time of the 2000 Census?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1142 (acceptable range: anything between 1129 and 1154)",
+ "reference_urls": [
+ "https://www.iowadatacenter.org/datatables/Township/mcdpopulation2000.pdf",
+ "https://en.wikipedia.org/wiki/Spring_Rock_Township",
+ "https://www.iowadatacenter.org/datatables/Township/mcdpopbycounty19902000.pdf"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1239",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the 18th Chief Minister of Karnataka?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "H. D. Kumaraswamy",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/H._D._Kumaraswamy",
+ "https://www.oneindia.com/list-of-chief-ministers-of-karnataka/",
+ "https://unacademy.com/content/general-awareness/list-of-chief-ministers-of-karnataka/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1246",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was the Dogra Art Museum (Jammu) inaugurated by the first President of India, Dr. Rajendra Prasad?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "18th of April, 1954",
+ "reference_urls": [
+ "https://www.dailyexcelsior.com/dogra-art-museum-pride-of-jammu-against-all-odds/",
+ "https://en.wikipedia.org/wiki/Dogra_Art_Museum",
+ "https://jkarchives.nic.in/Museum_Jammu.htm"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1254",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the real name of the Japanese criminal known as the Ninja of Heisei?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mitsuaki Tanigawa",
+ "reference_urls": [
+ "https://www.reddit.com/r/Damnthatsinteresting/comments/18tm1sg/a_japanese_burglar_was_unmasked_as_a_74yearold/?rdt=34201",
+ "https://www.cbc.ca/radio/asithappens/as-it-happens-wednesday-edition-1.4371058/october-25-2017-episode-transcript-1.4373936",
+ "https://en.wikipedia.org/wiki/Ninja_of_Heisei"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1259",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "When holding the Crescent Axe from Demon's Souls (2009) in two hands, what is the physical damage reduction when blocking?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "55% (acceptable range: anything between 54% and 56%)",
+ "reference_urls": [
+ "http://demonssouls.wikidot.com/crescent-axe",
+ "https://www.demonssouls.com/index.php?title=Crescent_Axe&mobileaction=toggle_view_desktop"
+ ],
+ "topic": "Video games",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1268",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what month and year did Theresa Kuffour (former First Lady of Ghana) die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October 2023",
+ "reference_urls": [
+ "https://www.ghanaweb.com/GhanaHomePage/NewsArchive/New-details-about-passing-of-former-First-Lady-Theresa-Kufuor-1854473",
+ "https://en.wikipedia.org/wiki/Theresa_Kufuor",
+ "https://www.myjoyonline.com/former-first-lady-theresa-kufuor-dies-at-88/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1269",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the World Senior Chess Championship Women's Tournament held in 1993?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Tatiana Zatulovskaya",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/World_Senior_Chess_Championship",
+ "https://ruchess.ru/en/news/all/rip_tatiana_zatulovskaya_1935_2017/",
+ "https://en.wikipedia.org/wiki/Tatiana_Zatulovskaya",
+ "https://timenote.info/en/Tatiana-Zatulovskaya"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1274",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what date, month, and year was Patricio Echegaray, an Argentine politician born in San José de Jáchal, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October 17, 1946",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Patricio_Echegaray",
+ "http://www.idcommunism.com/2017/08/communist-parties-statements-on-death.html",
+ "https://www.wikidata.org/wiki/Q4533357"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1290",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who crowned Reita Faria, the winner of Miss World 1966?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lesley Langley",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lesley_Langley",
+ "https://en.wikipedia.org/wiki/Miss_World_1965",
+ "https://en.wikipedia.org/wiki/Miss_World"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1294",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the 2016 World Rugby Nations Cup, what was the final score of the match between Namibia and Emerging Italy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Namibia 38 - 26 Emerging Italy",
+ "reference_urls": [
+ "https://archive.ph/20201019191835/https://www.world.rugby/match/23378",
+ "https://www.world.rugby/news/170315",
+ "https://en.wikipedia.org/wiki/2016_World_Rugby_Nations_Cup"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1295",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was David Crombie appointed an Officer of the Order of Canada?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "13 May 2004",
+ "reference_urls": [
+ "https://waterfronttrail.org/the-charity/staff/",
+ "https://en.wikipedia.org/wiki/David_Crombie",
+ "https://www.gg.ca/en/honours/recipients/146-1673"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1296",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Indian agriculture is known as Golden Zest?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Saffron Cultivation",
+ "reference_urls": [
+ "https://justagriculture.in/files/newsletter/2023/june/45.%20Indoor%20Saffron%20Production%20-%20How%20and%20Why.pdf",
+ "https://www.dailyexcelsior.com/saffron-farming-in-jk/",
+ "https://www.dailyexcelsior.com/saffron-cultivation-in-kishtwar/",
+ "https://kashmirtravels.com/tours/kashmir-saffron-harvest-tour.html"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1297",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the Chilean National Prize for Exact Sciences in 2019?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Dora Altbir",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/National_Prize_for_Exact_Sciences_(Chile)",
+ "https://www.imago-images.de/st/0093113215",
+ "https://en.wikipedia.org/wiki/Dora_Altbir",
+ "https://cedenna.cl/index.php/en/node/791"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1301",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day, month, and year was the domain \"hindustantimes.com\" registered?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "August 14, 1996",
+ "reference_urls": [
+ "https://trak.in/tags/business/2007/07/26/top-50-web10-web-sites-of-india/",
+ "https://www.whois.com/whois/hindustantimes.com"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1315",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which two countries is Anisotenes cacotechna found?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Papua New Guinea and Indonesia",
+ "reference_urls": [
+ "https://wikiroulette.co/?p=Anisotenes_cacotechna",
+ "https://species.wikimedia.org/wiki/Anisotenes_cacotechna",
+ "https://en.wikipedia.org/wiki/Anisotenes_cacotechna",
+ "https://en.wikipedia.org/wiki/New_Guinea"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1324",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which university did Ritesh Batra attend but drop out of?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "New York University",
+ "reference_urls": [
+ "https://www.globalindian.com/story/filmmaker/from-mumbai-to-new-york-how-bafta-nominated-director-ritesh-batra-took-over-hollywood/",
+ "https://en.wikipedia.org/wiki/Ritesh_Batra",
+ "https://jodytinsight.s3.rbx.io.cloud.ovh.net/ritesh-batra-height-weight-family-facts-spouse.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1328",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many children did gay rights activist Morris Kight have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Morris_Kight",
+ "https://web.archive.org/web/20141024110242/http://www.glbtq.com/social-sciences/kight_m.html",
+ "https://www.latimes.com/archives/la-xpm-2003-jan-20-me-kight20-story.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1329",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the population of Port Huron as per the 2020 Census?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "28983 (acceptable range: anything between 27533 and 30433)",
+ "reference_urls": [
+ "https://www.census.gov/quickfacts/fact/table/US",
+ "https://en.wikipedia.org/wiki/Port_Huron",
+ "https://www.census.gov/quickfacts/fact/table/porthuroncitymichigan/PST040223"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1335",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the second song on Side Two of the album Rewind by Johnny Rivers?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "\"For Emily, Whenever I May Find Her\"",
+ "reference_urls": [
+ "https://www.discogs.com/release/13199258-Johnny-Rivers-Rewind",
+ "https://en.wikipedia.org/wiki/Rewind_(Johnny_Rivers_album)",
+ "https://rateyourmusic.com/release/album/johnny_rivers/rewind/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1337",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the zoologist who formally described the brown cuckoo-dove in 1821?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Coenraad Jacob Temminck",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Brown_cuckoo-dove",
+ "https://apps.des.qld.gov.au/species-search/details/?id=1791",
+ "https://www.inaturalist.org/taxa/144551-Macropygia-phasianella"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1345",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the title of the single that Shubh released in 2021 with Irman Thiara?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Don't Look",
+ "reference_urls": [
+ "https://www.thestatesman.com/entertainment/why-virat-hardik-kl-rahul-have-unfollowed-26-year-old-punjabi-rapper-from-brampton-1503223635.html",
+ "https://www.business-standard.com/india-news/from-boat-to-virat-kohli-why-is-canadian-singer-shubh-facing-backlash-123092000385_1.html",
+ "https://en.wikipedia.org/wiki/Shubh"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1350",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was Elisabeth Udolf-Strobl born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "12 April 1956",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Elisabeth_Udolf-Strobl",
+ "https://www.ask-oracle.com/birthday/1956/04/12/",
+ "https://www.wikidata.org/wiki/Q64223573"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1353",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the first palace in Rome to be erected from the ground up in the new Renaissance style?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Palazzo della Cancelleria",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Palazzo_della_Cancelleria",
+ "https://antiquatours.wordpress.com/2013/01/29/a-visit-to-palazzo-della-cancelleria/"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1355",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which month and year was Bob Rusay dismissed from Cannibal Corpse?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "February 1993",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Cannibal_Corpse",
+ "https://thevogue.com/artists/cannibal-corpse/"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1366",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which university did the Surgeon General of California, Diana Ramos, earn her bachelor's degree?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Southern California.",
+ "reference_urls": [
+ "https://keck.usc.edu/news/california-surgeon-general-diana-ramos-md-puts-mental-health-and-inequities-of-care-at-the-top-of-her-statewide-to-do-list/",
+ "https://en.wikipedia.org/wiki/Diana_Ramos",
+ "https://merage.uci.edu/press-releases/2021/05/UCI-Paul-Merage-School-of-Business-Announces-Dr.-Diana-Ramos-EMBA-21-as-Distinguished-Commencement-Speaker.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1367",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which chief minister ordered the construction of a mosque at the site of a Hindu temple in Jammu in 1986?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gul Shah",
+ "reference_urls": [
+ "https://decodingworldaffairs.com/justice-awaited-even-after-30-years-of-exodus-of-kashmiri-pundits/",
+ "https://kashmir-rechords.com/38-years-of-anantnag-riots/",
+ "https://en.wikipedia.org/wiki/History_of_Kashmir"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1368",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Galip Ulsoy receive the Charles Russ Richards Memorial Award from ASME and Pi Tau Sigma?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2013",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Galip_Ulsoy",
+ "https://www.asme.org/about-asme/honors-awards/achievement-awards/charles-russ-richards-memorial-award",
+ "https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6815800",
+ "https://me.engin.umich.edu/news-events/news/ulsoy-receives-asme-charles-russ-richards-award/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1369",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which American chemist was the first female president of the Electrochemical Society?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Joan Berkowitz",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Joan_Berkowitz",
+ "https://www.electrochem.org/press-room/ecs-celebrates-the-international-day-of-women-and-girls-in-science/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1378",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "When using EIS with the Sigma FP, what is my maximum shutter speed?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1/4,000 sec",
+ "reference_urls": [
+ "https://www.sigmaphoto.com/sigma-fp",
+ "https://sigmavietnam.com.vn/en/fp-2/",
+ "https://reykjavikfoto.is/vefverslun/myndavelar/videovelar/atvinnuvelar/sigma-fp-m-45mm-f-28/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1385",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was the first ride on the White Mountain Central Railroad in New Hampshire?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "30 July 1958",
+ "reference_urls": [
+ "https://whitemountaincentralrr.com/history/railroad/",
+ "https://en.wikipedia.org/wiki/White_Mountain_Central_Railroad",
+ "https://local.aarp.org/place/the-white-mountain-central-railroad-lincoln-nh.html"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1389",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of Nepal's first technical university established as part of a 2010 government bill?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Agriculture and Forestry University",
+ "reference_urls": [
+ "https://www.afu.edu.np/",
+ "https://en.wikipedia.org/wiki/Agriculture_and_Forestry_University"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1391",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year was the first SoCal Sword Fight tournament held?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2012",
+ "reference_urls": [
+ "https://socalswordfight.com/pages/about-socal-swordfight",
+ "https://en.wikipedia.org/wiki/Historical_European_martial_arts",
+ "https://www.youtube.com/channel/UC6miMqtbfm1DXm2EcEdL29A"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1392",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which stadium was the IPL 2015 20th match played?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "M. Chinnaswamy Stadium",
+ "reference_urls": [
+ "https://www.mykhel.com/cricket/ipl-2015-scorecard-s9978-818660/",
+ "https://www.iplt20.com/matches/results/2015",
+ "https://www.cricwaves.com/cricket/news/articles/piAp1WZkkB_drh-sevawcirc/ipl-8-indian-premier-league-2015-schedule-fixtures-time-table.html",
+ "https://m.cricbuzz.com/cricket-match-facts/14614/rcb-vs-csk-20th-match-indian-premier-league-2015"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1400",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What female disc jockey sued the Maryland Racing Commission for the right to be granted a license in 1968?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kathy Kusner",
+ "reference_urls": [
+ "https://incidentsofguidance.blogspot.com/2015/11/kathy-kusner.html",
+ "https://en.wikipedia.org/wiki/Diane_Crump",
+ "https://www.derbymuseum.org/Exhibits/Detail/35/Right-to-Ride",
+ "https://en.wikipedia.org/wiki/Jockey"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1415",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the Hampstead, London, street address of art collector Margaret Gardiner's home?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "35 Downshire Hill",
+ "reference_urls": [
+ "https://www.pierartscentre.com/blog/24/7/2019/margaret-gardiner-and-naum-gabo",
+ "https://en.wikipedia.org/wiki/Margaret_Gardiner_(art_collector)",
+ "https://downshirehillra.com/living-history-downshire-hill/"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1419",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the medalist at the V. M. Goldschmidt Award in 2015?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Miriam Kastner",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/V._M._Goldschmidt_Award",
+ "https://www.geochemsoc.org/honors/awards/vmgoldschmidtaward",
+ "https://en.wikipedia.org/wiki/Miriam_Kastner"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1427",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which stadium did Die Ärzte play on New Year's Eve 2006?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "RheinEnergieStadion",
+ "reference_urls": [
+ "https://www.show-hire.de/en/projects/",
+ "https://www.setlist.fm/setlist/die-arzte/2006/rheinenergiestadion-cologne-germany-6bd6f6f6.html",
+ "https://de.wikipedia.org/wiki/Rheinenergiestadion",
+ "https://www.tourdatenarchiv.de/setlist/65/01/Einzelgigs/K-ln-Rhein-Energie-Stadion-br-small-rzte-statt-B-ller-small-/"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1436",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what month and year did Eric Xing join the Mohamed bin Zayed University of Artificial Intelligence?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "January 2021",
+ "reference_urls": [
+ "https://mbzuai.ac.ae/news/mbzuai-appoints-world-renowned-leading-ai-academic-professor-dr-eric-xing-as-president/",
+ "https://en.wikipedia.org/wiki/Mohamed_bin_Zayed_University_of_Artificial_Intelligence"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1441",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was Alexandra Park declared a local nature reserve?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2013",
+ "reference_urls": [
+ "https://kids.kiddle.co/Alexandra_Palace",
+ "https://en.wikipedia.org/wiki/Alexandra_Palace",
+ "https://secret-traveller.com/2015/09/30/secret-bits-london-alexandra-palace-park/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1442",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What's the first typhoon of the 2019 Pacific typhoon season called?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Wutip",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Typhoon_Wutip_(2019)",
+ "https://en.wikipedia.org/wiki/2019_Pacific_typhoon_season",
+ "https://www.wunderground.com/cat6/Early-Start-2019-Typhoon-Season-Category-2-Wutip-Heads-Towards-Guam"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1448",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Alexej von Jawlensky expelled from Germany?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1914",
+ "reference_urls": [
+ "https://kettererkunst.com/bio/AlexejvonJawlensky-1864-1941.php",
+ "https://en.wikipedia.org/wiki/Alexej_von_Jawlensky"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1452",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Bullard Mountain named after in the Boundary Ranges in Alaska?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Benjamin Bullard",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bullard_Mountain",
+ "https://edits.nationalmap.gov/apps/gaz-domestic/public/search/names/1399563",
+ "https://alaska.guide/Mountain/Bullard-Mountain"
+ ],
+ "topic": "Geography",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1471",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which version of React was the switch from using the id attribute to data-reactid to track DOM nodes implemented?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "v0.4.0",
+ "reference_urls": [
+ "https://github.com/facebook/react/blob/main/CHANGELOG.md",
+ "https://legacy.reactjs.org/blog/2013/07/17/react-v0-4-0.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1484",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many children did Gilbert Hani and Mary Hani have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "6",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Chris_Hani",
+ "https://sbffranktalk.blogspot.com/2013/04/biography-of-week-chris-hani.html",
+ "https://www.britannica.com/biography/Chris-Hani",
+ "https://www.pindula.co.zw/Chris_Hani/"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1491",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many children did Hank Williams have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://www.bustle.com/articles/149115-where-are-hank-williams-children-now-i-saw-the-light-puts-the-singers-family-in-the",
+ "https://media.al.com/mcolurso/other/101HANKTREE.pdf",
+ "https://en.wikipedia.org/wiki/Hank_Williams"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1494",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was awarded the Stampacchia Gold Medal in 2012?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ovidiu Savin",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Stampacchia_Medal",
+ "https://www.math.columbia.edu/2012/05/17/savin-award/",
+ "https://umi.dm.unibo.it/premi-old/gold-medal-guido-stampacchia/"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1501",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Stepan Prokopovich Timoshenko receive the Worcester Reed Warner Medal?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1935",
+ "reference_urls": [
+ "https://www.asme.org/about-asme/honors-awards/literature-awards/worcester-reed-warner-medal",
+ "https://en.wikipedia.org/wiki/Worcester_Reed_Warner",
+ "https://watermark.silverchair.com/493_1.pdf?token=AQECAHi208BE49Ooan9kkhW_Ercy7Dm3ZL_9Cf3qfKAc485ysgAABGAwggRcBgkqhkiG9w0BBwagggRNMIIESQIBADCCBEIGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMvegxpaLqdbE_YqFiAgEQgIIEExwkQFNwsKOV8IWn1_Ph1kRUgo9CDJYdKtVmb2O86ntfitIs5dZkJas0rBsVfBxYAOSe5jWXvAquk-zndamvgLUp4zyHdfAbqc5dVvgziFkrmVyQyDPQygh609I8Gsjg6jWTP-3RChfRP0yDcmJMMMqSvxpKNNSwHPi-kMFVDVMgF0efOowaHBXtpoNTMz0tRna4gQDIOvs6jKlX-L025zNTtQ7yGRy8aTPT7P-MvTWTVq7hr3Nuv4o9gcc7e0dLwmDWScm6MLWRQ6BBdpkNPOJLMmL_0gvHE4NaOjbGsY7ClreUmW_414sXIvIueWC3-eH9RSSzWK57BGnG9qYUftRNWe5lDXVBetwLNBe0Hk4pdj4OWHyhl7KLs_NPcxKf4j2Vb_9VRsNtH_dcPcVGNwAD8NTEnSIDQZuYXezus8NXDplNhAUKaVUoGsIId86fb05aMxLp7Qj5kg0U62WscfQVGc8x-6zhKinYCcR7UDShxA0VYAjjlp5qzifR4MPbw8P-TadLc9Ak_naStJ2R3EtsHTG6-kaOju9CsFKtV-L5-ufUtel_KQFfvBEV8ArOK5dOpp3LO0gzFsBZELKfHfk4aC88SQdUicVZakrfjYEm_ODscjEDokQeu2G9mb_4PKS8VXMEDM6a49dv7reLyG97yA2s6FfahF7PpjgmDU-5T5M3UYi3fmDnsDbbs91OHnI0Z3eBNnWfCVNuNMqlkeb5l9ML7zgkTqPX1Zrd0fs-BqQ-QevgKSy4tpXw9K6pyc47S1FqM9TrdYiIU1pfCHHz_tPrCYbtBKuVBsJY4alhmoIdxeH9MrjUR2zaMzLA7DFzp4t4hk0cfIo_yp0tfxzcOASojsFI83xMGfspwTUXTjAkkcmEAwZJDPX0qxrlDjkeXjNUT_k7qhAIOuUFGCU0ZSIAx0Il2K4pNVLu5Pgi1vRMddBGtj8KgFr22wXb5Wl4T1uskI0k_e227zZe8Y-TFa5OyN5BxhQwa7g-TmiNfOx78MGhv-TPMZ_Mxkd9R82vYhCOb1N_pTJkdjvaXFF_3sz_1k7xSa1aL1IahIsmqvSD5zwzfBGkTlngw17dqmfayxAYdWcc-qiUS3pvOev93SSiGLzPT-gFWO6lmN2o9wP6MKbQ-NHtT9X-s4NK-cFxgV4mQg93TidtVNFGz-c9ggV90xcU8XWQfy02slUJuytC15mwMVDUFqNUi-tOof5sxGurimRfSNbl8LJ565rnNR-a3Cl9HWBM6nReQtxA5T-HmL02AxPPht44c5darqjky3EksZjaZzJHx0tdRJDSdyEDxao6B0RuZKp8jUGaiPzBdxnug87de2OXhO7TqnuYOL31OEOTVIkGVl3QsMNib_hhWkVpz-V-H-egVcA3JVGo"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1503",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the fuselage length of the Bell 430 rotorcraft in meters?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "13.44 m (acceptable range: anything between 13.30 and 13.58 m)",
+ "reference_urls": [
+ "https://rotorcraft.info/fe/en/acft/1230",
+ "https://en.wikipedia.org/wiki/Bell_430",
+ "https://aeropedia.com.au/content/bell-430/",
+ "https://ecsjets.com/bell-430/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1507",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the first line in Mariah Carey's \"Hero\" song?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "There's a hero (if you look inside your heart)",
+ "reference_urls": [
+ "https://www.musicgateway.com/song-lyrics/mariah-carey/hero",
+ "https://songmeanings.com/songs/view/8769/",
+ "https://genius.com/Mariah-carey-hero-lyrics"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1517",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Aseprite version had the patch note: \"Added option to enable the 'Snap to Grid' option for the brush preview #4137\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "v1.3-rc8",
+ "reference_urls": [
+ "https://www.aseprite.org/release-notes/",
+ "https://github.com/aseprite/aseprite/compare/v1.3-rc7...v1.3-rc8"
+ ],
+ "topic": "Video games",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1529",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which company launched India’s first commercial MCU chip?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mindgrove",
+ "reference_urls": [
+ "https://economictimes.indiatimes.com/tech/technology/semiconductor-company-mindgrove-launches-indias-first-commercial-mcu-chip/articleshow/109862909.cms?from=mdr",
+ "https://www.eetindia.co.in/mindgrove-launches-indias-first-indigenously-designed-mcu-chip/",
+ "https://www.constructionworld.in/latest-construction-technology/mindgrove-launches-indias-first-commercial-mcu-chip/55085",
+ "https://www.autocarpro.in/news/volvo-to-launch-worlds-first-ev-battery-passport-report--120895"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1531",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was known for playing the trombone for The Jazzmen at the time of Kenny Ball's death?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "John Bennett",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Kenny_Ball",
+ "https://www.last.fm/music/Kenny+Ball+&+His+Jazzmen/+wiki"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1537",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what grade was the model and actress Hunter Schafer diagnosed with gender dysphoria?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "9th",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Hunter_Schafer",
+ "https://www.aclu.org/bio/hunter-schafer",
+ "https://www.idsnews.com/article/2024/02/hunter-shafer-brief-auditorium-events-recent"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1542",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the third ionization energy of molybdenum in kilojoules per mole?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2618 (acceptable range: anything between 2591 and 2645)",
+ "reference_urls": [
+ "https://www.webelements.com/molybdenum/",
+ "https://en.wikipedia.org/wiki/Molybdenum",
+ "https://www.periodni.com/mo.html",
+ "https://en.wikipedia.org/wiki/Molar_ionization_energies_of_the_elements"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1556",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Undercover's first Paris runway show was named what?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Scab",
+ "reference_urls": [
+ "https://www.archivepdf.net/post/eras-of-undercover-deep-dive",
+ "https://system-magazine.com/issues/issue-11/undercover",
+ "https://www.ssense.com/en-us/editorial/fashion/decoding-jun-takahashis-undercover"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1573",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Indian cricketer has been appointed UNICEF and Cricket for Good Ambassador for the ICC Women’s World Cup 2017?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sachin Tendulkar",
+ "reference_urls": [
+ "https://www.thestatesman.com/sports/sachin-tendulkar-appointed-unicef-ambassador-for-the-icc-women-s-world-cup-1489144206.html",
+ "https://www.unicef.org/rosa/press-releases/sachin-tendulkar-appointed-unicef-and-cricket-good-ambassador-icc-womens-world-cup",
+ "https://www.gktoday.in/question/which-indian-cricketer-has-been-appointed-unicef-a"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1579",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 2022, what was the population of the Kızılağaç district of Kaş, Antalya Province, Turkey?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "221 (acceptable range: anything between 218 and 224)",
+ "reference_urls": [
+ "https://www.academia.edu/112308546/The_Population_Structure_and_Characteristic_of_Ka%C5%9F_District_Antalya_?uc-sb-sw=19348302",
+ "https://en.wikipedia.org/wiki/K%C4%B1z%C4%B1la%C4%9Fa%C3%A7"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1587",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Name the largest doab in India.",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ganges-Yamuna Doab",
+ "reference_urls": [
+ "https://rashidfaridi.com/2019/12/22/doabs-of-india/",
+ "https://en.wikipedia.org/wiki/Doab",
+ "https://www.britannica.com/place/Ganges-Yamuna-Doab"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1592",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the campus where Princess Shruti Rajya Lakshmi Devi Shah completed her bachelor's degree?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Padma Kanya Campus",
+ "reference_urls": [
+ "https://ktmonlinekhabar.blogspot.com/2014/07/princess-shruti-rajya-laxmi-devi-shah.html",
+ "https://en.wikipedia.org/wiki/Princess_Shruti_of_Nepal"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1593",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which soldier was conferred with the \"Points of Light Honour\" by British Prime Minister Rishi Sunak?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Rajindar Singh Dhatt",
+ "reference_urls": [
+ "https://www.sanjhamorcha.com/2023/06/",
+ "https://www.gktoday.in/question/who-was-conferred-with-the-points-of-light-honour-by-the-british-prime",
+ "https://currentaffairs.anujjindal.in/01st-03rd-july-2023-2/",
+ "https://economictimes.indiatimes.com/news/international/world-news/uk-pm-rishi-sunak-honours-101-year-old-sikh-world-war-ii-veteran-with-points-of-light-award/articleshow/101360826.cms?from=mdr",
+ "https://www.connectedtoindia.com/tag/uk-india-trade/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1601",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What high school did RuPaul Charles attend in California?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Patrick Henry High School",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/RuPaul",
+ "https://www.blackpast.org/african-american-history/people-african-american-history/rupaul-andre-charles-1960/",
+ "https://nationaltoday.com/birthday/rupaul/"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1608",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many birthdays did \"Granny D\" Haddock have during her famous cross-country walk that began in California in 1999?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Doris_Haddock",
+ "https://www.democracynow.org/2010/3/11/dorris_granny_d_haddock_1910_2010",
+ "https://americanswhotellthetruth.org/portraits/doris-granny-d-haddock/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1611",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the month, day, and year Anne Morgan was first styled Baroness Hunsdon?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "January 13, 1559",
+ "reference_urls": [
+ "https://www.twentytrees.co.uk/History/Wales/Person/Anne-Morgan-Baroness-Hunsdon-1529-1607.html?nWrN1whZ",
+ "https://www.geni.com/people/Lady-Anne-Carey-Baroness-Hunsdon/6000000003232572822",
+ "https://en.wikipedia.org/wiki/Anne_Morgan"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1624",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the governor of Assam from 16 February 1949 to 27 May 1949?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sri Prakasa",
+ "reference_urls": [
+ "https://testbook.com/assam-gk/assam-governors-list",
+ "https://assambidhansabha.org/governorsince",
+ "https://en.wikipedia.org/wiki/Sri_Prakasa"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1631",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many candidates entered their work in the Prix de Rome in the engraving category in 1805?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Nicolas-Pierre_Tiolier",
+ "https://en.geneastar.org/genealogy/tioliern/nicolas-pierre-tiolier"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1645",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the title of the second YouTube video ever uploaded?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "My Snowboarding Skillz",
+ "reference_urls": [
+ "https://www.thenationalnews.com/arts-culture/pop-culture/2021/02/13/here-are-the-first-ever-youtube-videos-top-10-oldest-youtube-videos/",
+ "https://unofficialnetworks.com/2022/07/15/2nd-oldest-youtube-video-snowboarding/",
+ "https://www.oldest.org/entertainment/videos-on-youtube/"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1648",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The statue of Efraín González Luna is installed in which Mexican state?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jalisco",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Statue_of_Efra%C3%ADn_Gonz%C3%A1lez_Luna",
+ "https://iiab.me/kiwix/content/wikipedia_en_all_maxi_2023-10/A/Statue_of_Efra%C3%ADn_Gonz%C3%A1lez_Luna"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1653",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the world's first solid titanium watch?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Citizen X8 Titanium Chronometer",
+ "reference_urls": [
+ "https://www.citizenwatch.com/us/en/technology-super-titanium.html",
+ "https://www.citizenwatch-global.com/technologies/super-titanium/index.html",
+ "https://www.horbiter.com/en/first-ever-titanium-watch-is-a-citizen/",
+ "https://monochrome-watches.com/first-titanium-watch-1970-citizen-50th-anniversary-titanium-technology-in-depth/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1660",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who is the father of Jérôme Sabourin, the Canadian cinematographer?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Marcel Sabourin",
+ "reference_urls": [
+ "https://wikiroulette.co/?p=J%C3%A9r%C3%B4me_Sabourin",
+ "https://www.thecanadianencyclopedia.ca/en/article/marcel-sabourin",
+ "https://en.wikipedia.org/wiki/J%C3%A9r%C3%B4me_Sabourin",
+ "https://playbackonline.ca/2024/02/05/nine-canadian-features-to-make-world-bow-at-rendez-vous/"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1661",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What record label produced Avenger's 1985 EP containing the song \"Down to the Bone\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Wishbone Records",
+ "reference_urls": [
+ "https://www.metal-archives.com/reviews/Avenger/Depraved_to_Black/4926/",
+ "https://www.discogs.com/release/3509108-Avenger-Depraved-To-Black",
+ "https://rateyourmusic.com/release/ep/avenger/depraved-to-black.p/",
+ "https://en.wikipedia.org/wiki/Depraved_to_Black"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1671",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the final score between Olga Kharlan and Kim Ji-yeon at the 2013 World Championships?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Olga Kharlan - Kim Ji-yeon: 15–14",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Olga_Kharlan",
+ "https://www.gettyimages.in/detail/news-photo/ukraines-olga-kharlan-fights-with-south-koreas-ji-yeon-kim-news-photo/175873383"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1674",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what country did Richard Serra create his first outdoor sculptures?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Japan",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Richard_Serra",
+ "https://books.google.com.vn/books?id=EDAbPknr8nMC&pg=PA81&lpg=PA81&dq=%22Richard+Serra%22+%22first+outdoor+sculptures%22&source=bl&ots=qCXlU4jMfR&sig=ACfU3U3TRqjtzPOd4n4bZNqcVWkgV7kZvw&hl=en&sa=X&ved=2ahUKEwiRlbOmvZGHAxUXslYBHTPwA4gQ6AF6BAgbEAM"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1682",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Albertina Sisulu retire from politics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1999",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Albertina_Sisulu",
+ "https://www.gcis.gov.za/sites/default/files/docs/maSisulu_ALBERTINA%20SISULU%20BIOGRAPHY.PDF",
+ "https://www.sahistory.org.za/people/albertina-nontsikelelo-sisulu"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1688",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the scientific name of the first reported sexually dichromatic snake from the Indian subcontinent?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ahaetulla anomala",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ahaetulla_anomala",
+ "https://www.newindianexpress.com/states/odisha/2017/May/11/researchers-validate-indias-first-dichromatic-snake-species-1603571.html",
+ "https://reptile-database.reptarium.cz/species?genus=Ahaetulla&species=anomala"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1691",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At which art school was Will Hicok Low an instructor in 1890?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "National Academy of Design",
+ "reference_urls": [
+ "https://www.hellenicaworld.com/Art/Paintings/en/WillHicokLow.html",
+ "https://www.invaluable.com/auction-lot/will-hicok-low-ny-french-1853-1932-oil-painting-a-293-c-1374c919de",
+ "https://en.wikipedia.org/wiki/Will_Hicok_Low"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1695",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the color of the boy's hair depicted in the illustration \"Backfence Graffiti\" by Norman Rockwell?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Red / Auburn",
+ "reference_urls": [
+ "https://www.art.com/gallery/id--a32-b18293/norman-rockwell-vintage-saturday-evening-post-posters.htm?page=5",
+ "https://www.saturdayeveningpost.com/2011/05/rockwell-changed-illustration/",
+ "https://www.ebay.com/itm/125955908111"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1698",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "According to the 2012 municipal census, how many people live in Shawnee Slopes?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1565 (acceptable range: anything between 1549 and 1581)",
+ "reference_urls": [
+ "https://mycalgary.com/communities/calgary/sw/shawnee_slopes/",
+ "https://en.wikipedia.org/wiki/Shawnee_Slopes"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1704",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was Stefan Parkman, the conductor, awarded the Order of the Dannebrog?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1997",
+ "reference_urls": [
+ "https://ism.yale.edu/news/stefan-parkman-appointed-interim-conductor-yale-schola-cantorum-and-visiting-professor-choral",
+ "https://music.metason.net/artistinfo?name=Stefan%20Parkman",
+ "https://www.stefanparkman.com/biography/",
+ "https://en.wikipedia.org/wiki/Stefan_Parkman"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1711",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "When Donjuan Triumphant began his career as a breeding stallion in 2020, his stud fee was set at how many Euros?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "€4,000",
+ "reference_urls": [
+ "https://www.racingpost.com/profile/horse/892540/donjuan-triumphant/fee-history",
+ "https://en.wikipedia.org/wiki/Donjuan_Triumphant"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1717",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many people were killed when a tractor-trolley returning from a temple fell into a pond in Kanpur on October 2, 2022?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "27",
+ "reference_urls": [
+ "https://www.newindianexpress.com/nation/2022/Oct/01/27devotees-returning-after-mundan-ceremony-killed-in-road-mishap-in-ups-kanpur-2503992.html",
+ "https://en.wikipedia.org/wiki/2022_Kanpur_road_accident",
+ "https://www.indiatoday.in/india/story/kanpur-road-accident-cm-yogi-meets-survivors-uttar-pradesh-2007448-2022-10-02",
+ "https://en.wikipedia.org/wiki/2022_in_India"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1718",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the surname of the person who first discovered the blood-sucking bug Triatoma carrioni?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Larrousse",
+ "reference_urls": [
+ "https://worldspecies.org/ntaxa/3944396",
+ "https://en.wikipedia.org/wiki/Triatoma_carrioni",
+ "https://www.bionity.com/en/encyclopedia/Triatoma_carrioni.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1722",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the title of the journal that Charles Raymond Perrault served as co-editor-in-chief of from 2001 to 2010?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Artificial Intelligence",
+ "reference_urls": [
+ "https://www.sri.com/people/c-raymond-perrault/",
+ "https://en.wikipedia.org/wiki/C._Raymond_Perrault"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1726",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What's the population of Özbek, Şabanözü according to the 2021 census?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "121 (acceptable range: anything between 119 and 123)",
+ "reference_urls": [
+ "https://www.tuik.gov.tr/indir/duyuru/favori_raporlar.xlsx",
+ "https://en.wikipedia.org/wiki/%C3%96zbek"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1731",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which district is the Draj Bridge located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Rajouri",
+ "reference_urls": [
+ "https://www.tnpscthervupettagam.com/currentaffairs-detail/draj-bridge-in-rajouri-jandk?cat=state",
+ "https://www.newindianexpress.com/nation/2019/Dec/09/jks-rajouri-gets-important-draj-bridge-for-all-weather-connectivity-2073754.html",
+ "https://www.projectstoday.com/News/Draj-bridge-inaugurated-in-Jammu--Kashmir",
+ "https://www.gktoday.in/question/draj-bridge-has-been-recently-opened-for-its-opera"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1732",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did \"Drawings and Prints\" become its own department within the Pierpont Morgan Library?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1945",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Morgan_Library_%26_Museum",
+ "https://www.themorgan.org/blog/origins-drawings-department-morgan"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1738",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the full birth name of American activist and writer Yolo Akili?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Michael Todd Robinson Jr.",
+ "reference_urls": [
+ "https://www.astro.com/astro-databank/Akili",
+ "https://www.famousbirthdays.com/people/yolo-akili.html",
+ "https://en.wikipedia.org/wiki/Yolo_Akili"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1739",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many spectators filled the Olympic Stadium during the opening ceremony of the Helsinki Olympics in 1952?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "70,435 spectators (acceptable range: anything between 66,913 and 74,017 spectators)",
+ "reference_urls": [
+ "https://www.doka.com/en/references/europe/helsinki-olympic-stadium",
+ "https://www.stadion.fi/en/info/stadium-info/olympic-stadium",
+ "https://en.wikipedia.org/wiki/1952_Summer_Olympics"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1740",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who did Richard Neutra design the Elkay Apartments for?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Louis Kievman",
+ "reference_urls": [
+ "https://usmodernist.org/neutra.htm",
+ "https://en.wikipedia.org/wiki/Elkay_Apartments"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1742",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of May Roosevelt's third album?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Music to the poetry of Ntinos Christianopoulos",
+ "reference_urls": [
+ "https://www.youtube.com/playlist?list=PLVtxEJB0fJBEklJhtQMjPvCF65jbSLR9E",
+ "http://www.peek-a-boo-magazine.be/en/clips/2017/may-roosevelt-air/",
+ "https://inner-ear.gr/artists/may-roosevelt/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1744",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Sayed Haider Raza's (an Indian painter) mother die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1947",
+ "reference_urls": [
+ "https://www.indiaart.com/artists/s-h-raza.asp",
+ "https://en.wikipedia.org/wiki/S._H._Raza"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1749",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did the U.S. Congress approve the Compact of Free Association relating to the Marshall Islands and Micronesia?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1985",
+ "reference_urls": [
+ "https://crsreports.congress.gov/product/pdf/IF/IF12194",
+ "https://www.reaganlibrary.gov/archives/speech/message-congress-transmitting-proposed-legislation-approve-compact-free-0",
+ "https://www.everycrsreport.com/reports/IF12194.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1750",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first Tunisian president to be elected by universal suffrage after the 2011 revolution?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Beji Caid Essebsi",
+ "reference_urls": [
+ "https://www.france24.com/en/20191023-tunisia-s-new-president-sworn-in-after-surprise-election-win",
+ "https://en.wikipedia.org/wiki/List_of_presidents_of_Tunisia",
+ "https://www.lowyinstitute.org/the-interpreter/real-tunisian-spring",
+ "https://en.wikipedia.org/wiki/President_of_Tunisia"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1753",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the Brazilian Vice-President of the International Mathematical Union in 2012?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Marcelo Viana",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/International_Mathematical_Union",
+ "https://www.mathunion.org/organization/imu-representatives/imu-leadership-2011-2014",
+ "https://en.wikipedia.org/wiki/Marcelo_Viana",
+ "https://www.internationalmathematicsmaster.org/archive/marcelo-viana"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1755",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the altitude in meters above sea level of Tikti Mach'ay Mountain?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "5000 (acceptable range: anything between 4950 and 5050 meters above sea level)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Tikti_Mach%27ay",
+ "https://dbpedia.org/page/Tikti_Mach'ay"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1757",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What body of water located near the Blue Ridge Parkway is known as \"the River of Many Cliffs\" by the Cherokee?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Linville River",
+ "reference_urls": [
+ "https://www.climbing.com/places/the-daddy/",
+ "https://hikinginthesmokys.com/linville-gorge-wilderness-area/",
+ "https://en.wikipedia.org/wiki/Linville_Gorge_Wilderness",
+ "https://www.nps.gov/blri/planyourvisit/linville-falls-mp-316.htm"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1762",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Savannah Churchill's second husband?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jesse Johnson",
+ "reference_urls": [
+ "https://amsterdamnews.com/news/2019/10/03/savannah-churchill-vocalist-who-merged-rb-and-jazz/",
+ "https://en.wikipedia.org/wiki/Savannah_Churchill",
+ "https://wbssmedia.com/artists/detail/1976"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1778",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the 2nd chairman of the Senate of Pakistan?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ghulam Ishaq Khan",
+ "reference_urls": [
+ "https://www.senate.gov.pk/en/former_leadership.php?type=1&catid=261&subcatid=262&cattitle=Chairman%20Office",
+ "https://en.wikipedia.org/wiki/Chairman_of_the_Senate_of_Pakistan",
+ "https://en.wikipedia.org/wiki/Ghulam_Ishaq_Khan"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1780",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who did the boxer Jackson Asiku lose to at the Summer Olympics in Sydney, Australia in 2000?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Arlan Lerio",
+ "reference_urls": [
+ "https://boxrec.com/wiki/index.php/Jackson_Asiku",
+ "https://alchetron.com/Jackson-Asiku",
+ "https://en.wikipedia.org/wiki/Jackson_Asiku"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1782",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the number of recorded fatalities in the Weesp train disaster of 1918 in the Netherlands?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "41",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Weesp_train_disaster",
+ "https://mx-schroeder.medium.com/watery-ways-the-1918-weesp-netherlands-train-derailment-06b2b5b1fe27",
+ "https://www.wikidata.org/wiki/Q1981245"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1784",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The Château style originated in Québec in the early 1880s under which architect?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Eugène-Étienne Taché",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ch%C3%A2teauesque",
+ "https://manegemilitaire.ca/le-style-chateau-a-quebec/",
+ "http://parkscanadahistory.com/publications/richelieu-river-heritage-guide-eng.pdf",
+ "http://www.biographi.ca/en/bio/tache_eugene_etienne_14E.html"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1786",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who got the first position in the Rotax Micro Max season 2017 in India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Arjun Rajiv",
+ "reference_urls": [
+ "https://www.fmsci.co.in/wp-content/uploads/2016/05/MECO-MOTORSPORTS-FMSCI-NRMKC-2017-POINTS-RD5.pdf",
+ "https://www.carandbike.com/news/yash-aradhaya-and-arjun-rajiv-take-top-honours-in-meco-motorsports-fmsci-national-rotax-karting-cham-1764813"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1791",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Clint Ballard Jr. adopt the alias Buddy Clinton?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1960",
+ "reference_urls": [
+ "https://www.allmusic.com/artist/clint-ballard-jr-mn0000133382",
+ "https://en.wikipedia.org/wiki/Clint_Ballard_Jr."
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1794",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Kos of the Dorian Pentapolis produced coinage featuring variations of which two images?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "A crab and Heracles",
+ "reference_urls": [
+ "https://www.duo.uio.no/bitstream/handle/10852/50703/1/ingvaldsen_avhandling.pdf",
+ "https://www.thecollector.com/ancient-greek-coins/",
+ "https://www.cointalk.com/threads/the-asklepion-of-kos.351085/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1805",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What Serbian player played in the quarterfinals of the 2018 Madrid Open men's singles?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Dušan Lajović",
+ "reference_urls": [
+ "https://www.flashscore.co.uk/tennis/atp-singles/madrid-2018/",
+ "https://en.wikipedia.org/wiki/2018_Mutua_Madrid_Open_%E2%80%93_Men%27s_singles",
+ "https://www.eurosport.com/tennis/madrid-masters/2018/calendar-results.shtml"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1808",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the year and month when the Contract Law of the People's Republic of China was abolished?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "January 2021",
+ "reference_urls": [
+ "https://www.roedl.com/insights/china-civil-code",
+ "https://www.reedsmith.com/en/perspectives/2020/06/the-adoption-of-the-chinese-civil-code-and-its-implications-on-contracts",
+ "https://en.wikipedia.org/wiki/Contract_Law_of_the_People%27s_Republic_of_China"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1809",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who is credited with the binomial name of the yellowfin sole?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Pallas",
+ "reference_urls": [
+ "https://www.gbif.org/species/165811206",
+ "https://en.wikipedia.org/wiki/Yellowfin_sole",
+ "https://gsrs.ncats.nih.gov/ginas/app/beta/substances/3F923843FQ"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1816",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the month and year Kaitlin Armstrong pleaded not guilty to the murder charge of Moriah Wilson and was arraigned?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "July 2022",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Murder_of_Moriah_Wilson",
+ "https://www.cnn.com/2023/11/17/us/kaitlin-armstrong-sentenced-anna-moriah-wilson/index.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1821",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which day, month, and year did former Vice President of Ghana Kow Nkensen Arkaah die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "25 April 2001",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Kow_Nkensen_Arkaah",
+ "https://african-research.com/research/political-history/remembering-the-late-kow-nkensen-arkaah/",
+ "https://graphsearch.epfl.ch/fr/concept/10705509"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1822",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city was Yevgeny Polivanov arrested on August 16, 1937, during the Great Purge?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bishkek",
+ "reference_urls": [
+ "https://www.rferl.org/a/russian-memorial-victims-and-perpetrators-of-stalin-s-purges-stand-side-by-side/29679174.html",
+ "https://en.wikipedia.org/wiki/Yevgeny_Polivanov"
+ ],
+ "topic": "History",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1831",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What type of wood was the case of the Yamaha DX1 (1983) made from?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Brazilian rosewood",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Yamaha_DX1",
+ "https://www.youtube.com/watch?v=NPvg6KljbK4&ab_channel=YamahaSynthsOfficial",
+ "https://www.gearnews.com/classic-gear-the-yamaha-dx1-owning-and-recreating-the-king-of-fm/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1835",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At what university was Kuo Tsai Chen appointed as an instructor after having been awarded his doctorate?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Princeton University",
+ "reference_urls": [
+ "https://mathshistory.st-andrews.ac.uk/Biographies/Chen/",
+ "https://projecteuclid.org/journals/illinois-journal-of-mathematics/volume-34/issue-2/The-life-and-work-of-Kuo-Tsai-Chen/10.1215/ijm/1255988263.pdf",
+ "https://www.researchgate.net/publication/241680512_The_life_and_work_of_Kuo-Tsai_Chen",
+ "https://mathshistory.st-andrews.ac.uk/Biographies/Chen"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1838",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What Liverpool player scored the most goals in the 2021-2022 season of the FA Cup?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Takumi Minamino",
+ "reference_urls": [
+ "https://www.transfermarkt.com/liverpool-fc/leistungsdaten/verein/31/plus/0?reldata=FAC%262021",
+ "https://fbref.com/en/squads/822bd0ba/2021-2022/c514/Liverpool-Stats-FA-Cup",
+ "https://en.wikipedia.org/wiki/2021%E2%80%9322_Liverpool_F.C._season",
+ "https://www.lfchistory.net/SeasonArchive/Goalscorers/131"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1839",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was Monir Shahroudy Farmanfarmaian (an Iranian artist) awarded the Venice Biennale?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1958",
+ "reference_urls": [
+ "https://web.archive.org/web/20230322115754/https://thethirdline.com/artists/45-monir-shahroudy-farmanfarmaian/",
+ "https://www.monirff.com/exhibitions",
+ "https://en.wikipedia.org/wiki/Monir_Shahroudy_Farmanfarmaian",
+ "https://www.hainesgallery.com/artists/47-monir-shahroudy-farmanfarmaian/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1842",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many stages were in the original DS game's Pokémon Diamond and Pearl Pokémon contests?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://www.serebii.net/diamondpearl/contests.shtml",
+ "https://en.wikipedia.org/wiki/Pok%C3%A9mon_Diamond_and_Pearl"
+ ],
+ "topic": "Video games",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1844",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was George Frederic Watts' \"After the Deluge\" named when originally exhibited in 1886?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Sun",
+ "reference_urls": [
+ "https://anirishgardener.wordpress.com/2021/10/29/the-forty-first-day/",
+ "https://en.wikipedia.org/wiki/After_the_Deluge_(painting)",
+ "https://steamcommunity.com/sharedfiles/filedetails/?id=1687004325"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1847",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Noel Turner, a Maltese footballer, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "December 9, 1974",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Noel_Turner_(footballer)",
+ "https://www.playmakerstats.com/player/noel-turner/111102",
+ "https://www.eurosport.com/football/noel-turner_prs202671/person.shtml"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1848",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what subject did photographer Kemka Ajoku attain a bachelor's degree in 2020?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mechanical Engineering",
+ "reference_urls": [
+ "https://www.commarts.com/fresh/kemka-ajoku",
+ "https://www.kemkaajoku.com/cv",
+ "https://www.itsnicethat.com/articles/kemka-ajoku-photography-300121"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1849",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Within plus or minus one minute, when was Marquinhos given a yellow card in the 2022 World Cup quarterfinals?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "77 (acceptable range: anything between 76 and 78)",
+ "reference_urls": [
+ "https://www.sportsmole.co.uk/football/world-cup/croatia-vs-brazil_game_169771.html",
+ "https://www.fifa.com/fifaplus/en/match-centre/match/17/255711/285074/400128141",
+ "https://www.espn.com/soccer/commentary/_/gameId/633843",
+ "https://www.skysports.com/football/croatia-vs-brazil/teams/463022"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1854",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what borough of New York City did ballerina Georgia Hiden die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Manhattan",
+ "reference_urls": [
+ "https://archives.nypl.org/dan/185511",
+ "https://nyplorg-data-archives.s3.amazonaws.com/uploads/collection/generated_finding_aids/dan185511.pdf"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1856",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Tülay Adalı become a Fellow of the American Institute for Medical and Biological Engineering?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2008",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/T%C3%BClay_Adal%C4%B1",
+ "https://redirect.cs.umbc.edu/2013/06/csee-professor-dr-tulay-adali-receives-usm-regents-faculty-award-for-scholarshipresearchcreative-activity/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1857",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year were the first Zildjian cymbals created?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1618",
+ "reference_urls": [
+ "https://www.sweetwater.com/insync/zildjian-cymbals-history/",
+ "https://zildjian.com/pages/brand",
+ "https://en.wikipedia.org/wiki/Avedis_Zildjian_Company"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1866",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What specific date (month, day, year) was the very first Q Con hosted by Prism Comics in West Hollywood?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "June 18, 2022",
+ "reference_urls": [
+ "https://www.prismcomics.org/prism-comics-cordially-invites-you-to-q-con-in-weho-on-june-18/",
+ "https://wehotimes.com/west-hollywood-hosts-first-q-con-for-lgbt-comic-book-fans/",
+ "https://www.comicsbeat.com/join-prism-comics-for-q-con-in-weho-this-june/"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1869",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the horsepower of the Pratt & Whitney R-1340-30 Wasp?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "550 hp (acceptable range: anything between 544 and 556 hp)",
+ "reference_urls": [
+ "http://powerplants.warbirdsresourcegroup.org/unitedstates_powerplants_P-W_R-1340_Wasp.html",
+ "https://en.wikipedia.org/wiki/Pratt_%26_Whitney_R-1340_Wasp"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1870",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was the stool \"Nkosuostool\" (Development stool) created by Asantehene, Otumfuo Opoku Ware II?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1985",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Opoku_Ware_II",
+ "https://myinfo.com.gh/2022/07/statues-of-ghana-the-asantehene-who-maintained-a-good-relationship-between-acheampong-rawlings/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1888",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the recipient of the ISCB Accomplishment by a Senior Scientist Award in 2006?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Michael Waterman",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/ISCB_Senior_Scientist_Award",
+ "https://www.iscb.org/iscb-awards/accomplishment-senior-scientist-award",
+ "https://www.iscb.org/iscb-awards/1129"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1889",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Where did the Third Day song \"Nothing at All\" peak on the Billboard rock charts?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "34",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Third_Day",
+ "https://pulsemusic.proboards.com/thread/182815/pulse-rankdown-1997-active-chart?page=7",
+ "https://www.racpro.com/song.php?sid=37971"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1891",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What middle school did drag queen Jinkx Monsoon attend?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "da Vinci Arts Middle School",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Da_Vinci_Arts_Middle_School",
+ "https://en.wikipedia.org/wiki/Jinkx_Monsoon",
+ "https://www.shropshirestar.com/entertainment/2017/09/15/rupauls-drag-race-star-jinkx-monsoon-talks-ahead-of-stafford-show/"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1898",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What castle overlooked Carmel Glen and its burn and was situated in Knockentiber, East Ayrshire?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Busbie Castle",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Busbie_Castle",
+ "https://canmore.org.uk/site/41907/busbie-castle",
+ "https://www.scotclans.com/pages/castles-in-ayrshire",
+ "https://en.wikipedia.org/wiki/Clonbeith_Castle"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1902",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What typographer developed the Allegro typeface?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hans Bohn",
+ "reference_urls": [
+ "https://www.myfonts.com/collections/allegro-font-bitstream",
+ "https://en.wikipedia.org/wiki/Hans_Bohn",
+ "https://en.wikipedia.org/wiki/Allegro_(typeface)",
+ "https://www.prints-online.com/hans-bohn-19921200.html"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-1910",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the city where Whitt L. Moreland was born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Waco",
+ "reference_urls": [
+ "https://wikiroulette.co/?p=Whitt_L._Moreland",
+ "https://en.wikipedia.org/wiki/Whitt_L._Moreland",
+ "https://encyclopediaofarkansas.net/entries/lloyd-whittington-moreland-15351/",
+ "http://veterantributes.org/TributeDetail.php?recordID=2411"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1917",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the total number of tracks on the Ys Origin original soundtrack released in 2007?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "37",
+ "reference_urls": [
+ "https://vgmdb.net/album/4430",
+ "https://falcommusicarchives.weebly.com/ys-origin-original-soundtrack.html",
+ "https://downloads.khinsider.com/game-soundtracks/album/ys-origin"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1929",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the number and name of the second asteroid discovered by astronomer Édouard Jean-Marie Stephan?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "91 Aegina",
+ "reference_urls": [
+ "https://wikiless.copper.dedyn.io/wiki/%C3%89douard_Stephan?useskin=vector",
+ "https://en.wikipedia.org/wiki/91_Aegina",
+ "https://www.astronomy.com/science/web-extra-25-asteroids-to-spot-through-binoculars/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1937",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what city did Rachel Carson and Dorothy Freeman first meet in 1953?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Southport Island",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Rachel_Carson",
+ "https://libraries.mit.edu/150books/2011/05/21/1995/",
+ "https://blogs.ntu.edu.sg/hp3203-1718-s2-08/dorothy-freeman/"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1952",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1881, Edward S. Morse of Salem, Massachusetts, patented a way of warming and ventilating apartments using what?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "sun's rays",
+ "reference_urls": [
+ "https://patents.google.com/patent/US246626A/en?before=priority:18811231&after=priority:18810101&oq=1881",
+ "https://patents.google.com/patent/US246626A/en",
+ "https://pem.as.atlas-sys.com/repositories/2/archival_objects/10032",
+ "https://www.frameapatent.com/everything-else-c-75/warming-and-ventilating-apartments-by-the-suns-rays-patent-print-p-4434.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1953",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Gary Schreider, the Canadian football player, die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2011",
+ "reference_urls": [
+ "https://gogaelsgo.com/news/2011/1/26/FB_0126115617.aspx",
+ "https://en.wikipedia.org/wiki/Gary_Schreider",
+ "https://en.wikipedia.org/wiki/Schreider",
+ "https://www.legacy.com/ca/obituaries/thestar/name/gary-schreider-obituary?id=42680072"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1955",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of Daniel arap Moi's mother?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kabon",
+ "reference_urls": [
+ "https://www.presidentiallibrary.go.ke/he-daniel-arap-moi",
+ "https://en.wikipedia.org/wiki/Daniel_arap_Moi"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1962",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was the praying mantis species Eremiaphila aristidis described by Lucas?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1880",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Eremiaphila_aristidis",
+ "https://www.gbif.org/species/1404113",
+ "https://zenodo.org/records/6182816"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-1966",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the section title for 7 U.S. Code 136m in the Federal Insecticide, Fungicide, and Rodenticide Act?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Indemnities",
+ "reference_urls": [
+ "https://uscode.house.gov/view.xhtml?path=/prelim@title7/chapter6&edition=prelim",
+ "https://en.wikipedia.org/wiki/Federal_Insecticide",
+ "https://www.govinfo.gov/content/pkg/COMPS-10326/pdf/COMPS-10326.pdf",
+ "https://www.epa.gov/sites/default/files/documents/fifra.pdf"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-1971",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the list entry name for the National Heritage List entry number 1090695 in Stonehouse, Stroud, Gloucestershire?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bede Cottage",
+ "reference_urls": [
+ "https://historicengland.org.uk/listing/the-list/list-entry/1090695",
+ "https://historicengland.org.uk/listing/the-list/list-entry/1090695?section=official-list-entry",
+ "https://britishlistedbuildings.co.uk/101090695-bede-cottage-stonehouse"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1975",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many cards are in the \"Moonology Messages Oracle\" card deck created by Yasmin Boland?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "48",
+ "reference_urls": [
+ "https://www.penguinrandomhouse.com/books/731163/moonology-messages-oracle-by-yasmin-boland/",
+ "https://www.hayhouse.com/moonologytm-messages-oracle-card-deck",
+ "https://eagleeyebooks.com/book/9781788177689",
+ "https://www.wildrumpusbooks.com/book/9781788177689"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1984",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Ivy League university granted psychologist Robert Rutherford Holt both a master's degree and a Ph.D.?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Harvard",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Robert_R._Holt",
+ "https://provincetownindependent.org/obituaries/2024/04/17/psychologist-and-peace-activist-robert-holt-dies-at-106/",
+ "https://prabook.com/web/robert_rutherford.holt/247960"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-1989",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many days was school out after the fire in 1961 at Tomball High School in Harris County, Texas?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Tomball_High_School",
+ "https://ths.tomballisd.net/our-school"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-1994",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many tracks are there on the album Memeza by Brenda Fassie?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "8",
+ "reference_urls": [
+ "https://www.last.fm/music/Brenda+Fassie/Memeza",
+ "https://www.discogs.com/release/6503660-Brenda-Memeza",
+ "https://en.wikipedia.org/wiki/Memeza"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2001",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What country placed 8th in the women's épée team event of the 2020 Tokyo Olympics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "ROC",
+ "reference_urls": [
+ "https://academyoffencingmasters.com/blog/fencing-history-was-made-in-tokyo-2020/",
+ "https://olympics.com/en/athletes/aizanat-murtazaeva",
+ "https://en.wikipedia.org/wiki/Fencing_at_the_2020_Summer_Olympics_%E2%80%93_Women%27s_team_%C3%A9p%C3%A9e",
+ "https://olympics.com/en/olympic-games/tokyo-2020/results/fencing/women-s-epee-team"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2008",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many innings did Game 5 of the '86 ALCS last?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "11",
+ "reference_urls": [
+ "https://eu.telegram.com/story/sports/2016/05/26/red-sox-game-5-of-1986-alcs-is-one-of-all-time-greatest/28422969007/",
+ "https://en.wikipedia.org/wiki/Boston_Red_Sox",
+ "https://en.wikipedia.org/wiki/1986_American_League_Championship_Series",
+ "https://lastwordonsports.com/baseball/2020/06/22/1986-alcs-game-five/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2022",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the NASA Space Science Data Coordinated Archive (NSSDCA) ID of the spacecraft Foton-9?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1994-033A",
+ "reference_urls": [
+ "https://in-the-sky.org/search.php?s=Foton+9&searchtype=Spacecraft&obj1Type=0&const=1&objorder=1&distunit=0&magmin=&magmax=&distmin=&distmax=&lyearmin=1957&lyearmax=2023&satorder=0&satgroup=0&satdest=0&satsite=0&satowner=0&feed=DFAN&ordernews=asc&maxdiff=7&startday=4&startmonth=11&startyear=2023&endday=30&endmonth=12&endyear=2033&news_view=normal",
+ "https://nssdc.gsfc.nasa.gov/nmc/spacecraft/display.action?id=1994-033A",
+ "https://nssdc.gsfc.nasa.gov/nmc/spacecraft/query"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2026",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the first-generation, four-speed manual transmission gearbox type of the Mazda R360 officially called in Japan?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "KRBB",
+ "reference_urls": [
+ "https://www.mazdar360.com/information/specification",
+ "https://en.wikipedia.org/wiki/Mazda_R360",
+ "https://www.mazdar360.com/history",
+ "https://www.below-the-radar.com/mazda-r360/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2030",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the full name of the first Prime Minister of the Democratic Republic of the Congo?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Patrice Émery Lumumba",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Patrice_Lumumba",
+ "https://www.sahistory.org.za/people/patrice-emery-lumumba"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2035",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what month and year did Ronnie Milsap first move to Nashville?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "December 1972",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ronnie_Milsap",
+ "http://eyeway.org.in/?q=ronnie-lee-milsap",
+ "https://www.countrymusichalloffame.org/press/releases/museum-to-honor-ronnie-milsap-with-cameo-exhibit"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2036",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who served before Cora Sadosky as president of the Association for Women in Mathematics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Carol S. Wood",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Association_for_Women_in_Mathematics",
+ "https://dbpedia.org/page/Carol_Wood",
+ "https://www.wesleyan.edu/academics/faculty/cwood/profile.html",
+ "https://mathshistory.st-andrews.ac.uk/Biographies/Sadosky/"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2045",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From the span of 1948 to 1962, how many times in total did Patty Berg win the Vare Trophy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://www.encyclopedia.com/women/encyclopedias-almanacs-transcripts-and-maps/berg-patty-1918",
+ "https://www.lpga.com/players/patty-berg/82714/bio",
+ "https://www.lpga.com/lpga-hall-of-fame/patty-berg",
+ "https://en.wikipedia.org/wiki/Patty_Berg"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2057",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the surname of the individual who won the De Gennes Prize (formerly known as the Prize for Materials Chemistry) in 2013?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kitagawa",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Susumu_Kitagawa",
+ "https://www.rsc.org/prizes-funding/prizes/find-a-prize/materials-chemistry-division-open-award-de-gennes-prize/previous-winners/",
+ "https://en.wikipedia.org/wiki/De_Gennes_Prize"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2070",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What did CSA Brigadier General James Lusk Alcorn denounce as \"a cancer upon the body of the nation\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "slavery",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/James_L._Alcorn",
+ "https://www.politico.com/story/2007/02/this-day-on-capitol-hill-february-23-002845",
+ "https://historybynicklin.wordpress.com/reconstruction-in-mississippi/"
+ ],
+ "topic": "History",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2077",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which Boston University did pharmacist George F. Archambault earn a law degree?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Northeastern University",
+ "reference_urls": [
+ "https://prabook.com/web/george_francis.archambault/548723",
+ "https://www.aphafoundation.org/archambault-scholarship-campaign",
+ "https://en.wikipedia.org/wiki/George_F._Archambault"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2099",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who graduated from McGill and was convicted in 2019 of espionage by Iranian authorities in a closed-door trial in Iran?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Niloufar Bayan",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Niloufar_Bayani",
+ "https://www.scholarsatrisk.org/actions/niloufar-bayani-iran/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2102",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who laid the foundation of Woodland House School in Srinagar, India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mrs. Rup SP Singh",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Woodlands_House_School",
+ "https://www.morningkashmir.com/woodlands-house-school-celebrates-foundation-day/",
+ "https://whssgr.com/history/"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2103",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was Dr. Abu Baker Asvat awarded the Order of Luthuli in Silver by President Cyril Ramaphosa?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2021",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Abu_Baker_Asvat",
+ "https://www.gov.za/news/media-statements/presidency-announces-recipients-national-orders-10-nov-2021",
+ "https://mg.co.za/thought-leader/2022-03-28-azapos-political-relevance-re-emerges/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2116",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which university did geographer Wilbur Zelinsky receive his master's degree?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Wisconsin",
+ "reference_urls": [
+ "https://www.aag.org/memorial/wilbur-zelinsky/",
+ "https://en.wikipedia.org/wiki/Wilbur_Zelinsky",
+ "https://www.legacy.com/us/obituaries/centredaily/name/wilbur-zelinsky-obituary?id=14380982",
+ "https://www.adamofh.com/obituaries/WILBUR-ZELINSKY"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2119",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did artist Doris Lusk create a painting of the Tuai Power Station?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1948",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Tuai",
+ "https://christchurchartgallery.org.nz/collection/9565/doris-lusk/power-house-tuai",
+ "https://teara.govt.nz/en/artwork/35391/powerhouse-tuai-1948"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2122",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which breed of pigs was featured on Maine's 2018 Common Ground Country Fair poster, painted by Arika von Edler?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "kunekune",
+ "reference_urls": [
+ "https://www.coa.edu/live/news/1543-celebrated-poster-unveiled-for-2018-common-ground",
+ "https://en.wikipedia.org/wiki/Common_Ground_Country_Fair",
+ "https://i95rocks.com/2018-common-ground-country-fair-poster-debuts/",
+ "https://z1073.com/40-years-of-the-common-ground-country-fair-poster-design/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2131",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who created Ida Mntwana's bronze statue?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sarah Lovejoy",
+ "reference_urls": [
+ "https://www.longmarchtofreedom.co.za/BronzeStatues/Artist/618a93ff4ded043532a567d3",
+ "https://dizzylexa.wordpress.com/2019/03/07/my-journey-with-the-long-march-to-freedom/",
+ "https://en.wikipedia.org/wiki/Ida_Mntwana"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2139",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What kind of factory did Anselm Kiefer transform into a studio in 1992?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Silk factory.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Anselm_Kiefer",
+ "https://ropac.net/news/833-anselm-kiefers-vast-studio-complex-opens-to-the/",
+ "https://www.theartstory.org/artist/kiefer-anselm/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2145",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which month and year was Durga Prasad Dhar (an Indian politician) appointed as the Union Minister for Planning?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "July, 1972",
+ "reference_urls": [
+ "https://iimc-archives.iimcal.ac.in/items/show/1214",
+ "https://en.wikipedia.org/wiki/Durga_Prasad_Dhar",
+ "https://dpdhar.com/timeline/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2146",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name and surname of the judge in the 'Miss World' pageant of 1958, who was a photojournalist and editor?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Charles Jacobs",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Miss_World_1958",
+ "https://rodriguezmatute.home.blog/2019/11/24/miss-world-1958/"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2155",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Emma Albani’s role in “Les Huguenots” in 1891 at the Metropolitan Opera in New York?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Valentine",
+ "reference_urls": [
+ "https://www.thecanadianencyclopedia.ca/en/article/emma-albani-emc",
+ "https://en.wikipedia.org/wiki/Emma_Albani",
+ "http://www.19thcenturyphotos.com/Emma-Albani-123580.htm",
+ "https://archives.metopera.org/MetOperaSearch/record.jsp?dockey=0358159"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2157",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what month, day, and year was Mammoth Cave National Park first designated as an International Dark Sky Park?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October 28, 2021.",
+ "reference_urls": [
+ "https://www.nationalparkcam.com/mammoth-cave-webcam",
+ "https://en.wikipedia.org/wiki/Mammoth_Cave_National_Park",
+ "https://campnab.com/parks/kentucky/mammoth-cave-national-park"
+ ],
+ "topic": "Geography",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2166",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which album does the Relient K song \"May the Horse Be with You\" first appear?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Anatomy of the Tongue in Cheek",
+ "reference_urls": [
+ "https://genius.com/Relient-k-may-the-horse-be-with-you-lyrics",
+ "https://www.allmusic.com/album/the-anatomy-of-the-tongue-in-cheek-mw0000011872",
+ "https://en.wikipedia.org/wiki/The_Anatomy_of_the_Tongue_in_Cheek"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2176",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the day, month, and year when President Bush signed into law the resolution authorizing the Iraq War?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October 16, 2002",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Authorization_for_Use_of_Military_Force_Against_Iraq_Resolution_of_2002",
+ "https://www.foreign.senate.gov/imo/media/doc/GlennonTestimony080410a.pdf",
+ "https://en.wikipedia.org/wiki/Barack_Obama",
+ "https://www.govinfo.gov/content/pkg/PPP-2002-book2/html/PPP-2002-book2-doc-pg1707.htm",
+ "https://en.wikipedia.org/wiki/Rationale_for_the_Iraq_War",
+ "https://en.wikipedia.org/wiki/Iraq_War"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2180",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what theater in Brazil did Louis Moreau Gottschalk collapse from yellow fever during his performance?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Teatro Lyrico Fluminense",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Louis_Moreau_Gottschalk",
+ "https://classicalclips.com/composers/louis-moreau-gottschalk/",
+ "https://www.taminoautographs.com/blogs/autograph-blog/louis-moreau-gottschalk-the-first-great-american-composer"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2181",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the place of birth of Hannes Fink?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bolzano, Italy",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Hannes_Fink",
+ "https://www.worldfootball.net/player_summary/hannes-fink/",
+ "https://www.transfermarkt.com/hannes-fink/profil/spieler/119051"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2189",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the first suspension-type bridge to come across the Jhelum in Srinagar city?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lal Mandi Footbridge",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lal_Mandi_Footbridge",
+ "https://web.archive.org/web/20150217121828/http://www.kashmirnetwork.com/justju/static.php?page=static140320-002250"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2205",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many acres was Rachel Lambert Mellon's Virginia estate, Oak Spring Farm?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4,000 acres (acceptable range: anything between 3960 and 4040 acres)",
+ "reference_urls": [
+ "https://www.osgf.org/history",
+ "https://en.wikipedia.org/wiki/Rachel_Lambert_Mellon",
+ "https://virginialiving.com/culture/the-mellon-legacy/"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2209",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did the 1st ASEM Transport Ministers' Meeting begin?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October 19, 2009",
+ "reference_urls": [
+ "https://aseminfoboard.org/asem_events/1st-asem-transport-ministers-meeting-asemtmm1/",
+ "https://en.wikipedia.org/wiki/Asia%E2%80%93Europe_Meeting"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2210",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the full title of Zanele Muholi's publication from 2011?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Zanele Muholi: African Women Photographers #1",
+ "reference_urls": [
+ "https://www.yanceyrichardson.com/artists/zanele-muholi?view=slider",
+ "https://en.wikipedia.org/wiki/Zanele_Muholi",
+ "https://zeitzmocaa.museum/artists/zanele-muholi/",
+ "https://www.stevenson.info/publication/zanele-muholi/african-women-photographers-1"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2215",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the individual known as \"The Horse\" who won eight running events over three Olympics between 81 and 89 CE?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hermogenes",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Hermogenes_of_Xanthos",
+ "https://www.worldhistory.org/Olympic_Games/",
+ "https://www.olympedia.org/athletes/2800861"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2218",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year was the bronze loincloth added to Michelangelo's \"Risen Christ\" sculpture to cover the genitals?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1546",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Risen_Christ_%28Michelangelo",
+ "https://books.google.ca/books?id=UTXsDwAAQBAJ&lpg=PA160&ots=lAPjho6UmD&dq=%22bronze%22%20%22loincloth%22%20michelangelo's%20%22risen%20christ%22%20%22added%20in%22&pg=PA160",
+ "https://en.wikipedia.org/wiki/Risen_Christ_(Michelangelo"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2224",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At which festival did Robert Amirkhanyan win \"Best Song\" in 1973?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Berlin City World Youth Festival",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Robert_Amirkhanyan",
+ "https://anmmedia.am/en/musician/robert-amirkhanyan/233"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2232",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was the Society of Illustrators Welfare Fund established?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1946",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Society_of_Illustrators",
+ "https://societyillustrators.org/about/history-of-the-society/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2243",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the day, month, and year when Instagram introduced comment liking?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "December 6, 2016",
+ "reference_urls": [
+ "https://web.archive.org/web/20200804181449/https://techcrunch.com/2016/12/06/instagram-comment-blocking/",
+ "https://en.wikipedia.org/wiki/Instagram",
+ "https://money.cnn.com/2016/12/06/technology/instagram-turn-off-comments/index.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2248",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did the Winnipeg Free Press cease publishing its regular Sunday edition?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1 November 2009",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Winnipeg_Free_Press",
+ "https://www.cbc.ca/news/canada/manitoba/free-press-eyes-end-to-sunday-edition-1.848191"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2250",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Name the village in Iran from which Tilla embroidery originated.",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Zari.",
+ "reference_urls": [
+ "https://www.pashmina.com/editorial/5-types-of-hand-embroideries-that-are-done-on-pashmina/?___store=in&___from_store=usd",
+ "https://www.angadcreations.com/all-you-need-to-know-about-tilla-embroidered-saree/?v=5fc810cf6260",
+ "https://weaverstory.com/blogs/news/unveiling-the-artistry-of-kashmiri-tilla-dozi-embroidery",
+ "https://indiaarchive.co/products/golden-tilla-palledar-hand-embroidered-pashmina-shawl-brown"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2257",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Denver team did Brodie Smith play for in 2014?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Johnny Bravo",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Brodie_Smith_(ultimate)",
+ "https://ultiworld.com/livewire/2014-denver-johnny-bravo-roster/",
+ "https://ultiworld.com/2014/10/14/johnny-bravo-nationals-preview/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2268",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Motonori Matuyama born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "25 October 1884",
+ "reference_urls": [
+ "https://www.lindahall.org/about/news/scientist-of-the-day/motonori-matuyama/",
+ "https://www.encyclopedia.com/science/dictionaries-thesauruses-pictures-and-press-releases/matuyama-motonori-0",
+ "https://en.wikipedia.org/wiki/Motonori_Matuyama"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2269",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year did Katia Bellillo become Minister for Regional Affairs?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1998",
+ "reference_urls": [
+ "https://edurank.org/uni/university-of-perugia/alumni/",
+ "https://en.wikipedia.org/wiki/Katia_Bellillo",
+ "https://en.wikipedia.org/wiki/Minister_for_Regional_Affairs"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2274",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the percentage of voter turnout during the 1992 Ghanaian presidential election?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "50.16 (acceptable range: anything between 49.65 and 50.67)",
+ "reference_urls": [
+ "https://www.researchgate.net/publication/346394373_Voter_Turnouts_in_Presidential_Elections_in_Ghana_A_Political_Economy_Analysis_Using_District-Level_Data",
+ "https://en.wikipedia.org/wiki/1992_Ghanaian_presidential_election",
+ "https://www.modernghana.com/news/787795/the-journey-of-presidential-elections-in-ghana-from-1992-to.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2277",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many Indigenous languages were designated in Togo in 1975?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Two",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Togo",
+ "https://www.getblend.com/blog/togo-languages/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2279",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did Panama decide to use DVB-T?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "May 19, 2009",
+ "reference_urls": [
+ "https://web.archive.org/web/20130903055251/http://dvb.org/news_events/news/panama-adopts-dvb-t/index.xml",
+ "https://www.tvtechnology.com/news/panama-selects-dvbt-digital-tv-standard",
+ "https://dvb.org/news/panama-adopts-dvb-t-2/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2283",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For how many years did Mohamed Abdelaziz Djaït serve as the Mufti of the Republic of Tunisia?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mohamed_Abdelaziz_Dja%C3%AFt",
+ "https://commons.wikimedia.org/wiki/Category:Mohamed_Abdelaziz_Djait"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2300",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "As of 2022, what year did the Centro Botín Centre in Spain have the exhibition named 'Amigos'?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2019",
+ "reference_urls": [
+ "https://www.centrobotin.org/en/obra-carta/work-no-3209-amigos-2019-jardines-pereda/",
+ "https://www.centrobotin.org/wp-content/uploads/2019/05/EXPO-CARTA-CREED-ENGLISH.pdf",
+ "https://fadmagazine.com/2019/03/25/new-martin-creed-exhibition-amigos-opens-this-april/",
+ "https://en.wikipedia.org/wiki/Martin_Creed"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2305",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which high school did John Joseph Kamotho, a former Member of Parliament for Mathioya and Kangema Constituency, attend?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Nyeri High School",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Joseph_Kamotho",
+ "https://nation.africa/kenya/news/politics/former-kanu-strong-man-kamotho-dies-1049656"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2307",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the length of Prafullachandra Natwarlal Bhagwati's tenure as the Chief Justice of India, in years and days?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1 year, 161 days (acceptable range: 1 year, anything between 160 and 162 days)",
+ "reference_urls": [
+ "https://www.veethi.com/india-people/p._n._bhagwati-profile-9617-18.htm",
+ "https://en.wikipedia.org/wiki/List_of_chief_justices_of_India",
+ "https://www.scobserver.in/judges/p-n-bhagwati/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2309",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who replaced band member Carl Martin of the group Shai?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Erik Willis",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Shai_(band)",
+ "https://www.discogs.com/artist/200161-Shai-3",
+ "https://www.rnbhaven.com/artists/Shai/23",
+ "https://en.wikipedia.org/wiki/Shai_%28band%29"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2317",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the carriage builder to whom painter Shepard Alonzo Mount was apprenticed as a young man?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "James Brewster",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Shepard_Alonzo_Mount",
+ "https://tfaoi.org/aa/6aa/6aa189.htm"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2322",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the first and last name of the sculptor who created the statue of Christopher Codrington at All Souls College?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Henry Cheere",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Christopher_Codrington",
+ "https://historicengland.org.uk/advice/planning/contested-heritage/reinterpreting-heritage/case-study-commemorative-plaque-all-souls-college-library-oxford/",
+ "https://artuk.org/discover/artworks/christopher-codrington-16681710-275554",
+ "https://www.theartnewspaper.com/2021/01/06/oxford-universitys-all-souls-college-drops-christopher-codringtons-name-from-its-librarybut-refuses-to-remove-slave-owners-statue"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2326",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At what age did Princess Bathildis of Anhalt-Dessau die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "64",
+ "reference_urls": [
+ "https://gw.geneanet.org/comrade28?lang=en&n=anhalt+dessau&p=princess+bathildis+of",
+ "https://ancestors.familysearch.org/en/KH3P-NSB/prinzessin-bathildis-von-anhalt-dessau-1837-1902",
+ "https://en.wikipedia.org/wiki/Princess_Bathildis_of_Anhalt-Dessau"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2330",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what date (Month/Day/Year) were two ancient cannons presented to Plymouth at Burial Hill by the British Government?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "October 4, 1921",
+ "reference_urls": [
+ "https://www.digitalcommonwealth.org/search/commonwealth:70795t418",
+ "https://www.gutenberg.org/cache/epub/70046/pg70046-images.html",
+ "https://pplma.omeka.net/items/show/18"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2341",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the state highway road number of the Kancheepuram-Thiruvathipuram Road under the Cheyyar division of Tamil Nadu, India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "SH 5A",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_state_highways_in_Tamil_Nadu",
+ "https://en.wikipedia.org/wiki/Cheyyar_Division_(Highways)",
+ "https://wiki.openstreetmap.org/wiki/Tamil_Nadu-MDR"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2359",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Edward Meyrick first describe Glyphipterix saurodonta, the species of sedge moth in the genus Glyphipterix?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1913",
+ "reference_urls": [
+ "https://massmoths.org/moths/glyphipterix-saurodonta/",
+ "https://irmng.org/aphia.php?p=taxdetails&id=11358156",
+ "https://en.wikipedia.org/wiki/Glyphipterix_saurodonta"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2362",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What two countries competed for 3rd place in the women's team foil event at the 1964 Summer Olympics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Germany and Italy",
+ "reference_urls": [
+ "https://www.sport-olympic.gr/sp/index.php/olympic-games/modern-olympic-games/summer-olympic-games/1964-tokyo-summer-olympics/18421-1964-summer-olympics-the-results-fencing-women",
+ "https://en.wikipedia.org/wiki/Fencing_at_the_1964_Summer_Olympics_%E2%80%93_Women%27s_team_foil"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2365",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Gustav Arthur Cooper's Ph.D. dissertation titled?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Stratigraphy of the Hamilton Group of New York",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/G._Arthur_Cooper",
+ "https://siarchives.si.edu/collections/auth_per_fbr_eacp210"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2372",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What place did the album \"Rolling Papers 2\" by Wiz Khalifa receive on the 2018 US Billboard 200 year-end charts?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "128th",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Rolling_Papers_2",
+ "https://bestsellingalbums.org/year-end/Billboard_Top_Albums_2018",
+ "https://awardswatch.com/drake-taylor-swift-post-malone-cardi-b-rule-billboard-year-end-hot-100-songs-and-albums/"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2382",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which infraorder in the animal kingdom does the superfamily Psalidopodoidea belong to?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Caridea",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Psalidopus",
+ "https://www.dutchcaribbeanspecies.org/linnaeus_ng/app/views/species/nsr_taxon.php?id=188590",
+ "https://en.wikipedia.org/wiki/Caridea",
+ "https://www.marinespecies.org/aphia.php?id=414748&p=taxdetails"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2385",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did Bruno Kreisky (an Austrian social democratic politician) marry Vera Fürth?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "April 23, 1942",
+ "reference_urls": [
+ "https://web.archive.org/web/20180211190056/https://www.wien.gv.at/wiki/index.php?title=Bruno_Kreisky&printable=yes",
+ "https://en.wikipedia.org/wiki/Bruno_Kreisky",
+ "https://www.austrianphilately.com/statetreaty/kreisky.htm"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2391",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what month, day, and year was the first meeting of the Palestinian National Council?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "May 28, 1964",
+ "reference_urls": [
+ "https://www.palestinepnc.org/en/council-establishment",
+ "https://en.wikipedia.org/wiki/Palestinian_National_Council",
+ "https://www.palestinepnc.org/en/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2401",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What production did the Winnipeg Daily Free Press claim was “too spicy – at least for this town” in June 1880?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "James Albery's Pink Dominoes",
+ "reference_urls": [
+ "http://www.biographi.ca/en/bio/mcdowell_eugene_addison_12E.html",
+ "https://journals.lib.unb.ca/index.php/tric/article/view/7540/8599",
+ "http://www.biographi.ca/en/bio/mcdowell_eugene_addison_12E.html?print=1"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2403",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did the Union Minister of Health and Family Welfare launch the \"MusQan\" initiative in India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "17th September 2021",
+ "reference_urls": [
+ "https://nhm.gov.in/New-Update-2022-24/CH-Programmes/Resource-Material-MusQan/Musqan-JNS.pdf",
+ "https://pib.gov.in/PressReleaseIframePage.aspx?PRID=1887285",
+ "https://qps.nhsrcindia.org/sites/default/files/2022-05/Quality_Darpan_Dec_2021.pdf",
+ "https://pib.gov.in/PressReleaseIframePage.aspx?PRID=1990674"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2406",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did Peter III of Aragon become King of Sicily?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4 September 1282",
+ "reference_urls": [
+ "http://www.bestofsicily.com/mag/art308.htm",
+ "https://en.wikipedia.org/wiki/Peter_III_of_Aragon",
+ "https://www.britannica.com/biography/Peter-III-king-of-Aragon-and-Sicily"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2407",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 2014, who took over development of the Brooding language for the Riddlesbrood Touring Theater Company?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "BenJamin P. Johnson",
+ "reference_urls": [
+ "https://www.benjaminpauljohnson.com/",
+ "https://linguifex.com/wiki/Brooding"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2409",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which U.S. state was painter Davyd Whaley born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Tennessee",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Davyd_Whaley",
+ "https://artsmeme.com/2016/07/10/whaley-foundation-grants-to-support-los-angeles-visual-artists/",
+ "https://www.prweb.com/releases/remembering_the_life_of_los_angeles_artist_davyd_whaley/prweb12259930.htm"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2411",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did fashion designer Mowalola Ogunlesi drop out of Central Saint Martins?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2018",
+ "reference_urls": [
+ "https://www.ssense.com/en-us/editorial/fashion/total-exposure-with-mowalola-ogunlesi",
+ "https://en.wikipedia.org/wiki/Mowalola_Ogunlesi"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2419",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What trophy was won on October 12, 2019, by Kaizer Chiefs Football Club?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Shell Ultra Helix Cup.",
+ "reference_urls": [
+ "https://supersport.com/football/south-africa/news/191012_Chiefs_thump_Sundowns_to_bag_first_silveware/chiefs-thump-sundowns-to-bag-first-silveware",
+ "https://www.kaizerchiefs.com/team-news/billat-castro-help-chiefs-demolish-sundowns-shell-cup",
+ "https://stokveltalk.co.za/kaizer-chiefs-take-it-all-at-the-shell-helix-ultra-cup-2019/",
+ "https://en.wikipedia.org/wiki/Kaizer_Chiefs_F.C."
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2421",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what position did Claudine Vita rank in the women's discus throw final event of the 2019 World Athletics Championships?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "9",
+ "reference_urls": [
+ "https://worldathletics.org/results/world-athletics-championships/2019/iaaf-world-athletics-championships-doha-2019-7125365/women/discus-throw/final/result",
+ "https://en.wikipedia.org/wiki/2019_World_Athletics_Championships_%E2%80%93_Women%27s_discus_throw"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2426",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many television match officials were from England in the 2019 Rugby World Cup?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/2019_Rugby_World_Cup",
+ "https://rugbyreferee.net/2019/05/07/2019-rugby-world-cup-referees-announced/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2429",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What attraction was removed to make space for the Demon at Tivoli Gardens?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Snake",
+ "reference_urls": [
+ "https://sophiessuitcase.com/a-guide-to-tivoli-gardens/",
+ "https://berloga-workshop.com/blog/1046-tivoli-gardens-copenhagen.html",
+ "https://en.wikipedia.org/wiki/Tivoli_Gardens"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2438",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what prison did Jean-Marc Rouillan marry Nathalie Ménigon?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Fleury-Mérogis Prison",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Nathalie_M%C3%A9nigon",
+ "https://www.liberation.fr/societe/1998/02/28/nathalie-menigon-epouse-jean-marc-rouillan_228486/",
+ "https://alchetron.com/Nathalie-M%C3%A9nigon"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2443",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From what undergraduate college did Lt. Gen. (Ret.) Ronald Ray Blanck, D.O., graduate?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Juniata College",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ronald_R._Blanck",
+ "https://www.usuhs.edu/sites/default/files/2019-11/ronaldblanckbio.pdf",
+ "http://www.martin-blanck.com/bio_ronald-blanck.php",
+ "https://achh.army.mil/history/surgeongenerals-r-blanck"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2444",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which year was Leonard P. Zakim first involved in the reelection campaign of Michael Dukakis?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1978",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Leonard_P._Zakim",
+ "http://learntoquestion.org/seevak/groups/2000/sites/zakim/MainDirect/framesets/f_life.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2447",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the man who became the third Black man to serve as a Portland city commissioner in Oregon?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mingus Ulysses Mapps",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Chloe_Eudaly",
+ "https://www.kgw.com/article/entertainment/television/programs/straight-talk/straight-talk-portland-oregon-mingus-mapps-city-council/283-c294f104-d0fb-4ab2-a2f8-3503b849366f",
+ "https://www.opb.org/article/2021/12/16/mingus-mapps-denies-ties-people-for-portland/",
+ "https://en.wikipedia.org/wiki/Mingus_Mapps"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2449",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who created the bronze version of \"Damned Soul\" by Gian Lorenzo Bernini, currently in the Liechtenstein Collection?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Massimiliano Soldani-Benzi",
+ "reference_urls": [
+ "https://www.liechtensteincollections.at/en/collections-online/bust-of-anima-dannata",
+ "https://www.thehistoryofart.org/gian-lorenzo-bernini/damned-soul/",
+ "https://en.wikipedia.org/wiki/Damned_Soul_%28Bernini%29",
+ "https://en.wikipedia.org/wiki/Damned_Soul_(Bernini)"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2452",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which school did Lyndon B. Johnson briefly teach in Pearsall?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Pearsall High School",
+ "reference_urls": [
+ "https://www.govinfo.gov/content/pkg/CRECB-2007-pt4/html/CRECB-2007-pt4-Pg5426.htm",
+ "https://en.wikipedia.org/wiki/Lyndon_B._Johnson"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2461",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what city in England was James Brain, an English football manager and player born in 1900, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bristol",
+ "reference_urls": [
+ "https://arsenalarsenal.net/tag/jimmy-brain/",
+ "https://spartacus-educational.com/ARSEbrain.htm",
+ "https://en.wikipedia.org/wiki/Jimmy_Brain"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2465",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Natasha Merle's nomination vote count for the United States District Court for the Eastern District of New York?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "50 Yeas and 49 Nays",
+ "reference_urls": [
+ "https://www.democracydocket.com/news-alerts/u-s-senate-confirms-100th-federal-district-court-judge-natasha-merle/",
+ "https://www.congress.gov/nomination/118th-congress/82",
+ "https://ballotpedia.org/Natasha_Merle"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2473",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which organization commissioned \"Pinturas de Tamayo\" (the composition by Steven Stucky)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Chicago Symphony Orchestra",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Pinturas_de_Tamayo",
+ "https://storage.googleapis.com/yarlung_public/pdf_booklets/First-Seven-Years-YAR96821.pdf",
+ "https://wikiroulette.co/?p=Pinturas_de_Tamayo"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2484",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Three years after joining Comme des Garçons, Junya Watanabe started designing which CdG line?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Tricot line",
+ "reference_urls": [
+ "https://milenaolesinska77.medium.com/exposition-art-blog-art-fashion-junya-watanabe-5573f2dfe84c",
+ "https://www.showstudio.com/contributors/junya_watanabe",
+ "https://www.pirelli.com/global/en-ww/life/lifestyle/design/junya-watanabe-s-hymn-to-the-italian-man-52578/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2489",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Name the first 3D planetarium in India.",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Swami Vivekananda Planetarium",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Swami_Vivekananda_Planetarium",
+ "https://thebetterindia.com/133237/indias-first-3d-planetarium-will-let-experience-universe-like-never/",
+ "https://timesofindia.indiatimes.com/city/mangaluru/indias-first-3d-planetarium-to-start-regular-shows-from-march-4/articleshow/63138795.cms"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2491",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the full name of the first Black runner to win the Ultra Two Oceans Marathon in South Africa?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gabashane Vincent Rakabaele",
+ "reference_urls": [
+ "https://www.twooceansmarathon.org.za/about-two-oceans/history/",
+ "https://kids.britannica.com/students/article/Two-Oceans-Marathon/610201",
+ "https://en.wikipedia.org/wiki/Two_Oceans_Marathon"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2503",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Nassau County, NY, hospital did New York State Representative Tom Suozzi's mother work in as an operating room nurse?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Glen Cove Hospital",
+ "reference_urls": [
+ "https://www.liherald.com/stories/marge-suozzi-dies-at-93-after-a-life-of-giving",
+ "https://en.wikipedia.org/wiki/Tom_Suozzi"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2506",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1989, how many kilometers long was the Cape Town Cycle Tour, formerly known as the Cape Argus Cycle Tour?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "105 km (acceptable range: anything between 103 and 107 km)",
+ "reference_urls": [
+ "http://results.pedalpower.org.za/results_by_person.aspx?PID=7555&SID=190",
+ "https://en.wikipedia.org/wiki/Cape_Town_Cycle_Tour"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2523",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the number of months that Kingda Ka was closed after being struck by lightning in 2009?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://www.coastergallery.com/1999/GA87.html",
+ "https://parklore.com/main/top-thrill-dragster/3/",
+ "https://en.wikipedia.org/wiki/Kingda_Ka"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2532",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In September 2022, biologists reported what number of Devils Hole Pupfish in Devils Hole, the most they'd observed in 19 years?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "263 (acceptable range: anything between 259 and 266)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Devils_Hole_pupfish",
+ "https://www.nps.gov/deva/learn/news/devils-hole-fall-2022.htm",
+ "https://www.fws.gov/carp/press-release/2022-09/devils-hole-pupfish-population-19-year-high",
+ "https://www.fws.gov/press-release/2022-09/devils-hole-pupfish-population-19-year-high"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2533",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In July 2021, how much rainfall (in millimeters) was recorded in Al Ain due to cloud-seeding efforts?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "6.9 millimetres (acceptable range: anything between 6.83 and 6.97 millimetres)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Cloud_seeding",
+ "https://dubai-times.com/luxury-lifestyle-dubai/cloud-seeding-in-uae-increases-rains-by-over-25-percent.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2534",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For which years did the Kenyan politician Amason Kingi Jeffah serve as Minister for Fisheries Development?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2010-2013",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Amason_Kingi",
+ "https://www.kenyans.co.ke/news/79358-amason-kingi-little-known-lawyer-ruto-pointman",
+ "https://www.pulselive.co.ke/news/counties-amason-jeffah-kingi-profile/d1zjt9z"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2538",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of India's first nano-satellite?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jugnu",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Jugnu_(satellite)",
+ "https://home.iitk.ac.in/~vyas/Jugnu/index.html",
+ "https://en.wikipedia.org/wiki/List_of_Indian_satellites"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2543",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year was John B. Mortimer appointed a Judge of the High Court of Hong Kong?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1985",
+ "reference_urls": [
+ "https://www.middletemple.org.uk/bencher-persons-view?cid=31807",
+ "https://en.wikipedia.org/wiki/John_B._Mortimer",
+ "https://www.hkcfa.hk/en/about/who/judges/former/index_id_52.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2554",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which day, month, and year was the song written by Pedro Medina Avendaño declared the national anthem of Bogotá?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "31 July 1974",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Anthem_of_Bogot%C3%A1",
+ "https://en.wikipedia.org/wiki/Bogot%C3%A1",
+ "https://dlab.epfl.ch/wikispeedia/wpcd/wp/b/Bogot%25C3%25A1.htm"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2558",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which football team won the first and only ELFA Challenge Cup competition in 1922?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Stoke Ladies",
+ "reference_urls": [
+ "https://www.thefa.com/womens-girls-football/heritage/kicking-down-barriers",
+ "https://donmouth.co.uk/womens_football/elfa.html",
+ "https://en.wikipedia.org/wiki/English_Ladies_Football_Association"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2559",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which Rhode Island town was Shaker musician Ruth Mildred Barker born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Providence",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mildred_Barker",
+ "https://books.google.co.in/books?redir_esc=y&id=1QXe8E2tR3UC&q=providence",
+ "https://www.americanmusicpreservation.com/sistermildred.htm"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2563",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the gallery at Blenheim Palace that was destroyed by fire in 1861?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Titian Gallery",
+ "reference_urls": [
+ "https://ia801600.us.archive.org/24/items/cu31924015423340/cu31924015423340.pdf",
+ "https://www.diomedia.com/stock-photo-fire-at-blenheim-palace---destruction-of-the-titian-gallery-image18080130.html",
+ "https://books.google.ca/books/about/Etched_reminiscences_of_the_original_pai.html?id=M_gGAAAAQAAJ&redir_esc=y",
+ "https://www.npg.org.uk/collections/research/programmes/early-history-of-mezzotint/john-smith-mezzotint-printmaker-biography.php"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2567",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On the Bannerman family crest, what is the man holding in his right hand?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "A sword",
+ "reference_urls": [
+ "https://www.scotclans.com/blogs/clans-a2/clan-bannerman-crest-coats-of-arms",
+ "https://en.wikipedia.org/wiki/Clan_Bannerman",
+ "https://celticstudio.shop/collections/bannerman-scottish",
+ "https://archive.org/details/collinsscottishc0000wayg/page/70/mode/1up"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2570",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which district is the Syrian village \"Kafr al-Awamid\" located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Al-Zabadani",
+ "reference_urls": [
+ "https://wikiroulette.co/?p=Kafr_al-Awamid",
+ "https://en.wikipedia.org/wiki/Kafr_al-Awamid",
+ "https://dbpedia.org/page/Kafr_al-Awamid",
+ "https://en.wikipedia.org/wiki/Al-Zabadani_District"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2583",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What are the dimensions of Janine Antoni's 2015 work, \"Lull,\" in inches?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "27 x 40 inches (acceptable range: [26-28] x [39-41] inches)",
+ "reference_urls": [
+ "https://www.janineantoni.net/",
+ "https://thecontemporaryaustin.org/wp-content/uploads/2019/02/Exhibition-Guide_Motherhood_2.12.19.pdf",
+ "https://www.janineantoni.net/lull"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2586",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of Helmut Lang's solo exhibition in New York in 2017?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Helmut Lang: new work",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Helmut_Lang_(artist)",
+ "https://www.speronewestwater.com/exhibitions/helmut-lang4",
+ "https://h-lang.studio/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2590",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did the Computer History Museum have its first exhibit?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1975",
+ "reference_urls": [
+ "https://www.andivi.com/glossary/computer-history-museum/",
+ "https://en.wikipedia.org/wiki/Computer_History_Museum",
+ "https://kids.kiddle.co/Computer_History_Museum"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2591",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which episode of Season 5 does the British period drama Downton Abbey refer to the Jallianwala Bagh massacre?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "8",
+ "reference_urls": [
+ "https://www.lisahoustonwriter.com/blog/downton-abbey-references-season-5-episode-8",
+ "https://www.hindustantimes.com/bollywood/jallianwala-bagh-massacre-phillauri-gandhi-downton-abbey-and-other-tributes/story-AGXhXzKvFyvCaLcRFznhLP.html",
+ "https://en.wikipedia.org/wiki/Jallianwala_Bagh_massacre"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2592",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many lamps did the original Cape Hatteras Lighthouse contain?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "18",
+ "reference_urls": [
+ "https://www.keesouterbanks.com/4-facts-you-should-know-about-cape-hatteras-lighthouse",
+ "https://en.wikipedia.org/wiki/Cape_Hatteras_Lighthouse",
+ "https://www.lighthousefriends.com/light.asp?ID=356"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2595",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Cities: Skylines released for Google Stadia?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "May 17, 2022",
+ "reference_urls": [
+ "https://www.xda-developers.com/cities-skylines-google-stadia/",
+ "https://en.wikipedia.org/wiki/Cities:_Skylines",
+ "https://9to5google.com/2022/05/17/cities-skylines-stadia-pro/"
+ ],
+ "topic": "Video games",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2604",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the nickname of Wiley Lee Griggs III, an American Negro League infielder?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Diamond Jim",
+ "reference_urls": [
+ "https://sabr.org/bioproj/person/wiley-griggs/",
+ "https://en.wikipedia.org/wiki/Wiley_Griggs",
+ "https://www.bhamwiki.com/w/Wiley_Griggs"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2608",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many songs did Narayan Gopal release during his lifetime?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "137 (acceptable range: anything between 135 and 139)",
+ "reference_urls": [
+ "https://www.lyricsnepal.com/product/voice-king-narayan-gopal/",
+ "https://artistnepal.com/artist/narayan-gopal/",
+ "https://en.wikipedia.org/wiki/Narayan_Gopal"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2619",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What are the notes of the bebop scale in Key A major?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "A, B, C♯, D, E, F (or E♯), F♯, G♯",
+ "reference_urls": [
+ "https://www.pianoscales.org/bebop.html",
+ "https://esvc006636.swp0002ssl.server-secure.com/scales/scabebop.htm",
+ "https://muted.io/major-bebop-scale/",
+ "https://pianowithjonny.com/piano-lessons/the-ultimate-guide-to-bebop-scales/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2622",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the 2018 ACM Eugene L. Lawler Award recipient?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Meenakshi Balakrishnan",
+ "reference_urls": [
+ "https://awards.acm.org/award-recipients/balakrishnan_4440475",
+ "https://en.wikipedia.org/wiki/ACM_Eugene_L._Lawler_Award"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2623",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which two architects built the Pizzurno Palace?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Carlos Adolfo Altgelt and Hans Altgelt",
+ "reference_urls": [
+ "https://hive.blog/hive-178708/@dimascastillo90/sarmiento-palace-pizzurno-palace-engesp",
+ "https://en.wikipedia.org/wiki/Pizzurno_Palace"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2625",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which Louisiana university did former Belizean Prime Minister Manuel Esquivel earn his B.S. degree in physics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Loyola University, New Orleans",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Manuel_Esquivel",
+ "https://www.mybelize.net/people-culture/manuel-esquivel/",
+ "https://www.encyclopedia.com/humanities/encyclopedias-almanacs-transcripts-and-maps/esquivel-manuel-amadeo-1940"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2629",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Petra Văideanu (retired Romanian heptathlete) born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "August 24, 1965",
+ "reference_urls": [
+ "https://dbpedia.org/page/Petra_V%C4%83ideanu",
+ "http://www.olympedia.org/athletes/75133",
+ "https://en.wikipedia.org/wiki/Petra_V%C4%83ideanu"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2634",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city of Pakistan is Gasho Lake located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gilgit",
+ "reference_urls": [
+ "https://mcqsplanet.com/2024/01/30/gashoo-lake-is-located-in___/",
+ "https://www.dawn.com/news/1701628",
+ "https://wikimapia.org/35280391/Gasho-Lake-Sai-Bala-Juglote"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2635",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first to describe Pterolophia exigua?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Stephan von Breuning",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Pterolophia_exigua",
+ "https://en.wikipedia-on-ipfs.org/wiki/Pterolophia_exigua"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2642",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On 15 May 1946, who commissioned the USCGC Eagle (WIX-327) into the United States Coast Guard?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gordon McGowan",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/USCGC_Eagle_(WIX-327)",
+ "https://portal.ct.gov/oma/in-the-news/2021-news/birth-of-the-eagle-how-a-nazi-training-ship-found-its-way-to-the-coast-guard-academy",
+ "https://web.archive.org/web/20160306053234/http://connecticutexplored.org/wordpress/wp-content/uploads/2011/11/Eagle-Fall-2011.pdf"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2646",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which genus was the orange-spotted bulbul originally described in 1821?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Turdus",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Orange-spotted_bulbul",
+ "https://eol.org/ar/pages/919944/articles",
+ "https://avibase.bsc-eoc.org/species.jsp?avibaseid=6EFA005F90312FA1"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2657",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "When was the album \"When the Sun Goes Down\" by Selena Gomez released in Japan (specific day, month, and year)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "14 September 2011",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/When_the_Sun_Goes_Down_(Selena_Gomez_%26_the_Scene_album)",
+ "https://www.yesasia.com/us/when-the-sun-goes-down-japan-version/1024605472-0-0-0-en/info.html",
+ "https://www.cdjapan.co.jp/product/NEODAI-56727"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2659",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which district did Mary Ann Arty serve in the Pennsylvania House of Representatives in 1981?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "165",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mary_Ann_Arty",
+ "https://staffweb.wilkes.edu/harold.cox/legis/165H.pdf",
+ "https://archives.house.state.pa.us/people/member-biography?ID=465"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2662",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the maximum width of Gangabal Lake in kilometers?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1 km",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Gangabal_Lake",
+ "https://travelthehimalayas.com/new-page-1",
+ "https://kashmirlife.net/the-lake-at-the-peak-61140/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2668",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What did Norman Rockwell name his first assignment for \"Look\" magazine?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Problem We All Live With",
+ "reference_urls": [
+ "https://prints.nrm.org/detail/274852/rockwell-the-problem-we-all-live-with-1964",
+ "https://www.hydecollection.org/blog/2016/norman-rockwell-1960s-thursday-jan-7-2016/",
+ "https://speeches.byu.edu/talks/robert-barrett/illuminated-stories/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2670",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For how many scudi did the Florentine authorities buy the \"Pitti Tondo\" from the dealer Fedele Acciai in 1823?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "200 (acceptable range: anything between 198 and 202)",
+ "reference_urls": [
+ "https://italianreflections.wordpress.com/2023/11/19/the-michelangelo-room-florence/",
+ "https://en.wikipedia.org/wiki/Pitti_Tondo"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2674",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Yangyi Yu's score in the 2020 Tata Steel Masters?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4.5/13",
+ "reference_urls": [
+ "https://www.chessgames.com/perl/chess.pl?tid=98367&kpage=45",
+ "https://en.wikipedia.org/wiki/Tata_Steel_Chess_Tournament_2020",
+ "https://www.chessgames.com/perl/chess.pl?tid=98367",
+ "https://www.chess.com/events/2020-tata-steel-masters/results"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2677",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Robert J. Mrazek's first wife?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Catherine Gurick",
+ "reference_urls": [
+ "https://www.encyclopedia.com/arts/educational-magazines/mrazek-robert-j-1945",
+ "https://en.wikipedia.org/wiki/Robert_J._Mrazek"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2684",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What specific day, month, and year was Beyoncé's album \"Lemonade\" certified platinum by the British Phonographic Industry?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "9, September 2016",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lemonade_(album)",
+ "https://aminoapps.com/c/lemonadebarbies/page/item/lemonade-album/dP7k_MMSaIm87gdxWYq34En4LEMbvY8bP3"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2686",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many new subclasses were introduced in Tasha's Cauldron of Everything (not including reprints from previous books)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "22",
+ "reference_urls": [
+ "https://dmdon.wordpress.com/2020/08/26/tashas-cauldron-of-everything/",
+ "http://deborahzcass.org/index-764.html",
+ "https://screenrant.com/dungeons-dragons-new-subclass-returning-tasha-cauldron-everything/"
+ ],
+ "topic": "Video games",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2693",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did Olton Willem van Genderen, a Surinamese civil servant and politician, die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "November 9, 1990",
+ "reference_urls": [
+ "http://www.ow-vangenderen.nl/",
+ "https://en.wikipedia.org/wiki/Olton_van_Genderen",
+ "https://www.famousfix.com/list/chairmen-of-the-estates-of-suriname"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2695",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which Tokyo venue was P-Model's live album *Pause* recorded?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hibiya Open-Air Concert Hall",
+ "reference_urls": [
+ "https://www.last.fm/music/P-Model/Pause/+wiki",
+ "https://en.wikipedia.org/wiki/Pause_(P-Model_album)"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2705",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which of Smith Wigglesworth's grandchildren became the president of Elim Pentecostal Church?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Leslie Wigglesworth",
+ "reference_urls": [
+ "https://kids.kiddle.co/Smith_Wigglesworth",
+ "http://www.dasharpe.com/Genealogy/Smith%20Wigglesworth.htm",
+ "https://en.wikipedia.org/wiki/Smith_Wigglesworth"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2709",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who preceded Eduardo Laurencena as President of the National Committee of the UCR?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gabriel Oddone",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Radical_Civic_Union",
+ "https://en-academic.com/dic.nsf/enwiki/231379"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2710",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What relation is David W. Duclon to Cherie Johnson?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Maternal uncle.",
+ "reference_urls": [
+ "https://therealcherie.com/pages/about-cherie",
+ "https://en.wikipedia.org/wiki/Cherie_Johnson",
+ "https://upscalemagazine.com/family-matters-cherie-johnson-is-doing-what-now/"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2712",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The Honeybee Conservancy founder Guillermo Fernandez was a child immigrant from which country?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Cuba",
+ "reference_urls": [
+ "https://www.midwestoutdoorsales.com/giving-back",
+ "https://thebeeconservancy.org/history-and-mission/",
+ "https://www.green-translations.com/advocacy/"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2722",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Ahmed Samir Farag, an Egyptian footballer, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "20 May 1986",
+ "reference_urls": [
+ "https://www.transfermarkt.us/ahmed-samir-farag/profil/spieler/15409",
+ "https://en.wikipedia.org/wiki/Ahmed_Samir_Farag",
+ "https://www.eurosport.com/football/ahmed-samir-farag_prs405709/person.shtml"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2730",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What number of sets does the discontinued Lego part ID 4178 appear in?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "10",
+ "reference_urls": [
+ "https://www.bricklink.com/v2/catalog/catalogitem.page?P=4178",
+ "https://rebrickable.com/search/?show_printed=on&include_accessory=1&include_gear=1&q=4178&search_type=all"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2737",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At which U.S. observatory was 66 Maja discovered?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Harvard College Observatory",
+ "reference_urls": [
+ "https://phoibe.home.blog/2021/04/20/maja-and-merope-and-asterope/",
+ "https://en.wikipedia.org/wiki/66_Maja"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2739",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the sculpture Louise Bourgeois created in 1955?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "One and Others",
+ "reference_urls": [
+ "https://www.moma.org/documents/moma_catalogue_2243_300296411.pdf",
+ "https://en.wikipedia.org/wiki/List_of_artworks_by_Louise_Bourgeois",
+ "https://whitney.org/collection/works/461"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2742",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did Amédée Gibaud, a French chess master, die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "18 August 1957",
+ "reference_urls": [
+ "http://www.edochess.ca/players/p2552.html",
+ "https://en.wikipedia.org/wiki/Am%C3%A9d%C3%A9e_Gibaud",
+ "http://heritageechecsfra.free.fr/gibaud.htm"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2744",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which South American university did Sergio Fajardo Valderrama receive his M.Sc. in Mathematics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Universidad de los Andes",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Sergio_Fajardo",
+ "https://www.weforum.org/people/sergio-fajardo-valderrama/",
+ "https://co.linkedin.com/in/sergio-fajardo-valderrama"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2748",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What are the first and last names of the designer of 50 francs with the Little Prince images?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Roger Pfund",
+ "reference_urls": [
+ "https://en.numista.com/catalogue/note201000.html",
+ "https://en.numista.com/catalogue/artist.php?id=509",
+ "https://en.wikipedia.org/wiki/File:50francstexupery.jpg",
+ "https://frenchbanknotes.com/artists.php?artist=Pfund%2C+R."
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2751",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What cabinet position did Sir Hector-Louis Langevin hold in 1870?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Minister of Public Works",
+ "reference_urls": [
+ "https://guide-ministries.canada.ca/dtail.php?id=1&lang=en&min=1",
+ "https://en.wikipedia.org/wiki/Hector-Louis_Langevin"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2757",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which university did Teresa Czerwińska earn her Ph.D.?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Gdańsk",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Teresa_Czerwi%C5%84ska",
+ "https://lu.linkedin.com/in/teresa-czerwinska?original_referer=https%3A%2F%2Fwww.google.com%2F",
+ "https://www.eib.org/en/readonline-publications/information-teresa-czerwinska"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2762",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many dollars did artist J.C. Leyendecker's painting \"Carousel Ride\" sell for in December 2020?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "516,100 dollars",
+ "reference_urls": [
+ "https://www.art.salon/artwork/joseph-christian-leyendecker_carousel-ride_AID6871",
+ "https://www.antiquesandthearts.com/sale-multiplies-estimates-sets-numerous-artist-records-leyendecker-knocks-heritage-american-art-sale-to-10-million-plus/",
+ "https://bleedingcool.com/comics/j-c-leyendecker-saturday-evening-post-cover-hits-record-4-1-million/",
+ "https://fineart.ha.com/heritage-auctions-press-releases-and-news/j.c.-leyendecker-saturday-evening-post-cover-sells-for-4.1-million-at-heritage-auctions-to-shatter-world-record.s?releaseId=4178"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2783",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For how many years was the original Omsund Bridge in Kristiansund, Norway, in use?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "41",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Omsund_Bridge",
+ "https://en-academic.com/dic.nsf/enwiki/1288382"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2786",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many Big East Championships did Frank Beamer win?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Frank_Beamer",
+ "https://footballfoundation.org/hof_search.aspx?hof=2430",
+ "https://www.sunbowl.org/the_sun_bowl_game/legend/33"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2791",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For how many consecutive terms was the Indian politician Babanrao Shankar Gholap, alias Nana, elected to the Vidhan Sabha?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "5",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Babanrao_Gholap",
+ "https://en.bharatpedia.org/wiki/Babanrao_Gholap"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2793",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Richard Diebenkorn begin teaching at the California College of Arts and Crafts?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1955",
+ "reference_urls": [
+ "https://diebenkorn.org/chronology/berkeley-abstraction/",
+ "https://en.wikipedia.org/wiki/Richard_Diebenkorn",
+ "https://www.britannica.com/biography/Richard-Diebenkorn"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2796",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the day, month, and year when Pakistan International Airlines Fokker 27 was hijacked en route to Karachi from Sukkur?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "20, January 1978",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Pakistan_International_Airlines",
+ "https://historyofpia.com/hijackings3.htm"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2799",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many symphonies did the Estonian composer Els Aarne write?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Els_Aarne",
+ "https://www.discogs.com/es/artist/2924383-Els-Aarne",
+ "https://www.emic.ee/?sisu=heliloojad&mid=58&id=128&lang=eng&action=view&method=biograafia"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2811",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city was John Gilbert Layton raised?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hudson",
+ "reference_urls": [
+ "https://www.britannica.com/biography/Jack-Layton",
+ "https://en.wikipedia.org/wiki/Jack_Layton"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2812",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the day, month, and year when Twitter tested a new homepage and phased out the \"Old Twitter\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "5 April 2011",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Twitter",
+ "https://www.zippia.com/twitter-careers-11916/history/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2817",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which hotel was awarded World's Leading Adventure Hotel 2022?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Pikaia Lodge",
+ "reference_urls": [
+ "https://pikaialodge.com/",
+ "https://www.pikaialodge.com/awards.php",
+ "https://www.worldtravelawards.com/profile-31715-pikaia-lodge",
+ "https://www.worldtravelawards.com/award-worlds-leading-adventure-hotel-2022"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2821",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did Carrie Underwood reveal the track listing for her album \"Storyteller\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "September 10, 2015",
+ "reference_urls": [
+ "https://tasteofcountry.com/carrie-underwood-storyteller-track-listing/",
+ "https://en.wikipedia.org/wiki/Storyteller_(Carrie_Underwood_album)",
+ "https://www.carrieunderwoodofficial.com/carrie-underwood-reveals-track-listing-for-storyteller/",
+ "https://theboot.com/carrie-underwood-storyteller-track-listing/"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2826",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the 2007 Super 14 season, who were the two rugby teams that played in Ellis Park Stadium on February 2, 2007?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lions and Waratahs",
+ "reference_urls": [
+ "https://www.superxv.com/waratahs-work-hard-for-victory-over-lions/",
+ "https://super.rugby/superrugby/match-centre/?competition=205&season=2007&match=12813",
+ "https://en.wikipedia.org/wiki/2007_Super_14_season"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2827",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What TTRPG won the 2016 Indie RPG of the Year award?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Blades in the Dark",
+ "reference_urls": [
+ "https://www.indie-rpg-awards.com/2016/game_of_year.shtml",
+ "https://indie-rpg-awards.com/2016/game_of_year.shtml",
+ "https://johnharper.itch.io/blades-in-the-dark",
+ "https://en.wikipedia.org/wiki/Indie_RPG_Awards"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2831",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did The MOI! Project (Museums of Impact), a part of the Creative Europe program, finish?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2022",
+ "reference_urls": [
+ "https://www.ne-mo.org/cooperation-funding/networking-cooperation/previous-projects/moi-museums-of-impact",
+ "https://europeanmuseumacademy.eu/projects/",
+ "https://www.museumsofimpact.eu/en/news/new-tool-moi-framework-helps-museum-increase-their-social-impact",
+ "https://ifacca.org/news/2022/12/09/new-tool-moi-framework-helps-museums-increase-thei/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2832",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Willis H. Flygare win the Irving Langmuir Award?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1981",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Irving_Langmuir_Award",
+ "https://chemistry.illinois.edu/spotlight/faculty/flygare-willis-h-1936-1981"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2833",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the act passed by Congress that allowed Puerto Rico to elect its own governor?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Elective Governor Act",
+ "reference_urls": [
+ "https://www.govinfo.gov/content/pkg/GPO-CDOC-108hdoc225/pdf/GPO-CDOC-108hdoc225-4-9.pdf",
+ "https://www.congress.gov/107/crpt/hrpt501/CRPT-107hrpt501.pdf",
+ "https://en.wikipedia.org/wiki/Puerto_Rico_Status_Act",
+ "https://en.wikipedia.org/wiki/Puerto_Rico"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2836",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who created the cover artwork for Heavatar's \"All My Kingdoms\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kerem Beyit",
+ "reference_urls": [
+ "https://kerembeyit.artstation.com/resume",
+ "https://en.wikipedia.org/wiki/Heavatar",
+ "https://useum.org/artwork/All-my-Kingdoms-Cover-Kerem-Beyit-2013"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2851",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which year was China Zorrilla invested Chevalier des Arts et des Lettres?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2008",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/China_Zorrilla",
+ "https://www.topcount.co/tv/people/362294/china-zorrilla"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2855",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the town in which American politician Charles Allen Parker Bartlett was born in 1880?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Concord, Massachusetts",
+ "reference_urls": [
+ "https://www.library.pasen.gov/people/member-biography?id=4675",
+ "https://en.wikipedia.org/wiki/Charles_A.P._Bartlett",
+ "https://concordlibrary.org/special-collections/fin_aids/barrett-family-collection-1757-1961"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2856",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Edward Morris, the Welsh international footballer, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1872",
+ "reference_urls": [
+ "https://www.playmakerstats.com/player/edward-morris/244633",
+ "https://www.national-football-teams.com/player/62612/Edward_Morris.html",
+ "https://en.wikipedia.org/wiki/Edward_Morris_(footballer)"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2859",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what month and year was Barry Goldwater's fourth child born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "July 1944",
+ "reference_urls": [
+ "https://kids.kiddle.co/Barry_Goldwater",
+ "https://en.wikipedia.org/wiki/Barry_Goldwater",
+ "https://pendium.fandom.com/wiki/Barry_Goldwater"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2863",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The 16th North East Region Commonwealth Parliamentary Association (NERCPA) conference started in which city?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "IMPHAL",
+ "reference_urls": [
+ "https://www.imphaltimes.com/news/lok-sabha-speaker-inaugurates-16th-nercpa-conference-at-imphal/",
+ "https://www.sentinelassam.com/news/speaker-to-iugurate-nercpa-conference-in-imphal",
+ "https://www.gktoday.in/question/the-16th-north-east-region-commonwealth-parliament",
+ "https://pothashang.in/2017/06/lok-sabha-speaker-inaugurate-16th-nercpa-conference-imphal/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2869",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What Toronto Library collection was established in 1977, named after the children's librarian and head of the TPL?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Jean Thomson Collection of Original Art",
+ "reference_urls": [
+ "https://www.osbornecollection.ca/jean-thomson-collection-of-original-art.html",
+ "https://www.torontopubliclibrary.ca/osborne/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2885",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Indian state is also known as Veer Bhumi?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Himachal Pradesh",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Himachal_Pradesh",
+ "https://www.internationalnewsandviews.com/himachal-pradesh-is-known-as-veer-bhoomi/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2892",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Phillip Paul Bliss, famous Christian songwriter, appointed as a teacher in the Rome, Pennsylvania Academy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1858",
+ "reference_urls": [
+ "https://www.hymnologyarchive.com/philip-p-bliss",
+ "https://www.wholesomewords.org/biography/biobliss.html",
+ "https://en.wikipedia.org/wiki/Philip_Bliss"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2897",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was Tim Wakefield's ERA during the '04 World Series?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "12.27 (acceptable range: anything between 12.14 and 12.89)",
+ "reference_urls": [
+ "https://www.retrosheet.org/boxesetc/2004/Lwaket0014262004.htm",
+ "https://en.wikipedia.org/wiki/2004_World_Series",
+ "http://www.redsoxdiehard.com/worldseries/players/wakefield.html",
+ "https://www.statmuse.com/mlb/ask/tim-wakefield-2004-world-series-stats"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2899",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the number and name of the asteroid that is astronomer Paul Henry's first credited asteroid discovery?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "126 Velleda",
+ "reference_urls": [
+ "https://academickids.com/encyclopedia/index.php/126_Velleda",
+ "https://en.wikipedia.org/wiki/126_Velleda",
+ "https://en.wikipedia.org/wiki/Paul_Henry_and_Prosper_Henry"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2914",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was John Graham Lough's cause of death?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Pneumonia",
+ "reference_urls": [
+ "https://www.wikidata.org/wiki/Q6235982",
+ "https://en.wikipedia.org/wiki/John_Graham_Lough",
+ "https://en.wikipedia.org/wiki/Campbell_De_Morgan"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2916",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many children did Admiral Charles Philip Snyder and Cornelia Lee Wolcott have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://www.usnwcarchives.org/repositories/2/resources/212",
+ "https://ancestors.familysearch.org/en/M711-M16/adm.-charles-phillip-snyder-1879-1964",
+ "https://en.wikipedia.org/wiki/Charles_P._Snyder_(admiral)"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2918",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was chemist Eduard Buchner promoted from assistant lecturer to lecturer at the University of Munich?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1891",
+ "reference_urls": [
+ "https://www.nobelprize.org/prizes/chemistry/1907/buchner/biographical/",
+ "https://kidskonnect.com/people/eduard-buchner/",
+ "https://en.wikipedia.org/wiki/Eduard_Buchner"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2923",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Glipodes dietrichi described by Franciscolo?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1962",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Glipodes_dietrichi",
+ "https://en.wikipedia.org/wiki/Glipodes",
+ "https://www.gbif.org/species/7003367"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2928",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Danish mathematician and astronomer Niels Erik Norlund set up seismographic stations in Denmark and Greenland?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1925",
+ "reference_urls": [
+ "https://nbi.ku.dk/english/www/inge/lehmann/andet-kap/",
+ "https://mathshistory.st-andrews.ac.uk/Biographies/Norlund/",
+ "https://www.encyclopedia.com/people/science-and-technology/geology-and-oceanography-biographies/inge-lehmann"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2933",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the Sky EPG number of Game Network when it launched in the United Kingdom in May 2001?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "223",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Game_Network",
+ "https://xiv.pages.dev/0xLy9lbi53aWtpcGVkaWEub3JnLy9HYW1lX05ldHdvcms"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2934",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the 2020 census, what was the population of Boliney, Abra, Philippines?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4551 (acceptable range: anything between 4505 and 4597)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Boliney",
+ "https://www.philatlas.com/luzon/car/abra/boliney.html",
+ "https://citypopulation.de/en/philippines/luzon/admin/abra/140102__boliney/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2939",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What place did the album \"I Am... Sasha Fierce\" by Beyoncé place in the year-end 2010 Australian Albums (ARIA) charts?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "61",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/I_Am..._Sasha_Fierce",
+ "https://webarchive.nla.gov.au/awa/20110127031819/http://pandora.nla.gov.au/pan/23790/20110121-0000/EOY2010.pdf"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2943",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which day, month, and year did Şahika Ercümen break a world record in the VNF category at Kaş, Antalya, Turkey, with 100 m?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "26 October 2021",
+ "reference_urls": [
+ "https://www.aa.com.tr/en/sports/turkish-diver-sahika-ercumen-breaks-world-record-in-antalya/2403026",
+ "https://en.wikipedia.org/wiki/%C5%9Eahika_Erc%C3%BCmen"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2945",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the documentary Ellen Kuzwayo was involved in with Betty Wolpert in 1982?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Awake from Mourning",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ellen_Kuzwayo",
+ "https://www.independent.co.uk/news/obituaries/ellen-kuzwayo-6102817.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2947",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the third-tallest mountain in Romania?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Viștea Mare",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Vi%C8%99tea_Mare",
+ "https://www.worldatlas.com/articles/highest-mountains-in-romania.html"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2960",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which team won the 2016–17 Championnat LNA season (86th season of the top-tier basketball league in Switzerland)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Monthey",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/2016%E2%80%9317_Championnat_LNA_season",
+ "https://atozwiki.com/2016%E2%80%9317_Championnat_LNA_season"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-2967",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Kommunistisk Forbund founded?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "21 January 1973",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Communist_League_(Denmark)",
+ "https://socbib.dk/1973/",
+ "https://leksikon.org/art.php?n=1415"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2969",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many deaths were caused by an amoebic dysentery outbreak at the Century of Progress World's Fair?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "98 (acceptable range: anything between 97 and 99)",
+ "reference_urls": [
+ "http://www.idph.state.il.us/timeline/history1930.htm",
+ "https://en.wikipedia.org/wiki/Century_of_Progress",
+ "https://en.wikipedia.org/wiki/Amoebiasis"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-2973",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Etta Cone commission Henri Matisse to make a posthumous portrait of Claribel Cone?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1930",
+ "reference_urls": [
+ "https://www.moma.org/documents/moma_catalogue_2011_300299031.pdf",
+ "https://www.metmuseum.org/research-centers/leonard-a-lauder-research-center/research-resources/modern-art-index-project/cone"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-2975",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Raúl Alfonsín's first Minister of Health and Social Development?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Aldo Carlos Neri",
+ "reference_urls": [
+ "https://web.archive.org/web/20160808213020/http://cippec.org/files/documents/Libros/capitulos%20salud/Aldo_Neri.pdf",
+ "https://en.wikipedia.org/wiki/Ra%C3%BAl_Alfons%C3%ADn",
+ "https://en.wikipedia.org/wiki/Presidency_of_Ra%C3%BAl_Alfons%C3%ADn"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2976",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city and state was Johnson O'Connor laid to rest?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Newport Beach, California",
+ "reference_urls": [
+ "https://uploads.knightlab.com/storymapjs/4a491174f0e66146af8df04abaadbb5f/jocrf-history/index.html",
+ "https://en.wikipedia.org/wiki/Johnson_O%27Connor",
+ "https://www.jocrf.org/johnson-oconnor-aptitude-testing-pioneer/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-2977",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Markus Dörk's original replacement as guitarist for Blind Guardian?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Christof Theißen",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Blind_Guardian",
+ "https://www.pixeleyeindustries.com/blind-guardian",
+ "https://vinyl-records.nl/power-speed-metal/blind-guardian-vinyl-discography-and-album-covers-from-1989-1990.html"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-2996",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What team drafted Sonny Wade in the 1969 NFL draft with the 236th overall pick?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Philadelphia Eagles",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Emory_and_Henry_College",
+ "https://hof.ehc.edu/members/jesse-h-sonny-wade-jr/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3005",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is Donnie McClurkin's son's name?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Matthew McClurkin",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Donnie_McClurkin",
+ "https://answersafrica.com/who-is-matthew-mcclurkin-donnie-mcclurkins-son.html"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3006",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what month and year did Andrew Cuomo sign a bill to create Palm Tree, New York?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "July 2018",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Palm_Tree",
+ "https://en.wikipedia.org/wiki/Kiryas_Joel",
+ "https://www.wamc.org/hudson-valley-news/2018-07-03/cuomo-signs-bill-to-speed-up-creation-of-kjs-new-town"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3010",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which university did Louise M. Antony (American philosopher) receive her bachelor's degree in philosophy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Syracuse University",
+ "reference_urls": [
+ "https://www.amherst.edu/news/news_releases/2003/10_2003/node/9417",
+ "https://en.wikipedia.org/wiki/Louise_Antony",
+ "https://www.umass.edu/philosophy/about/directory/louise-antony"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3011",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What certification did Reba's album \"So Good Together\" receive from the United States (RIAA)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "platinum",
+ "reference_urls": [
+ "https://www.reba.com/so-good-together",
+ "https://tsort.info/music/cxhcuc.htm",
+ "https://en.wikipedia.org/wiki/So_Good_Together"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3017",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the composer of the opening theme song for the radio program \"The American Album of Familiar Music\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Walter Gustave \"Gus\" Haenschen",
+ "reference_urls": [
+ "https://www.onesmedia.com/music-c-10_65/american-album-of-familiar-music-p-958.html",
+ "https://books.google.com/books?id=UJP2VwJf9icC&dq=%22American+Album+of+Familiar+Music%22&pg=PA51",
+ "https://en.wikipedia.org/wiki/The_American_Album_of_Familiar_Music"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3023",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What album is the song \"God Is Alive, Magic Is Afoot\" by Chris Thile on?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Laysongs",
+ "reference_urls": [
+ "https://www.nonesuch.com/journal/watch-chris-thile-performs-god-alive-magic-afoot-new-album-laysongs-2021-07-19",
+ "https://christhile.bandcamp.com/album/laysongs",
+ "https://www.christhile.com/about",
+ "https://13thfloor.co.nz/album-review-chris-thile-laysongs-nonesuch/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3030",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day/month/year did South African architect Albertus Petrus Snyman Conradie die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "26 December 1999",
+ "reference_urls": [
+ "https://core.ac.uk/download/pdf/188225915.pdf",
+ "https://www.dieconradies.com/files/CONRADIE_FAMILIE_Volume_1.pdf",
+ "https://artefacts.co.za/main/Buildings/archframes_mob.php?archid=4103"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3037",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did Floro Garrido, a Spanish retired footballer, die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "9 January 2012",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Floro_Garrido",
+ "https://www.transfermarkt.us/floro-garrido/bilanzdetails/spieler/537349/gegner/681",
+ "https://www.besoccer.com/player/garrido-256256"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3038",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which school did Carl Van Vechten graduate from in 1898?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Washington High School.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Carl_Van_Vechten",
+ "https://kids.kiddle.co/Carl_Van_Vechten"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3040",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the last line of \"Land of the Rising Sun,\" the national anthem of the Republic of Biafra?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "To make this clime a land of righteousness",
+ "reference_urls": [
+ "https://www.youtube.com/watch?v=gp0BVXQyP9w",
+ "https://biafran.org/wp-content/uploads/2015/07/program-for-the-day-on-may-30th-2016.pdf",
+ "https://en.wikipedia.org/wiki/Land_of_the_Rising_Sun_(anthem)"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3060",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What length in millimeters did the NS 4000 in the Netherlands have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "20,775 millimeters (acceptable range: anything between 19,736 and 21,814 millimeters)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/NS_4000",
+ "https://www.wikidata.org/wiki/Q2064900"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3066",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How much money in dollars did Steven Furtick's church give to its members in 2007?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "40,000 dollars (acceptable range: anything between 38,000 and 42,000 dollars)",
+ "reference_urls": [
+ "https://www.patheos.com/faith-figures-database/s/steven-furtick",
+ "https://en.wikipedia.org/wiki/Steven_Furtick",
+ "https://www.charlotteobserver.com/living/religion/article137428913.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3071",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the total number of passengers that died when KLM Flight 4805 and Pan Am Flight 1736 collided?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "583 (acceptable range: anything between 577 and 589)",
+ "reference_urls": [
+ "https://www.faa.gov/lessons_learned/transport_airplane/accidents/PH-BUF",
+ "https://en.wikipedia.org/wiki/Tenerife_airport_disaster"
+ ],
+ "topic": "History",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3078",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the elementary school where World Changers Ministries Christian Center held their first worship service?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kathleen Mitchell Elementary School",
+ "reference_urls": [
+ "https://www.worldchangers.org/history",
+ "https://en.wikipedia.org/wiki/Creflo_Dollar"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3081",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year did René Laennec claim that tubercles were the cause of pulmonary tuberculosis?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1819",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Tuberculosis",
+ "https://www.sciencedirect.com/science/article/pii/S095461110600401X",
+ "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5432783/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3092",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what church was the organ installed in 2000 at St. John's Church, Gateshead Fell, previously located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "St Aidan's Church, Blackhill, Consett",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/St_John%27s_Church",
+ "https://www.geocaching.com/geocache/GC7PCWM",
+ "https://www.harrisonorgans.com/wp-content/uploads/2019/04/Catalogue-of-HH-Organs-2019.pdf"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3112",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "As of 2022, what is the name of the smallest (by radius) known exoplanet within 10 parsecs of Earth's solar system?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gliese 367 b",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Gliese_367",
+ "https://en.wikipedia.org/wiki/Gliese_367_b",
+ "https://www.stellarcatalog.com/exoplanet.php?planetID=100600"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3117",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the director of the Clayman Institute for Gender Research in 1994?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Iris Litt",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Stanford_University_centers_and_institutes",
+ "https://gender.stanford.edu/people/adrian-daub/former-directors",
+ "https://kelas-wiraswasta-mm-stimaimmi.kpt.co.id/IT/en/131-2/Stanford-University-centers-and-institutes_21778_kelas-wiraswasta-mm-stimaimmi-kpt.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3118",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the botanist who first formally described *Chorizema dicksonii* in 1839?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Robert Graham",
+ "reference_urls": [
+ "https://www.anbg.gov.au/cpbr/cd-keys/peakey/key/The%20Pea%20Key/Media/Html/nomenclature/Chorizema_dicksonii.htm",
+ "https://en.wikipedia.org/wiki/Chorizema_dicksonii"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3120",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the full name of the Colombian soccer player Juan Guzmán born in 1988?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Juan Pablo Guzmán Perdomo",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Juan_Guzm%C3%A1n_(footballer)",
+ "https://www.transfermarkt.com/juan-pablo-guzman/profil/spieler/170543",
+ "https://int.soccerway.com/players/juan-guzman/134947/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3144",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of Andrew Dickson White's cousin who became an artist of the Luminism style and Hudson River School?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Edwin White",
+ "reference_urls": [
+ "https://islamforwest.org/2012/01/04/andrew-dickson-white-author-of-a-history-of-the-warfare-of-science-with-theology-in-christendom/",
+ "https://en.wikipedia.org/wiki/Andrew_Dickson_White",
+ "http://www.elisarolle.com/queerplaces/a-b-ce/Andrew%20Dickson%20White.html"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3148",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which musician became Louis Armstrong's first teacher and chose him as the bandleader?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Peter Davis.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Louis_Armstrong",
+ "https://64parishes.org/entry/louis-armstrong-adaptation",
+ "https://www.javatpoint.com/louis-armstrong",
+ "https://thejazzvnu.com/louis-armstrong-vocal-classic-jazz/"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3150",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the second president of the International Society for Soil Mechanics and Geotechnical Engineering?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "A. W. Skempton",
+ "reference_urls": [
+ "https://www.issmge.org/the-society/history",
+ "https://en.wikipedia.org/wiki/International_Society_for_Soil_Mechanics_and_Geotechnical_Engineering"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3153",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many livres did artist Jean-Antoine Watteau sell his painting \"Camp-fire\" first to Sirois for?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "60 livres (acceptable range: anything between 58 and 62 livres)",
+ "reference_urls": [
+ "https://lapada.org/art-and-antiques/antique-oil-painting-manner-of-jean-antoine-watteau-the-serenade-early-19th-c/",
+ "https://en.wikipedia.org/wiki/Antoine_Watteau",
+ "https://en.wikisource.org/wiki/1911_Encyclop%C3%A6dia_Britannica/Watteau"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3157",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Jamia win its first gold and silver medals in wrestling at the All India Inter University Championship?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1977",
+ "reference_urls": [
+ "https://jmicoe.in/pdf24/REVISED%20PROSPECTUS%202024-25%20(19.02.2024)_Final%20(2).pdf",
+ "https://jmi.ac.in/ACADEMICS/Games-&-Sports/Introduction",
+ "https://en.wikipedia.org/wiki/Jamia_Millia_Islamia"
+ ],
+ "topic": "Sports",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3171",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which grammar school did Diane Marie Disney attend before moving to Immaculate Heart High School?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Los Feliz Grammar School.",
+ "reference_urls": [
+ "https://oroagri.eu/FxE4Wt2tv",
+ "https://en.wikipedia.org/wiki/Diane_Disney_Miller",
+ "https://fikocrush.weebly.com/blog/diane-disney-miller"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3173",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who is discovered to be alive at the end of Season 1 of Motherland: Fort Salem?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Willa Collar",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Motherland:_Fort_Salem",
+ "https://tvtropes.org/pmwiki/pmwiki.php/Recap/MotherlandFortSalemS1E10Witchbomb",
+ "https://www.tvinsider.com/gallery/motherland-fort-salem-season-2-burning-questions-freeform/"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3176",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was Christopher Hornsrud's Minister of Justice and the Police when he formed his Labour Party cabinet in 1928?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Cornelius Holmboe",
+ "reference_urls": [
+ "https://www.regjeringen.no/en/the-government/previous-governments/regjeringer-siden-1814/historiske-regjeringer/ministries-1905---1940/christopher-hornsruds-government-1928/id507322/?expand=factboxRegjeringsmedlemmer",
+ "https://en.wikipedia.org/wiki/Hornsrud%27s_Cabinet",
+ "https://en-academic.com/dic.nsf/enwiki/1924944"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3181",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many players on the Winnipeg Falcons hockey team died in WWI?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://valourcanada.ca/military-history-library/winnipeg-falcons-champions/",
+ "https://en.wikipedia.org/wiki/Winnipeg_Falcons",
+ "https://parks.canada.ca/culture/designation/evenement-event/winnipeg-falcons",
+ "https://globalnews.ca/news/1659197/olympic-hockey-heroes-honoured-in-war-themed-heritage-minute/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3188",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first president of the Supreme Court of Brazil appointed by Pedro I?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jose Albano Fragosa",
+ "reference_urls": [
+ "https://pt.wikipedia.org/wiki/Jos%C3%A9_Albano_Fragoso",
+ "https://portal.stf.jus.br/ministro/presidente.asp?periodo=stj&id=240",
+ "https://en.wikipedia.org/wiki/President_of_the_Supreme_Federal_Court"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3192",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What month and year was \"Welcome to Paradise\" first released?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "December 1991",
+ "reference_urls": [
+ "https://secondhandsongs.com/performance/59985/all",
+ "https://genius.com/Green-day-welcome-to-paradise-kerplunk-version-lyrics/q/release-date",
+ "https://en.wikipedia.org/wiki/Welcome_to_Paradise"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3195",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What river is the Kokosing River a tributary of?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Walhonding River",
+ "reference_urls": [
+ "https://kids.kiddle.co/Kokosing_River",
+ "https://en.wikipedia.org/wiki/Kokosing_River"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3199",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "To whom was A. Wallis Myers married?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lilian Gentry",
+ "reference_urls": [
+ "https://tt.tennis-warehouse.com/index.php?threads/arthur-w-myers-%E2%80%93-a-testament-to-tennis.576159/",
+ "https://prabook.com/web/arthur.myers/2601989",
+ "https://en.wikipedia.org/wiki/A._Wallis_Myers"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3202",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which is the largest tributary of the Chenab River?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Marusudar River",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Marusudar_River",
+ "https://www.gktoday.in/marusudar-river/",
+ "https://indiawris.gov.in/wiki/doku.php?id=chenab"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3203",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name that movie theater owner Harry E. Huffman gave to his two-story Denver mansion?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Shangri-La",
+ "reference_urls": [
+ "https://paradiseleased.wordpress.com/2011/08/04/shangri-la-has-been-found-its-in-denver/",
+ "https://sah-archipedia.org/buildings/CO-01-DV147",
+ "https://dbpedia.org/page/Shangri-La_(house)",
+ "https://en.wikipedia.org/wiki/Harry_E._Huffman"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3207",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many households were there in Weston, Ohio, as of the 2000 census?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "638 (acceptable range: anything between 631 and 645)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Weston",
+ "https://www2.census.gov/library/publications/2002/dec/phc-1-37.pdf"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3210",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the scientific name for the African forest elephant?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Loxodonta cyclotis",
+ "reference_urls": [
+ "https://www.ifaw.org/international/animals/african-forest-elephants",
+ "https://en.wikipedia.org/wiki/African_forest_elephant",
+ "https://www.worldwildlife.org/species/african-forest-elephant"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3211",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How old was composer Miya Masaoka when she began studying classical music?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "8",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Miya_Masaoka",
+ "https://arts.columbia.edu/news/who-we-are-miya-masaoka"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3212",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What EP did Rosalía release in 2019?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Fucking Money Man",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Rosal%C3%ADa_discography",
+ "https://www.thecouchsessions.com/articles/music/rosalia-ups-the-ante-with-fucking-money-man-ep",
+ "https://www.europafm.com/noticias/musica/rosalia-estrena-fucking-money-man-tema-dividido-dos-cantado-catalan-castellano_201907035d1cd7bc0cf25903f11f1a4b.html"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3218",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For which team did Edward Ambrose Hug, the American Major League Baseball catcher, make his MLB debut?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Brooklyn Superbas",
+ "reference_urls": [
+ "https://www.baseball-almanac.com/yearly/debut.php?y=1903&l=NL&s=T",
+ "https://en.wikipedia.org/wiki/Ed_Hug"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3228",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What are the first name and surname of the woman who was voted 17th in the Top 100 Great South Africans in 2004?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Brenda Fassie",
+ "reference_urls": [
+ "https://www.funtimesmagazine.com/2020/12/16/339275/the-queen-of-african-pop-brenda-fassie",
+ "https://en.wikipedia.org/wiki/Brenda_Fassie",
+ "https://www.geni.com/projects/Great-South-Africans-Top-100-2004/50874"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3229",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the Venezuelan state in which María Teresa Castillo was born in 1908?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Miranda.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/María_Teresa_Castillo",
+ "https://prabook.com/web/maria.teresa_castillo/2278961",
+ "https://en.wikipedia.org/wiki/Mar%C3%ADa_Teresa_Castillo"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3236",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the team that Filip Hašek, the footballer, played against during his professional debut on July 22, 2018?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Slovácko",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Filip_Ha%C5%A1ek",
+ "https://www.footballdatabase.eu/en/player/details/278957-filip-hasek",
+ "https://wikiroulette.co/?p=Van_der_Gaag_Lane",
+ "https://www.footballdatabase.eu/en/match/overview/1735026-bohemians_1905-fc_slovacko"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3241",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 2012, what country did the ICJ say had sovereignty over Bajo Nuevo?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Republic of Colombia",
+ "reference_urls": [
+ "https://www.icj-cij.org/node/103952",
+ "https://news.un.org/en/story/2012/11/426062",
+ "https://en.wikipedia.org/wiki/Bajo_Nuevo_Bank"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3247",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city and country was Yasir Naqvi, a Canadian politician, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Karachi, Pakistan",
+ "reference_urls": [
+ "https://www.famousbirthdays.com/people/yasir-naqvi.html",
+ "https://en.wikipedia.org/wiki/Yasir_Naqvi",
+ "https://www.passes.com/wiki/yasir-naqvi"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3254",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which scientist received the Gilbert Morgan Smith Medal in 2015?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Takao Kondo",
+ "reference_urls": [
+ "https://www.nasonline.org/award/gilbert-morgan-smith-medal/",
+ "https://en.wikipedia.org/wiki/Gilbert_Morgan_Smith_Medal",
+ "https://en.wikipedia.org/wiki/Takao_Kondo"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3256",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which NYC borough was pharmacist David Morris Kern born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Manhattan",
+ "reference_urls": [
+ "https://www.findagrave.com/memorial/110095609/david-morris-kern",
+ "https://en.wikipedia.org/wiki/David_Morris_Kern",
+ "https://www.toledoblade.com/Medical/2013/05/06/Orajel-creator-David-Morris-Kern-dies-at-103/stories/feed/index.rss"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3258",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was the Retlaw 1 combine car sold to the Carolwood Foundation?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "10 July 2010",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Disneyland_Railroad",
+ "https://www.disneyhistory101.com/disneyland/2018/9/8/santa-fe-disneyland-railroad-102-105",
+ "https://www.carolwood.org/retlaw1-combine/"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3259",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the women's singles 2022 Madrid Open, how many Romanian players played in the second round?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1",
+ "reference_urls": [
+ "https://www.wtatennis.com/news/2594387/halep-badosa-sweep-into-madrid-second-round-showdown",
+ "https://en.wikipedia.org/wiki/2022_Mutua_Madrid_Open_%E2%80%93_Women%27s_singles"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3263",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Bard subclass was included in the 2022 Expert Classes Unearthed Arcana for Dungeons & Dragons?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "College of Lore",
+ "reference_urls": [
+ "https://media.dndbeyond.com/compendium-images/one-dnd/expert-classes/kpx0MvyfBGHe0XKk/UA2022-Expert-Classes.pdf",
+ "https://media.dndbeyond.com/compendium-images/one-dnd/expert-classes/kpx0MvyfBGHe0XKk/UA2022-Expert-Classes.pdf?icid_source=house-ads&icid_medium=crosspromo&icid_campaign=playtest2",
+ "https://thekindgm.com/2022/10/19/unearthed-arcana-2022-expert-classes-analysis/",
+ "https://www.tribality.com/2022/09/30/unearthed-arcana-2022-expert-classes-breakdown/"
+ ],
+ "topic": "Video games",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3265",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did Vinton Gray Cerf publish his work \"A View from the 21st Century\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "April 1, 1994",
+ "reference_urls": [
+ "https://www.gangalib.org/cerfvita.php",
+ "https://m.kpt.co.id/IT/en/105-2/Vint-Cerf_16065_m-kpt.html",
+ "https://en.wikipedia.org/wiki/Vint_Cerf"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3266",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the 33rd President of Costa Rica?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mario José Echandi Jiménez",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mario_Echandi_Jim%C3%A9nez",
+ "https://en.wikipedia.org/wiki/List_of_presidents_of_Costa_Rica",
+ "https://costarica.org/facts/president/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3267",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did the top religious body in Saudi Arabia give the green light for codification of Sharia law?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2010",
+ "reference_urls": [
+ "https://www.thenationalnews.com/world/mena/saudi-to-codify-sharia-for-clarity-1.518063",
+ "https://en.wikipedia.org/wiki/Contract_law_in_Saudi_Arabia",
+ "https://www.sciencedirect.com/topics/social-sciences/sharia-law"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3268",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year and month did El Cielo receive its first Michelin star in Miami?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "June 2022",
+ "reference_urls": [
+ "https://www.msn.com/en-us/travel/tripideas/michelin-starred-elcielo-is-opening-a-new-edition-of-its-hit-colombian-restaurant-in-miami/ar-AA1fa6l1?apiversion=v2&noservercache=1&domshim=1&renderwebcomponents=1&wcseo=1&batchservertelemetry=1&noservertelemetry=1",
+ "https://www.miamilivingmagazine.com/post/elcielo-s-miami-receives-first-ever-michelin-star-in-florida",
+ "https://en.wikipedia.org/wiki/Juan_Manuel_Barrientos_Valencia"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3271",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which industry did painter William Moore Davis work before he became a full-time painter?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "In the shipbuilding industry.",
+ "reference_urls": [
+ "https://tfaoi.org/aa/3aa/3aa383.htm",
+ "https://www.questroyalfineart.com/artist/william-m-davis/",
+ "https://en.wikipedia.org/wiki/William_Moore_Davis"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3272",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the UNII of Nivolumab, an anti-cancer medication?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "31YO63LBSN",
+ "reference_urls": [
+ "https://precision.fda.gov/uniisearch/srs/unii/31YO63LBSN",
+ "https://en.wikipedia.org/wiki/Nivolumab"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3278",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the chemical formula of atogepant, a class of medications called calcitonin gene-related peptide receptor antagonists?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "C29H23F6N5O3",
+ "reference_urls": [
+ "https://pubchem.ncbi.nlm.nih.gov/compound/Atogepant",
+ "https://go.drugbank.com/drugs/DB16098",
+ "https://en.wikipedia.org/wiki/Atogepant"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3282",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What track did Jimmie Johnson record his only win at in 2001 as part of the NASCAR Xfinity Series?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Chicagoland Speedway",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Jimmie_Johnson",
+ "https://www.nascar.com/gallery/jimmie-johnson-through-the-years/",
+ "https://www.britannica.com/biography/Jimmie-Johnson"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3285",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which year was Audrey McLaughlin sworn in as a member of the Queen's Privy Council for Canada?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1991",
+ "reference_urls": [
+ "https://www.encyclopedia.com/international/encyclopedias-almanacs-transcripts-and-maps/mclaughlin-hon-audrey-pc-ba-msw",
+ "https://en.wikipedia.org/wiki/Audrey_McLaughlin",
+ "https://en.wikipedia.org/wiki/List_of_current_members_of_the_King%27s_Privy_Council_for_Canada"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3288",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day, month, and year did the Orchestra of the Age of Enlightenment celebrate the 21st anniversary of its founding?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "30 June 2007",
+ "reference_urls": [
+ "https://intermezzo.typepad.com/intermezzo/2007/07/oae.html",
+ "https://en.wikipedia.org/wiki/Orchestra_of_the_Age_of_Enlightenment"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3289",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many days was Dev Shumsher Jung Bahadur Rana prime minister?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "114 (acceptable range: anything between 113 and 115)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Dev_Shumsher_Jung_Bahadur_Rana",
+ "https://itihasaa.com/ranas/dev-shumsher/",
+ "https://www.np.emb-japan.go.jp/100th/pio1.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3290",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was the beetle species Glipa andamana described?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1941",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Glipa_andamana",
+ "https://www.irmng.org/aphia.php?p=taxdetails&id=1216691"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3296",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what key was \"I Offer My Life\" by Don Moen composed?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "F Major",
+ "reference_urls": [
+ "https://songbpm.com/@don-moen/i-offer-my-life-0fd430ea-d918-49d2-9fe6-22c1a93fe0fb",
+ "https://musicstax.com/track/i-offer-my-life/37rdS9bf283vPI40AfYu43",
+ "https://getsongkey.com/song/i-offer-my-life/YWv9K"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3301",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What percentage of voters were against the constitutional referendum held in Ghana on April 27, 1960?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "11.53% (acceptable range: anything between 11.41% and 11.65%)",
+ "reference_urls": [
+ "https://uca.edu/politicalscience/home/research-projects/dadm-project/sub-saharan-africa-region/ghana-1957-present/",
+ "https://africanelections.tripod.com/gh.html",
+ "https://en.wikipedia.org/wiki/1960_Ghanaian_constitutional_referendum"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3306",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is Kinoko Teikoku's first EP?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Long Good Bye",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Kinoko_Teikoku",
+ "https://music.youtube.com/channel/UClJbEh-JJDXCjtQLQMi_gjA",
+ "https://www.arnamantle.com/2021/06/24/osusume-kinoko-teikoku/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3312",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many competitors from 11 nations participated in Fencing at the 1908 Summer Olympics – Men's saber?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "76 (acceptable range: anything between 75 and 77)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Fencing_at_the_1908_Summer_Olympics_%E2%80%93_Men%27s_sabre",
+ "https://www.olympedia.org/editions/5/sports/FEN"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3317",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which country was the 4th edition of the ASEAN-India Grassroots Innovation Forum (AIGIF) launched?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Malaysia",
+ "reference_urls": [
+ "https://indiaaseaninnovation.com/upload/download/4th_AIGIF_(2023)-Project_Report.pdf",
+ "https://pib.gov.in/PressReleasePage.aspx?PRID=1982421",
+ "https://www.drishtiias.com/daily-updates/daily-news-analysis/4th-edition-of-asean-india-grassroots-innovation-forum-aigif",
+ "https://dst.gov.in/4th-edition-asean-india-grassroots-innovation-forum-aigif-launched-strengthen-sti-co-operation"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3328",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What flowers were shown in artist J.C. Leyendecker's May 30, 1914, \"The Saturday Evening Post\" cover?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hyacinths",
+ "reference_urls": [
+ "https://www.americanillustration.org/pressRelease/NMAI_Press_3_27_07.html",
+ "https://www.liliums-compendium.co.uk/post/j-c-leyendecker-muses-the-beau-monde",
+ "https://www.illustrationhistory.org/artists/jc-leyendecker",
+ "https://www.americanillustrators.com/traveling-exhibitions/american-holidays"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3332",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Norman Rockwell was hired as the art director of what publication while in his teens?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Boys' Life",
+ "reference_urls": [
+ "https://www.illustrationhistory.org/artists/norman-rockwell",
+ "https://www.art.state.gov/personnel/norman_rockwell/",
+ "https://www.forumgallery.com/artists/norman-rockwell/biography",
+ "https://headsup.scoutlife.org/happy-birthday-to-bsa-legend-norman-rockwell/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3341",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the father of the Indian journalist and political commentator Romesh Thapar?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Daya Ram Thapar",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Daya_Ram_Thapar",
+ "https://hindupost.in/politics/unveiling-lutyens-the-loyal-descendants/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3342",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1841, which steamer did Captain Shepherd take from Brockville through all the Cornwall and Coteau rapids to Lachine?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "St David.",
+ "reference_urls": [
+ "https://ia801308.us.archive.org/19/items/historickingston03kinguoft/historickingston03kinguoft.pdf",
+ "https://www.gutenberg.org/cache/epub/58849/pg58849-images.html"
+ ],
+ "topic": "History",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3343",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "According to Wikipedia, how many feet above sea level is the Getty Center?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "900 (acceptable range: anything between 891 and 909)",
+ "reference_urls": [
+ "https://localwiki.org/la/Getty_Center_Los_Angeles",
+ "https://en.wikipedia.org/wiki/Getty_Center",
+ "https://www.architect-us.com/blog/2019/01/the-getty-center/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3344",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many Cierva W.11 Air Horse rotorcraft were built in total?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Cierva_W.11_Air_Horse",
+ "https://encyclopedia.pub/entry/28577",
+ "https://www.reddit.com/r/WeirdWings/comments/17udb9p/the_first_of_two_cierva_w11_air_horse_triple/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3369",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year was the EP \"Dirty Laundry\" released by Adore Delano?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "July 9, 2021",
+ "reference_urls": [
+ "https://genius.com/albums/Adore-delano/Dirty-laundry-ep",
+ "https://www.allmusic.com/album/dirty-laundry-mw0003682870",
+ "https://en.wikipedia.org/wiki/Adore_Delano_discography"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3372",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year was the alabaster sculpture known as the \"Teotihuacan Ocelot\" found?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1889",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Teotihuacan_Ocelot",
+ "https://artsandculture.google.com/asset/calcite-onyx-ritual-container-in-the-form-of-a-feline/HAG5aOKpLtNKkw?hl=en"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3382",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Gordon Plotkin win the ACM SIGPLAN Programming Languages Achievement Award?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2010",
+ "reference_urls": [
+ "https://www.research.ed.ac.uk/en/persons/gordon-plotkin",
+ "https://www.sigplan.org/Awards/Achievement/",
+ "https://en.wikipedia.org/wiki/SIGPLAN"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3391",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the PubChem CID of Rimegepant?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "51049968",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Rimegepant",
+ "https://pubchem.ncbi.nlm.nih.gov/substance/254741624",
+ "https://pubchem.ncbi.nlm.nih.gov/compound/51049968"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3398",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which mountain stream flows between the valleys of Chinamarg and Nurpur Pass?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ferozepur Nallah",
+ "reference_urls": [
+ "https://www.thomascook.in/places-to-visit/ferozepur-nallah-in-gulmarg",
+ "https://www.holidify.com/places/gulmarg/ferozepur-nallah-sightseeing-1896.html",
+ "https://www.thomascook.in/india-tourism/gulmarg-tourism/places-to-visit-in-gulmarg",
+ "https://www.kashmirhills.com/hotels/gulmarg/ferozepur-nallah-in-gulmarg/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3413",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which country was Robert “Bob” Guy Walls, a painter born in 1927, born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "New Zealand",
+ "reference_urls": [
+ "https://www.mutualart.com/Artist/Robert-Walls/F1175F9016037D5D",
+ "https://en.wikipedia.org/wiki/Bob_Walls",
+ "https://contemporaryartsociety.org/artists/robert-bob-guy-walls"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3415",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the grandfather of the 14th Chief Justice of India, A.N. Ray?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Dr. Debendra Nath Ray",
+ "reference_urls": [
+ "https://www.sci.gov.in/judge/justice-a-n-ray/",
+ "https://web.archive.org/web/20090409224539/http://www.supremecourtofindia.nic.in/judges/bio/anray.htm"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3417",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the title of Thomas Callister Hales' Ph.D. dissertation from Princeton University in 1986?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Subregular Germ of Orbital Integrals",
+ "reference_urls": [
+ "https://alchetron.com/Thomas-Callister-Hales",
+ "https://en.wikipedia.org/wiki/Thomas_Callister_Hales",
+ "https://www.genealogy.math.ndsu.nodak.edu/id.php?id=77593"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3422",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which Nebraska city was painter Kathleen Gemberling Adkison born in 1917?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Beatrice",
+ "reference_urls": [
+ "https://www.northwestmuseum.org/exhibitions/online-exhibitions/northwest-art-collection-works-on-paper/northwest-modernists/kathleen-gemberling-adkison/",
+ "https://www.annexgalleries.com/artists/biography/3830/Adkinson/Kathleen",
+ "https://en.wikipedia.org/wiki/Kathleen_Gemberling_Adkison"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3424",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the city where Sangtarashan Cave is located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jahrom",
+ "reference_urls": [
+ "https://ouriranphotos.com/en/photo/1212",
+ "https://en.wikipedia.org/wiki/Sangtarashan_cave",
+ "https://www.eavartravel.com/blog/category/shiraz/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3437",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1981, in what Broadway musical did Janet Hubert make her debut?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "\"The First\"",
+ "reference_urls": [
+ "https://www.blackcelebritybirthdays.org/Janet-Hubert",
+ "https://playbill.com/person/janet-hubert-vault-0000060621",
+ "https://en.wikipedia.org/wiki/Janet_Hubert"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3439",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of George T. Fulford's son-in-law who was sworn into the Privy Council on July 31, 1930?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Arthur Charles Hardy",
+ "reference_urls": [
+ "https://www.lynmuseum.ca/2019/03/22/avondale-farm-the-early-years/",
+ "https://www.canada.ca/en/privy-council/services/king-privy-council-canada.html",
+ "https://www66.statcan.gc.ca/eng/1934-35/193401160068_p.%2068.pdf"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3441",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the Christian denomination to which Frank Lloyd Wright's father originally belonged?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Baptist",
+ "reference_urls": [
+ "https://www.wikitree.com/wiki/Wright-11217",
+ "https://www.findagrave.com/memorial/55462361/william_carey-wright",
+ "https://en.wikipedia.org/wiki/Frank_Lloyd_Wright"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3442",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did George Bentham change the name of *Hedaroma pinifolium* to *Pimelea pinifolia*?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1865",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Darwinia_pinifolia",
+ "https://biodiversity.org.au/nsl/services/rest/instance/apni/496609"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3443",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the first and last name of the president of the Society of Illustrators from 1929 to 1936?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Wallace Morgan",
+ "reference_urls": [
+ "https://kids.kiddle.co/Society_of_Illustrators",
+ "https://societyillustrators.org/about/board-and-staff/",
+ "https://en.wikipedia.org/wiki/Society_of_Illustrators"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3448",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first principal of Mayo College in India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Colonel Sir Oliver St John",
+ "reference_urls": [
+ "https://mayocollegeboys.weebly.com/about-mayo.html",
+ "https://mayoalumni.in/about-mayo",
+ "https://en.wikipedia.org/wiki/Mayo_College"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3460",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What day, month, and year did Menchú announce that she would form an Indigenous political party called Encuentro por Guatemala?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "12 February 2007",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Rigoberta_Mench%C3%BA",
+ "https://prezi.com/s6nombzqhzgq/rigoberta-menchu/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3461",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the title of Nils Jerlov's doctoral thesis from 1939?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Effect of chemical combination on x-ray emission spectrum",
+ "reference_urls": [
+ "https://portal.research.lu.se/en/publications/effect-of-chemical-combination-on-x-ray-emission-spectrum",
+ "https://en.wikipedia.org/wiki/Nils_Jerlov",
+ "https://lucris.lub.lu.se/ws/portalfiles/portal/5622387/3024892.pdf"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3462",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year did Gopalaswami Parthasarathy assume the charge of Vice Chancellor of Jawaharlal Nehru University?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "April 28, 1969",
+ "reference_urls": [
+ "https://www.jnu.ac.in/former-vice-chancellor",
+ "https://en.wikipedia.org/wiki/List_of_vice-chancellors_of_the_Jawaharlal_Nehru_University"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3463",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which river of India is known as the Lion's Mouth in Tibet?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Indus River",
+ "reference_urls": [
+ "https://unacademy.com/content/upsc/study-material/indian-geography/indian-river-system/",
+ "https://byjus.com/question-answer/which-of-the-following-is-known-as-the-lion-s-mouth-brahmaputra-ganga-indus-yamuna/",
+ "https://civilspedia.com/indus-river-system/",
+ "https://www.clearias.com/indus-river-system/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3480",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the sole winner of the Fulkerson Prize for outstanding papers in the area of discrete mathematics in 1997?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jeong Han Kim",
+ "reference_urls": [
+ "https://www.mathopt.org/?nav=fulkerson",
+ "https://en.wikipedia.org/wiki/Fulkerson_Prize"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3488",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Alain Stanké made a Knight of the National Order of Quebec?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2003",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Alain_Stank%C3%A9",
+ "https://www.lithuanianheritage.ca/home/explore/montreal-artists-group/alain-stanke/",
+ "https://www.thecanadianencyclopedia.ca/en/article/alain-stanke",
+ "https://prabook.com/web/alain.stanke/2553426"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3489",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was *Hemidactylus boavistensis* elevated from a subspecies of *Hemidactylus bouvieri* to a separate species?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2008",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Hemidactylus_boavistensis",
+ "https://kids.kiddle.co/Boa_Vista_leaf-toed_gecko"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3495",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the capacity of the orchestra level of the Hanna Theatre located in Cleveland, Ohio, before its renovation?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "827 seats (acceptable range: anything between 818 and 836 seats)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Hanna_Theatre",
+ "https://www.heritageohio.org/cleveland-hanna-theatre/"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3501",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who is the father of the Aruban politician Dangui Oduber?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Nelson Oduber",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Dangui_Oduber",
+ "https://www.phocuswrightconference.com/Whos-Coming/Speakers/2023/Dangui-Oduber",
+ "https://simple.wikipedia.org/wiki/Nelson_Oduber"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3502",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day, month, and year did Gyan Sudha Misra retire as a judge of the Supreme Court of India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "27 April 2014",
+ "reference_urls": [
+ "https://timesofindia.indiatimes.com/india/in-a-first-three-women-judges-in-supreme-court/articleshow/65304967.cms",
+ "https://en.wikipedia.org/wiki/Gyan_Sudha_Misra",
+ "https://en.wikipedia.org/wiki/List_of_women_judges_of_the_Supreme_Court_of_India",
+ "https://thewire.in/gender/70th-year-independence-indias-supreme-court-get-seventh-woman-judge"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3507",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year did the painter Joseph Matthäus Aigner paint \"Portrait of a Lady with Her Dog\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1863",
+ "reference_urls": [
+ "https://commons.wikimedia.org/wiki/File:Portrait-of-a-lady-with-her-dog-1863.jpg",
+ "https://en.wikipedia.org/wiki/Joseph_Matth%C3%A4us_Aigner",
+ "https://www.artnet.fr/artistes/joseph-math%C3%A4us-aigner/portrait-of-a-lady-with-her-dog-BCYqtoJsRwtWPGdj1TKzbw2"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3508",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Where was the album \"Barton Hollow\" by The Civil Wars placed on the \"Top 10 of Everything in 2011\" in Time?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "#9",
+ "reference_urls": [
+ "https://content.time.com/time/specials/packages/article/0",
+ "https://en.wikipedia.org/wiki/The_Civil_Wars"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3511",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many amendments to the Pakistani Constitution were not passed as of 2022?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Constitution_of_Pakistan",
+ "https://www.pakistani.org/pakistan/constitution/",
+ "https://en.wikipedia.org/wiki/Amendments_to_the_Constitution_of_Pakistan"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3514",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the 60th Governor of North Carolina?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "J. Melville Broughton",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_governors_of_North_Carolina",
+ "https://en.wikipedia.org/wiki/J._Melville_Broughton",
+ "https://www.nga.org/about/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3515",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What did George Brown (1818-1880) refuse in 1875?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The lieutenant governorship of Ontario",
+ "reference_urls": [
+ "https://www.thecanadianencyclopedia.ca/en/article/george-brown",
+ "https://www.ccheritage.ca/biographies/georgebrown",
+ "https://parks.canada.ca/culture/~/~/link.aspx?_id=827CE349BDEB42BE861DB38CEB2925A2&_z=z",
+ "https://parks.canada.ca/culture/designation/lieu-site/maison-george-brown-house"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3520",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the naturalist who first described the sharpbill under the binomial name *Oxyrhuncus cristatus* in 1821?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "William John Swainson",
+ "reference_urls": [
+ "https://app.birdweather.com/species/sharpbill",
+ "https://en.wikipedia.org/wiki/Sharpbill"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3522",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who first described the Hopfield networks with respect to recurrent neural networks in 1972?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Shun'ichi Amari",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Shun%27ichi_Amari",
+ "https://en.wikipedia.org/wiki/Hopfield_network",
+ "https://books.google.com.np/books/about/Hopfield_Networks.html?id=Dr_GEAAAQBAJ&redir_esc=y",
+ "https://wikidocs.net/214063"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3526",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which interstate is located near Ramby Avenue, where the KTCZ-FM transmitter on the KMSP Tower is located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Interstate 694",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/KEEY-FM",
+ "https://en.wikipedia.org/wiki/KTCZ-FM",
+ "https://radiostationwika.fandom.com/wiki/KTCZ"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3529",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who originally played keyboards for the Band of Joy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Chris Brown",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Band_of_Joy",
+ "https://nostalgiacentral.com/music/artists-a-to-k/artists-b/band-of-joy/",
+ "https://rateyourmusic.com/artist/band-of-joy"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3531",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Prime Minister of Italy was named 'Iron Baron'?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bettino Ricasoli",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bettino_Ricasoli",
+ "https://dobianchi.com/2009/06/06/what-would-the-iron-baron-ricasoli-say-if-he-were-alive-today/",
+ "https://www.ethicawines.com/cantine/ricasoli/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3536",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What's the first and last name of the person who sings Alastor's voice in the song \"Alastor's Game\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sam Haft",
+ "reference_urls": [
+ "https://genius.com/The-living-tombstone-alastors-game-lyrics",
+ "https://en.wikipedia.org/wiki/Alastor_(Hazbin_Hotel)"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3538",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "According to Georg Wilhelm Friedrich Hegel, what are the three Romantic arts?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Painting, music, and poetry.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Painting",
+ "https://www.marxists.org/reference/archive/hegel/works/ae/ch03.htm",
+ "https://faculty.fiu.edu/~harrisk/Notes/Aesthetics/1238%20PHI3800%20Sequential%20Lectures/PHI3800%20Lecture%2012%20-%20Hegel's%20Romantic%20Theory%20of%20Art%20and%20Rejection%20of%20Dance.htm",
+ "https://en.wikipedia.org/wiki/Lectures_on_Aesthetics"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3543",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which album by Die Toten Hosen was the first to reach number one on the German music charts?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "\"Auf dem Kreuzzug ins Glück\"",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Die_Toten_Hosen_discography",
+ "https://de.wikipedia.org/wiki/Auf_dem_Kreuzzug_ins_Glück",
+ "https://www.offiziellecharts.de/suche?artist_search=Die%20Toten%20Hosen&do_search=do"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3547",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what city and country did Gustav Kramer work as an assistant at the German-Italian Institute of Marine Biology?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": " Rovinj, Croatia (formerly Rovigno, Italy)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Gustav_Kramer",
+ "https://alchetron.com/Gustav-Kramer"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3548",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many horses are depicted on Munch's \"Horse Team and a St. Bernhard in the Snow\" (1923)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://reprodukcijos.lt/en/all-giclee-prints/24556-reproduction-of-horse-team-and-a-st-bernhard-in-the-snow-1923.html",
+ "https://glasgowgfx.com/products/horse-team-and-a-st-bernhard-in-the-snow-1923-edvard-munch-canvas-print?variant=47875184656701",
+ "https://commons.wikimedia.org/wiki/File:Edvard_Munch_-_Horse_Team_and_a_St._Bernard_in_the_Snow_-_MM.M.00113_-_Munch_Museum.jpg"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3549",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What high school did pitcher Christopher Deane Haney attend?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Orange County High School",
+ "reference_urls": [
+ "https://www.baseball-reference.com/players/h/haneych01.shtml",
+ "https://www.baseball-almanac.com/players/player.php?p=haneych01",
+ "https://en.wikipedia.org/wiki/Chris_Haney"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3551",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the area between the River Indus and the River Jhelum called?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Sindh Sagar Doab",
+ "reference_urls": [
+ "https://www.britannica.com/place/Sindh-Sagar-Doab",
+ "https://byjus.com/question-answer/match-the-following-doabs-in-punjab-with-the-rivers-that-surround-them-chenab-and-jhelumbeas/",
+ "https://abhipedia.abhimanu.com/Article/State/MzUyMDMEEQQVV/Which-of-the-following-doab-is-between-the-Jhelum-River-and-Indus-River-Punjab-State-Civils-"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3552",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The Guyanese government posthumously awarded Walter Rodney which honor?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Order of Excellence of Guyana.",
+ "reference_urls": [
+ "https://www.walterrodneyfoundation.org/recognition-and-memorials",
+ "https://en.wikipedia.org/wiki/Walter_Rodney"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3555",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Where was the first B.A.S.S. Bassmaster Tournament held?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lake Mead",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bassmaster_Classic",
+ "https://www.espn.com/outdoors/bassmaster/about/news/story?page=bass_history",
+ "https://www.bassmaster.com/50th-anniversary-of-b-a-s-s/news/b-a-s-s-historical-timeline/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3561",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Nilgai is widely seen as the state animal of which Union Territory of India?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Delhi",
+ "reference_urls": [
+ "https://www.careerpower.in/state-animals-in-india.html",
+ "https://unacademy.com/content/general-awareness/list-of-indian-state-animals/",
+ "https://en.wikipedia.org/wiki/List_of_Indian_state_animals",
+ "https://en.wikipedia.org/wiki/List_of_Indian_state_symbols"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3564",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which U.S. president was the last one to be born in the 18th century?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "James Buchanan",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/James_Buchanan",
+ "https://millercenter.org/president/buchanan/life-before-the-presidency",
+ "https://www.loriferber.com/research/presidential-facts-statistics/presidential-birthdates.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3565",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the Glottolog language code of the Aralle-Tabulahan language?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "aral1243",
+ "reference_urls": [
+ "https://en.wal.unesco.org/languages/aralle-tabulahan",
+ "https://en.wikipedia.org/wiki/Aralle-Tabulahan_language",
+ "https://glottolog.org/resource/languoid/id/aral1243"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3578",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1900, who broke the world record for consecutive chin-ups (39)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Alfred Carlton Gilbert",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Alfred_Carlton_Gilbert",
+ "https://oregonsportshall.org/timeline/alfred-a-c-gilbert-track-field/",
+ "https://www.mentalfloss.com/article/89161/ac-gilbert-toymaker-who-actually-saved-christmas"
+ ],
+ "topic": "Sports",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3583",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first woman to serve on the executive committee of the International Union of Geological Sciences?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Zofia Emilia Kielan-Jaworowska",
+ "reference_urls": [
+ "https://scientificwomen.net/women/kielan_jaworowska-zofia-178",
+ "https://en.wikipedia.org/wiki/Zofia_Kielan-Jaworowska",
+ "https://www.paleo.pan.pl/pracownicy/kielan-jaworowska/zofia_kielan-jaworowska.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3592",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which day, month, and year did M'hamed Djellouli become the Prime Minister of Tunisia?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "February 18, 1907",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/List_of_prime_ministers_of_Tunisia",
+ "https://en.wikipedia.org/wiki/M%27hamed_Djellouli",
+ "https://www.mapsofworld.com/list-of/prime-ministers-tunisia/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3593",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was the Wood River Baptist Association formed in Illinois?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1838",
+ "reference_urls": [
+ "https://bgscil.org/history/",
+ "http://www.blackandchristian.com/articles/academy/trussell1.shtml",
+ "https://en.wikipedia.org/wiki/National_Baptist_Convention"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3597",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the book Cindy Sherman published in 2007?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "A Play of Selves",
+ "reference_urls": [
+ "https://ftn-books.com/products/cindy-sherman-a-play-of-selves-mint-2007",
+ "https://en.wikipedia.org/wiki/Cindy_Sherman",
+ "https://books.google.com.np/books/about/Cindy_Sherman.html?id=OehTAAAAMAAJ&redir_esc=y"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3598",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who composed the music for the song \"We Rollin\" by Punjabi singer Shubh?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Anabolic Beatz.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/We_Rollin",
+ "https://raag.fm/album/we-rollin-songs-mofko.html"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3602",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From what university did John P. Sall receive an honorary doctorate in 2003?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "North Carolina State University",
+ "reference_urls": [
+ "https://www.myniu.com/article.html?aid=168",
+ "https://www.sas.com/pl_pl/company-information/sas-na-swiecie/executive-bios/john-sall.html",
+ "https://en.wikipedia.org/wiki/John_Sall"
+ ],
+ "topic": "Other",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3610",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the 10-meter sculpture that William Kentridge created in 2009?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Fire Walker",
+ "reference_urls": [
+ "https://www.artatsite.com/Afrika/details/Kentridge-William-Fire-Walker-Johannesburg-ArtAtSite.html",
+ "https://en.wikipedia.org/wiki/William_Kentridge",
+ "https://www.delahuntyfineart.com/artists/william-kentridge/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3613",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which mayor of Kathmandu declared Kathmandu Municipality a metropolitan city in 1995?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Prem Lal Singh",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Mayor_of_Kathmandu",
+ "https://kathmandupost.com/opinion/2016/02/21/kathmandu-city"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3626",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year was the Süleymaniye damaged in the great fire?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1660",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/S%C3%BCleymaniye_Mosque",
+ "https://www.themarmarahotels.com/taksim/suleymaniye-mosque",
+ "https://www.britannica.com/topic/Suleymaniye-Mosque"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3627",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "From which Long Island high school did New York State Representative Nick LaLota graduate?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "St. Anthony's High School",
+ "reference_urls": [
+ "https://www.nicklalota.com/about-nick",
+ "https://en.wikipedia.org/wiki/Nick_LaLota",
+ "https://lalota.house.gov/about"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3629",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the binomial name of Acidalia virginaria?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Scopula modicaria",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Arthur_William_Bacot",
+ "https://en.wikipedia.org/wiki/Scopula_modicaria",
+ "https://www.funet.fi/pub/sci/bio/life/insecta/lepidoptera/ditrysia/geometroidea/geometridae/sterrhinae/scopula/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3635",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the number of the executive order that created the Federal Theatre Project?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "7034",
+ "reference_urls": [
+ "https://www.loc.gov/collections/federal-theatre-project-1935-to-1939/articles-and-essays/wpa-federal-theatre-project/",
+ "https://sign.moveon.org/petitions/reestablish-federal-theatre-project",
+ "https://fraser.stlouisfed.org/author/united-states-works-progress-administration",
+ "https://www.loc.gov/collections/federal-theatre-project-1935-to-1939/about-this-collection/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3637",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the rank of Oussama Mellouli at the 2000 Olympics for the men's 400-metre individual medley?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "43rd.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Oussama_Mellouli",
+ "https://www.olympedia.org/athletes/93816",
+ "https://olympics.com/en/olympic-games/sydney-2000/results/swimming/400m-individual-medley-men"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3642",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 2002, what zoo confirmed it had three female lynxes and was developing a plan for a captive breeding program?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jerez Zoo",
+ "reference_urls": [
+ "https://kids.kiddle.co/Iberian_lynx",
+ "https://www.researchgate.net/profile/Inigo-Sanchez-3/publication/258872655_Making_the_lynx/links/0c9605294cc2dc7e45000000/Making-the-lynx.pdf",
+ "https://en.wikipedia.org/wiki/Iberian_lynx"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3644",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What school did Gustav Holst attend between 1886 and 1891?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Cheltenham Grammar School",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Gustav_Holst",
+ "https://www.oxforddnb.com/display/10.1093/ref:odnb/9780198614128.001.0001/odnb-9780198614128-e-33963",
+ "https://thehistorypress.co.uk/article/gustav-holst-and-the-planets/",
+ "https://www.telegraph.co.uk/education/3078764/Town-vs-Gown-Cheltenham-Gloucestershire.html",
+ "https://viscountorgans.net/thaxted-gustav-holst/"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3646",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many concurrent FM synthesis channels (voices) can the Yamaha YM2203 from the 1980s handle?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Yamaha_YM2203",
+ "https://forums.atariage.com/topic/342130-triym-ym2203-fm-ym2149-comp-soundcard/",
+ "https://alchetron.com/Yamaha-YM2203"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3655",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At which university did the 24th Chief Justice of India, Lalit Mohan Sharma, study B.A. Hons.?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Patna University",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lalit_Mohan_Sharma",
+ "https://www.sci.gov.in/judge/justice-l-m-sharma/",
+ "https://aishwaryasandeep.in/biography-of-chief-justice-lalit-mohan-sharma/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3667",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What Little League did Johnny Damon play baseball in as a child before junior high school?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "South Orange Little League",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Johnny_Damon",
+ "https://mn2s.com/booking-agency/talent-roster/johnny-damon/",
+ "https://www.ocps.net/departments/public_relations/hall_of_fame/inductees/johnny_damon"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3669",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city in India is the flyover bridge named after Sam Manekshaw?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ahmedabad",
+ "reference_urls": [
+ "https://timesofindia.indiatimes.com/city/ahmedabad/flyover-to-be-named-after-sam-manekshaw/articleshow/3625431.cms",
+ "https://en.wikipedia.org/wiki/Sam_Manekshaw",
+ "https://deshgujarat.com/2008/09/11/modis-choiceflyover-in-ahmedabad-to-be-named-after-sam-manekshaw/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3671",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year was Jerry Lee Lewis's 13th album released on Mercury Records?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1970",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/She_Even_Woke_Me_Up_to_Say_Goodbye_(album)",
+ "https://www.allmusic.com/album/she-even-woke-me-up-to-say-goodbye-mw0000838334",
+ "https://www.discogs.com/release/2806294-Jerry-Lee-Lewis-She-Even-Woke-Me-Up-To-Say-Goodbye"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3672",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What team came second in Group C in the 2018–19 UEFA Champions League?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Liverpool FC",
+ "reference_urls": [
+ "https://www.uefa.com/uefachampionsleague/history/seasons/2019/groups/",
+ "https://en.wikipedia.org/wiki/2018%E2%80%9319_UEFA_Champions_League_group_stage",
+ "https://en.wikipedia.org/wiki/2018%E2%80%9319_UEFA_Champions_League",
+ "https://www.uefa.com/uefachampionsleague/news/0252-0e9902dd97ae-bd3c7b568287-1000--champions-league-2018-19-all-the-fixtures-and-results/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3674",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what month and year did Spencer Perceval leave office as the Attorney General for England and Wales?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "February 1806",
+ "reference_urls": [
+ "https://victorianweb.org/history/pms/perceval.html",
+ "https://en.wikipedia.org/wiki/Spencer_Perceval"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3681",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the primary performance by Marina Abramović and Uwe Laysiepen that was re-enacted in 2010?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Imponderabilia",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ulay",
+ "https://en.wikipedia.org/wiki/Marina_Abramovi%C4%87",
+ "https://www.moma.org/audio/playlist/243/3119"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3682",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the venue where the 1992 Scandinavian Masters golf tournament happened?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Barsebäck Golf & Country Club",
+ "reference_urls": [
+ "https://www.europeantour.com/dpworld-tour/scandinavian-masters-1992/results?round=4",
+ "https://en.wikipedia.org/wiki/Scandinavian_Masters",
+ "https://en.wikipedia.org/wiki/Barseb%C3%A4ck_Golf_%26_Country_Club"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3691",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which month and year did Arch Linux installation images start including installation scripts by default?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "April 2021",
+ "reference_urls": [
+ "https://archlinux.org/news/installation-medium-with-installer/",
+ "https://en.wikipedia.org/wiki/Arch_Linux"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3696",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which two universities awarded John Harry Dunning an honorary doctorate in 2007?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Lund, Sweden \nChinese Culture University in Taipe",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/John_Harry_Dunning",
+ "https://www.eiasm.org/associations/eiba/chronicle.asp?chronicle_id=20&item_id=118",
+ "https://prabook.com/web/john.dunning/644396"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3698",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many siblings did Pauline LaFon Gore have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "5",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Pauline_LaFon_Gore",
+ "https://www.findagrave.com/memorial/10125248/pauline-gore",
+ "https://ancestors.familysearch.org/en/K2J3-JXN/pauline-lafon-1912-2004"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3703",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the photographer for the cover of the March 29/April 5, 2021, issue of Time?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Wynne Neilly",
+ "reference_urls": [
+ "https://www.cbc.ca/arts/q/wynne-neilly-q-tom-power-interview-1.6873349",
+ "https://en.wikipedia.org/wiki/Elliot_Page",
+ "https://en.wikipedia.org/wiki/Wynne_Neilly",
+ "https://www.torontomu.ca/news-events/news/2021/04/ryerson-grad-photographs-elliot-page-in-times-first-cover-of-trans-man/"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3704",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What man helped FitzGerald secure a pension for Oliver Heaviside in 1896?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "John Perry",
+ "reference_urls": [
+ "https://www.geni.com/people/Oliver-Heaviside/6000000043201196679",
+ "https://en.wikipedia.org/wiki/Oliver_Heaviside",
+ "https://www.worldradiohistory.com/Archive-ITT/20s/ITT-Vol-07-1928-02.pdf",
+ "https://www.microwavejournal.com/articles/6572-twenty-three-years-the-acceptance-of-maxwell-s-theory"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3709",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city and province was David Sweet born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kingston, Ontario",
+ "reference_urls": [
+ "https://comment.org/contributors/david-sweet/",
+ "https://lop.parl.ca/sites/ParlInfo/default/en_CA/People/Profile?personId=2114",
+ "https://en.wikipedia.org/wiki/David_Sweet"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3712",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many yellow cards did Arsenal get in the Champions League Final match between Barcelona and Arsenal on May 18, 2006?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://www.espn.co.uk/football/match/_/gameId/197123/arsenal-barcelona",
+ "https://en.wikipedia.org/wiki/2006_UEFA_Champions_League_final",
+ "https://www.uefa.com/uefachampionsleague/match/84101--barcelona-vs-arsenal/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3714",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In how many first-class matches did Douglas Bennett, the South African cricketer, play from 1912 to 1924?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "7",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Douglas_Bennett_(cricketer",
+ "https://wikiroulette.co/?p=Douglas_Bennett_(cricketer",
+ "https://www.espncricinfo.com/cricketers/douglas-bennett-44186"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3717",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which U.S. state is the observatory where the asteroid 3430 Bradfield was discovered located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "California",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/3430_Bradfield",
+ "https://britastro.org/2014/australian-comet-discoverer-bill-bradfield-dies-age-86",
+ "https://sites.astro.caltech.edu/palomar/about/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3719",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the Spring-Summer 1984 collection by Vivienne Westwood?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Hypnos",
+ "reference_urls": [
+ "https://www.vam.ac.uk/articles/vivienne-westwood-punk-new-romantic-and-beyond",
+ "https://www.viviennewestwood.com/en-us/westwood-world/the-story-so-far/",
+ "https://www.viviennewestwood.com/en-it/westwood-world/the-story-so-far/",
+ "https://www.bloomsburyfashioncentral.com/article?docid=b-9781350934429&tocid=b-9781350934429-FPA304"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3721",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the first schoolhouse in Newbliss, Ontario, built around 1830?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "S.S. #5 Newbliss School.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Elizabethtown-Kitley",
+ "http://www.oneroomschoolhouses.ca/elizabethtown-kitley.html",
+ "https://www.ucdsb.on.ca/community/historical_school_information/leeds_county_school_information",
+ "https://www.lynmuseum.ca/2016/11/18/newbliss-hamlet-kitley/",
+ "https://www.lynmuseum.ca/2016/10/29/newbliss-school-one-room-schoolhouse-kitley/"
+ ],
+ "topic": "History",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3750",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many people won the Arab Creativity Oscar before Mishary Alafasy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "0",
+ "reference_urls": [
+ "https://www.tuko.co.ke/facts-lifehacks/celebrity-biographies/503354-who-mishary-rashid-alafasy-wife-children-mosque/",
+ "https://en.wikipedia.org/wiki/Mishari_bin_Rashid_Alafasy",
+ "https://thecognate.com/shaikh-mishary-bin-rashid-alafasy/"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3755",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the half-life of radon-224 in hours?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1.8 hours (acceptable range: anything between 1.78 and 1.82 hours)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Radon",
+ "https://periodictable.com/Isotopes/086.224/index2.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3757",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who did Manny Diaz Jr. lose to when he ran for the Miami-Dade County School Board in 2010?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Perla Tabares Hantman",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Manny_D%C3%ADaz_Jr.",
+ "https://ballotpedia.org/Perla_Tabares_Hantman",
+ "https://en.wikipedia.org/wiki/Manny_Diaz_%28Florida_politician%29"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3763",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What's the painting by Munch called with a tired girl lying on a bed painted in 1894?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Day After",
+ "reference_urls": [
+ "https://www.overstockart.com/painting/the-day-after",
+ "https://www.artchive.com/artwork/the-day-after-edvard-munch-1894-1895/",
+ "https://www.arthistoryproject.com/artists/edvard-munch/the-day-after/",
+ "https://www.nasjonalmuseet.no/en/collection/object/NG.M.00808"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3768",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which Vermont town was politician Charles Jairus Adams born in 1917?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Randolph, Orange County",
+ "reference_urls": [
+ "https://graphsearch.epfl.ch/fr/concept/52198543",
+ "https://www.findagrave.com/memorial/72244056/charles-jairus-adams",
+ "https://en.wikipedia.org/wiki/Charles_J._Adams_(Vermont_politician)"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3771",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the UNII of Axitinib, a small-molecule tyrosine kinase inhibitor developed by Pfizer?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "C9LVQ0YUXG",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Axitinib",
+ "https://precision.fda.gov/uniisearch/srs/unii/C9LVQ0YUXG",
+ "https://pubchem.ncbi.nlm.nih.gov/compound/Axitinib"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3773",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the original settlement name of the village of Addison, Michigan?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Manetue",
+ "reference_urls": [
+ "https://addisonmi.us/about-us",
+ "https://en.wikipedia.org/wiki/Addison",
+ "https://99wfmk.com/the-town-with-six-names-vintage-photos-of-addison-in-lenawee-county-michigan/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3785",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What name was given to the boardroom at Staffordshire University Students' Union in honor of Dulcie September in October 2011?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "September Room",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Dulcie_September",
+ "https://sbffranktalk.blogspot.com/2016/04/dulcie-september.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3791",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which surah of the Holy Quran are the palm trees and the olives mentioned in the 29th verse?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Abasa 80.",
+ "reference_urls": [
+ "https://quran.com/abasa",
+ "https://corpus.quran.com/translation.jsp?chapter=80&verse=29",
+ "https://quran.com/80?startingVerse=29",
+ "https://surahquran.com/english-aya-29-sora-80.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3796",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many kilometers is Lolab Valley in Kupwara district from Bandipore via Aloosa village?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "30 kilometers (acceptable range: anything between 29 and 31 kilometers)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bandipore",
+ "https://bandipore.nic.in/about-district/",
+ "https://www.jatland.com/home/Bandipora"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3797",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the first band Robbie Robertson joined that formed in '56?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Little Caesar and the Consuls",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Robbie_Robertson",
+ "https://hellorayo.co.uk/absolute-radio/music/news/the-band-robbie-robertson-dead/",
+ "https://ultimateclassicrock.com/robbie-robertson-dead-at-80/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3801",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many children did actress Camille Clifford have with her second husband, Captain John Meredyth Jones-Evans?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1",
+ "reference_urls": [
+ "https://aboutcards.blogspot.com/2007/01/camille-clifford-gibson-girl-family.html",
+ "https://en.wikipedia.org/wiki/Camille_Clifford",
+ "https://quellochepiaceavaleria.com/en/camille-clifford-perfect-body-and-iconic-gibson-girl/"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3814",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what radio show was a laugh track first used?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Bing Crosby – Chesterfield Show",
+ "reference_urls": [
+ "https://daily.jstor.org/the-laugh-track-loathe-it-or-love-it/",
+ "https://www.videomaker.com/how-to/directing/film-history/the-history-of-the-laugh-track/",
+ "https://en.wikipedia.org/wiki/Laugh_track"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3817",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "To whom was Ida Pulis Lathrop married?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Cyprus Clark Lathrop",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ida_Pulis_Lathrop",
+ "https://www.albany.edu/arce/LathropXX.html",
+ "https://en.wikipedia.org/wiki/Gertrude_K._Lathrop"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3824",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the Thermal Design Power, in watts, of the Intel® Core™ i7-9700E Processor that has 8 total cores?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "65W (acceptable range: anything between 64W and 66W)",
+ "reference_urls": [
+ "https://www.techpowerup.com/cpu-specs/core-i7-9700e.c3122",
+ "https://www.intel.com/content/www/us/en/products/sku/195306/intel-core-i79700e-processor-12m-cache-up-to-4-40-ghz/specifications.html"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3846",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the first calculator Toshiba marketed?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "BC-1001",
+ "reference_urls": [
+ "https://web.archive.org/web/20070520202433/http://www.oldcalculatormuseum.com/toshbc1411.html",
+ "https://www.oldcalculatormuseum.com/toshbc1411.html",
+ "http://www.calcuseum.com/SCRAPBOOK/BONUS/10132/1.htm",
+ "https://blog.goo.ne.jp/tk-80/e/10c1fa49f06be35a562ca19bedaa647b"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3858",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "For what magazine did artist J.C. Leyendecker win a magazine cover competition in 1896?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Century Magazine",
+ "reference_urls": [
+ "https://www.saturdayeveningpost.com/artists/j-c-leyendecker/",
+ "https://www.shuru-art.com/blogs/news/j-c-leyendecker-the-iconic-illustrator-of-modern-magazines",
+ "https://en.wikipedia.org/wiki/J._C._Leyendecker"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3862",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "By 1913, how many stars could astronomer Annie Jump Cannon classify per hour?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "200 (acceptable range: anything between 198 and 202)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Annie_Jump_Cannon",
+ "https://princetonastronomy.com/2021/02/01/annie-jump-cannon-and-the-creation-of-stellar-classification/",
+ "https://kids.kiddle.co/Annie_Jump_Cannon"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3881",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which parochial school did Harry Belafonte attend?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "St. Charles Borromeo",
+ "reference_urls": [
+ "https://www.ncronline.org/news/harry-belafonte-entertainer-and-activist-dead-96",
+ "https://catholiccourier.com/articles/harry-belafonte-inspired-by-life-of-sister-thea-bowman/",
+ "https://en.wikipedia.org/wiki/Harry_Belafonte"
+ ],
+ "topic": "Music",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3883",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "When was Gavi shown a yellow card in the La Liga match between Valencia CF and FC Barcelona that happened on October 29, 2022?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "89 minutes (acceptable range: anything between 88 and 90 minutes)",
+ "reference_urls": [
+ "https://www.laliga.com/en-ES/match/temporada-2022-2023-laliga-santander-valencia-cf-fc-barcelona-12",
+ "https://www.fcbarcelona.com/en/matches/77933/valencia-cf-fc-barcelona-la-liga-2022-2023"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3886",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is Step Nineteen of the funeral process called in Shinto tradition?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kotsuage",
+ "reference_urls": [
+ "https://yamatomagazine.home.blog/2021/11/25/appreciating-the-intricacies-of-shinto-funerals-with-daken-and-wolverine/",
+ "https://www.econdolence.com/learning-center/religion-and-culture/shinto/shinto-funeral--burial-customs",
+ "https://worldreligionsshintoproject.weebly.com/weddings-and-funerals.html"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3893",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many bronze medals did Sweden win at the 1956 Summer Olympics?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "6",
+ "reference_urls": [
+ "https://olympics.com/en/olympic-games/melbourne-1956/medals",
+ "https://en.wikipedia.org/wiki/1956_Summer_Olympics",
+ "https://www.olympedia.org/editions/14",
+ "https://en.wikipedia.org/wiki/Sweden_at_the_1956_Summer_Olympics"
+ ],
+ "topic": "Sports",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3902",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Ben Bogard ordained as a Baptist minister?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1887",
+ "reference_urls": [
+ "https://encyclopediaofarkansas.net/entries/benjamin-marcus-bogard-1593/",
+ "https://www.ualrpublicradio.org/2023-07-14/encyclopedia-of-arkansas-minute-benjamin-bogard"
+ ],
+ "topic": "History",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3915",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which team was the first non-European team to enter the Battle of the Nations tournament?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Team Quebec",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Battle_of_the_Nations_(Medieval_Tournament)",
+ "https://botn.info/botn-story/"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3917",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who is the web and administrative assistant for the UNESCO Science Report: The Race Against Time for Smarter Development (2021)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Ali Barbash",
+ "reference_urls": [
+ "https://www.researchgate.net/publication/352524665_Latin_America_in_UNESCO_Science_Report_2021",
+ "https://unesdoc.unesco.org/ark:/48223/pf0000377433?posInSet=4&queryId=N-8f4956bb-3b56-4989-8ed8-2c49e7c6158b"
+ ],
+ "topic": "Other",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3919",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On which album was the song \"The River\" by Nomeansno first released?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "\"Why Do They Call Me Mr. Happy?\"",
+ "reference_urls": [
+ "https://rateyourmusic.com/release/album/nomeansno/why-do-they-call-me-mr-happy/",
+ "https://genius.com/Nomeansno-the-river-lyrics",
+ "https://en.wikipedia.org/wiki/Why_Do_They_Call_Me_Mr._Happy%3F"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3923",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who became the first Indian to be appointed as Professor of Mathematics and Natural Philosophy at Elphinstone College in Bombay?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Dadabhai Naoroji",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Dadabhai_Naoroji",
+ "https://theory.tifr.res.in/bombay/persons/dadabhai-naoroji.html",
+ "https://dinyarpatel.com/naoroji/timeline/"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3930",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the month and year when Telegram introduced animated emoji?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "August 2019",
+ "reference_urls": [
+ "https://blog.emojipedia.org/telegrams-animated-emoji-set/",
+ "https://en.wikipedia.org/wiki/Telegram_(software)"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3944",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1863, George Bentham renamed *Cyanothamnus ramosus* to what binomial name?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Boronia ramosa",
+ "reference_urls": [
+ "https://commons.wikimedia.org/wiki/Category:Boronia_ramosa",
+ "https://kids.kiddle.co/Boronia_ramosa",
+ "https://en.wikipedia.org/wiki/Cyanothamnus_ramosus"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3945",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what month, day, and year did Runaway Tram at Morey's Piers open?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "August 9, 2019",
+ "reference_urls": [
+ "https://coasterpedia.net/wiki/Runaway_Tram",
+ "https://en.wikipedia.org/wiki/Tramcar_(Wildwood",
+ "https://en.wikipedia.org/wiki/Runaway_Tram"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3947",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which state of India was awarded the international honor for afforestation efforts at COP-28?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bihar",
+ "reference_urls": [
+ "https://currentaffairs.adda247.com/bihar-garners-international-recognition-at-cop-28-for-afforestation-efforts/",
+ "https://www.indiatoday.in/environment/story/bihar-afforestation-jal-jeevan-hariyali-abhiyan-cop28-climate-summit-dubai-2471049-2023-12-02",
+ "https://www.thehindu.com/news/national/bihar-receives-global-acclaim-at-cop-28-for-afforestation-initiatives/article67598694.ece"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3949",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In the Boyd family crest, the dexter hand erect in pale has how many fingers bowed inward?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Clan_Boyd",
+ "https://www.scotsconnection.com/clan_crests/boyd.htm",
+ "https://coadb.com/surnames/boyd-arms.html",
+ "https://scotcrest.com/scottish-clans/clans-b/boyd/",
+ "https://archive.org/details/collinsscottishc0000wayg/page/76/mode/1up"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3955",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the journal that Gloria Niemeyer Francke was the associate editor of from 1944 to 1964?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "American Journal of Hospital Pharmacy",
+ "reference_urls": [
+ "https://getsol.app/profile/Gloria-Niemeyer-Francke-1922",
+ "https://en.wikipedia.org/wiki/Gloria_Niemeyer_Francke"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3957",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the crater on Mercury named after Kurt Vonnegut referred to in scientific literature prior to its naming?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "e5",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Vonnegut_(crater)",
+ "http://www.enjoyed.today/Vonnegut_(crater)/",
+ "https://dbpedia.org/page/Vonnegut_(crater)"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-3958",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the dry weight, in pounds, of the Honda RC143 (1960)?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "205 (acceptable range: anything between 202 and 208)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Honda_RC143",
+ "https://www.vf750fd.com/Joep_Kortekaas/1960.html",
+ "https://www.vintagebike.co.uk/pictures/1960-honda-rc143/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3959",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the boiling point of the element cerium in Fahrenheit?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "6229 °F (acceptable range: anything between 6166 and 6292 °F)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Cerium",
+ "https://www.rsc.org/periodic-table/element/58/cerium",
+ "https://www.britannica.com/science/cerium"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-3961",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year did the singer-songwriter Stella Jang become an Innisfree cosmetics model?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2021",
+ "reference_urls": [
+ "https://www.edaily.co.kr/news/read?newsId=01318566628984632&mediaCodeNo=258",
+ "https://en.wikipedia.org/wiki/Innisfree_(brand)"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3967",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What are the day, month, and year of release for the Spyro: Enter the Dragonfly Official Soundtrack?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "5 November 2002",
+ "reference_urls": [
+ "https://vgmdb.net/album/1400",
+ "https://rateyourmusic.com/release/unauth/stewart-copeland/spyro-enter-the-dragonfly/",
+ "https://www.darkspyro.net/dragonfly/?page=8"
+ ],
+ "topic": "Video games",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3968",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what city and country was the 2003 Badminton Asia Championships held?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jakarta, Indonesia",
+ "reference_urls": [
+ "https://memim.com/2003-asian-badminton-championships.html",
+ "https://en.wikipedia.org/wiki/2003_Asian_Badminton_Championships",
+ "https://en.wikipedia.org/wiki/Badminton_Asia_Championships"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3977",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which Norwegian municipality did engineer Sigurd Aalefjær's family move to upon leaving the U.S. shortly after he was born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Vennesla",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Vennesla",
+ "https://www.findagrave.com/memorial/236342864/sigurd_arthur_aalefj%C3%A6r",
+ "https://en.wikipedia.org/wiki/Sigurd_Aalefj%C3%A6r"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-3980",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year did Yohji Yamamoto's mother sell her dressmaking shop?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1972",
+ "reference_urls": [
+ "https://www.bookforum.com/print/1801/the-libertine-life-of-avant-garde-designer-yohji-yamamoto-7326",
+ "https://fashiongtonpost.com/yohji-yamamoto/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-3986",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first openly bisexual state official in the USA?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Evelyn Mantilla",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Bisexuality_in_the_United_States",
+ "https://www.advocate.com/politics/bisexual-politicians-visibility-day",
+ "https://feminist.org/news/kate-brown-just-became-americas-first-ever-openly-bisexual-governor/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-3998",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many children did Robert Moog and his first wife, Shirley May Leigh, have?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4",
+ "reference_urls": [
+ "https://moogfoundation.org/shirleigh-moog-1936-2018/",
+ "https://artsandculture.google.com/story/bob-moog-an-inspired-life-in-sound-moogseum/1wXBjHt_6YypuA?hl=en",
+ "https://en.wikipedia.org/wiki/Robert_Moog"
+ ],
+ "topic": "Music",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4013",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What year was Nigerian artist Uzo Njoku born?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1996",
+ "reference_urls": [
+ "https://www.uzonjoku.com/contact",
+ "https://voltzclarke.com/artists/uzo-njoku/bio/"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4019",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the basin size of the Koshi River in square kilometers?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "74,500 km2 (acceptable range: anything between 70,775 and 78,225 km2)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Kosi_River",
+ "https://indiawris.gov.in/wiki/doku.php?id=kosi_basin"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4021",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what date, month, and year did Ronald Reagan nominate Jean Galloway Bissell, the U.S. circuit judge, to a new seat?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "24 May 1984",
+ "reference_urls": [
+ "https://www.congress.gov/nomination/98th-congress/907",
+ "https://en.wikipedia.org/wiki/List_of_federal_judges_appointed_by_Ronald_Reagan",
+ "https://wikiroulette.co/?p=Adam_Hayden",
+ "https://en.wikipedia.org/wiki/Jean_Galloway_Bissell"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4035",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which school did Lucas Valeriu Ntuba Radebe, the former South African professional footballer, attend until he was 15 years old?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bopasenatla Secondary School",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lucas_Radebe",
+ "https://alchetron.com/Lucas-Radebe",
+ "https://answersafrica.com/inside-lucas-radebes-life-with-wife-thobela-silver-after-losing-feziwe-faith.html"
+ ],
+ "topic": "Sports",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4039",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which two villages in Mauritius were separate villages until they became a single administrative unit in 1963?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Vacoas and Phoenix",
+ "reference_urls": [
+ "https://simple.wikipedia.org/wiki/Vacoas-Phoenix",
+ "https://www.britannica.com/place/Vacoas-Phoenix"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4040",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many CDs did the original Seiken Densetsu 3 soundtrack include?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3",
+ "reference_urls": [
+ "https://vgmdb.net/album/530",
+ "https://www.cdjapan.co.jp/product/SQEX-10783",
+ "https://en.wikipedia.org/wiki/Music_of_the_Mana_series",
+ "https://soundtrackcentral.com/albums/300/seiken-densetsu-3-original-sound-version"
+ ],
+ "topic": "Video games",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4041",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "During whose papacy did Gian Lorenzo Bernini create the \"Ecstasy of Saint Teresa\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Innocent X",
+ "reference_urls": [
+ "https://blogs.kent.ac.uk/artistry/2020/12/10/the-ecstasy-of-saint-teresa/",
+ "https://www.dimensions.com/element/ecstasy-of-saint-teresa",
+ "https://en.wikipedia.org/wiki/Ecstasy_of_Saint_Teresa"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4055",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In August 1974, the Cary High School band performed at which Switzerland event?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Fêtes de Genève",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Cary_High_School",
+ "https://www.wcpss.net/cms/lib/NC01911451/Centricity/Domain/264/100%20Cary%20Years.pdf"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4063",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Where was the first \"All-India Ijtema of Jamaat-e-Islami\" held?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Pathankot",
+ "reference_urls": [
+ "https://islamicstudies.info/literature/En-Roodad-Vol3.pdf",
+ "https://en.wikipedia.org/wiki/Jamaat-e-Islami_Kashmir"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4070",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What former First Lady served as co-chair of the Met Gala from 1977 to 1978?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Jackie Kennedy",
+ "reference_urls": [
+ "https://nz.news.yahoo.com/history-behind-met-gala-215735843.html",
+ "https://sg.news.yahoo.com/history-behind-met-gala-215735843.html",
+ "https://time.com/6972918/met-gala-history/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4076",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Professor Julia Rucklidge earn a Bachelor of Science from McGill University in Montreal, Canada?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1992",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Julia_Rucklidge",
+ "https://profiles.canterbury.ac.nz/Julia-Rucklidge",
+ "https://nz.linkedin.com/in/julia-rucklidge-b58372b7",
+ "https://crediblemind.com/videos/the-surprisingly-dramatic-role-of-nutrition-in-mental-health-julia"
+ ],
+ "topic": "Other",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4080",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which city of Jammu division is KK Birla Garden located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Kathua",
+ "reference_urls": [
+ "https://www.google.com.pk/travel/hotels/entity/ChoIrdH3mcjVlKfoARoNL2cvMTFqZDgwemN3ZxAE?utm_campaign=sharing&utm_medium=link&utm_source=htls&ved=0CAAQ5JsGahcKEwjQnoLRw42HAxUAAAAAHQAAAAAQAw&ts=CAEaBAoCGgAqBAoAGgA",
+ "https://en.wikipedia.org/wiki/K.K._Birla_Garden",
+ "https://www.earlytimes.in/newsdet.aspx?q=274923"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4082",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the cultural symbol of the Lugbara ethnic group of Uganda?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Leopard",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lugbara_people",
+ "https://joshuaproject.net/people_groups/print/13141/UG",
+ "https://ugandatourismcenter.com/place/lugbara-people-and-their-culture/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4086",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year was Anna Yuryevna Netrebko named \"People's Artist of Russia\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2008",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Anna_Netrebko",
+ "https://pantheon.world/profile/occupation/singer/country/russia",
+ "https://kids.kiddle.co/Anna_Netrebko"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4097",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which year did Pantera play on the main stage of Ozzfest alongside Ozzy Osbourne and Black Sabbath?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1997",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Ozzfest_lineups_by_year",
+ "https://www.black-sabbath.com/tourdates/oz97_tour/",
+ "https://en.wikipedia.org/wiki/Pantera",
+ "https://gigart.com/OZZFEST-1997"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4100",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which Paris arrondissement was the apartment where Hermann Goldschmidt lived when he discovered 45 Eugenia located?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "6th",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/45_Eugenia",
+ "https://en.wikipedia.org/wiki/Hermann_Goldschmidt",
+ "https://en.wikipedia.org/wiki/Caf%C3%A9_Procope",
+ "https://books.google.com/books?id=Q6wRAAAAYAAJ&printsec=frontcover"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4103",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what city and country did Gustave \"Gus\" Fitzhugh Touchard Jr. pass away?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Toronto, Canada",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Gustave_F._Touchard",
+ "https://www.tennisarchives.com/player/?pl=3061",
+ "https://www.findagrave.com/memorial/145171477/gustave-fitzhugh-touchard"
+ ],
+ "topic": "Sports",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4106",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What battery does the G-Shock GG-B100-8A come with?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "CR2025",
+ "reference_urls": [
+ "https://shockbase.org/watches/watch_dyn.php?model=GG-B100-8A&subseries=GG-B100&series=100",
+ "https://www.g-central.com/specs/g-shock-gg-b100/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4110",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the commencement speaker at Harvard in 2018?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "John Lewis",
+ "reference_urls": [
+ "https://news.harvard.edu/gazette/story/series/commencement-2018/",
+ "https://en.wikipedia.org/wiki/History_and_traditions_of_Harvard_commencements",
+ "https://www.harvardmagazine.com/2018/04/harvard-commencement-2018",
+ "https://harvard.edu/president/speeches-faust/2018/2018-commencement-speech/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4114",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who gave the slogan \"Quit India\"?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Yusuf Meherally",
+ "reference_urls": [
+ "https://www.jagranjosh.com/general-knowledge/quit-india-movement-day-1691562294-1",
+ "https://en.wikipedia.org/wiki/Yusuf_Meherally"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4118",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the name of the company that sponsored BraviSEAmo! at Tokyo DisneySea from 2004 to 2010?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "NTT DoCoMo",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/BraviSEAmo!",
+ "http://glouproductions.com/tokyo_disney_sea.html",
+ "https://triplydb.com/DBpedia-association/snapshot-2021-06/browser?resource=http%3A%2F%2Fdbpedia.org%2Fresource%2FBraviSEAmo%21"
+ ],
+ "topic": "Other",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4120",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the title of the thesis of the Indian mathematician Amalendu Krishna?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Zero Cycles and K-theory on normal surfaces",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Amalendu_Krishna",
+ "https://annals.math.princeton.edu/2002/156-1/p05",
+ "https://www.jstor.org/stable/3597187"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4123",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How old was Hong Kong social activist Elsie Tu when she married her second husband?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "71",
+ "reference_urls": [
+ "https://www.scmp.com/news/hong-kong/politics/article/1888255/elsie-tu-veteran-hong-kong-politician-and-champion",
+ "https://en.wikipedia.org/wiki/Elsie_Tu",
+ "https://timenote.info/en/Elsie-Tu"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4129",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what city and state is Elizabeth Magie Phillips buried?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Arlington, Virginia",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lizzie_Magie",
+ "https://blogs.loc.gov/inside_adams/2022/09/elizabeth-j-magie/",
+ "https://www.findagrave.com/memorial/100848078/lizzie-magie",
+ "https://commons.wikimedia.org/wiki/File:Grave_of_Elizabeth_Magie_Phillips_(1866-1948)_(distance).jpg"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4142",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What percentage of the electoral vote did Georges Marrane win in the 1958 French Presidential election?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "13.03% (acceptable range: anything between 12.90 and 13.16%)",
+ "reference_urls": [
+ "https://p2k.stekom.ac.id/ensiklopedia/Pemilihan_umum_Presiden_Prancis_1958",
+ "https://en.wikipedia.org/wiki/1958_French_presidential_election",
+ "https://www.politiquemania.com/fiche-4582.html"
+ ],
+ "topic": "Politics",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4145",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the architectural style of the Odd Fellows Hall building in Eureka, California?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Second Empire (also know as \"French Empire\" or \"2nd Empire/Italianate\")",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Odd_Fellows_Hall_(Eureka",
+ "https://noehill.com/humboldt/nat1978000673.asp",
+ "https://wikiroulette.co/?p=Odd_Fellows_Hall_(Eureka",
+ "https://theclio.com/entry/97936"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4149",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What opera did Walt Whitman and Peter Doyle travel to New York to see in May of 1870?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Poliuto",
+ "reference_urls": [
+ "https://whitman-prod.unl.edu/criticism/current/anc.00155.html",
+ "https://en.wikipedia.org/wiki/Peter_Doyle_(transit_worker)",
+ "https://whitmanarchive.org/item/anc.00155"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4151",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At which college of the University of Cambridge did the 13th Chief Justice of India, S. M. Sikri, study law?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Trinity College, Cambridge",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/S._M._Sikri",
+ "https://www.scobserver.in/judges/s-m-sikri/"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4155",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Where did Johann Ignaz Ludwig Fischer die?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "In Berlin.",
+ "reference_urls": [
+ "https://www.britannica.com/biography/Ludwig-Fischer",
+ "https://www.encyclopedia.com/arts/dictionaries-thesauruses-pictures-and-press-releases/fischer-johann-ignaz-ludwig",
+ "https://en.wikipedia.org/wiki/Ludwig_Fischer_(bass)"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4157",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the city and state where Václav Hlavatý, a Czech-American mathematician, died?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Bloomington, Indiana",
+ "reference_urls": [
+ "https://archives.iu.edu/catalog/InU-Li-VAD6524",
+ "https://en.wikipedia.org/wiki/V%C3%A1clav_Hlavat%C3%BD"
+ ],
+ "topic": "Geography",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4163",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the peak in meters of the Cochiquito volcanic group?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1435 m (acceptable range: anything between 1420 and 1450 m)",
+ "reference_urls": [
+ "https://www.mountain-forecast.com/peaks/Cochiquito-Volcanic-Group",
+ "https://en.wikipedia.org/wiki/Cochiquito_Volcanic_Group",
+ "https://volcano.si.edu/volcano.cfm?vn=357071"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4182",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the current name of the first dressmaking school in Japan?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Bunka Fashion College",
+ "reference_urls": [
+ "https://fashionunited.com/education/news/how-japan-s-first-dressmaking-school-changed-women-s-lives2/2016032110700",
+ "https://artsandculture.google.com/story/bunka-fashion-college-a-timeline-of-japanese-fashion-bunka-fashion-college/9gVRcVqm1sl1Iw?hl=en",
+ "https://www.bunka-bi.ac.jp/en/school/benefits/",
+ "https://www.bunka-fc.ac.jp/en/"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4184",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What four health organizations wrote to President John F. Kennedy calling for a National Commission on Smoking?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "American Cancer Society, the American Public Health Association, the American Heart Association, and the National Tuberculosis Association",
+ "reference_urls": [
+ "https://www.ajmc.com/view/surgeon-generals-smoking-and-health-turns-50",
+ "https://circulatingnow.nlm.nih.gov/2014/01/10/smoking-in-america-50-years-on/",
+ "https://www.nationalaffairs.com/publications/detail/presidents-and-public-health-crises",
+ "https://acsjournals.onlinelibrary.wiley.com/doi/10.3322/caac.21210"
+ ],
+ "topic": "History",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4188",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "While Henri d'Angoulême served as the governor of Provence, who was his secretary?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "François de Malherbe.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Henri_d'Angoulême",
+ "https://en.wikipedia.org/wiki/Henri_d%27Angoul%C3%AAme",
+ "https://en.wikipedia.org/wiki/Fran%C3%A7ois_de_Malherbe",
+ "https://www.britannica.com/biography/Francois-de-Malherbe"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4190",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of King Goodwill Zwelithini's seventh child by his wife, Queen Mantfombi Dlamini?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Mandlesizwe Zulu",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Goodwill_Zwelithini",
+ "https://en.wikipedia.org/wiki/Mantfombi_Dlamini",
+ "https://briefly.co.za/facts-lifehacks/celebrities-biographies/134873-all-king-zwelithini-sons-personal-stories/"
+ ],
+ "topic": "History",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4192",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "The Miners' Union Hall in British Columbia was designed by an architect practicing in which American city?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Los Angeles",
+ "reference_urls": [
+ "https://www.rosslandnews.com/news/rossland-miners-hall-receives-national-recognition-from-parks-canada-4941702",
+ "https://parks.canada.ca/culture/~/~/link.aspx?_id=063465456C2740D9B30330158442BAF8&_z=z",
+ "https://waymarking.com/waymarks/wm16KRM_Rossland_Miners_Hall_receives_national_recognition_Rossland_BC",
+ "https://parks.canada.ca/culture/designation/lieu-site/miners-union-hall"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4194",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "At the 2006 National Census, what was the population of Sonqorabad, Alborz, in 337 households?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1376 (acceptable range: anything between 1362 and 1390)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Sonqorabad",
+ "https://www.wikidata.org/wiki/Q5828162",
+ "https://datacommons.iitm.ac.in/place/wikidataId/Q5828162"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4197",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What surname of a mathematician is engraved on the Eiffel Tower at location NW06?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "LAGRANGE",
+ "reference_urls": [
+ "https://fromfrancewithloves.wordpress.com/brilliant-me/well-known-scientists/72-names-written-on-eiffel-tower/",
+ "https://en-academic.com/dic.nsf/enwiki/639512",
+ "https://en.wikipedia.org/wiki/List_of_the_72_names_on_the_Eiffel_Tower"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4198",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What was the Minute Man sculpture by Daniel Chester French originally intended to be made out of?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Stone",
+ "reference_urls": [
+ "https://eglomisedesigns.com/products/concord-massachusetts-the-minute-man-statue?variant=43633642438953",
+ "https://www.flickr.com/photos/pmeimon/52100430544/",
+ "https://en.wikipedia.org/wiki/The_Minute_Man"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4200",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In which university did Vujica Lazović defend his master's degree in 1994?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "University of Belgrade",
+ "reference_urls": [
+ "https://www.celebsagewiki.com/vujica-lazovic",
+ "https://en.wikipedia.org/wiki/Vujica_Lazovi%C4%87"
+ ],
+ "topic": "Politics",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4206",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the ChemSpider ID of Sitagliptin, an anti-diabetic medication used to treat Type 2 diabetes?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "3571948",
+ "reference_urls": [
+ "https://massbank.eu/MassBank/RecordDisplay?id=MSBNK-Athens_Univ-AU225701",
+ "https://www.chemspider.com/Chemical-Structure.3571948.html",
+ "https://www.mahirtech.com/sitagliptin.htm"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4219",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "As of August 2017, precisely how many stars were classified by the Henry Draper Catalogue?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "359,083 (acceptable range: anything between 341,128 and 377,038)",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Henry_Draper_Catalogue",
+ "http://www.enjoyed.today/Henry_Draper_Catalogue/"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4222",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "On what day, month, and year was Manuleleua Paletasala Tovale appointed Associate Minister for the Prime Minister and Cabinet?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "28 July 2021",
+ "reference_urls": [
+ "https://dbpedia.org/page/Manuleleua_Paletasala_Tovale",
+ "https://www.samoaobserver.ws/category/samoa/88195",
+ "https://en.wikipedia.org/wiki/Manuleleua_Paletasala_Tovale"
+ ],
+ "topic": "Politics",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4225",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In 1999, who presented Susan Lucci with an Emmy?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Shemar Moore",
+ "reference_urls": [
+ "https://www.history.com/this-day-in-history/soap-star-susan-lucci-wins-first-emmy-after-19-nominations",
+ "https://en.wikipedia.org/wiki/Susan_Lucci"
+ ],
+ "topic": "TV shows",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4226",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What city and country was the engraver George Cooke's father from?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Frankfurt, Germany.",
+ "reference_urls": [
+ "https://www.abebooks.it/arte-stampe/Lulworth-Castle-J-M-W-Turner/31516396934/bd",
+ "https://en.wikipedia.org/wiki/George_Cooke_(engraver)"
+ ],
+ "topic": "Art",
+ "answer_type": "Place"
+ },
+ {
+ "id": "sqv-4227",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How much (in USD) was Frida's self-portrait with loose hair sold for in an auction by Christie's, New York, in May of 1991?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1.65 million USD (acceptable range: anything between 1.6 million and 1.7 million USD)",
+ "reference_urls": [
+ "https://www.fridakahlo.org/self-portrait-with-loose-hair.jsp",
+ "https://www.kahlo.org/self-portrait-with-loose-hair/",
+ "https://www.artspace.com/magazine/art_101/book_report/phaidon-going-once-auction-record-breakers-54348"
+ ],
+ "topic": "Art",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4234",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who gifted \"Charing Cross Bridge\" by Claude Monet to Churchill after WWII?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Emery Reeves",
+ "reference_urls": [
+ "https://www.nationaltrust.org.uk/visit/kent/chartwell/explore-the-house-at-chartwell?origin=search",
+ "https://www.nationaltrustcollections.org.uk/object/1102455",
+ "https://www.flickr.com/photos/anitagould/53092697453",
+ "https://artuk.org/visit/venues/national-trust-chartwell-7431"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4237",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What were the first, middle, and last names of the second son of Amadeus Mozart?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Karl Thomas Mozart.",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Karl_Thomas_Mozart",
+ "https://artsandculture.google.com/entity/karl-thomas-mozart/m0289c10?hl=en",
+ "https://en.wikipedia.org/wiki/Wolfgang_Amadeus_Mozart"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4243",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who wrote the song \"Let's Do It Again\" performed by TLC?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Babyface and Jon-John",
+ "reference_urls": [
+ "https://mojim.com/usy100727x2x10.htm",
+ "https://genius.com/Tlc-lets-do-it-again-lyrics/q/writer",
+ "https://en.wikipedia.org/wiki/CrazySexyCool"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4245",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who lent Salvador Dalí a villa for several months in 1938 so he could work?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Gabrielle Coco Chanel",
+ "reference_urls": [
+ "https://www.chanel.com/us/about-chanel/the-founder/",
+ "https://www.theartstory.org/artist/dali-salvador/",
+ "https://www.fairheadfineart.com/biographies/salvador-dali",
+ "https://en.wikipedia.org/wiki/Salvador_Dal%C3%AD"
+ ],
+ "topic": "Art",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4246",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is Frida Kahlo's largest painting called in English?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "The Two Fridas.",
+ "reference_urls": [
+ "https://www.britannica.com/topic/The-Two-Fridas",
+ "https://www.kahlo.org/two-fridas/",
+ "https://en.wikipedia.org/wiki/The_Two_Fridas"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4248",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which high school did former Assistant Secretary of Commerce and Labor Frank Bestow Wiborg attend?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Chickering Scientific and Classical Institute",
+ "reference_urls": [
+ "https://wwwcam.tripod.com/sherman/id21.html",
+ "https://www.easthamptonstar.com/archive/grandest-grand-summer-residence-fb-wiborg",
+ "https://en.wikipedia.org/wiki/Frank_Bestow_Wiborg"
+ ],
+ "topic": "Politics",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4251",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the signature frequency of a healthy human body in MHz according to Heidi Yellen in 2003?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "100 MHz (acceptable range: anything between 99 and 101 MHz)",
+ "reference_urls": [
+ "https://modernsaintliving.com/2022/02/17/wool-linen-energetic-incompatibility/",
+ "https://empoweredsustenance.com/frequency-of-fabric/",
+ "https://www.farawear.ca/blog-2-1/blog-frequency-fabric"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4261",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did the Soweto Gospel Choir perform for Oprah Winfrey for the first time?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "2006",
+ "reference_urls": [
+ "https://www.sowetogospelchoir.com/about-us/",
+ "https://caravanbc.com/events/soweto-gospel-choir-4/",
+ "https://hancher.uiowa.edu/sites/hancher.uiowa.edu/files/soweto_gospel_choir_playbill_05_web.pdf"
+ ],
+ "topic": "Music",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4264",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who won the Benjamin Franklin Medal for Computer and Cognitive Science in 2002?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Lucy Suchman",
+ "reference_urls": [
+ "https://publish.illinois.edu/prairiefutures/files/2017/02/Suchman-poster-28final29.pdf",
+ "https://fi.edu/en/awards/laureates/lucy-suchman",
+ "https://en.wikipedia.org/wiki/Franklin_Institute_Awards",
+ "https://www.sciencedirect.com/science/article/abs/pii/S0016003203000462"
+ ],
+ "topic": "Science and technology",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4265",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the title of the song after which Lady Annabel Goldsmith, the famous English socialite, was named?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "\"Miss Annabel Lee\"",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Lady_Annabel_Goldsmith",
+ "https://www.thesteepletimes.com/the-roll-call/lady-annabel-goldsmith/"
+ ],
+ "topic": "Music",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4268",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which tributary of the Jhelum originates in the central Pir Panjal range?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Dudhganga",
+ "reference_urls": [
+ "https://www.india9.com/i9show/-Jammu-and-Kashmir/Dudhganga-River-45673.htm",
+ "https://en.wikipedia.org/wiki/Rivers_of_Jammu_and_Kashmir",
+ "https://kashmirtravels.com/lakes-and-rivers.html"
+ ],
+ "topic": "Geography",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4270",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How much money did Benny Hinn Ministries donate to the tsunami relief effort in 2007?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "$250,000",
+ "reference_urls": [
+ "https://www.citimuzik.com/2024/04/benny-hinn-net-worth.html",
+ "https://en.wikipedia.org/wiki/Benny_Hinn"
+ ],
+ "topic": "Other",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4276",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "How many countries border Nigeria?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "4",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Geography_of_Nigeria",
+ "https://www.nationsonline.org/oneworld/map/nigeria-political-map.htm",
+ "https://www.britannica.com/place/Nigeria"
+ ],
+ "topic": "Geography",
+ "answer_type": "Number"
+ },
+ {
+ "id": "sqv-4277",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "In what year did Leo Tolstoy come to Ilya Repin's studio to introduce himself?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "1880",
+ "reference_urls": [
+ "https://www.petitpalais.paris.fr/sites/default/files/content/press-kits/dp_repine_en.pdf",
+ "https://www.rbth.com/arts/330584-leo-tolstoy-portrait-repin",
+ "https://en.wikipedia.org/wiki/Ilya_Repin"
+ ],
+ "topic": "Art",
+ "answer_type": "Date"
+ },
+ {
+ "id": "sqv-4287",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Which English singer was a film and television critic for The Observer from 1965 to 1973?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "George Melly",
+ "reference_urls": [
+ "https://tv.apple.com/us/person/george-melly/umc.cpc.frsn4blhe8xv4f87umhszpr8",
+ "https://en.wikipedia.org/wiki/George_Melly",
+ "https://monoskop.org/George_Melly"
+ ],
+ "topic": "Music",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4291",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "Who was the first female DG of MI5, and the first DG whose name was publicized on appointment?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Stella Rimington",
+ "reference_urls": [
+ "https://www.horus-security.co.uk/articles/notable-women-security-stella-rimington/",
+ "https://en.wikipedia.org/wiki/Stella_Rimington",
+ "https://thebookerprizes.com/the-booker-library/judges/stella-rimington"
+ ],
+ "topic": "Politics",
+ "answer_type": "Person"
+ },
+ {
+ "id": "sqv-4306",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What did the father of William Holwell Carr do for a living?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "Apothecary",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/William_Holwell_Carr",
+ "https://www.nationalgallery.org.uk/people/revd-william-holwell-carr"
+ ],
+ "topic": "Art",
+ "answer_type": "Other"
+ },
+ {
+ "id": "sqv-4319",
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": "What is the name of the settler who selected the name of Aloha Township, Michigan?",
+ "origin": "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv",
+ "provenance_kind": "public_labeled",
+ "derivation": "Unchanged question; all publisher questions of at most 128 Unicode characters are included",
+ "reference_answer": "James B. Patterson",
+ "reference_urls": [
+ "https://en.wikipedia.org/wiki/Aloha_Township",
+ "https://www.alohatownship.org/",
+ "https://99wfmk.com/aloha-michigan/"
+ ],
+ "topic": "Geography",
+ "answer_type": "Person"
+ }
+ ],
+ "reference_revision": {
+ "id": "search-reference-2",
+ "root_cause": "Known tracking parameters obscured identical page URLs; the Vue documentation is officially available at both declared paths. Semantic query parameters remain significant.",
+ "scope": "All three methods and all predeclared known-page queries in the five-result cohort",
+ "regressions": [
+ "tests.web_search.test_search.SearchScenarios.test_known_tracking_parameters_do_not_hide_the_same_page",
+ "tests.web_search.test_search.SearchScenarios.test_semantic_url_parameters_are_preserved"
+ ]
+ },
+ "collection_revision": {
+ "id": "search-collection-2",
+ "root_cause": "HTTP 200 can precede a truncated body; reference availability now also requires a successful transfer. Reference timeout is separate from API timing.",
+ "scope": "Entire declared two-method, 24-query, three-round cohort rerun; previous calls preserved outside Git",
+ "regressions": [
+ "tests.web_search.test_runner.ReferenceCaptureScenarios.test_http_200_with_incomplete_transfer_is_not_qualified"
+ ],
+ "supersedes_data_home_relative": "web-search/20261020-matched"
+ },
+ "cohort_revision": {
+ "reason": "Expand from 24 to 120 preregistered queries; public query catalog and exact community queries added. New complete matrix; previous pilot retained separately.",
+ "public_catalog_commit": "7714e86b1b8d7b943037c38b04d4f6ba65566d5b",
+ "public_catalog_sha256": "90ed45dae3a4604664102eede1470e1a1ab1cdca0c54f279113c94ec55c64231"
+ },
+ "reference_checks": {},
+ "reference_artifacts": {
+ "https://huggingface.co/datasets/google/simpleqa-verified/resolve/ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv": {
+ "sha256": "fb990cca0fae8515ae2f51b794d5fa791d095c1f919ecdbe22d0c1642e9ab966",
+ "license": "MIT",
+ "scope": "Frozen publisher-provided answers and supporting URLs; source URL hits are not exhaustive relevance judgments"
+ }
+ }
+}
diff --git a/evaluation/web-search/social-platforms.json b/evaluation/web-search/social-platforms.json
new file mode 100644
index 000000000..d0c74ba4f
--- /dev/null
+++ b/evaluation/web-search/social-platforms.json
@@ -0,0 +1,558 @@
+{
+ "schema": "web-search/1",
+ "title": "Social-platform search: 28 queries transcribed from a user-supplied screenshot",
+ "publication": {
+ "host": "https://artifact-site.lexmount.cn",
+ "state": "new-private-artifact",
+ "slug": null,
+ "expected_version": null
+ },
+ "protocol": {
+ "top_k": 10,
+ "rounds": 3,
+ "score_round": 0,
+ "concurrency": 1,
+ "server_timeout_ms": 10000,
+ "client_timeout_s": 20,
+ "interval_s": 0.3,
+ "retry": false,
+ "order": "rotate methods by case and round",
+ "latency": "Client wall time to complete response bytes; all calls and nonempty successes reported separately",
+ "quality": "First preselected round; known-page hit@5/@10 and reciprocal rank; not full-web recall",
+ "review": "No independent result review; machine checks only",
+ "reference": "Before/after complete publisher responses verify declared target identity; volatile HTML bytes may differ. No source-body scoring.",
+ "cost": "List-price estimate in native currency; unknown Lexmount price remains unavailable; not an invoice",
+ "reference_timeout_s": 30,
+ "reference_scope": "identity",
+ "execution_location": "Same macOS client in Asia/Shanghai time zone; provider localization defaults; upstream geographic routing not controlled"
+ },
+ "methods": [
+ {
+ "id": "lexmount",
+ "label": "Lexmount Search",
+ "adapter": "lexmount",
+ "endpoint": "https://webfetch.local.lexmount.net/v1/search",
+ "key_env": "LEXMOUNT_SEARCH_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": null,
+ "price_source": "Product pricing not set in supplied requirements",
+ "price_checked": "2026-10-20",
+ "billing": "unknown"
+ },
+ {
+ "id": "deepseek",
+ "label": "DeepSeek Search + content",
+ "adapter": "deepseek",
+ "endpoint": "https://api.deepseek.com/v1/tools/search",
+ "key_env": "DEEPSEEK_API_KEY",
+ "currency": "CNY",
+ "price_per_1000": 5,
+ "price_source": "https://api-docs.deepseek.com/zh-cn/guides/search/",
+ "price_checked": "2026-10-20",
+ "billing": "http-200-nonempty"
+ }
+ ],
+ "cases": [
+ {
+ "id": "social-01",
+ "family": "site",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L1",
+ "query": "site:mp.weixin.qq.com 大模型 应用",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 1,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-02",
+ "family": "web",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L2",
+ "query": "公众号文章 DeepSeek 使用教程",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 2,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-03",
+ "family": "site",
+ "language": "zh",
+ "category": "wechat",
+ "difficulty": "L3",
+ "query": "site:mp.weixin.qq.com AI after:2026-09-01",
+ "domains": [
+ "mp.weixin.qq.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 3,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-04",
+ "family": "site",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L1",
+ "query": "site:xiaohongshu.com 露营装备清单",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 4,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-05",
+ "family": "web",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L2",
+ "query": "小红书 成都 美食 推荐 笔记",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 5,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-06",
+ "family": "site",
+ "language": "zh",
+ "category": "xiaohongshu",
+ "difficulty": "L3",
+ "query": "site:xiaohongshu.com 穿搭 after:2026-09-01",
+ "domains": [
+ "xiaohongshu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 6,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-07",
+ "family": "site",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L1",
+ "query": "site:zhihu.com 如何评价 DeepSeek",
+ "domains": [
+ "zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 7,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-08",
+ "family": "web",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L2",
+ "query": "程序员 35 岁 危机 怎么看",
+ "domains": [
+ "zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 8,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-09",
+ "family": "site",
+ "language": "zh",
+ "category": "zhihu",
+ "difficulty": "L3",
+ "query": "site:zhuanlan.zhihu.com 大模型 after:2026-09-01",
+ "domains": [
+ "zhuanlan.zhihu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 9,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-10",
+ "family": "site",
+ "language": "zh",
+ "category": "douyin",
+ "difficulty": "L1",
+ "query": "site:douyin.com 做饭 教程",
+ "domains": [
+ "douyin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 10,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-11",
+ "family": "web",
+ "language": "zh",
+ "category": "douyin",
+ "difficulty": "L2",
+ "query": "抖音 健身 教学 视频",
+ "domains": [
+ "douyin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 11,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-12",
+ "family": "site",
+ "language": "zh",
+ "category": "weibo",
+ "difficulty": "L1",
+ "query": "site:weibo.com 热搜",
+ "domains": [
+ "weibo.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 12,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-13",
+ "family": "web",
+ "language": "zh",
+ "category": "weibo",
+ "difficulty": "L2",
+ "query": "微博 网友 热议 AI",
+ "domains": [
+ "weibo.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 13,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-14",
+ "family": "site",
+ "language": "zh",
+ "category": "bilibili",
+ "difficulty": "L1",
+ "query": "site:bilibili.com 机器学习 教程",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 14,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-15",
+ "family": "web",
+ "language": "zh",
+ "category": "bilibili",
+ "difficulty": "L2",
+ "query": "B站 up主 大模型 原理 讲解",
+ "domains": [
+ "bilibili.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 15,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-16",
+ "family": "site",
+ "language": "zh",
+ "category": "baijiahao",
+ "difficulty": "L1",
+ "query": "site:baijiahao.baidu.com 新能源汽车",
+ "domains": [
+ "baijiahao.baidu.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 16,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-17",
+ "family": "site",
+ "language": "zh",
+ "category": "toutiao",
+ "difficulty": "L1",
+ "query": "site:toutiao.com 新能源汽车",
+ "domains": [
+ "toutiao.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 17,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-18",
+ "family": "site",
+ "language": "zh",
+ "category": "douban",
+ "difficulty": "L1",
+ "query": "site:douban.com 小组 租房",
+ "domains": [
+ "douban.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 18,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-19",
+ "family": "web",
+ "language": "zh",
+ "category": "douban",
+ "difficulty": "L2",
+ "query": "豆瓣 书评 百年孤独",
+ "domains": [
+ "douban.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 19,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-20",
+ "family": "site",
+ "language": "en",
+ "category": "x",
+ "difficulty": "L1",
+ "query": "site:x.com AnthropicAI",
+ "domains": [
+ "x.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 20,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-21",
+ "family": "web",
+ "language": "en",
+ "category": "x",
+ "difficulty": "L2",
+ "query": "Karpathy tweet on vibe coding",
+ "domains": [
+ "x.com",
+ "twitter.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 21,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-22",
+ "family": "site",
+ "language": "en",
+ "category": "reddit",
+ "difficulty": "L1",
+ "query": "site:reddit.com LocalLLaMA best model",
+ "domains": [
+ "reddit.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 22,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-23",
+ "family": "web",
+ "language": "en",
+ "category": "reddit",
+ "difficulty": "L2",
+ "query": "reddit thread best budget mechanical keyboard",
+ "domains": [
+ "reddit.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 23,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-24",
+ "family": "site",
+ "language": "en",
+ "category": "instagram",
+ "difficulty": "L1",
+ "query": "site:instagram.com nasa",
+ "domains": [
+ "instagram.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 24,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-25",
+ "family": "site",
+ "language": "en",
+ "category": "facebook",
+ "difficulty": "L1",
+ "query": "site:facebook.com NASA",
+ "domains": [
+ "facebook.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 25,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-26",
+ "family": "site",
+ "language": "en",
+ "category": "linkedin",
+ "difficulty": "L1",
+ "query": "site:linkedin.com Anthropic",
+ "domains": [
+ "linkedin.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 26,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-27",
+ "family": "site",
+ "language": "en",
+ "category": "medium",
+ "difficulty": "L1",
+ "query": "site:medium.com LLM agents",
+ "domains": [
+ "medium.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 27,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ },
+ {
+ "id": "social-28",
+ "family": "site",
+ "language": "en",
+ "category": "substack",
+ "difficulty": "L1",
+ "query": "site:substack.com AI newsletter",
+ "domains": [
+ "substack.com"
+ ],
+ "anchors": [],
+ "origin": "User-supplied 28-row screenshot; original author and post not established",
+ "provenance_kind": "user_screenshot",
+ "source_row": 28,
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3",
+ "derivation": "Exact query transcribed from supplied screenshot; platform domain checks do not judge topic relevance or factual correctness."
+ }
+ ],
+ "reference_revision": {
+ "id": "search-reference-1",
+ "root_cause": "A paper lookup targets the paper across arXiv formats; a repository lookup targets the official repository including files. Exact landing-page equality is too narrow. Other tasks keep exact known-page anchors.",
+ "scope": "All methods for declared paper and repository tasks; frozen diagnostic preflight remains unchanged",
+ "regressions": [
+ "tests.web_search.test_search.ReferenceIdentityScenarios.test_paper_formats_match_declared_paper_but_citations_do_not",
+ "tests.web_search.test_search.ReferenceIdentityScenarios.test_declared_repository_accepts_files_but_not_forks_or_lookalikes",
+ "tests.web_search.test_search.ReferenceIdentityScenarios.test_reference_url_without_entity_contract_stays_exact"
+ ]
+ },
+ "collection_revision": {
+ "id": "search-collection-2",
+ "root_cause": "HTTP 200 can precede a truncated body; reference availability now also requires a successful transfer. Reference timeout is separate from API timing.",
+ "scope": "Entire declared two-method, 24-query, three-round cohort rerun; previous calls preserved outside Git",
+ "regressions": [
+ "tests.web_search.test_runner.ReferenceCaptureScenarios.test_http_200_with_incomplete_transfer_is_not_qualified"
+ ],
+ "supersedes_data_home_relative": "web-search/20261020-matched"
+ },
+ "cohort_revision": {
+ "reason": "Additional screenshot supplied after the 120-query cohort was frozen; separate complete paired cohort, never pooled into its timing distribution.",
+ "source_sha256": "2483879ac31a9d50b2fad5269d2470217e4b77a12a48fc884cfece92aa3bc2e3"
+ },
+ "reference_checks": {}
+}
diff --git a/examples/web_search/README.md b/examples/web_search/README.md
new file mode 100644
index 000000000..17b48c809
--- /dev/null
+++ b/examples/web_search/README.md
@@ -0,0 +1,10 @@
+# Web Search report example, version 1
+
+Generate a deterministic, explicitly synthetic two-method report with a successful response and an upstream failure:
+
+```sh
+uv run --frozen python -m harness.web_search.example --output /tmp/search-example
+uv run --frozen python scripts/build_search_report.py --output /tmp/search-example/report --check
+```
+
+Open `/tmp/search-example/report/index.html` through a local HTTP server to use the on-demand evidence dialogs. The renderer and fixture are owned by `harness/web_search/`; this directory carries no measurements. See the [track guide](../../harness/web_search/README.md) for authenticated collection and metric definitions.
diff --git a/harness/browser_use/report_visual.py b/harness/browser_use/report_visual.py
index 11b505a23..3f6ff812b 100644
--- a/harness/browser_use/report_visual.py
+++ b/harness/browser_use/report_visual.py
@@ -1,12 +1,9 @@
-"""Render every Browser Use route class and reject structural layout failures."""
+"""Review each Browser Use top-level page once and reject layout failures."""
from __future__ import annotations
import argparse
from pathlib import Path
-from urllib.parse import urlsplit
-
-from bs4 import BeautifulSoup
from harness.report_languages import generated_languages
from harness.reporting.visual import (
@@ -47,76 +44,15 @@ def _routes(report: Path) -> list[str]:
"reproduce/index.html",
"accounts/index.html",
]
- dynamic = []
- for folder in ("datasets", "results", "engines"):
- pages = sorted((report / folder).glob("*.html"))
- if pages:
- dynamic.append(pages[0].relative_to(report).as_posix())
- if folder == "results":
- for failed in (False, True):
- selected = next(
- (
- page
- for page in pages
- if ('id="diagnosis"' in page.read_text(encoding="utf-8")) is failed
- ),
- None,
- )
- if selected:
- route = selected.relative_to(report).as_posix()
- if route not in dynamic:
- dynamic.append(route)
- chinese = list(dict.fromkeys((*fixed, *dynamic)))
- routes = chinese + (
- ["en/" + route for route in chinese]
- if "en" in generated_languages(report)
- else ["en/index.html"]
+ routes = fixed + (
+ ["en/" + route for route in fixed] if "en" in generated_languages(report) else []
)
- for route in list(routes):
- if route.startswith(("results/", "en/results/")):
- soup = BeautifulSoup((report / route).read_text(encoding="utf-8"), "html.parser")
- anchor = soup.select_one('a[href*="evidence-viewer.html?src="]')
- if anchor is None:
- raise ValueError("result detail must link to complete execution evidence")
- href = anchor["href"]
- parsed = urlsplit(href)
- if (
- parsed.scheme
- or parsed.netloc
- or parsed.path not in ("evidence-viewer.html", "en/evidence-viewer.html")
- ):
- raise ValueError("unsafe visual evidence route")
- if href not in routes:
- routes.append(href)
- missing = [route for route in routes if not (report / urlsplit(route).path).is_file()]
+ missing = [route for route in routes if not (report / route).is_file()]
if missing:
raise ValueError(f"visual QA route is missing: {missing[0]}")
return routes
-
-
-def _check_reader_interactions(page, route: str) -> None:
- if route.endswith("analysis/index.html"):
- trigger = page.locator(".diagnosis-button").first
- if trigger.count():
- trigger.click()
- page.locator("dialog[open]").wait_for()
- assert page.locator("dialog[open] .dialog-error").inner_text()
- page.keyboard.press("Escape")
- assert page.locator("dialog[open]").count() == 0
- assert trigger.evaluate("element => element === document.activeElement")
- if route.startswith(("results/", "en/results/")):
- link = page.locator('a[href*="evidence-viewer.html?src="]').first
- assert link.count(), "result detail must link to complete execution evidence"
- link.click()
- page.wait_for_function(
- "() => document.getElementById('evidence-viewer-content')"
- "?.textContent.trim().startsWith('{')"
- )
- page.go_back(wait_until="load")
-
-
-VISUAL_SCHEMA = "lex_browser_use_visual_qa/2"
-VIEWPORTS = ((1440, 1000), (820, 1180), (390, 844))
+VISUAL_SCHEMA = "lex_browser_use_visual_qa/3"
+VIEWPORTS = ((1440, 1000),)
def _state_passes(state: dict) -> bool:
@@ -159,7 +95,7 @@ def check(report: Path, receipt: Path) -> None:
try:
for route in routes:
for width, height in VIEWPORTS:
- for theme in ("light", "dark"):
+ for theme in ("light",):
page = local_page(
browser, origin, viewport={"width": width, "height": height}
)
@@ -172,11 +108,6 @@ def check(report: Path, receipt: Path) -> None:
theme,
)
settle_theme(page)
- if "evidence-viewer.html?" in route:
- page.wait_for_function(
- "() => document.getElementById('evidence-viewer-content')"
- "?.textContent.trim().startsWith('{')"
- )
result = page.evaluate(
"""() => {
const root=document.documentElement;
@@ -219,7 +150,6 @@ def check(report: Path, receipt: Path) -> None:
states.append(state)
if not _state_passes(state):
failures.append(state)
- _check_reader_interactions(page, route)
page.close()
finally:
browser.close()
diff --git a/harness/lexbench/report.py b/harness/lexbench/report.py
index c43198eaf..d7e91535b 100644
--- a/harness/lexbench/report.py
+++ b/harness/lexbench/report.py
@@ -13,7 +13,14 @@
ROOT = pathlib.Path(os.environ.get("BROWSER_EVAL_DATA_HOME", pathlib.Path.home() / ".browser-eval"))
from harness.record_io import load_jsonl
-from harness.report_languages import english_notice, generated_languages, write_language_contract
+from harness.report_languages import (
+ add_language_argument,
+ english_notice,
+ generated_languages,
+ primary_report_language,
+ select_report_language,
+ write_language_contract,
+)
from harness.resource_calibration import duration_calibration
from lexbench_webfetch.paths import contained_path, safe_identifier
@@ -87,6 +94,7 @@ def main(argv=None):
parser.add_argument(
"--include-english", action="store_true", help="Also generate English pages and charts"
)
+ add_language_argument(parser)
parser.add_argument(
"--vendor-dir", type=pathlib.Path
)
@@ -121,6 +129,8 @@ def configured_path(name, override=None):
VERSION_RUNS = configured_path("version_runs")
VERSION_CANDIDATE = configured_path("version_candidate")
LAYOUT_POLICY_ROOT = configured_path("layout_policy_runner")
+ language = args.language or primary_report_language(args.output)
+ args.include_english = args.include_english or language == "en"
RUNS = args.cohort.parent
if args.summary is None:
args.summary = RUNS / "report-runs.json"
@@ -1565,6 +1575,7 @@ def timestamp(value):
SRC, OUT, combined_comparison, version_comparison, macos_comparison,
include_english=args.include_english,
)
+ select_report_language(OUT, language)
for name in ("app.js", "style.css", "README.md"):
shutil.copy2(SRC / name, OUT / name)
for name, digest in {
diff --git a/harness/report_languages.py b/harness/report_languages.py
index 1a73aa882..9b4df179f 100644
--- a/harness/report_languages.py
+++ b/harness/report_languages.py
@@ -2,12 +2,29 @@
import html
import json
+import os
import re
from pathlib import Path
from urllib.parse import parse_qsl, urlencode, urlsplit, urlunsplit
SUPPORTED_REPORT_LANGUAGES = ("en", "zh")
REPORT_PAGE_MARKER = ' '
+REPORT_LANGUAGE_ENV = "BROWSER_EVAL_REPORT_LANGUAGE"
+
+
+def configured_report_language(
+ *, supported: tuple[str, ...] = SUPPORTED_REPORT_LANGUAGES
+) -> str:
+ """Return the environment-selected language, or the public English default."""
+ configured = os.environ.get(REPORT_LANGUAGE_ENV)
+ selected = configured.strip().lower() if configured else "en"
+ if selected not in supported:
+ if configured:
+ raise ValueError(
+ f"{REPORT_LANGUAGE_ENV} must be one of {', '.join(supported)}; got {selected}"
+ )
+ return supported[0]
+ return selected
def includes_english(language: str | None, include_english: bool = False) -> bool:
@@ -28,10 +45,11 @@ def language_metadata_path(root: Path) -> Path:
return path if path.is_file() else root / "report-manifest.json"
-def primary_report_language(root: Path, *, default: str = "en") -> str:
+def primary_report_language(root: Path, *, default: str | None = None) -> str:
path = language_metadata_path(root)
value = json.loads(path.read_text()) if path.is_file() else {}
- language = value.get("primary_language", "zh" if value else default)
+ fallback = default or configured_report_language()
+ language = value.get("primary_language", "zh" if value else fallback)
if language not in SUPPORTED_REPORT_LANGUAGES:
raise ValueError("Unsupported primary report language; choose en or zh")
return language
@@ -40,7 +58,8 @@ def primary_report_language(root: Path, *, default: str = "en") -> str:
def resolve_report_language(root: Path, language: str | None = None, *,
supported: tuple[str, ...] = SUPPORTED_REPORT_LANGUAGES) -> str:
"""Prefer explicit choice, then saved choice, then the renderer's default."""
- selected = language if language is not None else primary_report_language(root, default=supported[0])
+ fallback = configured_report_language(supported=supported)
+ selected = language if language is not None else primary_report_language(root, default=fallback)
if selected not in supported:
raise ValueError(f"This report supports only {', '.join(supported)}; requested {selected}")
return selected
diff --git a/harness/reporting/visual.py b/harness/reporting/visual.py
index 374a2440a..2036c95d2 100644
--- a/harness/reporting/visual.py
+++ b/harness/reporting/visual.py
@@ -1,4 +1,4 @@
-"""Local rendering, input identities and complete visual-check receipts."""
+"""Local rendering, input identities and focused release-review receipts."""
from __future__ import annotations
@@ -15,8 +15,8 @@
from pathlib import Path
from urllib.parse import unquote, urlsplit
-from lexbench_webfetch.paths import contained_path
from harness.web_fetch.safety import reject_evidence_symlinks
+from lexbench_webfetch.paths import contained_path
def browser_executable() -> str:
@@ -60,12 +60,7 @@ def checker_sources(source: Path) -> dict[str, str]:
def state_matrix(routes: Sequence[str], viewports: Sequence[tuple[int, int]]) -> set[tuple]:
if not routes or len(routes) != len(set(routes)):
raise ValueError("visual QA requires nonempty unique routes")
- return {
- (route, width, height, theme)
- for route in routes
- for width, height in viewports
- for theme in ("light", "dark")
- }
+ return {(route, width, height, "light") for route in routes for width, height in viewports}
def validate_routes(report: Path, routes: Sequence[str]) -> None:
diff --git a/harness/web_fetch/README.md b/harness/web_fetch/README.md
index 72f91d9f8..915dd6507 100644
--- a/harness/web_fetch/README.md
+++ b/harness/web_fetch/README.md
@@ -906,8 +906,8 @@ new scores or timings; local fixture validation is not a benchmark rerun.
## WCXB paired timing and publication
-The WCXB command defaults to English, with a matching Chinese edition. Use
-`--language zh` for Chinese-only output; its English entry shows a not-generated
+The WCXB command uses the shared English fallback. Set
+`BROWSER_EVAL_REPORT_LANGUAGE=zh` or use `--language zh` for a Chinese-only build; its English entry shows a not-generated
notice. Bilingual release checks require matching routes and values. English
repair content must be present in the bound asset set for an English build.
See [report languages](../../docs/report-hosting.md#report-languages) for all builders.
diff --git a/harness/web_fetch/certification.py b/harness/web_fetch/certification.py
index 617d68045..c31603774 100644
--- a/harness/web_fetch/certification.py
+++ b/harness/web_fetch/certification.py
@@ -108,6 +108,11 @@ def run(stage: Callable[[list[str]], None], arguments: list[str]) -> None:
def main(argv: list[str] | None = None) -> None:
argv = sys.argv[1:] if argv is None else argv
+ if argv[:1] == ["web-search"]:
+ from harness.web_search.runner import main as search_main
+
+ search_main(argv[1:])
+ return
if argv[:1] == ["webmainbench-latency"]:
from .webmainbench_latency_correction import certify
diff --git a/harness/web_fetch/cli.py b/harness/web_fetch/cli.py
index a01c3b00e..acba6cfbb 100644
--- a/harness/web_fetch/cli.py
+++ b/harness/web_fetch/cli.py
@@ -51,8 +51,9 @@ def command_run(args: argparse.Namespace) -> int:
provider_concurrency=args.provider_concurrency,
max_failure_retries=args.max_failure_retries,
)
+ language = args.language or primary_report_language(args.output / 'report')
report_path = build_report(args.output, args.output / 'report', diagnostic_preview=True,
- language=args.language)
+ language=language)
print(f"Report: {report_path.resolve()}")
kinds={case.id:case.task_kind for case in cases}
failures = [r for r in records if not task_passed(r['ok'],r['metrics'],kinds[r['case_id']])]
@@ -111,7 +112,7 @@ def build_parser() -> argparse.ArgumentParser:
sub = parser.add_subparsers(dest="command", required=True)
run = sub.add_parser("run", help="Run providers and generate a multi-page report")
- add_language_argument(run, default="en")
+ add_language_argument(run)
run.add_argument("--dataset", type=Path, default=EXAMPLES / "fixture-dataset.json")
run.add_argument("--provider-config", type=Path, default=EXAMPLES / "fixture-providers.json")
run.add_argument("--providers", default="fixture", help="Comma-separated configured provider names")
diff --git a/harness/web_fetch/wcxb_report_check.py b/harness/web_fetch/wcxb_report_check.py
index 501e8b83a..d2c4039a9 100644
--- a/harness/web_fetch/wcxb_report_check.py
+++ b/harness/web_fetch/wcxb_report_check.py
@@ -607,29 +607,27 @@ def check_visual(root: Path, browser_binary: str) -> None:
root = root.resolve()
check_language_contract(root)
languages = generated_languages(root)
-
+ score_rows = load_jsonl(root / 'wcxb-scores.jsonl', skip_blank=True)
+ qualified_count = len({row['case_id'] for row in score_rows if row['quality_eligible']})
+ routes = (
+ 'index.html',
+ 'datasets/index.html',
+ 'analysis/index.html',
+ 'methodology/index.html',
+ 'review/index.html',
+ 'guide/index.html',
+ 'adoption/index.html',
+ 'reproduce/index.html',
+ 'changes/index.html',
+ 'accounts/index.html',
+ )
checked = 0
with local_report_server(root) as origin:
- score_rows = load_jsonl(root / 'wcxb-scores.jsonl', skip_blank=True)
- providers = list(dict.fromkeys(row['provider'] for row in score_rows))
- if len(providers) < 2:
- raise ValueError('WCXB visual comparison requires at least two providers')
- passing_row = next((row for row in score_rows if row['quality_eligible'] and row['diagnosis'] == 'none'), None)
- diagnostic_row = next((row for row in score_rows if row['quality_eligible'] and row['diagnosis'] == 'low_precision'), None)
- if passing_row is None or diagnostic_row is None:
- raise ValueError('WCXB visual gate requires an unlocated result and a low-precision result')
- case_id = passing_row['case_id']
- diagnostic_id = diagnostic_row['case_id']
- qualified_count = len({row['case_id'] for row in score_rows if row['quality_eligible']})
- provider_count = len(providers)
- routes = ('index.html', 'datasets/index.html', 'analysis/index.html',
- 'methodology/index.html', 'review/index.html', 'guide/index.html',
- 'adoption/index.html', 'reproduce/index.html', 'changes/index.html',
- 'accounts/index.html', f'cases/{case_id}.html', f'cases/{diagnostic_id}.html')
with sync_playwright() as playwright:
browser = playwright.chromium.launch(headless=True, executable_path=browser_binary)
try:
for lang in languages:
+ prefix = 'en/' if lang == 'en' else ''
for route in routes:
for width in (390, 1365):
for dark in (False, True):
@@ -756,11 +754,11 @@ def check_visual(root: Path, browser_binary: str) -> None:
page.close()
finally:
browser.close()
- print(f'PASS: {checked} WCXB route, width and theme combinations; languages={languages}')
+ print(f'PASS: {checked} WCXB top-level pages; languages={languages}')
def visual_main(argv=None) -> None:
- parser = argparse.ArgumentParser(description="Check WCXB report interactions, themes and viewports")
+ parser = argparse.ArgumentParser(description="Review each WCXB top-level report page once")
parser.add_argument("report", type=Path)
parser.add_argument("--browser-binary")
args = parser.parse_args(argv)
diff --git a/harness/web_search/README.md b/harness/web_search/README.md
new file mode 100644
index 000000000..9bc6d16f7
--- /dev/null
+++ b/harness/web_search/README.md
@@ -0,0 +1,99 @@
+# Web Search API evaluation
+
+This track compares native search responses before an answering model is added. The headline comparison selects the shared core SERP layer: Lexmount Search, DeepSeek Search with `need_content=false`, and Bocha Web Search with `summary=false`. DeepSeek content and Bocha summary remain paired option experiments rather than extra competitors. Every configuration receives the same intent and five-result budget through its documented controls. The current report keeps two independent benchmarks: all 149 scenario queries and all 831 unchanged SimpleQA Verified questions that fit the shared API query limit. The public benchmark scope was frozen before calls and is not sampled by outcome.
+
+## Run a comparison
+
+Put `LEXMOUNT_SEARCH_API_KEY`, `DEEPSEEK_API_KEY`, and `BOCHA_API_KEY` in the repository `.env`. Obtain a DeepSeek key from [its console](https://platform.deepseek.com/api_keys), a Bocha key from [its platform](https://open.bochaai.com/), and a Lexmount key from the service administrator. Never put credentials in profiles or evidence.
+
+```sh
+uv run --frozen python scripts/run_certified_benchmark.py web-search \
+ --profile evaluation/web-search/current-report.json \
+ --output "$HOME/.browser-eval/web-search/new-run"
+uv run --frozen python scripts/build_search_report.py \
+ --source "$HOME/.browser-eval/web-search/new-run" \
+ --content /absolute/path/content.json \
+ --output /absolute/path/report --language zh
+```
+
+Use a new output directory for every collection. The frozen profile declares every query, method, result count, timeout, retry rule and price before calls. Calls run serially in rotating order. A transport, HTTP or invalid-response failure receives one retry; a valid empty response does not. The final response is the one logical result, while every physical call is retained. A missing credential fails before calls or output creation.
+
+Reference responses are captured before and after collection, with immutable hashes. The identity-scoped contract requires complete successful responses containing predeclared publisher or document identifiers. Volatile page chrome may change; missing identities prevent certification. `--diagnostic` preserves the full matrix for investigation and cannot certify a release. Anchor hits test only supplied known-page URLs. The current 149-query set includes 35 verbatim community queries, 80 licensed public queries and 34 attributed derived or authored cases. It is not a representative quality leaderboard.
+
+## Metrics and limits
+
+- Known-page Hit@5 and reciprocal rank use declared anchors. They are not full-web recall or overall answer accuracy.
+- Domain fraction tests host boundaries, excluding suffix lookalikes. Empty responses have no domain fraction; list fill and error counts remain visible.
+- Duplicate fraction uses conservative URL normalization. Semantic query parameters are preserved.
+- Factual probes match published supporting URLs and reference-answer cues. A versioned assessment revision interprets explicit accepted ranges and alternatives from the published answer; historical literal metrics remain reproducible from unchanged collection profiles. Preview fields and all delivered text are evaluated separately. Source matching is not whole-web recall; phrase presence is not semantic correctness. A separate diagnostic excludes explicitly named benchmark mirrors without promoting later results.
+- Historical model-judged preview relevance is retained for reproduction only. Do not pass `--relevance` for the current report. Current quality checks use no model judge.
+- Snippet, summary and content lengths count Unicode characters. Text quantity does not establish correctness or source faithfulness.
+- Client wall time includes request setup, network transfer, response bytes and any declared retry. Mean, median and nearest-rank P95 share each declared cohort's complete query population. Successful nonempty calls are reported separately. Serial latency does not measure throughput or an SLA.
+- Prices remain in their native currencies. Empty DeepSeek successes are free under its published rule. Transport failures have unknown billing. Lexmount cost stays unavailable until pricing is supplied. Estimates are not invoices and exclude downstream models and extra fetches.
+
+Raw response bodies, declared requests, transport errors, timings, cache metadata and source captures stay outside Git. Public result receipts reference raw responses by hash instead of duplicating their full text; checks reconstruct normalized results and verify both their count and content hash. The build verifies the complete matrix, hashes and derived metrics. Both report languages share the same evidence. The performance page separates client duration, reported server duration, transfer time and overlapping upstream attempts; overlapping durations must not be added. Publication uses this track's own target binding and never borrows another report's site. Independent review is opt-in.
+
+## Checks and example
+
+For a sourced API capability comparison without benchmark scores, use the same
+builder with `--reference-content /absolute/content.json --language zh`. The
+`web-search-reference/1` input supplies bilingual sections, tables, request
+specimens and HTTPS sources; optional artifacts carry relative paths and SHA-256
+bindings. The renderer produces both language editions. Its ordinary `--check`
+rejects changed capability cells, missing qualifications, altered specimens,
+broken citations, missing editions and artifact hash mismatches. The runnable
+synthetic input is `fixture()` in `tests/web_search/test_reference_report.py`.
+
+```sh
+uv run --frozen python -m unittest discover -s tests/web_search
+uv run --frozen python -m harness.web_search.example --output /tmp/search-example
+uv run --frozen python scripts/build_search_report.py --output /tmp/search-example/report --check
+```
+
+The example is synthetic and labels its numbers accordingly. Report checks reject broken links, altered evidence, duplicate summaries, missing error details and incorrect winner markers. Before delivery, inspect each generated top-level tab once at the normal desktop layout. Responsive and theme behavior belongs to reusable renderer tests instead of every report release. A local report is not a certified public release.
+
+The separate full gate is `scripts/build_search_report.py --output /absolute/report --release-check /absolute/visual-receipt.json`. It binds the report manifest to one reviewed capture of each top-level tab. Link, evidence, filter and pagination structure is checked during generation. Keep this receipt and screenshots outside Git.
+
+Supplemental cohorts use the same collector with another frozen profile, such as `evaluation/web-search/social-platforms.json`. Present completed cohorts in one report with `--source /absolute/primary-run --cohort social=/absolute/social-run`. Repeat `--cohort NAME=RUN` for additional non-overlapping cohorts. The builder verifies each source independently, rejects duplicate cases and incompatible execution protocols, and renders one query inventory and one result inventory with group filters. The overall table describes saved calls across the fixed query mix; per-cohort timing remains visible and does not become a new same-window measurement. Optional external content supplies bilingual `cohort_labels`. Collection profiles and receipts remain immutable. `--site-prefix` is available when a separately requested nested report is needed. Qualified equivalent-page corrections use `--identity-correction evaluation/web-search/identity-correction.json`: the report retains the collection profile, original evidence and an explicit before/after scoring receipt. This changes neither calls nor latency. A source observation must prove each alias and the correction must name its cause and regression controls.
+
+Reader-oriented content can select `reading_model` and supply `reading_sections`
+with stable keys, bilingual titles and navigation labels. Sections target those
+keys through `page`; `lead` and `summary` surround the measured opening table.
+Use `specimens` to select a saved case, provider, result position and text fields
+rather than transcribing provider output. Provenance filters are separate from
+collection-group filters: an original community query can belong to any batch.
+The inventory calls URL anchors “predeclared target pages” because identity
+captures are not complete reference answers or relevance judgments.
+
+Supplementary research files use `assets` entries with a relative `source`, public
+`path` and `sha256`. Authored source links can set `evidence: true` to open a bound
+response in the shared dialog. The same asset path works in both generated
+languages. These examples do not enter the measured cohort merely by being
+included in the report. Release checks bind the authored explanation, actual
+specimens, source-filter populations and chapter visibility to the public build.
+
+For hosts with a file-count limit, export a checked report with
+`--output /absolute/report --export-delivery /absolute/new-delivery-directory`.
+This preserves the renderer's pages and raw responses in one compressed file per
+case, with shared detail and evidence viewers. The export verifies every original
+page and response against its source hash. It changes storage and navigation only;
+it does not rescore results. Run the full release gate on the canonical report and
+exercise the exported viewers on the target host before delivery.
+
+Collection stops after the declared retry if a participant returns HTTP 401 or
+402. Resolve the account problem before continuing with the same certified entry
+point and `--resume`. Resume requires the unchanged frozen profile and reference
+inputs. Complete unaffected cases remain unchanged; all configurations of an
+account-failed or incomplete case are collected again. The prior result stream,
+displaced responses and implementation snapshot remain hash-bound in the run's
+resume archive. A complete receipt is issued only after the entire original
+matrix and final reference checks pass. Record the interruption when interpreting
+collection windows; the pause is not API latency.
+
+## Three-provider presentation and annotation revisions
+
+External report content selects `presentation: comparison-report`, `comparison_methods`, optional `comparison_labels`, and three explicit `metric_populations` (`overall`, `factual`, `scenario`). The builder validates complete original runs before projecting the selected methods. Missing method-query cells fail closed. An `assessment_revision` adds independently qualified reference pages and versions answer matching without new provider calls. It retains original profiles, changed metrics and source observations. Added references must be identified independently of provider outputs; describe their observation date and scope accurately.
+
+The original SimpleQA Verified task measures closed-book model answers using a model grader. This report's source-hit, reciprocal-rank and lexical-cue checks are retrieval adaptations, not official benchmark accuracy. The frozen source version, input-length selection and adapted metrics belong on the dataset and methodology pages.
+
+Results analysis provides a same-query outcome explorer and paginated output columns generated from the method registry. Unknown judgments remain separate from misses. The delivery exporter rewrites dynamic detail links as well as ordinary HTML links, preserving language and exact case evidence. Release acceptance operates filters, pagination and dynamic evidence navigation in addition to the standard success/failure workflows.
diff --git a/harness/web_search/__init__.py b/harness/web_search/__init__.py
new file mode 100644
index 000000000..923186121
--- /dev/null
+++ b/harness/web_search/__init__.py
@@ -0,0 +1 @@
+"""Web Search API measurements, separate from page extraction and Agent evaluation."""
diff --git a/harness/web_search/answer_rules.py b/harness/web_search/answer_rules.py
new file mode 100644
index 000000000..12e93827a
--- /dev/null
+++ b/harness/web_search/answer_rules.py
@@ -0,0 +1,121 @@
+"""Versioned literal answer evidence rules derived from reference annotations.
+
+These rules recognize supplied alternatives and numeric tolerances, not semantic
+correctness, entailment, or inferred synonyms. A match can occur in unrelated text.
+"""
+import re
+import unicodedata
+from decimal import Decimal
+
+RULE_VERSION = "reference-answer-evidence/1"
+NUMBER = r"[+-]?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?"
+
+def _norm(value):
+ return unicodedata.normalize("NFKC", value).casefold().strip()
+
+def _decimal(value):
+ return Decimal(value.replace(",", ""))
+
+# A matched quantity/unit cannot end before a rate, percentage or exponent.
+# NFKC normalizes superscript unit powers (m² -> m2), covered by the word guard.
+_QUANTITY_END = r"(?![\w%‰/^]|[.,]\d|\s*(?:[%‰/^]|per\b))"
+
+def _phrase(text, phrase):
+ # Keep numeric modifiers attached to their number, so 150 != 150%.
+ pattern = NUMBER + r"(?:\s*[%‰])?|[^\W\d_]+|[♯♭]"
+ def token(value):
+ modifier = re.fullmatch(r"(" + NUMBER + r")\s*([%‰]?)", value)
+ return str(_decimal(modifier[1]).normalize()) + modifier[2] if modifier else value
+ normalized = _norm(text)
+ matches = list(re.finditer(pattern, normalized))
+ actual = [token(m.group()) for m in matches]
+ wanted = [token(m.group()) for m in re.finditer(pattern, _norm(phrase))]
+ if not wanted:
+ return False
+ for i in range(len(actual) - len(wanted) + 1):
+ if actual[i:i+len(wanted)] != wanted:
+ continue
+ # Numeric references additionally retain complete quantities and units.
+ if any(re.fullmatch(NUMBER + r"(?:\s*[%‰])?", m.group()) for m in re.finditer(pattern, _norm(phrase))):
+ end = matches[i+len(wanted)-1].end()
+ if not re.match(_QUANTITY_END, normalized[end:]):
+ continue
+ return True
+ return False
+
+def reference_rule(reference):
+ """Return a JSON-serializable derivation; unknown annotations are explicit."""
+ value = reference.strip()
+ rule = {"version": RULE_VERSION, "reference": reference, "kind": "literal", "alternatives": [value], "unsupported_annotation": None}
+ annotation = re.fullmatch(r"(.+?)\s*\(acceptable range:\s*(.+)\)", value, re.I)
+ if annotation:
+ base, body = annotation.groups()
+ rule["alternatives"] = [base.strip()]
+ # Preserve a fixed prefix for compound values such as years + days.
+ span = re.fullmatch(r"(.*?)anything between\s+("+NUMBER+r")\s*(.*?)\s+and\s+("+NUMBER+r")\s*(.*)", body, re.I)
+ if span:
+ prefix, low, low_unit, high, high_unit = span.groups()
+ # A repeated scale may occur before a final currency (million USD).
+ if low_unit and not _norm(high_unit).startswith(_norm(low_unit)):
+ rule["unsupported_annotation"] = body
+ return rule
+ if _decimal(low) > _decimal(high):
+ rule["unsupported_annotation"] = body
+ return rule
+ rule.update(kind="numeric_range", lower=str(_decimal(low)), upper=str(_decimal(high)), unit=high_unit.strip(), prefix=prefix.strip())
+ return rule
+ dimension = re.fullmatch(r"\[("+NUMBER+r")-("+NUMBER+r")\]\s*[x×]\s*\[("+NUMBER+r")-("+NUMBER+r")\]\s*(.+)", body)
+ if dimension:
+ a,b,c,d,unit = dimension.groups()
+ rule.update(kind="dimensions", ranges=[[str(_decimal(a)),str(_decimal(b))],[str(_decimal(c)),str(_decimal(d))]], unit=unit.strip())
+ return rule
+ rule["unsupported_annotation"] = body
+ return rule
+ also = re.fullmatch(r'(.+?)\s*\(also know[n]? as\s+(.+)\)', value, re.I)
+ if also:
+ base, alternatives = also.groups()
+ aliases = [v.strip().strip('"') for v in re.split(r'\s+or\s+', alternatives)]
+ rule.update(kind="explicit_alternatives", alternatives=[base.strip()]+aliases)
+ return rule
+ terminal = re.fullmatch(r"(.+?)\s*\(or\s+([^()]+)\)", value, re.I)
+ if terminal:
+ rule.update(kind="explicit_alternatives", alternatives=[v.strip() for v in terminal.groups()])
+ return rule
+ inline = re.search(r"([^\s,]+)\s*\(or\s+([^()]+)\)", value, re.I)
+ if inline:
+ first, second = inline.groups()
+ rule.update(kind="explicit_alternatives", alternatives=[value[:inline.start()]+v+value[inline.end():] for v in (first,second)])
+ return rule
+ if "(" in value or ")" in value:
+ rule["unsupported_annotation"] = "Uninterpreted parentheses retained literally"
+ return rule
+
+def _unit_pattern(unit):
+ return r"\s*".join(re.escape(p) for p in _norm(unit).split())
+
+def _numeric_matches(text, unit):
+ # A number must be complete: 150 must not be found inside 1,150 or 150.9.
+ suffix = r"\s*" + _unit_pattern(unit) if unit else ""
+ pattern = r"(?]+", "[source path]", str(value or ""))
+ return value if limit is None else value[:limit]
+
+
+def _item_checks(case, item):
+ """Expose deterministic evidence checks per result without adding a judge."""
+ safe = {"url": _url(item.get("url")), **{field: str(item.get(field) or "") for field in ("title", "snippet", "summary", "content")}}
+ source = None
+ if safe["url"] and case.get("reference_urls"):
+ source = bool(factual_evidence(case, [safe])["labeled_source_hit_5"])
+ elif safe["url"] and case.get("anchors"):
+ source = bool(evaluate(case, [safe])["anchor_hit_5"])
+ fields = {field: False for field in ("title", "snippet", "summary", "content")}
+ if "reference_answer" in case:
+ for field in fields:
+ candidate = dict(safe)
+ for other in fields:
+ if other != field:
+ candidate[other] = ""
+ fields[field] = bool(factual_evidence(case, [candidate])["answer_in_delivered_text_5"])
+ return source, fields
+
+
+def comparison_data(profile, selected_rows, zh=False, detail_link=None):
+ """Only compact measured previews enter the page, with full evidence linked once."""
+ methods = [{"id": m["id"], "label": m["label"]} for m in profile["methods"]]
+ method_ids = {m["id"] for m in methods}
+ rows = {}
+ for row in selected_rows:
+ if row["method"] not in method_ids:
+ continue
+ key = (row["case_id"], row["method"])
+ if key in rows:
+ raise ValueError("Comparison requires one logical result per method and task")
+ rows[key] = row
+ cases = []
+ for case in profile["cases"]:
+ outputs = {}
+ for method in methods:
+ row = rows.get((case["id"], method["id"]))
+ if row is None:
+ outputs[method["id"]] = None
+ continue
+ items = []
+ for item in row.get("results", [])[:5]:
+ source_match, answer_fields = _item_checks(case, item)
+ items.append({"url": _url(item.get("url")),
+ "source_match": source_match, "answer_fields": answer_fields,
+ **{field: _preview(item.get(field), limit)
+ for field, limit in (("title", 180), ("snippet", 320),
+ ("summary", None), ("content", 480))}})
+ outputs[method["id"]] = {
+ "source": acceptance(case, row), "answer": acceptance(case, row, "answer"),
+ "items": items, "count": len(row.get("results", [])),
+ "error": str(row.get("error") or "")[:200],
+ "detail": detail_link(row) if detail_link else "details/" + row["id"] + ".html",
+ }
+ cases.append({"id": case["id"], "query": case["query"],
+ "cohort": "factual" if "reference_answer" in case else "scenario",
+ "outputs": outputs})
+ populations = profile.get("comparison_populations")
+ if not populations:
+ populations = [
+ {"id": "overall", "label": {"en": "All tasks", "zh": "总体"}, "case_ids": [c["id"] for c in cases]},
+ {"id": "factual", "label": {"en": "Public factual questions", "zh": "公开事实题"}, "case_ids": [c["id"] for c in cases if c["cohort"] == "factual"]},
+ {"id": "reference", "label": {"en": "Reference-page questions", "zh": "参考网页题"}, "case_ids": [c["id"] for c in profile["cases"] if c.get("anchors") and "reference_answer" not in c]},
+ ]
+ ids = {c["id"] for c in cases}
+ if any(not set(p["case_ids"]).issubset(ids) for p in populations):
+ raise ValueError("Comparison population contains unknown tasks")
+ populations = [{"id": p["id"], "label": p["label"]["zh" if zh else "en"],
+ "case_ids": p["case_ids"]} for p in populations if p["case_ids"]]
+ return {"methods": methods, "cases": cases, "populations": populations}
+
+
+STYLE = """
+.search-compare{margin:32px 0}.search-compare fieldset{min-width:0}.compare-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.compare-controls label{display:grid;gap:4px;font-size:14px}.compare-checks{display:flex;flex-wrap:wrap;gap:12px}.compare-checks label{display:flex;align-items:center;gap:5px}.compare-counts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.compare-counts span{padding:7px 12px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.compare-task{border:1px solid var(--line);border-radius:10px;margin:20px 0;overflow:hidden;background:var(--panel)}.compare-task h3{margin:0;padding:16px;border-bottom:1px solid var(--line);font-size:18px}.compare-columns{display:grid;grid-template-columns:repeat(var(--method-count),minmax(240px,1fr));overflow-x:auto}.compare-method{padding:16px;min-width:0;border-right:1px solid var(--line)}.compare-method:last-child{border-right:0}.compare-method h4{margin:0 0 10px;font-size:17px}.compare-result{padding:12px 0;border-top:1px solid var(--line)}.compare-result p{font-size:14px;margin:6px 0}.compare-result a{display:block;font-size:14px;overflow-wrap:anywhere}.compare-result summary{cursor:pointer;font-size:13px}.compare-result details p{max-height:280px;overflow:auto;white-space:pre-wrap}.compare-url{color:var(--muted);font-size:12px!important}.compare-status{font-size:13px;color:var(--muted)}.compare-match{border-left:4px solid var(--win);padding-left:8px}.compare-match-note{color:var(--win);font-size:12px;font-weight:700}.compare-pager{display:flex;align-items:center;gap:14px;justify-content:center}.compare-notice{font-size:14px;color:var(--muted)}.compare-relations{height:410px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:14px 0}.compare-relations table{width:100%;border-collapse:collapse;min-width:650px}.compare-relations th,.compare-relations td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.compare-relations th{position:sticky;top:0;background:var(--panel)}.compare-relations td:first-child{min-width:240px;max-width:430px}.compare-relations td button{text-align:left;font-size:14px;display:block}.compare-relations small{color:var(--muted)}.compare-pill{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:20px;font-size:13px;white-space:nowrap}.compare-pill.hit{color:var(--win)}.compare-pill.miss{color:var(--fg)}@media(max-width:650px){.compare-columns{grid-template-columns:repeat(var(--method-count),minmax(260px,1fr))}.compare-controls input{width:100%}}
+"""
+
+SCRIPT = r"""
+(()=>{
+const root=document.querySelector('[data-search-comparison]');if(!root)return;
+const data=JSON.parse(root.querySelector('[data-comparison-data]').textContent),L=JSON.parse(root.dataset.labels),$=s=>root.querySelector(s);
+const esc=s=>String(s??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
+let page=0,relationPage=0,focusedId=null;const size=3,relationSize=10;
+const selected=()=>[...root.querySelectorAll('[data-compare-method]:checked')].map(x=>x.value).filter(x=>x!==$('[data-compare-baseline]').value);
+const relation=(base,others)=>{if(base==null||!others.length||others.some(v=>v==null))return 'unknown';if(base&&others.every(Boolean))return 'all_pass';if(base&&others.every(v=>!v))return 'baseline_only';if(!base&&others.every(Boolean))return 'comparison_only';if(!base&&others.every(v=>!v))return 'all_fail';return 'mixed'};
+function matching(){let q=$('[data-output-query]').value.toLowerCase(),scope=new Set(data.populations.find(p=>p.id===$('[data-output-cohort]').value).case_ids);return data.cases.filter(c=>scope.has(c.id)&&(!focusedId||c.id===focusedId)&&(!q||c.query.toLowerCase().includes(q)||c.id.toLowerCase().includes(q)))}
+function render(){root.querySelectorAll('[data-compare-method]').forEach(x=>x.disabled=x.value===$('[data-compare-baseline]').value);let cases=matching(),metric=$('[data-compare-metric]').value,base=$('[data-compare-baseline]').value,others=selected(),counts={},matches=[];for(let c of cases){let r=relation(c.outputs[base]?.[metric],others.map(m=>c.outputs[m]?.[metric]));counts[r]=(counts[r]||0)+1;if($('[data-compare-relation]').value==='all'||r===$('[data-compare-relation]').value)matches.push(c)}
+$('[data-comparison-counts]').innerHTML=Object.keys(L.relations).map(k=>''+esc(L.relations[k])+': '+(counts[k]||0)+' ').join('');
+relationPage=Math.min(relationPage,Math.max(0,Math.ceil(matches.length/relationSize)-1));
+const compared=data.methods.filter(m=>m.id===base||others.includes(m.id));
+$('[data-relation-tasks]').innerHTML=matches.length?''+esc(L.query)+' '+compared.map(m=>''+esc(m.label)+' ').join('')+''+matches.slice(relationPage*relationSize,(relationPage+1)*relationSize).map(c=>''+esc(c.id)+' '+esc(c.query)+' '+compared.map(m=>{const o=c.outputs[m.id],v=o?.[metric],label=v==null?L.unknown:v?L.hit:L.miss;return ''+(o?''+esc(label)+' ':esc(L.missing))+' '}).join('')+' ').join('')+'
':''+esc(L.none)+'
';
+$('[data-relation-page]').textContent=(matches.length?relationPage+1:0)+' / '+Math.ceil(matches.length/relationSize)+' · '+matches.length+' '+L.tasks;
+$('[data-relation-prev]').disabled=relationPage===0;$('[data-relation-next]').disabled=(relationPage+1)*relationSize>=matches.length;
+root.querySelectorAll('[data-show-query]').forEach(b=>b.onclick=()=>{focusedId=b.dataset.showQuery;$('[data-output-query]').value=data.cases.find(c=>c.id===focusedId).query;page=0;relationPage=0;render();$('[data-output-pages]').scrollIntoView({block:'start',behavior:'smooth'})});
+ page=Math.min(page,Math.max(0,Math.ceil(matches.length/size)-1));
+ const field=(x,f,body)=>'<'+(f==='title'?'div':'p')+' class="'+(x.answer_fields?.[f]?'compare-match':'')+'">'+body+(x.answer_fields?.[f]?' · '+esc(L.answerField)+' ':'')+''+(f==='title'?'div':'p')+'>';
+ $('[data-output-pages]').innerHTML=matches.slice(page*size,(page+1)*size).map(c=>''+esc(c.query)+' '+data.methods.map(m=>{let o=c.outputs[m.id];return '
'+esc(m.label)+' '+(o?''+esc(L.results)+': '+o.count+' · '+esc(o[metric]==null?L.unknown:o[metric]?L.hit:L.miss)+'
'+esc(L.full)+' '+(!o.items.length?''+esc(o.error||L.empty)+'
':o.items.map((x,i)=>''+(x.source_match?'
'+esc(L.sourceItem)+' ':'')+field(x,'title','
'+(i+1)+'. '+esc(x.title||x.url||L.untitled)+' ')+'
'+esc(x.url)+'
'+field(x,'snippet',esc(x.snippet))+['summary','content'].filter(f=>x[f]).map(f=>'
'+esc(L[f])+' '+field(x,f,esc(x[f]))+'').join('')+'
').join('')):''+esc(L.missing)+'
')+''}).join('')+'
').join('')||''+esc(L.none)+'
';
+ $('[data-output-page]').textContent=(matches.length?page+1:0)+' / '+Math.ceil(matches.length/size)+' · '+matches.length+' '+L.tasks;
+ $('[data-output-prev]').disabled=page===0;$('[data-output-next]').disabled=(page+1)*size>=matches.length;
+}
+root.querySelectorAll('select,input').forEach(x=>x.addEventListener(x.matches('[data-output-query]')?'input':'change',()=>{page=0;relationPage=0;focusedId=null;render()}));
+$('[data-relation-prev]').onclick=()=>{relationPage--;render()};$('[data-relation-next]').onclick=()=>{relationPage++;render()};
+$('[data-output-prev]').onclick=()=>{page--;render()};$('[data-output-next]').onclick=()=>{page++;render()};render();
+})();
+"""
+
+
+def render_comparison(profile, selected_rows, zh, detail_link=None):
+ """Render both results-analysis modules; embed once per results page."""
+ t = lambda en, cn: cn if zh else en
+ data = comparison_data(profile, selected_rows, zh, detail_link)
+ e = lambda value: html.escape(str(value), quote=True)
+ labels = {"relations": dict(zip(
+ ("all_pass", "baseline_only", "comparison_only", "all_fail", "mixed", "unknown"),
+ (t("All selected methods hit", "所选方法均命中"), t("Only baseline hits", "仅基准命中"),
+ t("Only comparison methods hit", "仅对比方法命中"), t("None hit", "所选方法均未命中"),
+ t("Comparison methods disagree", "对比方法结果不同"), t("No comparable score", "无可比评分")), strict=True)),
+ "query": t("Task / query", "题目 / 查询"), "none": t("No matching tasks", "没有符合条件的题目"), "unknown": t("Unscored", "未设评分"),
+ "hit": t("Found", "命中"), "miss": t("Not found", "未命中"),
+ "results": t("Returned results", "返回条数"), "full": t("Open full response and evidence", "查看完整响应与证据"),
+ "empty": t("No results returned", "没有返回结果"), "missing": t("No measured result", "没有实测结果"),
+ "untitled": t("Untitled result", "无标题结果"), "summary": t("Full page summary", "完整长摘要"),
+ "content": t("Page body excerpt", "网页正文节选"), "sourceItem": t("Reference page", "命中参考网页"),
+ "answerField": t("contains answer cue", "包含答案线索"), "tasks": t("tasks", "题")}
+ options = lambda values: ''.join(f'{e(v)} ' for k, v in values)
+ methods = [(m["id"], m["label"]) for m in data["methods"]]
+ return (''
+ + '' + t('Find a query', '搜索题目') + ' ' + t('Dataset', '题库范围') + '' + options([(p['id'], p['label'] + ' · ' + str(len(p['case_ids']))) for p in data['populations']]) + '
'
+ + '' + t('Compare methods on the same tasks', '同一道题,各方法是否命中') + ' '
+ + t('Source checks use independently identified reference pages or published supporting sources. Answer checks use all delivered text before benchmark-mirror exclusion, including explicitly accepted answer variants; they do not judge factual correctness. Unlabelled tasks remain unscored.', '来源检查核对独立参考网页或题库标注来源;答案检查使用全部交付文本及明确允许的答案变体,尚未排除题库镜像,不判断事实正确性。没有标注的题目不计为失败。')
+ + '
' + t('Check', '检查项目') + '' + options([('source', t('Target / supporting source found', '目标网页/标注来源命中')), ('answer', t('Answer cue in delivered text · raw', '答案线索命中 · 原始结果'))]) + ' ' + t('Baseline', '基准方法') + '' + options(methods) + '
' + t('Compare with', '对比方法') + ' '
+ + ''.join(' ' + e(v) + ' ' for k,v in methods)
+ + '
' + t('Show tasks where', '查看题目') + '' + options([('all', t('All outcome relations', '全部结果'))] + list(labels['relations'].items())) + '
'
+ + '' + t('Actual outputs, side by side', '逐题查看实际输出') + ' ' + t('The dataset, query, check, providers and outcome filters above also control this view. Each column shows the first five results. Page summaries are complete; page bodies remain compact previews. Green marks identify the exact reference-page or answer-cue check, not a semantic correctness judgment.', '上方的题库、题目、检查项目、方法和命中状态会同步筛选这里。每列展示前 5 条结果,长摘要完整显示,网页正文保留节选。绿色只表示该条命中参考网页或该字段含答案线索,不代表整条结果语义正确。') + '
'
+ + ' ')
diff --git a/harness/web_search/core.py b/harness/web_search/core.py
new file mode 100644
index 000000000..560b5f56a
--- /dev/null
+++ b/harness/web_search/core.py
@@ -0,0 +1,383 @@
+"""Provider-independent search contracts and metrics.
+
+Anchor hits measure a declared known-page set, never exhaustive web recall.
+Unjudged URLs are not irrelevant documents. Provider scores are not judgments.
+"""
+
+import hashlib
+import json
+import math
+import re
+import statistics
+import unicodedata
+from datetime import date, timedelta
+from pathlib import Path
+from urllib.parse import parse_qsl, urlencode, urlsplit, urlunsplit
+
+from lexbench_webfetch.metrics import percentile
+
+
+def digest(data):
+ return hashlib.sha256(data).hexdigest()
+
+
+def request_cost(method, status, transport_exit, payload):
+ """Billing follows the provider response, not local URL acceptance."""
+ price = method.get("price_per_1000")
+ if price is None or transport_exit:
+ return None
+ if status != 200:
+ return 0.0
+ if method["billing"] == "http-200-nonempty":
+ if not isinstance(payload, dict) or not isinstance(payload.get("results"), list):
+ return None
+ return price / 1000 if payload["results"] else 0.0
+ return price / 1000
+
+
+def canonical_url(url):
+ p = urlsplit(url)
+ if p.scheme not in ("http", "https") or not p.hostname or p.username or p.password:
+ raise ValueError("Result URL must be an HTTP(S) URL without credentials")
+ query = [
+ (k, v)
+ for k, v in parse_qsl(p.query, keep_blank_values=True)
+ if not k.lower().startswith("utm_")
+ and k.lower()
+ not in (
+ "fbclid", "gclid", "_bhlid", "pscd", "ps_partner_key",
+ "ps_xid", "gsxid", "gspk",
+ )
+ ]
+ return urlunsplit(
+ (p.scheme.lower(), p.netloc.lower(), p.path.rstrip("/") or "/", urlencode(query), "")
+ )
+
+
+def in_domain(url, domain):
+ host = (urlsplit(url).hostname or "").lower()
+ return host == domain.lower() or host.endswith("." + domain.lower())
+
+
+def request_body(adapter, case, protocol, options=None):
+ options = options or {}
+ allowed = {"deepseek": {"need_content"}, "bocha": {"summary"}, "lexmount": set()}
+ if set(options) - allowed.get(adapter, set()) or any(type(v) is not bool for v in options.values()):
+ raise ValueError("Unsupported search output option")
+ if adapter == "lexmount":
+ body = dict(
+ query=case["query"],
+ type="web",
+ limit=protocol["top_k"],
+ timeout_ms=protocol["server_timeout_ms"],
+ include=["attempts"],
+ )
+ if case.get("source"):
+ body["source"] = case["source"]
+ return body
+ if adapter in ("deepseek", "bocha"):
+ query = case["query"]
+ if adapter == "bocha":
+ body = dict(count=protocol["top_k"], summary=options.get("summary", True), freshness="noLimit")
+ if case.get("domains") and case.get("family") in ("site", "vertical"):
+ body["include"] = "|".join(case["domains"])
+ query = re.sub(r"(? query_limit:
+ raise ValueError(
+ "Query exceeds publisher-preserving 4096 character contract"
+ if protocol.get("preserve_publisher_queries")
+ else "Query exceeds common 128 character contract"
+ )
+ for case in cases:
+ for url in case.get("reference_urls", []):
+ canonical_url(url)
+ for alias, target in case.get("identity_aliases", {}).items():
+ canonical_url(alias)
+ if canonical_url(target) not in {canonical_url(u) for u in case.get("anchors", [])}:
+ raise ValueError("Identity alias must refer to an existing target")
+ for url in case.get("anchors", []):
+ canonical_url(url)
+ if protocol.get("reference_scope") == "identity":
+ check = profile.get("reference_checks", {}).get(url)
+ if (
+ not check
+ or not check.get("contains")
+ or any(not isinstance(s, str) or not s.strip() for s in check["contains"])
+ ):
+ raise ValueError("Identity references require nonempty publisher assertions")
+ canonical_url(check["url"])
+ for value in case.get("qrels", {}).values():
+ if type(value) is not int or not 0 <= value <= 3:
+ raise ValueError("Relevance grades must be integers 0..3")
+
+
+def verify_bundle(root, bindings):
+ root = Path(root).resolve()
+ for entry in bindings:
+ rel = Path(entry["path"])
+ if rel.is_absolute() or ".." in rel.parts:
+ raise ValueError("Unsafe evidence path")
+ path = root / rel
+ if any(p.is_symlink() for p in [path, *path.parents] if p != root.parent):
+ raise ValueError("Symlink evidence is forbidden")
+ if (
+ not path.resolve().is_relative_to(root)
+ or not path.is_file()
+ or digest(path.read_bytes()) != entry["sha256"]
+ ):
+ raise ValueError("Evidence hash mismatch: " + entry["path"])
+
+
+def write_json(path, value):
+ path = Path(path)
+ path.parent.mkdir(parents=True, exist_ok=True)
+ path.write_text(json.dumps(value, ensure_ascii=False, indent=2) + "\n")
+ return {"path": path.name, "sha256": digest(path.read_bytes())}
+
+
+def classify(case, row):
+ """Describe machine-observed failure types without claiming reviewed relevance."""
+ if row.get("error") or row["http_status"] != 200:
+ return "fail", "api_error"
+ if not row["results"]:
+ return "fail", "empty"
+ fraction = row["metrics"]["domain_precision"]
+ if case["family"] in ("site", "vertical") and fraction is not None and fraction < 1:
+ return "fail", "domain_mismatch"
+ if "reference_answer" in case:
+ return ("pass", "source_hit") if row["metrics"]["labeled_source_hit_5"] else ("fail", "source_miss")
+ hit = row["metrics"]["anchor_hit_10"]
+ if hit == 0:
+ return "fail", "target_miss"
+ return ("pass", "target_hit") if hit == 1 else ("probe", "probe")
diff --git a/harness/web_search/delivery.py b/harness/web_search/delivery.py
new file mode 100644
index 000000000..d0df69428
--- /dev/null
+++ b/harness/web_search/delivery.py
@@ -0,0 +1,178 @@
+"""Lossless case-sharded delivery for hosts with a bounded file count.
+
+The report renderer and checks remain authoritative. This exporter transports
+their generated pages and raw evidence without generating alternative findings.
+"""
+
+import json
+import gzip
+from pathlib import Path
+from urllib.parse import quote
+
+from bs4 import BeautifulSoup
+
+from .core import digest, write_json
+
+
+BRIDGE = r"""
+const nativeFetch=window.fetch.bind(window);
+let deliveryIndex;
+async function index(){return deliveryIndex||(deliveryIndex=await (await nativeFetch('delivery-index.json')).json())}
+const shards=new Map();
+async function stored(path){
+ const idx=await index(),name=idx.files[path];
+ if(!name)throw Error('Evidence not registered: '+path);
+ if(!shards.has(name))shards.set(name,nativeFetch(name).then(r=>{if(!r.ok)throw Error('HTTP '+r.status);if(name.endsWith('.gz'))return new Response(r.body.pipeThrough(new DecompressionStream('gzip'))).json();return r.json()}));
+ const data=await shards.get(name);if(!(path in data))throw Error('Missing evidence: '+path);return data[path];
+}
+window.fetch=async function(input,options){
+ const path=typeof input==='string'?input:'';
+ if(path.startsWith('calls/'))return new Response(await stored(path),{headers:{'Content-Type':'application/json'}});
+ return nativeFetch(input,options);
+};
+function routeLink(value){
+ if(!value||/^(https?:|#)/.test(value))return value;
+ if(/(^|\/)details\//.test(value))return 'detail.html#'+encodeURIComponent(value);
+ if(value.startsWith('calls/'))return 'evidence.html#'+encodeURIComponent(value);
+ return value;
+}
+function rewriteLinks(root){
+ root.querySelectorAll('[href],[data-detail]').forEach(e=>{
+ for(const a of ['href','data-detail'])if(e.hasAttribute(a))e.setAttribute(a,routeLink(e.getAttribute(a)));
+ });
+}
+rewriteLinks(document);
+"""
+
+LOADER = r"""
+async function loadSavedPage(){
+ let target=document.querySelector('[data-delivery-target]');
+ if(!target){target=document.createElement('pre');target.dataset.deliveryTarget='';document.querySelector('main').appendChild(target)}
+ const path=decodeURIComponent(location.hash.slice(1));
+ try{
+ if(!path)throw Error('No result selected');
+ const text=await stored(path);
+ if(path.endsWith('.html')){
+ const doc=new DOMParser().parseFromString(text,'text/html');
+ document.documentElement.lang=doc.documentElement.lang;
+ document.title=doc.title;
+ document.querySelector('nav').replaceWith(doc.querySelector('nav'));
+ document.querySelector('main').replaceWith(doc.querySelector('main'));
+ document.querySelector('dialog').replaceWith(doc.querySelector('dialog'));
+ rewriteLinks(document);
+ const script=document.createElement('script');
+ script.textContent='{'+doc.querySelector('script').textContent+'}';
+ document.body.appendChild(script);
+ }else{
+ let formatted=text;try{formatted=JSON.stringify(JSON.parse(text),null,2)}catch{}
+ target.textContent=formatted;
+ }
+ }catch(e){target.textContent='Unable to load saved evidence: '+e.message}
+}
+window.addEventListener('hashchange',loadSavedPage);loadSavedPage();
+"""
+
+
+def _delivery_link(value):
+ if not value or value.startswith(("http://", "https://", "#")):
+ return value
+ if "/details/" in value or value.startswith("details/"):
+ return "detail.html#" + quote(value, safe="")
+ if value.startswith("calls/"):
+ return "evidence.html#" + quote(value, safe="")
+ return value
+
+
+def transform_page(text):
+ doc = BeautifulSoup(text, "html.parser")
+ bridge = doc.new_tag("script")
+ bridge.string = BRIDGE
+ doc.head.append(bridge)
+ # Static links are rewritten at export, including diagnosis links assigned later.
+ for node in doc.select("[href],[data-detail]"):
+ for attr in ("href", "data-detail"):
+ value = node.get(attr, "")
+ if value:
+ node[attr] = _delivery_link(value)
+ # Paginated comparison cards are created after load, so their canonical
+ # links live in structured data rather than DOM attributes.
+ for node in doc.select("script[data-comparison-data]"):
+ data = json.loads(node.string)
+ for case in data["cases"]:
+ for result in case["outputs"].values():
+ if result is not None:
+ result["detail"] = _delivery_link(result["detail"])
+ node.string = json.dumps(data, ensure_ascii=False).replace("<", "\\u003c").replace("&", "\\u0026")
+ return str(doc)
+
+
+def export(source, destination):
+ """Keep one shard per case, including both languages and all physical calls."""
+ source, destination = Path(source), Path(destination)
+ destination.mkdir(parents=True, exist_ok=False)
+ manifest = json.loads((source / "manifest.json").read_text())
+ shards, mapping, hashes = {}, {}, {}
+ for row in manifest["rows"]:
+ shard = shards.setdefault(row["case_id"], {})
+ paths = [row["evidence"]["path"], *[a["evidence"]["path"] for a in row.get("attempts", [])]]
+ paths += [route for route in manifest["routes"] if route.endswith("details/" + row["id"] + ".html")]
+ for path in paths:
+ text = (source / path).read_text()
+ shard[path] = text
+ mapping[path] = "case-data/" + row["case_id"] + ".json.gz"
+ hashes[path] = digest((source / path).read_bytes())
+ for cid, data in shards.items():
+ target = destination / "case-data" / (cid + ".json.gz")
+ target.parent.mkdir(parents=True, exist_ok=True)
+ target.write_bytes(gzip.compress(json.dumps(data, ensure_ascii=False).encode(), mtime=0))
+ public_files = set(manifest["routes"]) | {a["path"] for a in manifest["bundle"]} | {"manifest.json"}
+ for path in sorted(public_files - set(mapping)):
+ raw = (source / path).read_bytes()
+ target = destination / path
+ target.parent.mkdir(parents=True, exist_ok=True)
+ target.write_bytes(transform_page(raw.decode()).encode() if path.endswith(".html") else raw)
+ write_json(destination / "delivery-index.json", {
+ "schema": "search-report-delivery/1",
+ "source_manifest_sha256": digest((source / "manifest.json").read_bytes()),
+ "files": mapping, "sha256": hashes,
+ })
+ shell = BeautifulSoup((destination / "index.html").read_text(), "html.parser")
+ shell.main.clear()
+ pre = shell.new_tag("pre")
+ pre["data-delivery-target"] = ""
+ pre.string = "Loading saved evidence… / 正在加载证据…"
+ shell.main.append(pre)
+ # Drop the report's listeners until the requested page has been installed.
+ for script in shell.body.find_all("script"):
+ script.decompose()
+ loader = shell.new_tag("script")
+ loader.string = LOADER
+ shell.body.append(loader)
+ for route in ("detail.html", "evidence.html"):
+ (destination / route).write_text(str(shell))
+ verify(source, destination)
+ return destination
+
+
+def verify(source, destination):
+ """Every virtual file restores exactly; every ordinary page has one transform."""
+ source, destination = Path(source), Path(destination)
+ index = json.loads((destination / "delivery-index.json").read_text())
+ if digest((source / "manifest.json").read_bytes()) != index["source_manifest_sha256"]:
+ raise ValueError("Delivery source manifest changed")
+ cache = {}
+ for path, shard in index["files"].items():
+ if shard not in cache:
+ cache[shard] = json.loads(gzip.decompress((destination / shard).read_bytes()))
+ raw = cache[shard][path].encode()
+ if digest(raw) != index["sha256"][path] or raw != (source / path).read_bytes():
+ raise ValueError("Packed evidence changed")
+ manifest = json.loads((source / "manifest.json").read_text())
+ for path in set(manifest["routes"]) | {a["path"] for a in manifest["bundle"]} | {"manifest.json"}:
+ if path in index["files"]:
+ continue
+ raw = (source / path).read_bytes()
+ expected = transform_page(raw.decode()).encode() if path.endswith(".html") else raw
+ if (destination / path).read_bytes() != expected:
+ raise ValueError("Delivery page changed")
+ return True
diff --git a/harness/web_search/diagnostics.py b/harness/web_search/diagnostics.py
new file mode 100644
index 000000000..5d6d64bb1
--- /dev/null
+++ b/harness/web_search/diagnostics.py
@@ -0,0 +1,83 @@
+"""Explain measured latency without equating parallel work with wall time."""
+
+from collections import Counter
+from statistics import mean
+
+
+def operational(rows, payloads):
+ calls = []
+ for row in rows:
+ payload = payloads.get(row["id"], {})
+ attempts = payload.get("attempts", []) if isinstance(payload, dict) else []
+ valid = [
+ a
+ for a in attempts
+ if isinstance(a.get("elapsed_ms"), (int, float))
+ and isinstance(a.get("started_after_ms"), (int, float))
+ ]
+ ready = [
+ a["started_after_ms"] + a["elapsed_ms"]
+ for a in valid
+ if a.get("outcome") == "results" and (a.get("parsed_count") or 0) > 0
+ ]
+ server = (row.get("server_timing") or {}).get("elapsed_ms")
+ first = min(ready) if ready else None
+ calls.append(
+ dict(
+ id=row["id"],
+ evidence_path=(row.get("evidence") or {}).get("path"),
+ case_id=row["case_id"],
+ method=row["method"],
+ round=row["round"],
+ client_ms=row["elapsed_ms"],
+ server_ms=server,
+ outside_server_ms=row["elapsed_ms"] - server if server is not None else None,
+ first_results_ms=first,
+ after_first_ms=server - first if server is not None and first is not None else None,
+ attempts=len(attempts),
+ outcomes=dict(Counter(a.get("outcome", "unknown") for a in attempts)),
+ ttfb_ms=row.get("ttfb_ms"),
+ body_ms=(row.get("network") or {}).get("body_ms"),
+ bytes=(row.get("network") or {}).get("download_bytes"),
+ cache=(row.get("cache") or {}).get("state", "unknown"),
+ usage=row.get("usage") or {},
+ stop_reason=payload.get("stop_reason") if isinstance(payload, dict) else None,
+ coverage=payload.get("coverage") if isinstance(payload, dict) else None,
+ timeline=[
+ dict(
+ engine=a.get("engine"),
+ route=a.get("route"),
+ start=a["started_after_ms"],
+ duration=a["elapsed_ms"],
+ outcome=a.get("outcome"),
+ count=a.get("parsed_count"),
+ )
+ for a in valid
+ ],
+ )
+ )
+ methods = {}
+ for mid in dict.fromkeys(r["method"] for r in rows):
+ group = [c for c in calls if c["method"] == mid]
+ stats = {}
+ for key in (
+ "client_ms",
+ "server_ms",
+ "outside_server_ms",
+ "first_results_ms",
+ "after_first_ms",
+ "attempts",
+ "ttfb_ms",
+ "body_ms",
+ "bytes",
+ ):
+ values = [c[key] for c in group if c[key] is not None]
+ stats[key] = {"n": len(values), "mean": mean(values) if values else None}
+ stats["cache"] = dict(Counter(c["cache"] for c in group))
+ stats["outcomes"] = dict(sum((Counter(c["outcomes"]) for c in group), Counter()))
+ stats["usage"] = {
+ k: sum(c["usage"].get(k, 0) for c in group)
+ for k in sorted({k for c in group for k in c["usage"]})
+ }
+ methods[mid] = stats
+ return {"methods": methods, "calls": calls}
diff --git a/harness/web_search/evidence_quality.py b/harness/web_search/evidence_quality.py
new file mode 100644
index 000000000..eac25199b
--- /dev/null
+++ b/harness/web_search/evidence_quality.py
@@ -0,0 +1,31 @@
+"""Deterministic sensitivity checks for published factual retrieval datasets.
+
+Raw results and frozen metrics remain immutable. Exclusions preserve rank slots.
+"""
+import re
+
+from .core import factual_evidence
+
+CONTAMINATION_RULE = "simpleqa-name-in-url-or-title/1"
+
+
+def is_benchmark_page(result):
+ """Recognize explicit SimpleQA mirrors, not every dataset-hosted document."""
+ text = result.get("url", "") + " " + result.get("title", "")
+ return bool(re.search(r"simple[\s_\-]*qa", text, re.IGNORECASE))
+
+
+def factual_sensitivity(case, results):
+ retained = []
+ excluded = []
+ for rank, result in enumerate(results[:5], 1):
+ if is_benchmark_page(result):
+ excluded.append(rank)
+ retained.append({"url": f"https://benchmark-excluded.invalid/{rank}"})
+ else:
+ retained.append(result)
+ return {
+ "rule": CONTAMINATION_RULE,
+ "excluded_ranks": excluded,
+ "metrics": factual_evidence(case, retained),
+ }
diff --git a/harness/web_search/example.py b/harness/web_search/example.py
new file mode 100644
index 000000000..1765f2ede
--- /dev/null
+++ b/harness/web_search/example.py
@@ -0,0 +1,93 @@
+"""Deterministic synthetic success/failure report; never measured evidence."""
+
+import argparse
+import json
+from pathlib import Path
+
+from harness.web_fetch.config import ROOT
+
+from .core import digest, evaluate, normalize, write_json
+from .report import build
+
+
+def example(output):
+ profile = json.loads((ROOT / "evaluation/web-search/current-report.json").read_text())
+ profile["cases"] = profile["cases"][:2]
+ profile["methods"] = profile["methods"][:2]
+ profile["protocol"]["rounds"] = 1
+ profile["title"] = "Synthetic rendering fixture — not measurements"
+ source = output / "fixture"
+ source.mkdir(parents=True, exist_ok=True)
+ write_json(source / "profile.json", profile)
+ rows = []
+ for ci, case in enumerate(profile["cases"]):
+ for mi, method in enumerate(profile["methods"]):
+ failed = ci == mi == 1
+ payload = (
+ {"error": "Synthetic upstream timeout"}
+ if failed
+ else {
+ "timing": {"elapsed_ms": 80},
+ "attempts": [
+ {
+ "engine": "synthetic",
+ "route": "fixture",
+ "started_after_ms": 0,
+ "elapsed_ms": 50,
+ "outcome": "results",
+ "parsed_count": 1,
+ }
+ ],
+ "results": [
+ dict(
+ title="Synthetic reference",
+ url=case["anchors"][0],
+ snippet="Fixture only",
+ )
+ ],
+ }
+ )
+ identity = f"{case['id']}-{method['id']}-r0"
+ path = "calls/" + identity + ".json"
+ write_json(source / path, payload)
+ results = [] if failed else normalize(payload)
+ rows.append(
+ dict(
+ id=identity,
+ case_id=case["id"],
+ method=method["id"],
+ round=0,
+ elapsed_ms=100 + 100 * mi,
+ http_status=504 if failed else 200,
+ error="Synthetic upstream timeout" if failed else "",
+ results=results,
+ cost=None if mi == 0 else (0 if failed else 0.005),
+ currency="CNY",
+ evidence=dict(path=path, sha256=digest((source / path).read_bytes())),
+ metrics=evaluate(case, results),
+ server_timing=payload.get("timing"),
+ )
+ )
+ (source / "results.jsonl").write_text("".join(json.dumps(r) + "\n" for r in rows))
+ write_json(
+ source / "receipt.json",
+ dict(
+ complete=True,
+ certified=False,
+ synthetic=True,
+ call_count=len(rows),
+ profile_sha256=digest((source / "profile.json").read_bytes()),
+ results_sha256=digest((source / "results.jsonl").read_bytes()),
+ ),
+ )
+ return build(output / "report", source=source)
+
+
+def main():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument("--output", type=Path, required=True)
+ print(example(parser.parse_args().output))
+
+
+if __name__ == "__main__":
+ main()
diff --git a/harness/web_search/relevance.py b/harness/web_search/relevance.py
new file mode 100644
index 000000000..0c17f8386
--- /dev/null
+++ b/harness/web_search/relevance.py
@@ -0,0 +1,92 @@
+"""Blind, pooled top-k preview relevance scoring for Web Search results."""
+
+import hashlib
+import math
+
+from .core import canonical_url
+
+
+def _gain(grade, rank):
+ return (2**grade - 1) / math.log2(rank + 2)
+
+
+def score(profile, rows, plan, labels):
+ """Return per-query/provider nDCG and precision after exact coverage checks."""
+ cutoff = plan["cutoff"]
+ if cutoff != profile["protocol"]["top_k"] or cutoff < 1:
+ raise ValueError("Relevance cutoff differs from the measured result count")
+ cases = {case["id"]: case for case in profile["cases"]}
+ methods = [method["id"] for method in profile["methods"]]
+ indexed = {(row["case_id"], row["method"]): row for row in rows}
+ if len(set(plan["case_ids"])) != len(plan["case_ids"]) or set(labels) != set(plan["case_ids"]):
+ raise ValueError("Relevance labels do not cover the declared sample")
+ scored = []
+ for case_id in plan["case_ids"]:
+ case = cases[case_id]
+ rankings = {}
+ candidate_ids = set()
+ for method in methods:
+ result = indexed[case_id, method]
+ ids = []
+ for item in result["results"][:cutoff]:
+ canonical = canonical_url(item["url"])
+ candidate_id = hashlib.sha256((case_id + "\0" + canonical).encode()).hexdigest()[:12]
+ ids.append(candidate_id)
+ candidate_ids.add(candidate_id)
+ rankings[method] = ids
+ grades = labels[case_id]
+ if set(grades) != candidate_ids or any(type(v) is not int or v not in range(4) for v in grades.values()):
+ raise ValueError("Relevance grades do not match the pooled candidates")
+ ideal = sum(_gain(g, i) for i, g in enumerate(sorted(grades.values(), reverse=True)[:cutoff]))
+ if ideal == 0:
+ raise ValueError("No relevant candidate in a declared sample case")
+ for method in methods:
+ ids = rankings[method]
+ seen = set()
+ ranked_grades = []
+ for candidate_id in ids:
+ ranked_grades.append(0 if candidate_id in seen else grades[candidate_id])
+ seen.add(candidate_id)
+ dcg = sum(_gain(grade, rank) for rank, grade in enumerate(ranked_grades))
+ scored.append({"case_id": case_id, "family": case["family"], "method": method,
+ "ndcg": dcg / ideal, "precision": sum(g >= 2 for g in ranked_grades) / cutoff,
+ "returned": len(ids)})
+ return scored
+
+
+def summary(scored, methods):
+ return {method: {metric: sum(row[metric] for row in scoped) / len(scoped)
+ for metric in ("ndcg", "precision")}
+ | {"n": len(scoped)}
+ for method in methods if (scoped := [row for row in scored if row["method"] == method])}
+
+
+def verify_provenance(profile, rows, evidence):
+ """Make public candidate packets and rank mappings agree with measured outputs."""
+ plan = evidence["plan"]
+ packets = evidence["blind_candidate_packets"]
+ rankings = evidence["provider_rankings"]
+ labels = evidence["labels"]
+ if [packet["case_id"] for packet in packets] != plan["case_ids"]:
+ raise ValueError("Blind packets do not cover the declared sample")
+ indexed = {(row["case_id"], row["method"]): row for row in rows}
+ for packet in packets:
+ case_id = packet["case_id"]
+ ids = {candidate["candidate_id"] for candidate in packet["candidates"]}
+ if ids != set(labels[case_id]) or len(ids) != len(packet["candidates"]):
+ raise ValueError("Blind packet candidates disagree with grades")
+ for candidate in packet["candidates"]:
+ expected = hashlib.sha256((case_id + "\0" + canonical_url(candidate["url"])).encode()).hexdigest()[:12]
+ if candidate["candidate_id"] != expected:
+ raise ValueError("Blind packet URL identity mismatch")
+ for method in (m["id"] for m in profile["methods"]):
+ actual = [hashlib.sha256((case_id + "\0" + canonical_url(item["url"])).encode()).hexdigest()[:12]
+ for item in indexed[case_id, method]["results"][:plan["cutoff"]]]
+ if rankings[case_id][method] != actual:
+ raise ValueError("Published rank mapping disagrees with provider results")
+ crosscheck = evidence.get("crosscheck_labels", {})
+ if not set(crosscheck).issubset(labels) or any(
+ not set(grades).issubset(labels[case_id]) or any(type(v) is not int or v not in range(4) for v in grades.values())
+ for case_id, grades in crosscheck.items()
+ ):
+ raise ValueError("Cross-check grades are invalid")
diff --git a/harness/web_search/report.py b/harness/web_search/report.py
new file mode 100644
index 000000000..4ca99c7cc
--- /dev/null
+++ b/harness/web_search/report.py
@@ -0,0 +1,3003 @@
+"""Small bilingual Web Search report built from frozen calls, never invented scores."""
+
+import argparse
+import copy
+import html
+import json
+import math
+import posixpath
+import re
+from collections import Counter
+from pathlib import Path
+from statistics import median
+from urllib.parse import urlsplit
+
+from bs4 import BeautifulSoup
+
+from harness.web_fetch.config import ROOT
+
+from .core import (
+ aggregate,
+ canonical_url,
+ classify,
+ digest,
+ evaluate,
+ in_domain,
+ normalize,
+ request_cost,
+ validate_profile,
+ verify_bundle,
+ write_json,
+)
+from .evidence_quality import factual_sensitivity, CONTAMINATION_RULE
+from .diagnostics import operational
+from .runner import reference_available, reference_changes
+from .scoring import apply_identity_correction
+from .relevance import score as score_relevance, summary as relevance_summary, verify_provenance
+
+STYLE = """
+:root{color-scheme:light dark;--bg:#f7f8fa;--fg:#18252e;--panel:white;--line:#d9e0e5;--muted:#53646d;--win:#08704d}
+@media(prefers-color-scheme:dark){:root{--bg:#11191f;--fg:#e4edf3;--panel:#19252e;--line:#34454f;--muted:#acbec9;--win:#79dbaf}}
+body.dark{--bg:#11191f;--fg:#e4edf3;--panel:#19252e;--line:#34454f;--muted:#acbec9;--win:#79dbaf}
+body.light{--bg:#f7f8fa;--fg:#18252e;--panel:white;--line:#d9e0e5;--muted:#53646d;--win:#08704d}
+*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 system-ui,sans-serif}
+main,nav{max-width:1180px;margin:auto;padding:20px}main{overflow-wrap:anywhere}nav{display:flex;gap:22px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
+a{color:inherit;text-underline-offset:3px}h1{font-size:clamp(28px,4vw,36px);line-height:1.2}h2{margin-top:32px;font-size:24px}
+select,input{max-width:100%}
+.notice{border-left:4px solid #b77c1c;padding:14px 20px;background:var(--panel)}.muted{color:var(--muted)}
+.scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;margin:20px 0}.inventory{max-height:520px}
+table{border-collapse:collapse;min-width:720px;width:100%;background:var(--panel)}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{white-space:nowrap;position:sticky;top:0;background:var(--panel)}
+table.compact{min-width:0}table.compact td{min-width:70px}td{min-width:110px;max-width:420px;overflow-wrap:anywhere}.win{color:var(--win);font-weight:700}button,input,select{font:inherit;padding:7px 12px;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:5px}
+[data-row][data-state="pass"] td:nth-child(4){color:var(--win);font-weight:700}
+pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);padding:20px;border:1px solid var(--line)}dialog{max-width:min(900px,95vw);max-height:85vh;background:var(--bg);color:var(--fg);border:1px solid var(--line)}
+.specimen{border:1px solid var(--line);padding:20px;border-radius:8px;background:var(--panel)}.flow{display:flex;gap:12px;flex-wrap:wrap}.flow span{padding:15px;background:var(--panel);border:1px solid var(--line)}
+.bar{height:22px;background:#648caf;border-radius:3px;min-width:2px}.timeline{position:relative;height:24px;background:var(--bg);min-width:220px}.timeline i{position:absolute;height:18px;top:3px;background:#648caf;border-radius:3px}.timeline i.good{background:#29976d}.chapter{border-top:1px solid var(--line);margin-top:36px;padding-top:10px}.eyebrow{color:var(--muted)}.lede{font-size:19px;max-width:900px}
+.process{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.process .mermaid{background:white;color:#18252e;overflow:auto}.process svg{max-width:100%;height:auto}.process .flow-fallback{display:flex;gap:10px;flex-wrap:wrap}.process .flow-fallback span{padding:14px;border:1px solid var(--line);flex:1;min-width:150px}.specimen blockquote{margin:10px 0;padding-left:16px;border-left:3px solid var(--line)}.chapter p{max-width:960px}.chapter h3{margin-top:24px}.field-value{white-space:pre-wrap;max-height:250px;overflow:auto}
+.capmap{display:grid;grid-template-columns:minmax(135px,1.2fr) repeat(5,minmax(90px,1fr));gap:6px;margin:18px 0}.capmap>*{padding:12px 8px;border-radius:6px;background:var(--panel);text-align:center}.capmap .yes{background:#d7f0e5;color:#124b36;font-weight:700}.capmap .no{background:#eceff3;color:#52606c}.capmap .name{text-align:left;font-weight:700}.capmap .head{font-size:13px;font-weight:700}@media(max-width:700px){.capmap{grid-template-columns:minmax(110px,1.2fr) repeat(5,minmax(70px,1fr));font-size:12px;overflow:auto}.capmap>*{padding:8px 4px}}
+.metric-bars{display:grid;gap:12px;margin:18px 0;max-width:850px}.metric-bars .item{display:grid;grid-template-columns:150px minmax(120px,1fr) 195px;gap:12px;align-items:center}.metric-bars .track{height:22px;border-radius:4px;background:var(--line);overflow:hidden}.metric-bars .fill{display:block;height:100%;background:#2c8767}.metric-bars small{color:var(--muted)}@media(max-width:700px){.metric-bars .item{grid-template-columns:1fr 1fr}.metric-bars .track{grid-column:1/-1;grid-row:2}.metric-bars small{text-align:right}}
+.chapter-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.chapter-link{display:grid;gap:8px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-decoration:none}.chapter-link span{color:var(--muted)}[data-population]{margin:28px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}[data-population] h3{margin:0}[data-population] .scroll{margin-bottom:0}.population-note{max-width:850px;color:var(--muted)}
+@media(max-width:600px){.chapter-links{grid-template-columns:1fr}[data-population]{padding:12px}main,nav{padding:16px}nav{gap:14px}td,th{padding:10px}.flow{flex-direction:column}}
+"""
+SCRIPT = """
+document.querySelector('[data-theme]').onclick=()=>{document.body.className=document.body.className==='dark'?'light':'dark'};
+document.querySelectorAll('[data-sort-column]').forEach(b=>b.onclick=()=>{let t=b.closest('table'),i=+b.dataset.sortColumn,asc=b.parentElement.getAttribute('aria-sort')!=='ascending';t.querySelectorAll('th').forEach(x=>x.removeAttribute('aria-sort'));b.parentElement.setAttribute('aria-sort',asc?'ascending':'descending');let rows=[...t.tBodies[0].rows];rows.sort((a,b)=>{let x=a.cells[i].dataset.value,y=b.cells[i].dataset.value;if(x==='')return y===''?0:1;if(y==='')return -1;return (Number(x)-Number(y))*(asc?1:-1)});rows.forEach(r=>t.tBodies[0].append(r))});
+let pf=document.querySelector('[data-population-filter]');let f=document.querySelector('[data-filter]'),q=document.querySelector('[data-query]'),g=document.querySelector('[data-cohort-filter]'),o=document.querySelector('[data-origin-filter]'),m=document.querySelector('[data-method-filter]');function filter(){document.querySelectorAll('[data-row]').forEach(r=>{r.hidden=(pf&&pf.value!=='all'&&!JSON.parse(pf.selectedOptions[0].dataset.caseIds||'[]').includes(r.dataset.caseId))||(f&&f.value!=='all'&&r.dataset.state!==f.value)||(g&&g.value!=='all'&&r.dataset.cohort!==g.value)||(o&&o.value!=='all'&&r.dataset.origin!==o.value)||(m&&m.value!=='all'&&r.dataset.method!==m.value)||(q&&!r.textContent.toLowerCase().includes(q.value.toLowerCase()))})}if(pf)pf.onchange=filter;if(f)f.onchange=filter;if(q)q.oninput=filter;if(g)g.onchange=filter;if(o)o.onchange=filter;if(m)m.onchange=filter;filter();
+document.querySelectorAll('[data-evidence]').forEach(b=>b.onclick=async()=>{let d=document.querySelector('dialog');d.querySelector('a').hidden=true;d.querySelector('pre').textContent='…';d.showModal();try{let r=await fetch(b.dataset.evidence);if(!r.ok)throw Error('HTTP '+r.status);let text=await r.text();try{let v=JSON.parse(text);if(b.dataset.result!==undefined)v=v.results[Number(b.dataset.result)];text=JSON.stringify(v,null,2)}catch{}d.querySelector('pre').textContent=text}catch(e){d.querySelector('pre').textContent=String(e)}});
+document.querySelectorAll('[data-diagnosis]').forEach(b=>b.onclick=()=>{let d=document.querySelector('dialog');d.querySelector('pre').textContent=b.dataset.diagnosis;let a=d.querySelector('a');a.hidden=false;a.href=b.dataset.detail;d.showModal()});
+document.querySelectorAll('[data-close]').forEach(b=>b.onclick=()=>b.closest('dialog').close());
+if(document.querySelector('.mermaid')&&innerWidth>700){let s=document.createElement('script');s.src='https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js';s.integrity='sha384-rbtjAdnIQE/aQJGEgXrVUlMibdfTSa4PQju4HDhN3sR2PmaKFzhEafuePsl9H/9I';s.crossOrigin='anonymous';s.onload=async()=>{mermaid.initialize({startOnLoad:false,securityLevel:'strict',theme:'neutral'});for(let [i,n] of [...document.querySelectorAll('.mermaid')].entries()){try{let r=await mermaid.render('search-flow-'+i,n.textContent);n.innerHTML=r.svg;n.hidden=false;n.previousElementSibling.hidden=true}catch{}}};document.head.appendChild(s)}
+"""
+
+
+def esc(value):
+ return html.escape(str(value), quote=True)
+
+
+def fmt(value):
+ return "—" if value is None else f"{value:,.2f}"
+
+
+def table(headers, rows, sortable=False):
+ head = "".join(
+ f'{esc(h)} ↕ '
+ if sortable and i
+ else f"{esc(h)} "
+ for i, h in enumerate(headers)
+ )
+ return (
+ '"
+ )
+
+
+def cells(values):
+ return "" + "".join("" + v + " " for v in values) + " "
+
+
+def public_calls(profile, rows, source, sources):
+ """Keep measured outcomes; redact URL credentials and audit billing corrections."""
+ rows = copy.deepcopy(rows)
+ methods = {m["id"]: m for m in profile["methods"]}
+ files, redactions, corrections = {}, [], []
+ for row in rows:
+ attempts = row.get("attempts", [])
+ final_path = row["evidence"]["path"]
+ for attempt in attempts or [row]:
+ binding = attempt["evidence"]
+ raw = (sources.get(row.get("cohort"), source) / binding["path"]).read_bytes()
+ public = re.sub(rb'(https?://)[^/\s"<>@]+@', rb'\1REDACTED:REDACTED@', raw)
+ if public != raw:
+ redactions.append({"path": binding["path"], "original_sha256": digest(raw),
+ "public_sha256": digest(public), "rule": "URL userinfo redacted; outcome unchanged"})
+ binding["sha256"] = digest(public)
+ files[binding["path"]] = public
+ try:
+ payload = json.loads(raw)
+ except ValueError:
+ payload = None
+ cost = request_cost(methods[row["method"]], attempt["http_status"], attempt.get("transport_exit", 0), payload)
+ if cost != attempt["cost"]:
+ corrections.append({"path": binding["path"], "original_cost": attempt["cost"], "cost": cost,
+ "rule": "Provider nonempty billing does not depend on local URL validation"})
+ attempt["cost"] = cost
+ if attempts:
+ row["evidence"] = copy.deepcopy(attempts[-1]["evidence"])
+ assert row["evidence"]["path"] == final_path
+ row["cost"] = sum(a["cost"] for a in attempts) if all(a["cost"] is not None for a in attempts) else None
+ return rows, files, redactions, corrections
+
+
+def load_run(source):
+ profile = json.loads((source / "profile.json").read_text())
+ validate_profile(profile)
+ receipt = json.loads((source / "receipt.json").read_text())
+ if digest((source / "profile.json").read_bytes()) != receipt["profile_sha256"]:
+ raise ValueError("Profile hash mismatch")
+ raw = (source / "results.jsonl").read_bytes()
+ if digest(raw) != receipt["results_sha256"]:
+ raise ValueError("Results hash mismatch")
+ rows = [json.loads(line) for line in raw.splitlines()]
+ expected = {
+ (c["id"], m["id"], r)
+ for c in profile["cases"]
+ for m in profile["methods"]
+ for r in range(profile["protocol"]["rounds"])
+ }
+ actual = [(r["case_id"], r["method"], r["round"]) for r in rows]
+ if len(actual) != len(set(actual)) or set(actual) != expected:
+ raise ValueError("Incomplete or duplicate call matrix")
+ if not receipt.get("complete") or receipt["call_count"] != len(rows):
+ raise ValueError("Incomplete receipt")
+ if "physical_call_count" in receipt and receipt["physical_call_count"] != sum(
+ len(r.get("attempts", [r["evidence"]])) for r in rows
+ ):
+ raise ValueError("Physical call count mismatch")
+ verify_bundle(
+ source,
+ [r["evidence"] for r in rows]
+ + [a["evidence"] for r in rows for a in r.get("attempts", [])]
+ + receipt.get("bindings", []),
+ )
+ # Preserve the frozen receipt, but expose incomplete historical reference transfers.
+ receipt = dict(receipt)
+ receipt["reference_capture_issues"] = []
+ for phase in ("before", "after"):
+ reference_file = source / f"references-{phase}.json"
+ if reference_file.exists():
+ for url, capture in json.loads(reference_file.read_text()).items():
+ if profile["protocol"].get("reference_scope") == "identity":
+ actual_available = reference_available(
+ profile, url, capture, (source / capture["path"]).read_bytes()
+ )
+ if actual_available != capture["available"]:
+ raise ValueError("Reference identity qualification mismatch")
+ if capture.get("transport_exit") or capture.get("http_status") != 200:
+ receipt["reference_capture_issues"].append(
+ {
+ "phase": phase,
+ "url": url,
+ "transport_exit": capture.get("transport_exit"),
+ }
+ )
+ if receipt.get("certified") and receipt["reference_capture_issues"]:
+ raise ValueError("Certified source capture is incomplete")
+ if receipt.get("certified") and profile["protocol"].get("reference_scope") == "identity":
+ before = json.loads((source / "references-before.json").read_text())
+ after = json.loads((source / "references-after.json").read_text())
+ expected_refs = {u for c in profile["cases"] for u in c.get("anchors", [])}
+ expected_refs.update(profile.get("reference_artifacts", {}))
+ if (
+ set(before) != expected_refs
+ or set(after) != expected_refs
+ or reference_changes(profile, before, after)
+ ):
+ raise ValueError("Incomplete or failed identity reference scope")
+ bycase = {c["id"]: c for c in profile["cases"]}
+ for r in rows:
+ if r["id"] != f"{r['case_id']}-{r['method']}-r{r['round']}":
+ raise ValueError("Unsafe call identity")
+ attempts = r.get("attempts")
+ if attempts is not None:
+ if not 1 <= len(attempts) <= 1 + int(bool(profile["protocol"].get("retry"))):
+ raise ValueError("Invalid retry count")
+ if attempts[-1]["evidence"] != r["evidence"]:
+ raise ValueError("Final response must determine the result")
+ if r["elapsed_ms"] + 1 < sum(a["elapsed_ms"] for a in attempts):
+ raise ValueError("User-visible latency excludes a physical call")
+ if all(a["cost"] is not None for a in attempts):
+ if abs(r["cost"] - sum(a["cost"] for a in attempts)) > 1e-8:
+ raise ValueError("Retry cost mismatch")
+ if not r["error"] and r["http_status"] == 200:
+ normalized = normalize(json.loads((source / r["evidence"]["path"]).read_bytes()))
+ if normalized != r["results"]:
+ raise ValueError("Normalized response mismatch")
+ if evaluate(bycase[r["case_id"]], r["results"]) != r["metrics"]:
+ raise ValueError("Stored score mismatch")
+ return profile, rows, receipt
+
+
+def _execution_contract(protocol):
+ """Fields that must match for same-budget cross-cohort comparisons."""
+ return {key: protocol.get(key) for key in (
+ "top_k", "rounds", "score_round", "concurrency", "server_timeout_ms",
+ "client_timeout_s", "interval_s", "retry", "order", "as_of",
+ )}
+
+
+def load_report_runs(source, cohorts, labels, method_ids=None):
+ """Compose separately verified runs; never pretend they were one collection."""
+ inputs = [("primary", source), *cohorts]
+ if len({name for name, _ in inputs}) != len(inputs):
+ raise ValueError("Duplicate cohort name")
+ profile = None
+ rows, receipts, groups, paths = [], [], [], {}
+ seen_cases, seen_evidence = set(), set()
+ for name, path in inputs:
+ if not name.replace("-", "").isalnum():
+ raise ValueError("Unsafe cohort name")
+ current, calls, receipt = load_run(path)
+ if method_ids is not None:
+ methods = {method["id"]: method for method in current["methods"]}
+ if not method_ids or not set(method_ids).issubset(methods):
+ raise ValueError("Cohort does not contain every comparison participant")
+ current = copy.deepcopy(current)
+ current["methods"] = [methods[method_id] for method_id in method_ids]
+ calls = [row for row in calls if row["method"] in method_ids]
+ if profile is None:
+ profile = copy.deepcopy(current)
+ profile["cases"] = []
+ elif current["methods"] != profile["methods"] or _execution_contract(current["protocol"]) != _execution_contract(profile["protocol"]):
+ raise ValueError("Cohort participants or execution protocols differ")
+ case_ids = {c["id"] for c in current["cases"]}
+ evidence = {r["evidence"]["path"] for r in calls}
+ if seen_cases & case_ids or seen_evidence & evidence:
+ raise ValueError("Overlapping cohort case or evidence identities")
+ seen_cases.update(case_ids)
+ seen_evidence.update(evidence)
+ profile["cases"].extend(dict(c, cohort=name) for c in current["cases"])
+ profile.setdefault("reference_checks", {}).update(current.get("reference_checks", {}))
+ profile.setdefault("reference_artifacts", {}).update(current.get("reference_artifacts", {}))
+ rows.extend(dict(r, cohort=name) for r in calls)
+ groups.append(
+ {
+ "id": name,
+ "label": labels.get(name, {"en": name, "zh": name}),
+ "case_ids": sorted(case_ids),
+ "protocol": current["protocol"],
+ }
+ )
+ receipts.append(
+ {
+ "cohort": name,
+ "profile_sha256": digest((path / "profile.json").read_bytes()),
+ "results_sha256": digest((path / "results.jsonl").read_bytes()),
+ "receipt_sha256": digest((path / "receipt.json").read_bytes()),
+ "collection_receipt": receipt,
+ }
+ )
+ paths[name] = path
+ profile["report_cohorts"] = groups
+ if any(group["protocol"].get("preserve_publisher_queries") for group in groups):
+ profile["protocol"]["preserve_publisher_queries"] = True
+ # A batch-specific prose description is not the combined report's population.
+ # Frozen source profiles remain bound separately by their original hashes.
+ profile["protocol"].pop("comparison", None)
+ validate_profile(profile)
+ return (
+ profile,
+ rows,
+ {
+ "certified": all(r["collection_receipt"].get("certified") for r in receipts),
+ "synthetic": all(r["collection_receipt"].get("synthetic") for r in receipts),
+ "complete": True,
+ "call_count": len(rows),
+ "separate_collections": receipts,
+ },
+ paths,
+ )
+
+
+def build(
+ output,
+ *,
+ profile_path=None,
+ source=None,
+ content=None,
+ language="zh",
+ include_english=False,
+ correction=None,
+ relevance=None,
+ site_prefix="",
+ cohorts=(),
+):
+ if site_prefix and ("/" in site_prefix or not site_prefix.replace("-", "").isalnum()):
+ raise ValueError("Site prefix must be one safe directory name")
+ authored = json.loads(content.read_text()) if content else {"sections": []}
+ reading_sections = authored.get("reading_sections", [])
+ if len({p["key"] for p in reading_sections}) != len(reading_sections) or any(
+ not p["key"].replace("-", "").isalnum() for p in reading_sections
+ ):
+ raise ValueError("Unsafe or overlapping reading section")
+ sources = {}
+ if cohorts:
+ if not source:
+ raise ValueError("Additional cohorts require a primary source")
+ profile, rows, receipt, sources = load_report_runs(
+ source, cohorts, authored.get("cohort_labels", {}), authored.get("comparison_methods")
+ )
+ elif source:
+ profile, rows, receipt = load_run(source)
+ else:
+ profile = json.loads(profile_path.read_text())
+ validate_profile(profile)
+ rows = []
+ receipt = {"certified": False}
+ collection_profile = profile
+ rows, public_files, redactions, billing_corrections = public_calls(profile, rows, source, sources)
+ scoring_revision = None
+ if correction:
+ revision = json.loads(correction.read_text())
+ profile, rows, changes = apply_identity_correction(profile, rows, revision)
+ scoring_revision = {
+ "contract": revision,
+ "changes": changes,
+ "sha256": digest(correction.read_bytes()),
+ }
+ assessment_revision = None
+ if authored.get("assessment_revision"):
+ from .scoring import apply_report_revision
+ profile, rows, changes = apply_report_revision(profile, rows, authored["assessment_revision"])
+ assessment_revision = {"contract": authored["assessment_revision"], "changes": changes, "implementation_sha256": {name: digest((Path(__file__).parent / name).read_bytes()) for name in ("scoring.py", "core.py", "answer_rules.py")}}
+ profile, rows = project_comparison(profile, rows, authored)
+ materialized_paths = {e["path"] for r in rows for e in [r["evidence"], *[a["evidence"] for a in r.get("attempts", [])]]}
+ redactions = [r for r in redactions if r["path"] in materialized_paths]
+ billing_corrections = [r for r in billing_corrections if r["path"] in materialized_paths]
+ output = Path(output).resolve()
+ output.mkdir(parents=True, exist_ok=True)
+ languages = ["zh", "en"] if include_english or language == "en" else ["zh"]
+ routes = []
+ selected = [r for r in rows if r["round"] == profile["protocol"]["score_round"]]
+ relevance_data = json.loads(relevance.read_text()) if relevance else None
+ if relevance_data:
+ verify_provenance(profile, selected, relevance_data)
+ relevance_scores = (
+ score_relevance(profile, selected, relevance_data["plan"], relevance_data["labels"])
+ if relevance_data else None
+ )
+ overview_methods = scoped_overview_methods(profile, authored)
+ overview_rows = scoped_overview_rows(profile, rows, authored)
+ summary = aggregate([r for r in overview_rows if r["round"] == profile["protocol"]["score_round"]])
+ physical = aggregate(overview_rows)
+ payloads = {}
+ for r in rows:
+ try:
+ payloads[r["id"]] = json.loads(
+ public_files[r["evidence"]["path"]]
+ )
+ except ValueError:
+ payloads[r["id"]] = {}
+ diagnostics = operational(rows, payloads)
+ bundle = []
+ factual_cases = {c["id"]: c for c in profile["cases"] if "reference_answer" in c}
+ if factual_cases:
+ sensitivity = {r["id"]: factual_sensitivity(factual_cases[r["case_id"]], r["results"]) for r in selected if r["case_id"] in factual_cases}
+ write_json(output / "factual-sensitivity.json", {"schema": "factual-sensitivity/1", "timing": "post-hoc diagnostic; no recollection or rank compaction", "rule": CONTAMINATION_RULE, "results": sensitivity})
+ bundle.append({"path": "factual-sensitivity.json", "sha256": digest((output / "factual-sensitivity.json").read_bytes())})
+ if relevance_data:
+ target = output / "relevance-judgments.json"
+ target.write_bytes(relevance.read_bytes())
+ bundle.append({"path": target.name, "sha256": digest(target.read_bytes())})
+ notice = ROOT / "evaluation/web-search/NOTICE.txt"
+ notice_target = output / "query-catalog-license.txt"
+ notice_target.write_bytes(notice.read_bytes())
+ bundle.append({"path": notice_target.name, "sha256": digest(notice.read_bytes())})
+ for asset in authored.get("assets", []):
+ verify_bundle(content.parent, [{"path": asset["source"], "sha256": asset["sha256"]}])
+ target = output / asset["path"]
+ if not target.resolve().is_relative_to(output):
+ raise ValueError("Unsafe report asset destination")
+ target.parent.mkdir(parents=True, exist_ok=True)
+ target.write_bytes((content.parent / asset["source"]).read_bytes())
+ bundle.append({"path": asset["path"], "sha256": asset["sha256"]})
+ if (output / "manifest.json").exists():
+ old_manifest = json.loads((output / "manifest.json").read_text())
+ for route in old_manifest["routes"]:
+ old = (output / route).resolve()
+ if old.is_relative_to(output) and old.is_file():
+ old.unlink()
+ for r in rows:
+ for evidence in [r["evidence"], *[a["evidence"] for a in r.get("attempts", [])]]:
+ if evidence in bundle:
+ continue
+ target = output / evidence["path"]
+ target.parent.mkdir(exist_ok=True)
+ target.write_bytes(public_files[evidence["path"]])
+ bundle.append(evidence)
+ for lang in languages:
+ zh = lang == "zh"
+ prefix = "" if lang == language else lang + "/"
+
+ def t(en, cn, zh=zh):
+ return cn if zh else en
+
+ nav = [
+ ("index.html", t("Overview", "概览")),
+ ("dataset.html", t("Queries", "评测集")),
+ ("results.html", t("Results", "结果")),
+ ("interpretation.html", t("Findings", "结果解读")),
+ ("performance.html", t("Latency diagnostics", "性能诊断")),
+ ("research.html", t("Method & market", "方法与竞品")),
+ ]
+ if reading_sections and authored.get("presentation") != "comparison-report":
+ nav = (
+ [("index.html", t("Overview", "总览"))]
+ + [("index.html#" + p["key"], p["nav"][lang]) for p in reading_sections]
+ + [("interpretation.html", t("Report interpretation", "报告解读"))]
+ + [entry for entry in nav[1:] if entry[0] != "interpretation.html"]
+ )
+ if authored.get("presentation") == "comparison-report":
+ nav = [("index.html", t("Overview", "总览")),
+ ("capabilities.html", t("Interfaces", "接口")),
+ ("dataset.html", t("Two benchmarks", "两套评测")),
+ ("results.html", t("Results", "逐题结果")),
+ ("performance.html", t("Performance and cost", "性能与成本")),
+ ("research.html", t("Methods and FAQ", "方法与问答")),
+ ("interpretation.html", t("Decisions", "结论与决策"))]
+ state = (
+ t(
+ "Measured API evaluation · automated target checks, no independent relevance review.",
+ "API 实测 · 目标匹配由规则核验,未做独立相关性标注。",
+ )
+ if rows
+ else t(
+ "Evaluation design preview. No API performance ranking.",
+ "评测设计预览,尚无 API 性能排名。",
+ )
+ )
+ if rows and len(profile["methods"]) == 1:
+ state = t(
+ "Single-provider preflight; no cross-provider comparison.",
+ "单接口预检;不构成两家接口对比。",
+ )
+ if receipt.get("synthetic"):
+ state = t(
+ "Synthetic fixture — not API measurements.",
+ "合成示例,所有数字均为测试夹具,不是 API 实测。",
+ )
+ if rows and not receipt["certified"]:
+ state += t(" Diagnostic evidence.", "诊断性证据。")
+ if authored.get("reading_model") and rows and receipt.get("certified"):
+ state = t(
+ "Measured Search API responses and documented capabilities · each metric states its evidence scope.",
+ "Search API 实测与公开规格核对 · 每项指标单独说明证据范围。",
+ )
+
+ def page(route, title, body, prefix=prefix, lang=lang, nav=nav, state=state, t=t):
+ path = output / prefix / route
+ path.parent.mkdir(parents=True, exist_ok=True)
+ back = "../" if route.startswith("details/") else ""
+ depth = "../" * (len(Path(prefix + route).parts) - 1 + bool(site_prefix))
+ navigation = "".join(f'{label} ' for p, label in nav)
+ if len(languages) > 1:
+ other = "zh" if lang == "en" else "en"
+ otherprefix = "" if other == language else other + "/"
+ language_depth = "../" * (len(Path(prefix + route).parts) - 1)
+ navigation += f'{"中文" if other == "zh" else "English"} '
+ navigation += f'{t("Theme", "切换主题")} '
+ if site_prefix:
+ navigation += f'{t("Main comparison", "主评测")} '
+ notice_html = f'{state}
'
+ if authored.get("presentation") == "comparison-report" and receipt.get("certified") and not receipt.get("synthetic"):
+ notice_html = ''
+ document = BeautifulSoup(
+ f'{esc(title)} · {t("Web Search", "网页搜索")} {navigation} {t("Browser Eval / Web Search", "浏览器评测 / 网页搜索")}
{esc(title)} {notice_html}{body}{t("Close", "关闭")} {t("Full result", "完整结果")} ',
+ "html.parser",
+ )
+ # Artifact Site injects a root base on every nested route. Local pages use
+ # the matching base above; every artifact-owned link names the root path.
+ for node in document.select("[href],[data-evidence],[data-detail]"):
+ if node.name == "base":
+ continue
+ for attr in ("href", "data-evidence", "data-detail"):
+ value = node.get(attr)
+ if value and not value.startswith(("https://", "http://", "#")):
+ asset_paths = {a["path"] for a in authored.get("assets", [])}
+ if relevance_data:
+ asset_paths.add("relevance-judgments.json")
+ node[attr] = posixpath.normpath(
+ posixpath.join(
+ site_prefix,
+ "" if value in asset_paths else posixpath.dirname(prefix + route),
+ value,
+ )
+ )
+ path.write_text(str(document))
+ routes.append(prefix + route)
+
+ hit_key = "anchor_hit_5" if profile["protocol"]["top_k"] == 5 else "anchor_hit_10"
+ cutoff = profile["protocol"]["top_k"]
+ headers = [
+ t("Method", "方法"),
+ t("Nonempty / queries", "非空/题数"),
+ t("Mean ms", "平均 ms"),
+ "P50 ms",
+ "P95 ms",
+ t(f"Known page@{cutoff}", f"目标页进前{cutoff}条"),
+ t("Price / 1k", "千次价格"),
+ ]
+ summary = aggregate([r for r in overview_rows if r["round"] == profile["protocol"]["score_round"]])
+ physical = aggregate(overview_rows)
+ entries = []
+ for m in overview_methods:
+ s = summary.get(m["id"])
+ p = physical.get(m["id"])
+ a = p["all_latency"] if p else {}
+ hit = s["metrics"][hit_key] if s else {"mean": None, "n": 0}
+ entries.append(
+ [
+ m["label"],
+ p["nonempty"] if p else None,
+ a.get("mean"),
+ a.get("p50"),
+ a.get("p95"),
+ hit["mean"],
+ m["price_per_1000"],
+ ]
+ )
+ winners = {}
+ for i in (2, 3, 4, 5):
+ values = [e[i] for e in entries]
+ if len(values) > 1 and all(v is not None for v in values):
+ best = (max if i == 5 else min)(values)
+ if values.count(best) == 1:
+ winners[i] = best
+ core = []
+ for entry, m in zip(entries, overview_methods, strict=True):
+ td = []
+ for i, value in enumerate(entry):
+ label = esc(value) if i == 0 else fmt(value)
+ if i == 1 and value is not None:
+ label = f"{value}/{physical[m['id']]['n']}"
+ if i == 6:
+ label += " " + m["currency"]
+ if i == 5 and value is not None:
+ label = f"{value * 100:.1f}% ({summary[m['id']]['metrics'][hit_key]['n']}题)" if zh else f"{value * 100:.1f}% ({summary[m['id']]['metrics'][hit_key]['n']} queries)"
+ win = i in winners and value == winners[i]
+ td.append(
+ f'"
+ + ("★ " if win else "")
+ + label
+ + " "
+ )
+ core.append("" + "".join(td) + " ")
+ summary = aggregate(selected)
+ physical = aggregate(rows)
+ body = table(headers, core, True)
+ body += cohort_summary(profile, rows, zh)
+ body += authored_sections(authored, "summary", lang)
+ if receipt.get("reference_capture_issues"):
+ body += (
+ ''
+ + t(
+ f"{len(receipt['reference_capture_issues'])} reference captures have HTTP or transfer failures. This cohort remains diagnostic and cannot certify source-text quality.",
+ f"{len(receipt['reference_capture_issues'])} 条参考抓取记录存在 HTTP 或传输失败。本批仅供诊断,不能认证参考正文质量。",
+ )
+ + "
"
+ )
+
+ body += (
+ ""
+ + t(
+ "All-call latency includes failures and every declared round. P50 is the median; P95 uses nearest rank. Quality uses only the preselected first round. A known-page miss is not proof of irrelevant results.",
+ "耗时包含失败和预定的所有轮次。P50 为中位数,P95 取最近秩百分位数。命中指标仅使用预定的第一轮;没命中已知目标页,不等于其他结果不相关。",
+ )
+ + "
"
+ )
+ body += (
+ ""
+ + t(
+ "Prices checked 2026-10-20. Lexmount pricing is unset. DeepSeek: CNY 5 per 1,000 nonempty successful requests. API charges exclude downstream model tokens and additional fetches.",
+ "价格核对日期:2026-10-20。Lexmount 尚未确定价格。DeepSeek 每千次成功且非空请求 5 元。接口费用不包含下游模型 token 和额外抓取费用。",
+ )
+ + "
"
+ )
+ body += comparison_tables(profile, selected, rows, zh)
+ body += (
+ ""
+ + t(
+ f"Collected methods: {len(profile['methods'])}. Declared rounds: {profile['protocol']['rounds']}.",
+ f"本批接口数量:{len(profile['methods'])};预定轮次:{profile['protocol']['rounds']}。",
+ )
+ + "
"
+ )
+ body += (
+ ""
+ + t("What is compared", "比较范围")
+ + ' '
+ + "".join(
+ "" + v + " "
+ for v in [
+ t(
+ f"{len(profile['cases'])} frozen queries",
+ f"{len(profile['cases'])} 条固定查询",
+ ),
+ t(f"Same top-{cutoff} budget", f"统一前 {cutoff} 条预算"),
+ t("Serial API calls", "串行调用"),
+ t("Saved responses & metrics", "保留响应与指标"),
+ ]
+ )
+ + "
"
+ )
+ body += (
+ ""
+ + t(
+ "Web, site-restricted and native vertical queries remain separate populations. DeepSeek receives site operators for vertical tasks; Lexmount receives its native source parameter. Both return their native text, without a generation model.",
+ "通用网页、站点限定和垂类查询分别统计。垂类任务中,DeepSeek 使用 site 算子,Lexmount 使用原生 source 参数。保留各家原生文本,不接入回答模型。",
+ )
+ + "
"
+ )
+ if rows:
+ body += latency_rounds(profile, rows, zh)
+ body += "" + t("Successful-call latency", "非空成功响应耗时") + " "
+ body += table(
+ [t("Method", "方法"), "N", t("Mean ms", "平均耗时 ms"), "P50 ms", "P95 ms"],
+ [
+ cells(
+ [
+ esc(m["label"]),
+ str(physical[m["id"]]["success_latency"]["n"]),
+ *[
+ fmt(physical[m["id"]]["success_latency"][k])
+ for k in ("mean", "p50", "p95")
+ ],
+ ]
+ )
+ for m in profile["methods"]
+ ],
+ )
+ if authored.get("reading_model"):
+ body = authored_sections(authored, "lead", lang, rows=selected)
+ body += (
+ "" + t("Measured baseline", "实测概况") + " "
+ + "" + esc(cohort_label(profile, authored.get("overview_cohort"), zh)) + "
"
+ )
+ overview_case_ids = {r["case_id"] for r in overview_rows}
+ target_count = sum(bool(c.get("anchors") or c.get("paper_ids") or c.get("repositories"))
+ for c in profile["cases"] if c["id"] in overview_case_ids)
+ body += '' + t(
+ f"Nonempty counts queries with at least one result. Mean, P50 (median) and P95 cover all {len(overview_case_ids)} queries in this table; 95% finish within the P95 time. Known page@{cutoff} checks whether a target URL appears in the first {cutoff} results, across {target_count} predeclared target-page queries.",
+ f"“非空”指至少返回一条结果的题数。平均耗时、P50(中位数)和 P95 均统计本表全部 {len(overview_case_ids)} 题;95% 的题在 P95 所示时间内结束。“目标页进前{cutoff}条”只看事先指定了目标网页的 {target_count} 题,目标网址出现在前{cutoff}条即算命中。",
+ ) + '
'
+ body += table(headers, core, True)
+ if profile["protocol"].get("retry"):
+ body += '' + t(
+ f"The same {len(profile['cases'])} queries went to every provider. Each query has one final result; transport, HTTP or invalid-response failures receive one retry. Latency covers the complete user-visible request, including any retry. Empty valid results are not retried.",
+ f"每家使用相同的 {len(profile['cases'])} 道题,每题只计一个最终结果。传输、HTTP 或响应格式失败时重试一次;耗时包含整次请求和可能的重试。正常返回空结果不重试。",
+ ) + '
'
+ body += authored_sections(authored, "summary", lang, rows=selected)
+ for chapter in reading_sections:
+ body += (
+ ''
+ + esc(chapter["title"][lang])
+ + " "
+ + authored_sections(authored, chapter["key"] + "-lead", lang, rows=selected, heading_level=3)
+ + (capability_map(dict(profile, methods=overview_methods), selected, zh) if chapter["key"] == "capabilities" else "")
+ + (relevance_panel(profile, relevance_scores, relevance_data, zh) if chapter["key"] == "quality" and relevance_scores else "")
+ + (known_page_chart(dict(profile, methods=overview_methods), selected, zh) if chapter["key"] == "quality" else "")
+ + (factual_panel(profile, selected, zh) if chapter["key"] == "quality" else "")
+ + (mode_panel(profile, selected, zh) if chapter["key"] == "speed" else "")
+ + authored_sections(
+ authored, chapter["key"], lang, rows=selected, heading_level=3
+ )
+ + " "
+ )
+ if authored.get("presentation") == "comparison-report":
+ body = authored_sections(authored, "lead", lang, rows=selected)
+ body += population_summary(profile, selected, authored, zh)
+ body += authored_sections(authored, "summary", lang, rows=selected)
+ body += '' + ''.join(
+ '
' + title + ' ' + text + ' '
+ for route, title, text in [
+ ("capabilities.html", t("What each API returns", "各家交付什么"), t("Requests, fields and actual examples", "请求参数、返回字段与实际样例")),
+ ("quality.html", t("How useful are the results?", "结果有没有用"), t("Evidence checks with explicit populations", "分题组看证据命中与适用范围")),
+ ("results.html", t("Compare every response", "逐题并排比较"), t("Outcome comparison and paginated outputs", "通过情况对比与分页输出")),
+ ("research.html", t("How search is evaluated", "行业怎么评测搜索"), t("Benchmarks, labels and metric definitions", "公开基准、标注与指标解释")),
+ ]) + '
'
+ for chapter_key, chapter_title in [("capabilities", t("Interfaces and delivered content", "接口与实际返回内容")), ("quality", t("Search quality", "搜索质量")), ("cost", t("API cost", "接口成本"))]:
+ chapter_body = authored_sections(authored, chapter_key + "-lead", lang, rows=selected)
+ if chapter_key == "capabilities":
+ chapter_body += capability_map(profile, selected, zh)
+ if chapter_key == "quality":
+ chapter_body += factual_panel(profile, selected, zh)
+ chapter_body += scenario_panel(profile, selected, authored, zh)
+ chapter_body += authored_sections(authored, chapter_key, lang, rows=selected)
+ page(chapter_key + ".html", chapter_title, chapter_body)
+ page(
+ "index.html",
+ authored.get("title", {}).get(lang)
+ or (
+ t(
+ f"Web Search: {len(profile['cases'])}-query comparison",
+ f"Web Search:{len(profile['cases'])} 题接口评测",
+ )
+ if profile.get("report_cohorts")
+ else t("Search quality, speed and cost", "搜索质量、速度与成本")
+ ),
+ body,
+ )
+ ds = []
+ for c in profile["cases"]:
+ anchors = " ".join(
+ f'{t("Target page", "目标页面")} · {esc(u.split("://", 1)[-1].split("/", 1)[0])} '
+ for u in c.get("anchors", [])
+ ) or t("No target URL declared", "未设目标网址")
+ if "reference_answer" in c:
+ anchors = esc(c["reference_answer"]) + " " + " ".join('' + t("Labeled source", "标注来源") + " " for u in c.get("reference_urls", []))
+ if c.get("paper_ids") or c.get("repositories"):
+ anchors += " " + esc(
+ ", ".join(c.get("paper_ids", []) + c.get("repositories", []))
+ )
+ if c.get("identity_aliases"):
+ anchors += " " + t("Verified equivalent URLs: ", "核验为同页的网址:")
+ anchors += " ".join(esc(u) for u in c["identity_aliases"])
+ ds.append(
+ cells(
+ [
+ esc(c["id"]),
+ esc(
+ cohort_label(profile, c.get("cohort"), zh) + " / " + c["family"]
+ if profile.get("report_cohorts")
+ else search_category(c["family"], zh)
+ ),
+ esc(c["language"]),
+ esc(search_category(c.get("category", c["family"]), zh)),
+ esc(provenance_label(c.get("provenance_kind", "curated"), zh)),
+ esc(c["query"]),
+ anchors,
+ esc(source_note(c, zh))
+ + " "
+ + (
+ f'' + t("Source", "来源") + " "
+ if c["origin"].startswith("https://")
+ else ""
+ ),
+ ]
+ )
+ )
+ page(
+ "dataset.html",
+ t("Query set", "评测查询集"),
+ dataset_context(profile, authored, zh)
+ + provenance_table(profile, zh)
+ + f''
+ + t("Public query catalog attribution and license", "公开查询集署名与许可")
+ + "
"
+ + origin_filter(profile, zh)
+ + cohort_filter(profile, zh)
+ + population_filter(profile, authored, zh)
+ + ""
+ + t("Search queries, categories or sources", "搜索查询、类别或来源")
+ + " "
+ + t(
+ "Social posts inspire scenarios; original queries not disclosed by their authors are explicitly new queries. Anchor URLs are a limited known-page set.",
+ "社交帖子提供场景线索;原作者没有披露的查询,明确标为新编查询。目标 URL 只是有限的已知页面集合。",
+ )
+ + "
"
+ + ""
+ + t(
+ "Target URLs test known-page discovery, not overall relevance. Original targets retain their collection-time evidence; later additions retain dated independent source observations. Public factual answers and source URLs come from the published dataset, not newly captured reference pages.",
+ "目标网址用于检查指定页面发现,不代表整体相关性。原有目标保留采集时证据,后补目标保留独立来源的核验日期与内容摘录。公开事实题的答案和来源取自原题库,不表示本轮重新抓取了全部参考网页。",
+ )
+ + "
"
+ + table(
+ [
+ "ID",
+ t("Search route", "搜索方式"),
+ t("Language", "语言"),
+ t("Category", "类别"),
+ t("Provenance", "来源类型"),
+ t("Query", "查询"),
+ t("Reference page / answer", "参考页面/答案"),
+ t("Provenance", "来源"),
+ ],
+ [
+ s.replace(
+ "",
+ f' ',
+ 1,
+ )
+ for s, c in zip(ds, profile["cases"], strict=True)
+ ],
+ ),
+ )
+ inventory = []
+ bycase = {c["id"]: c for c in profile["cases"]}
+ method_labels = {method["id"]: method["label"] for method in profile["methods"]}
+ for r in selected:
+ cid = r["case_id"]
+ c = bycase[cid]
+ status, reason = classify(c, r)
+ reason_label = {
+ "api_error": t("API or transport error", "接口或传输错误"),
+ "empty": t("Empty result list", "返回空列表"),
+ "domain_mismatch": t(
+ "Results outside the requested domain", "返回了指定域名以外的结果"
+ ),
+ "target_miss": t(
+ f"Reference target absent from top {cutoff}", f"前 {cutoff} 条未匹配参考目标"
+ ),
+ "target_hit": t("Reference target found", "找到参考目标"),
+ "source_hit": t("Published supporting source found", "找到题库标注来源"),
+ "source_miss": t("Published supporting source not found", "未找到题库标注来源"),
+ "probe": t("Unjudged query", "未标注相关性"),
+ }[reason]
+ target = "details/" + r["id"] + ".html"
+ state_label = {
+ "fail": t("Miss / error", "未命中/错误"),
+ "pass": t("Target hit", "目标命中"),
+ "probe": t("Unjudged query", "未标注相关性"),
+ }[status]
+ diagnostic_text = "\n".join(
+ [
+ c["query"],
+ reason_label,
+ f"HTTP {r['http_status']}; {len(r['results'])} " + t("results", "条结果"),
+ r["error"]
+ or (
+ t("Empty results array", "结果数组为空")
+ if not r["results"]
+ else t(
+ "Compare returned URLs with the independent reference target in the full result.",
+ "完整结果中可对照返回网址与独立参考目标。",
+ )
+ ),
+ ]
+ )
+ inventory.append(
+ f' {esc(cid)} {esc(cohort_label(profile, c.get("cohort"), zh))} {esc(c["query"])} {esc(method_labels[r["method"]])} {esc(state_label)} {fmt(r["elapsed_ms"])} {t("Diagnosis", "诊断")} {t("Details", "详情")} '
+ )
+ # Relative path from details/ to shared evidence at output root.
+ ev = ("../../" if prefix else "../") + r["evidence"]["path"]
+ detail = f"{esc(c['query'])}
HTTP {r['http_status']} · {fmt(r['elapsed_ms'])} ms · {len(r['results'])} {t('results', '条结果')}
"
+ detail += (
+ ""
+ + t("Rule and evidence", "规则与证据")
+ + " "
+ + esc(c.get("anchors") or c.get("domains") or [])
+ + "
"
+ )
+ if c.get("reference_annotation"):
+ detail += annotation_detail(c["reference_annotation"], zh)
+ elif c.get("anchors"):
+ detail += (
+ ""
+ + t(
+ "These are predeclared target URLs, not full reference answers. Before/after HTTP captures verify page identity. Finding other useful sources requires separate relevance and answer-evidence judgments.",
+ "以上是预先指定的目标网址,不是完整标准答案。采集前后的 HTTP 留档用于核验页面身份;其他来源是否有用、能否支持答案,需要另作相关性与证据判断。",
+ )
+ + "
"
+ )
+ if "reference_answer" in c:
+ detail += "" + t("Published answer and sources", "公开标准答案与来源") + " "
+ detail += "" + esc(c["reference_answer"]) + "
"
+ detail += "" + "".join(
+ '' + esc(u) + " "
+ for u in c.get("reference_urls", [])
+ ) + " "
+ detail += "" + t(
+ "Checks compare the first five URLs with the published sources and look for the normalized answer phrase in individual returned fields. A phrase match is not a factual correctness or entailment judgment.",
+ "检查前五条网址是否属于公开标注来源,以及单个返回字段是否出现规范化后的答案词组。文字匹配不判定上下文是否正确,也不等于答案准确率。",
+ ) + "
"
+ if c.get("paper_ids") or c.get("repositories"):
+ detail += (
+ ""
+ + esc(", ".join(c.get("paper_ids", []) + c.get("repositories", [])))
+ + "
"
+ )
+ if c.get("identity_aliases"):
+ detail += "" + t("Verified equivalent URLs: ", "核验为同页的网址:")
+ detail += esc(", ".join(c["identity_aliases"])) + "
"
+ diagnosis = reason_label
+ detail += "" + diagnosis + "
"
+ detail += (
+ ""
+ + t("Actual request parameters", "实际请求参数")
+ + " "
+ + esc(json.dumps(r.get("request", {}), ensure_ascii=False, indent=2))
+ + " "
+ )
+ metric_labels = [
+ (hit_key, t(f"Known target@{cutoff}", f"已知目标@{cutoff}")),
+ ("reciprocal_rank", t("Reciprocal rank", "目标排名倒数")),
+ ("domain_precision", t("Requested-domain fraction", "指定域名占比")),
+ ("duplicate_rate", t("Duplicate-document fraction", "重复文档占比")),
+ ("content_coverage", t("Results containing content", "含正文的结果占比")),
+ ]
+ if "reference_answer" in c:
+ metric_labels += [
+ ("labeled_source_hit_5", t("Published source in top 5", "前五条找到标注来源")),
+ ("answer_in_preview_5", t("Answer phrase in title/snippet", "标题/短摘要出现答案")),
+ ("answer_in_delivered_text_5", t("Answer phrase in delivered text", "全部交付文字出现答案")),
+ ]
+ if "reference_answer" in c:
+ sensitivity = factual_sensitivity(c, r["results"])
+ detail += '' + t("Post-hoc benchmark-mirror exclusion; blanked ranks: ", "事后题库镜像排除;留空的位置:") + esc(str(sensitivity["excluded_ranks"])) + '
'
+ detail += table([t("After mirror exclusion", "排除镜像后"), t("Value", "数值")], [cells([t("Answer in preview", "短摘要/标题出现答案"), str(sensitivity["metrics"]["answer_in_preview_5"])]), cells([t("Answer in all text", "全部文字出现答案"), str(sensitivity["metrics"]["answer_in_delivered_text_5"])])])
+ detail += table(
+ [t("Metric", "指标"), t("Value", "数值")],
+ [cells([label, fmt(r["metrics"][key])]) for key, label in metric_labels],
+ )
+ detail += (
+ ""
+ + t("Exact error", "原始错误")
+ + " "
+ + esc(
+ r["error"]
+ or t(
+ "No API error reported; inspect the returned response for retrieval diagnostics.",
+ "接口没有报错;检索结果见原始响应。",
+ )
+ )
+ + " "
+ )
+ detail += f'{t("Open response", "打开响应")} JSON '
+ repeats = [x for x in rows if x["case_id"] == cid and x["method"] == r["method"]]
+ if len(repeats) > 1:
+ repeat_rows = []
+ for call in repeats:
+ call_path = ("../../" if prefix else "../") + call["evidence"]["path"]
+ repeat_rows.append(
+ cells(
+ [
+ str(call["round"] + 1),
+ str(call["http_status"]),
+ fmt(call["elapsed_ms"]),
+ str(len(call["results"])),
+ f'{t("Open response", "打开响应")} JSON ',
+ ]
+ )
+ )
+ detail += (
+ ""
+ + t("All declared physical calls", "全部预定调用")
+ + " "
+ + table(
+ [
+ t("Round", "轮次"),
+ "HTTP",
+ "ms",
+ t("Results", "结果数"),
+ t("Evidence", "证据"),
+ ],
+ repeat_rows,
+ )
+ )
+ peers = [x for x in selected if x["case_id"] == cid]
+ detail += same_task(peers, profile, zh)
+ detail += "" + t("Returned results", "返回结果") + " "
+ for item_index, item in enumerate(r["results"]):
+ detail += f'{esc(item["title"])} {esc(item["snippet"])}
{t("Summary and content", "查看摘要与正文")} '
+ page(target, cid + " / " + method_labels[r["method"]], detail)
+ options = [
+ ("fail", t("Target miss / error", "目标未命中/错误")),
+ ("pass", t("Declared evidence found", "找到预定证据")),
+ ("probe", t("Unjudged queries", "未标注相关性的查询")),
+ ("all", t("All", "全部")),
+ ]
+ default = "fail" if any('data-state="fail"' in r for r in inventory) else "all"
+ controls = (
+ ""
+ + t("Filter", "筛选")
+ + " "
+ + "".join(
+ f'"
+ + label
+ + " "
+ for v, label in options
+ )
+ + " "
+ + t("Provider", "服务")
+ + ' '
+ + t("All", "全部")
+ + " "
+ + "".join(
+ f'{esc(method["label"])} '
+ for method in profile["methods"]
+ )
+ + " "
+ + t("Find", "查找")
+ + " "
+ )
+ page(
+ "results.html",
+ t("Saved result inventory", "逐项结果"),
+ (render_result_comparison(profile, selected, zh, prefix=prefix, site_prefix=site_prefix, content=authored) if authored.get("presentation") == "comparison-report" else "")
+ + origin_filter(profile, zh)
+ + cohort_filter(profile, zh)
+ + controls
+ + table(
+ [
+ "ID",
+ t("Query", "查询"),
+ t("Method", "方法"),
+ t("Outcome", "状态"),
+ "ms",
+ t("Evidence", "证据"),
+ ],
+ inventory,
+ ).replace('class="scroll"', 'class="scroll inventory"')
+ + (
+ ""
+ if rows
+ else ""
+ + t(
+ "No authenticated cohort has been collected. Missing credentials are not provider failures.",
+ "尚未采集经过鉴权的对比批次。缺少密钥不计为服务失败。",
+ )
+ + "
"
+ )
+ + (
+ comparison_tables(profile, selected, rows, zh)
+ if authored.get("reading_model")
+ else ""
+ ),
+ )
+ research = (
+ authored_sections(authored, "method", lang, rows=selected)
+ + (cohort_summary(profile, rows, zh) if authored.get("reading_model") else "")
+ + fairness_table(profile, rows, zh)
+ )
+ page(
+ "research.html", t("Evaluation method and competitors", "评测方法与主要对手"), research
+ )
+ page(
+ "interpretation.html",
+ t("What the results mean", "结果说明了什么"),
+ authored_sections(authored, "interpretation-lead", lang, rows=selected)
+ + interpretation_summary_table(profile, selected, zh, authored)
+ + ("" if authored.get("presentation") == "comparison-report" else factual_panel(profile, selected, zh))
+ + authored_sections(authored, "interpretation", lang, rows=selected)
+ + ("" if authored.get("presentation") == "comparison-report" else outcome_table(profile, selected, zh) + domain_discovery_table(profile, selected, zh)),
+ )
+ page(
+ "performance.html",
+ t("Performance and cost", "性能与成本"),
+ authored_sections(authored, "performance", lang, rows=selected)
+ + performance_view(profile, diagnostics, zh, evidence_prefix="../" if prefix else "")
+ + ('' + t("Open the complete cost calculation", "查看完整成本计算") + "
" if authored.get("presentation") == "comparison-report" else ""),
+ )
+ write_json(
+ output / "manifest.json",
+ dict(
+ schema="web-search-report/1",
+ template="web-search/1",
+ languages=languages,
+ primary_language=language,
+ site_prefix=site_prefix,
+ routes=routes,
+ profile=profile,
+ collection_profile=collection_profile,
+ scoring_revision=scoring_revision,
+ assessment_revision=assessment_revision,
+ evidence_redactions=redactions,
+ billing_corrections=billing_corrections,
+ relevance_sha256=digest(relevance.read_bytes()) if relevance else None,
+ result_storage="raw-response",
+ rows=[
+ {
+ **{k: v for k, v in r.items() if k != "results"},
+ "result_count": len(r["results"]),
+ "normalized_results_sha256": digest(
+ json.dumps(r["results"], ensure_ascii=False, sort_keys=True).encode()
+ ),
+ }
+ for r in rows
+ ],
+ receipt=receipt,
+ bundle=bundle,
+ content_sha256=digest(content.read_bytes()) if content else None,
+ diagnostics=diagnostics,
+ authored=authored if authored.get("reading_model") or authored.get("presentation") else None,
+ reading_sections=reading_sections,
+ renderer_sha256=digest(Path(__file__).read_bytes()),
+ ),
+ )
+ check(output)
+ return output / "index.html"
+
+
+def check(output):
+ manifest = json.loads((output / "manifest.json").read_text())
+ if manifest.get("schema") == "web-search-reference/1":
+ return check_reference(output)
+ primary = manifest["primary_language"]
+ editions = [
+ {r.removeprefix(lang + "/") for r in manifest["routes"] if r.startswith(lang + "/")}
+ if lang != primary
+ else {r for r in manifest["routes"] if not r.startswith(("en/", "zh/"))}
+ for lang in manifest["languages"]
+ ]
+ if not editions or any(e != editions[0] for e in editions):
+ raise ValueError("Language route inventories disagree")
+ verify_bundle(output, manifest["bundle"])
+ for item in manifest["bundle"]:
+ if item["path"].endswith((".json", ".txt", ".md")):
+ raw = (output / item["path"]).read_bytes()
+ if any(value != b"REDACTED:REDACTED" for value in re.findall(rb'https?://([^/\s"<>@]+)@', raw)):
+ raise ValueError("Public evidence contains URL credentials")
+ for item in manifest.get("evidence_redactions", []):
+ if digest((output / item["path"]).read_bytes()) != item["public_sha256"]:
+ raise ValueError("Public redaction binding changed")
+ relevance_data = None
+ if manifest.get("relevance_sha256"):
+ relevance_path = output / "relevance-judgments.json"
+ if digest(relevance_path.read_bytes()) != manifest["relevance_sha256"]:
+ raise ValueError("Relevance judgments hash mismatch")
+ relevance_data = json.loads(relevance_path.read_text())
+ payloads = {}
+ for row in manifest["rows"]:
+ try:
+ payloads[row["id"]] = json.loads((output / row["evidence"]["path"]).read_bytes())
+ except ValueError:
+ payloads[row["id"]] = {}
+ if manifest.get("result_storage") == "raw-response":
+ results = (
+ normalize(payloads[row["id"]])
+ if row["http_status"] == 200 and not row["error"]
+ else []
+ )
+ if (
+ len(results) != row["result_count"]
+ or digest(json.dumps(results, ensure_ascii=False, sort_keys=True).encode())
+ != row["normalized_results_sha256"]
+ ):
+ raise ValueError("Result receipt disagrees with raw response")
+ row["results"] = results
+ factual_cases = {
+ case["id"]: case for case in manifest["profile"]["cases"]
+ if case.get("reference_answer")
+ }
+ if factual_cases:
+ sensitivity_path = output / "factual-sensitivity.json"
+ expected_sensitivity = {
+ row["id"]: factual_sensitivity(factual_cases[row["case_id"]], row["results"])
+ for row in manifest["rows"] if row["case_id"] in factual_cases
+ }
+ sensitivity = json.loads(sensitivity_path.read_text())
+ if (
+ sensitivity.get("rule") != CONTAMINATION_RULE
+ or sensitivity.get("results") != expected_sensitivity
+ ):
+ raise ValueError("Factual sensitivity disagrees with preserved responses")
+ groups = manifest["profile"].get("report_cohorts", [])
+ if groups:
+ declared = [(g["id"], cid) for g in groups for cid in g["case_ids"]]
+ actual_cases = [(c.get("cohort"), c["id"]) for c in manifest["profile"]["cases"]]
+ if len(declared) != len(set(cid for _, cid in declared)) or set(declared) != set(
+ actual_cases
+ ):
+ raise ValueError("Cohort population does not match the combined query set")
+ by_id = dict((cid, group) for group, cid in declared)
+ if any(r.get("cohort") != by_id.get(r["case_id"]) for r in manifest["rows"]):
+ raise ValueError("Result belongs to the wrong cohort")
+ for lang in manifest["languages"]:
+ prefix = "" if lang == primary else lang + "/"
+ soup = BeautifulSoup((output / (prefix + "research.html")).read_text(), "html.parser")
+ expected = BeautifulSoup(
+ fairness_table(manifest["profile"], manifest["rows"], lang == "zh"), "html.parser"
+ )
+ actual = soup.select_one("[data-fairness]")
+ if actual is None or actual.get_text() != expected.select_one("[data-fairness]").get_text():
+ raise ValueError("Fairness table disagrees with physical calls")
+ if groups:
+ summary_route = (
+ "research.html"
+ if (manifest.get("authored") or {}).get("reading_model")
+ else "index.html"
+ )
+ home = BeautifulSoup((output / (prefix + summary_route)).read_text(), "html.parser")
+ section = home.select_one("[data-cohort-summary]")
+ expected_section = BeautifulSoup(
+ cohort_summary(manifest["profile"], manifest["rows"], lang == "zh"), "html.parser"
+ )
+ if section is None or section.get_text() != expected_section.get_text():
+ raise ValueError("Missing or incorrect cohort summary")
+ for route in ("dataset.html", "results.html"):
+ inventory = BeautifulSoup((output / (prefix + route)).read_text(), "html.parser")
+ options = inventory.select("[data-cohort-filter] option")
+ if {o["value"] for o in options} != {"all", *(g["id"] for g in groups)}:
+ raise ValueError("Incomplete cohort filter")
+ for route in ("dataset.html", "results.html"):
+ inventory = BeautifulSoup((output / (prefix + route)).read_text(), "html.parser")
+ expected_groups = {origin_group(c) for c in manifest["profile"]["cases"]}
+ if {o["value"] for o in inventory.select("[data-origin-filter] option")} != {
+ "all",
+ *expected_groups,
+ }:
+ raise ValueError("Incomplete query-source filter")
+ expected_origins = [
+ origin_group(c)
+ for c in manifest["profile"]["cases"]
+ for _ in range(
+ 1 if route == "dataset.html" else (
+ len(manifest["profile"]["methods"]) if manifest["rows"] else 0
+ )
+ )
+ ]
+ if Counter(r.get("data-origin") for r in inventory.select("[data-row]")) != Counter(
+ expected_origins
+ ):
+ raise ValueError("Query-source population mismatch")
+ if route == "results.html":
+ method_ids = {method["id"] for method in manifest["profile"]["methods"]}
+ if {option["value"] for option in inventory.select("[data-method-filter] option")} != {"all", *method_ids}:
+ raise ValueError("Incomplete provider filter")
+ if Counter(row.get("data-method") for row in inventory.select("[data-row]")) != Counter(
+ result["method"] for result in manifest["rows"]
+ ):
+ raise ValueError("Provider filter population mismatch")
+ expected_diagnostics = operational(manifest["rows"], payloads)
+ cases = {c["id"]: c for c in manifest["profile"]["cases"]}
+ for row in manifest["rows"]:
+ if row["http_status"] == 200 and not row["error"]:
+ if normalize(payloads[row["id"]]) != row["results"]:
+ raise ValueError("Published results disagree with raw response")
+ if row["metrics"] != evaluate(cases[row["case_id"]], row["results"]):
+ raise ValueError("Published scores disagree with the declared rules")
+ if relevance_data:
+ selected = [r for r in manifest["rows"] if r["round"] == manifest["profile"]["protocol"]["score_round"]]
+ verify_provenance(manifest["profile"], selected, relevance_data)
+ if manifest.get("scoring_revision"):
+ revision = manifest["scoring_revision"]
+ collected = [
+ dict(
+ r,
+ metrics=evaluate(
+ next(
+ c
+ for c in manifest["collection_profile"]["cases"]
+ if c["id"] == r["case_id"]
+ ),
+ r["results"],
+ ),
+ )
+ for r in manifest["rows"]
+ ]
+ revised, _, changes = apply_identity_correction(
+ manifest["collection_profile"], collected, revision["contract"]
+ )
+ expected_changes = [c for c in revision["changes"] if c["id"] in {r["id"] for r in collected}]
+ if changes != expected_changes:
+ raise ValueError("Scoring revision provenance mismatch")
+ if manifest.get("assessment_revision"):
+ from .scoring import apply_report_revision
+ revised, _, _ = apply_report_revision(revised, [], manifest["assessment_revision"]["contract"])
+ revised, _ = project_comparison(revised, [], manifest.get("authored") or {})
+ if revised != manifest["profile"]:
+ raise ValueError("Scoring revision profile mismatch")
+ elif manifest.get("assessment_revision"):
+ from .scoring import apply_report_revision
+ revised, _, _ = apply_report_revision(manifest["collection_profile"], [], manifest["assessment_revision"]["contract"])
+ revised, _ = project_comparison(revised, [], manifest.get("authored") or {})
+ if revised != manifest["profile"]:
+ raise ValueError("Assessment revision profile mismatch")
+ if manifest.get("diagnostics") != expected_diagnostics:
+ raise ValueError("Performance explanation disagrees with raw evidence")
+ for route in manifest["routes"]:
+ path = output / route
+ soup = BeautifulSoup(path.read_text(), "html.parser")
+ authored = manifest.get("authored") or {}
+ if authored.get("reading_model") and "details/" not in route:
+ lang = soup.html["lang"]
+ name = Path(route).name
+ key = {
+ "index.html": "summary",
+ "research.html": "method",
+ "interpretation.html": "interpretation",
+ "performance.html": "performance",
+ "capabilities.html": "capabilities",
+ "quality.html": "quality",
+ "cost.html": "cost",
+ }.get(name)
+ if key:
+ score_rows = [
+ r
+ for r in manifest["rows"]
+ if r["round"] == manifest["profile"]["protocol"]["score_round"]
+ ]
+ expected = (
+ authored_sections(authored, "lead", lang, rows=score_rows)
+ if name == "index.html"
+ else ""
+ ) + (
+ authored_sections(authored, "interpretation-lead", lang, rows=score_rows)
+ if name == "interpretation.html"
+ else ""
+ ) + (
+ authored_sections(authored, key + "-lead", lang, rows=score_rows)
+ if name in ("capabilities.html", "quality.html", "cost.html") else ""
+ ) + authored_sections(authored, key, lang, rows=score_rows)
+ if name == "index.html" and authored.get("presentation") != "comparison-report":
+ chapters = manifest["reading_sections"]
+ if [s["data-reading"] for s in soup.select("[data-reading]")] != [
+ c["key"] for c in chapters
+ ]:
+ raise ValueError("Missing reader chapter")
+ expected += "".join(
+ authored_sections(authored, c["key"] + "-lead", lang, rows=score_rows, heading_level=3) + authored_sections(
+ authored, c["key"], lang, rows=score_rows, heading_level=3
+ )
+ for c in chapters
+ )
+ expected_soup = BeautifulSoup(expected, "html.parser")
+ if [s.get_text() for s in soup.select("[data-authored]")] != [
+ s.get_text() for s in expected_soup.select("[data-authored]")
+ ]:
+ raise ValueError(
+ "Reader explanation or measured specimen differs from its bound content"
+ )
+ quiet_certified = authored.get("presentation") == "comparison-report" and manifest["receipt"].get("certified") and not manifest["receipt"].get("synthetic")
+ if len(soup.select("p[data-state]")) != (0 if quiet_certified else 1):
+ raise ValueError("Missing evidence state")
+ if soup.head is None:
+ raise ValueError("Missing HTML head for artifact hosting")
+ if route.endswith("performance.html") and manifest["rows"]:
+ trs = soup.select("table")[0].select("tbody tr")
+ for tr, method in zip(trs, manifest["profile"]["methods"], strict=True):
+ stats = expected_diagnostics["methods"][method["id"]]
+ keys = (
+ "client_ms",
+ "server_ms",
+ "outside_server_ms",
+ "ttfb_ms",
+ "body_ms",
+ "bytes",
+ )
+ for cell, key in zip(tr.select("td")[1:], keys, strict=True):
+ expected = fmt(stats[key]["mean"]) + f" (n={stats[key]['n']})"
+ if cell.get_text() != expected:
+ raise ValueError("Visible performance decomposition mismatch")
+ candidates = [
+ c for c in expected_diagnostics["calls"] if c["after_first_ms"] is not None
+ ]
+ if candidates:
+ chosen = max(candidates, key=lambda c: c["after_first_ms"])
+ specimen = soup.select_one("[data-timing-specimen]")
+ if specimen is None or specimen["data-timing-specimen"] != chosen["id"]:
+ raise ValueError("Missing or wrong timing specimen")
+ if route.endswith("quality.html") and (manifest.get("authored") or {}).get("presentation") == "comparison-report":
+ score_rows = [r for r in manifest["rows"] if r["round"] == manifest["profile"]["protocol"]["score_round"]]
+ for selector, expected in (("[data-factual]", factual_panel(manifest["profile"], score_rows, soup.html["lang"] == "zh")), ("[data-scenario]", scenario_panel(manifest["profile"], score_rows, manifest["authored"], soup.html["lang"] == "zh"))):
+ expected_node = BeautifulSoup(expected, "html.parser").select_one(selector)
+ if str(soup.select_one(selector)) != str(expected_node):
+ raise ValueError("Quality population differs from measured inputs")
+ if route.endswith("interpretation.html"):
+ selected = [
+ r for r in manifest["rows"]
+ if r["round"] == manifest["profile"]["protocol"]["score_round"]
+ ]
+ expected_table = BeautifulSoup(
+ interpretation_summary_table(manifest["profile"], selected, soup.html["lang"] == "zh", manifest.get("authored") or {}),
+ "html.parser",
+ ).select_one("table")
+ actual_table = soup.select_one("table")
+ if actual_table is None or str(actual_table) != str(expected_table):
+ raise ValueError("Interpretation core comparison differs from evidence")
+ comparison_home = route.endswith("index.html") and (manifest.get("authored") or {}).get("presentation") == "comparison-report"
+ if comparison_home:
+ expected = BeautifulSoup(population_summary(manifest["profile"], [r for r in manifest["rows"] if r["round"] == manifest["profile"]["protocol"]["score_round"]], manifest["authored"], soup.html["lang"] == "zh"), "html.parser")
+ if str(soup.select_one('[data-populations]')) != str(expected.select_one('[data-populations]')):
+ raise ValueError("Population summary differs from measured inputs")
+ if route.endswith("index.html") and not comparison_home:
+ for selector, renderer in (
+ ("[data-factual]", factual_panel),
+ ("[data-modes]", mode_panel),
+ ):
+ score_rows = [r for r in manifest["rows"] if r["round"] == manifest["profile"]["protocol"]["score_round"]]
+ expected_panel = BeautifulSoup(renderer(manifest["profile"], score_rows, soup.html["lang"] == "zh"), "html.parser").select_one(selector)
+ if expected_panel and str(soup.select_one(selector)) != str(expected_panel):
+ raise ValueError("Deterministic evidence comparison differs from measured inputs")
+ if relevance_data:
+ selected = [r for r in manifest["rows"] if r["round"] == manifest["profile"]["protocol"]["score_round"]]
+ scores = score_relevance(manifest["profile"], selected, relevance_data["plan"], relevance_data["labels"])
+ expected_panel = BeautifulSoup(relevance_panel(manifest["profile"], scores, relevance_data, soup.html["lang"] == "zh"), "html.parser").select_one("[data-relevance]")
+ actual_panel = soup.select_one("[data-relevance]")
+ if actual_panel is None or str(actual_panel) != str(expected_panel):
+ raise ValueError("Preview relevance panel disagrees with judgments")
+ if not soup.select("table"):
+ raise ValueError("Missing core metrics")
+ table_rows = soup.select("table")[0].select("tbody tr")
+ overview_methods = scoped_overview_methods(manifest["profile"], manifest.get("authored") or {})
+ if len(table_rows) != len(overview_methods):
+ raise ValueError("Missing participant")
+ overview_rows = scoped_overview_rows(manifest["profile"], manifest["rows"], manifest.get("authored") or {})
+ physical = aggregate(overview_rows)
+ cutoff = manifest["profile"]["protocol"]["top_k"]
+ hit_key = "anchor_hit_5" if cutoff == 5 else "anchor_hit_10"
+ quality = aggregate(
+ [
+ r
+ for r in overview_rows
+ if r["round"] == manifest["profile"]["protocol"]["score_round"]
+ ]
+ )
+ for tr, method in zip(table_rows, overview_methods, strict=True):
+ stats = physical.get(method["id"])
+ if not stats:
+ continue
+ for column, key in ((2, "mean"), (3, "p50"), (4, "p95")):
+ cell = tr.select("td")[column]
+ value = stats["all_latency"][key]
+ if float(cell["data-value"]) != value or cell.get_text().replace(
+ "★", ""
+ ).strip() != fmt(value):
+ raise ValueError("Visible latency disagrees with evidence")
+ cell = tr.select("td")[5]
+ hit = quality[method["id"]]["metrics"][hit_key]
+ expected = (
+ "—" if hit["mean"] is None else (
+ f"{hit['mean'] * 100:.1f}% ({hit['n']}题)"
+ if soup.html["lang"] == "zh" else f"{hit['mean'] * 100:.1f}% ({hit['n']} queries)"
+ )
+ )
+ if cell.get_text().replace("★", "").strip() != expected:
+ raise ValueError("Visible target hit disagrees with evidence")
+ for i in (2, 3, 4, 5):
+ cells_at = [r.select("td")[i] for r in table_rows]
+ values = [float(c["data-value"]) if c["data-value"] else None for c in cells_at]
+ best = None
+ if len(values) > 1 and all(v is not None for v in values):
+ candidate = (max if i == 5 else min)(values)
+ if values.count(candidate) == 1:
+ best = candidate
+ for cell, value in zip(cells_at, values, strict=True):
+ if ("win" in cell.get("class", [])) != (best is not None and value == best):
+ raise ValueError("Missing or incorrect unique winner marker")
+ if "details/" in route and (
+ len(soup.select("[data-summary]")) != 1
+ or not soup.select("[data-error]")
+ or not soup.select("[data-evidence]")
+ ):
+ raise ValueError("Missing detail summary, error or evidence")
+ for a in soup.select("[href],[data-evidence],[data-detail]"):
+ if a.name == "base":
+ continue
+ href = a.get("href", a.get("data-evidence", a.get("data-detail", "")))
+ if href.startswith(("https://", "http://", "#")):
+ continue
+ href = href.partition("#")[0]
+ site_root = output.parent if manifest.get("site_prefix") else output
+ target = (site_root / href).resolve()
+ if not target.is_relative_to(site_root.resolve()) or not target.is_file():
+ raise ValueError("Broken evidence/navigation target: " + href)
+ if "/Users/" in str(soup):
+ raise ValueError("Private data in report")
+ return True
+
+
+def build_reference(output, content_path, language="en"):
+ """Render documented API capabilities separately from measured comparisons."""
+ data = json.loads(content_path.read_text())
+ if data.get("schema") != "web-search-reference/1":
+ raise ValueError("Unsupported reference comparison schema")
+ output = Path(output)
+ output.mkdir(parents=True, exist_ok=True)
+ artifacts = data.get("artifacts", [])
+ verify_bundle(content_path.parent, artifacts)
+ for item in artifacts:
+ target = output / item["path"]
+ target.parent.mkdir(parents=True, exist_ok=True)
+ target.write_bytes((content_path.parent / item["path"]).read_bytes())
+ sources = {s["id"]: s for s in data["sources"]}
+ routes = []
+ for lang in (language, "zh" if language == "en" else "en"):
+ zh = lang == "zh"
+ route = "index.html" if lang == language else lang + "/index.html"
+ other = "zh" if lang == "en" else "en"
+ switch = other + "/index.html" if lang == language else "../index.html"
+
+ def refs(ids):
+ return " ".join(
+ f'[{esc(i)}] ' for i in ids
+ )
+
+ body = f'API REFERENCE / {esc(data["checked"])}
{esc(data["title"][lang])} '
+ body += '' + esc(data["scope"][lang]) + "
"
+ body += '' + esc(data["lead"][lang]) + "
"
+ for section in data["sections"]:
+ body += f'{esc(section["title"][lang])} '
+ if section.get("headers"):
+ body += table(
+ section["headers"][lang],
+ [cells([esc(v) for v in row[lang]]) for row in section["rows"]],
+ )
+ for paragraph in section.get("paragraphs", []):
+ body += (
+ "" + esc(paragraph[lang]) + " " + refs(paragraph.get("sources", [])) + "
"
+ )
+ for sample in section.get("samples", []):
+ body += (
+ ("" if sample.get("open") else "")
+ + ""
+ + esc(sample["label"][lang])
+ + " "
+ )
+ body += (
+ ''
+ + esc(sample["note"][lang])
+ + "
"
+ + esc(sample["code"])
+ + " "
+ )
+ body += " "
+ body += (
+ ''
+ + ("来源与核对范围" if zh else "Sources and scope")
+ + " "
+ )
+ for identity, source in sources.items():
+ if not source["url"].startswith("https://"):
+ raise ValueError("Sources must use HTTPS")
+ body += f'[{esc(identity)}] {esc(source["label"][lang])} {esc(source["note"][lang])}
'
+ for item in artifacts:
+ target = ("../" if lang != language else "") + item["path"]
+ body += f'{esc(item["label"][lang])}
'
+ body += " "
+ navigation = "".join(
+ f'{esc(s["nav"][lang])} ' for s in data["sections"]
+ )
+ document = f'''{esc(data["title"][lang])} {navigation}{"English" if zh else "中文"} {"切换主题" if zh else "Theme"} {body} '''
+ path = output / route
+ path.parent.mkdir(parents=True, exist_ok=True)
+ path.write_text(document)
+ routes.append(route)
+ (output / "reference-input.json").write_bytes(content_path.read_bytes())
+ write_json(
+ output / "manifest.json",
+ {
+ "schema": "web-search-reference/1",
+ "template": "web-search/reference/1",
+ "primary_language": language,
+ "languages": ["en", "zh"],
+ "routes": routes,
+ "input_sha256": digest(content_path.read_bytes()),
+ "bundle": artifacts,
+ },
+ )
+ check_reference(output)
+ return output / "index.html"
+
+
+def check_reference(output):
+ """Reject altered facts, missing sources and broken specimen/navigation links."""
+ manifest = json.loads((output / "manifest.json").read_text())
+ raw = (output / "reference-input.json").read_bytes()
+ if digest(raw) != manifest["input_sha256"]:
+ raise ValueError("Reference input hash mismatch")
+ data = json.loads(raw)
+ if manifest.get("bundle", []) != data.get("artifacts", []):
+ raise ValueError("Reference artifact bindings disagree")
+ verify_bundle(output, manifest.get("bundle", []))
+ expected = {
+ "index.html",
+ ("zh" if manifest["primary_language"] == "en" else "en") + "/index.html",
+ }
+ if set(manifest["routes"]) != expected:
+ raise ValueError("Missing language edition")
+ for route in expected:
+ soup = BeautifulSoup((output / route).read_text(), "html.parser")
+ lang = soup.html["lang"]
+ if (
+ soup.h1.get_text() != data["title"][lang]
+ or soup.select_one("[data-state]").get_text() != data["scope"][lang]
+ ):
+ raise ValueError("Reference scope mismatch")
+ for section in data["sections"]:
+ node = soup.find(id=section["id"])
+ if node is None or node.h2.get_text() != section["title"][lang]:
+ raise ValueError("Missing reference section")
+ actual = [[td.get_text() for td in row.select("td")] for row in node.select("tbody tr")]
+ if actual != [row[lang] for row in section.get("rows", [])]:
+ raise ValueError("Capability table mismatch")
+ for p in section.get("paragraphs", []):
+ if p[lang] not in node.get_text():
+ raise ValueError("Missing factual qualification")
+ if [x.get_text() for x in node.select("pre code")] != [
+ s["code"] for s in section.get("samples", [])
+ ]:
+ raise ValueError("Specimen mismatch")
+ if [x.has_attr("open") for x in node.select("details")] != [
+ bool(s.get("open")) for s in section.get("samples", [])
+ ]:
+ raise ValueError("Specimen visibility mismatch")
+ for source in data["sources"]:
+ node = soup.find(id="source-" + source["id"])
+ if node is None or node.a["href"] != source["url"]:
+ raise ValueError("Missing reference source")
+ for a in soup.select("a[href]"):
+ href = a["href"]
+ if href.startswith("#"):
+ if soup.find(id=href[1:]) is None:
+ raise ValueError("Broken reference anchor")
+ elif (
+ not href.startswith("https://")
+ and not (output / route).parent.joinpath(href).is_file()
+ ):
+ raise ValueError("Broken reference navigation")
+ if "/Users/" in str(soup):
+ raise ValueError("Private path in reference report")
+ return True
+
+
+def main(argv=None):
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument(
+ "--profile", type=Path, default=ROOT / "evaluation/web-search/current-report.json"
+ )
+ parser.add_argument("--source", type=Path)
+ parser.add_argument(
+ "--cohort",
+ action="append",
+ default=[],
+ metavar="NAME=RUN",
+ help="Add a separately verified cohort to the same report",
+ )
+ parser.add_argument("--content", type=Path)
+ parser.add_argument(
+ "--reference-content",
+ type=Path,
+ help="Build a sourced API reference comparison, without benchmark scores",
+ )
+ parser.add_argument("--identity-correction", type=Path)
+ parser.add_argument("--relevance", type=Path, help="Bound blind preview-relevance judgments")
+ parser.add_argument("--site-prefix", default="")
+ parser.add_argument("--output", type=Path, required=True)
+ parser.add_argument("--language", choices=["en", "zh"], default=None)
+ parser.add_argument("--include-english", action="store_true")
+ parser.add_argument("--check", action="store_true")
+ parser.add_argument("--release-check", type=Path, metavar="VISUAL_RECEIPT")
+ parser.add_argument("--export-delivery", type=Path, metavar="DESTINATION",
+ help="Export the checked report into lossless case shards for bounded-file hosts")
+ args = parser.parse_args(argv)
+ if args.export_delivery:
+ if args.source or args.cohort or args.reference_content:
+ parser.error("Delivery export consumes an existing report, not build inputs")
+ check(args.output)
+ from .delivery import export, verify
+ export(args.output, args.export_delivery)
+ verify(args.output, args.export_delivery)
+ print(args.export_delivery)
+ return
+ if args.reference_content:
+ if args.source or args.identity_correction or args.release_check:
+ parser.error("Reference comparisons cannot consume measured benchmark inputs")
+ language = args.language
+ if language is None and (args.output / "manifest.json").exists():
+ language = json.loads((args.output / "manifest.json").read_text())["primary_language"]
+ print(build_reference(args.output, args.reference_content, language or "en"))
+ return
+ if args.release_check:
+ release_check(args.output, args.release_check)
+ print("Web Search full release checks passed")
+ return
+ if args.check:
+ check(args.output)
+ print("Web Search report checks passed")
+ return
+ from harness.report_languages import resolve_report_language
+ language = resolve_report_language(args.output, args.language)
+ print(
+ build(
+ args.output,
+ profile_path=args.profile,
+ source=args.source,
+ content=args.content,
+ correction=args.identity_correction,
+ relevance=args.relevance,
+ site_prefix=args.site_prefix,
+ cohorts=[
+ (value.split("=", 1)[0], Path(value.split("=", 1)[1])) for value in args.cohort
+ ],
+ language=language,
+ include_english=args.include_english,
+ )
+ )
+
+
+def release_check(output, visual_receipt):
+ """Combine deterministic evidence checks with the separate operated-browser gate."""
+ check(output)
+ proof = json.loads(visual_receipt.read_text())
+ manifest = output / "manifest.json"
+ if proof["manifest_sha256"] != digest(manifest.read_bytes()):
+ raise ValueError("Visual check belongs to a different build")
+ if json.loads(manifest.read_text()).get("schema") == "web-search-reference/1":
+ expected = {(lang, 1280, "light") for lang in ("en", "zh")}
+ actual = set()
+ for capture in proof["captures"]:
+ if digest(Path(capture["path"]).read_bytes()) != capture["sha256"]:
+ raise ValueError("Reference visual evidence mismatch")
+ if capture["metrics"]["page"] != capture["metrics"]["viewport"]:
+ raise ValueError("Reference page overflows its viewport")
+ actual.add((capture["language"], capture["width"], capture["theme"]))
+ if actual != expected:
+ raise ValueError("Incomplete reference visual coverage")
+ return True
+ report_manifest = json.loads(manifest.read_text())
+ standalone_chapters = (report_manifest.get("authored") or {}).get("presentation") == "comparison-report"
+ languages = tuple(report_manifest.get("languages") or [report_manifest["primary_language"]])
+ # The deterministic build check owns links, evidence targets, result identity,
+ # filters and pagination markup. Visual review is one normal desktop rendering
+ # per top-level tab, so it remains a content/layout review rather than a slow
+ # browser-operation matrix.
+ tab_routes = (
+ {"home", "capabilities", "dataset", "results", "performance", "method", "interpretation"}
+ if standalone_chapters
+ else {"home", "dataset", "results", "interpretation", "performance", "method"}
+ )
+ expected = {
+ (lang, route, 1280, "light")
+ for lang in languages
+ for route in tab_routes
+ }
+ actual = set()
+ for capture in proof["captures"]:
+ key = (capture["language"], capture["route_class"], capture["width"], capture["theme"])
+ if capture.get("page_overflow") or not capture.get("readable"):
+ raise ValueError("Unreadable visual state")
+ image = visual_receipt.parent / capture["path"]
+ if image.is_symlink() or digest(image.read_bytes()) != capture["sha256"]:
+ raise ValueError("Visual evidence mismatch")
+ actual.add(key)
+ if not expected.issubset(actual):
+ raise ValueError("Incomplete focused visual coverage")
+ return True
+
+
+def cohort_label(profile, name, zh):
+ return next(
+ (
+ g["label"]["zh" if zh else "en"]
+ for g in profile.get("report_cohorts", [])
+ if g["id"] == name
+ ),
+ "",
+ )
+
+
+def origin_group(case):
+ kind = case.get("provenance_kind", "curated")
+ return "originals" if kind in {"community_exact", "user_screenshot"} else kind
+
+
+def origin_filter(profile, zh):
+ counts = Counter(origin_group(c) for c in profile["cases"])
+ labels = {
+ "originals": ("Exact community queries", "社区原题"),
+ "community_derived": ("Derived scenarios", "社区场景派生题"),
+ "public_catalog": ("Public query catalog", "公开集补充"),
+ "curated": ("Curated probes", "自编探针"),
+ }
+ return (
+ ""
+ + ("题目来源" if zh else "Query source")
+ + ' '
+ + ("全部" if zh else "All")
+ + " "
+ + "".join(
+ ''
+ + esc(labels.get(k, (k, k))[int(zh)])
+ + f" ({n}) "
+ for k, n in counts.items()
+ )
+ + " "
+ )
+
+
+def cohort_filter(profile, zh):
+ groups = profile.get("report_cohorts", [])
+ if not groups:
+ return ""
+ return (
+ ""
+ + ("分项" if zh else "Query group")
+ + ' '
+ + ("全部题目" if zh else "All queries")
+ + " "
+ + "".join(
+ f'{esc(cohort_label(profile, g["id"], zh))} '
+ for g in groups
+ )
+ + " "
+ )
+
+
+def cohort_summary(profile, rows, zh):
+ groups = profile.get("report_cohorts", [])
+ if not groups:
+ return ""
+
+ def t(en, cn):
+ return cn if zh else en
+
+ entries = []
+ for group in groups:
+ subset = [r for r in rows if r["cohort"] == group["id"]]
+ stats = aggregate(subset)
+ for m in profile["methods"]:
+ calls = [r for r in subset if r["method"] == m["id"]]
+ s = stats[m["id"]]
+ entries.append(
+ cells(
+ [
+ esc(cohort_label(profile, group["id"], zh)),
+ esc(m["label"]),
+ str(len(group["case_ids"])),
+ str(s["n"]),
+ f"{s['nonempty']}/{s['n']}",
+ fmt(sum(len(r["results"]) for r in calls) / len(calls)),
+ *[fmt(s["all_latency"][k]) for k in ("mean", "p50", "p95")],
+ ]
+ )
+ )
+ return (
+ ""
+ + t("One evaluation, with query-group breakdowns", "一份总评测,按题目分项查看")
+ + " "
+ + t(
+ f"{len(profile['cases'])} queries and {len(rows)} calls from {len(groups)} separately collected complete batches. The rows below preserve each collection separately; do not infer a new same-window speed trial from their combined count. Target-page hits are calculated only for queries with declared targets.",
+ f"共 {len(profile['cases'])} 道题、{len(rows)} 次调用,来自 {len(groups)} 批完整实测。下表分别保留各批次耗时,不把合计调用数当成一轮同时段测速;目标页命中只统计有预定目标的题目。",
+ )
+ + "
"
+ + table(
+ [
+ t("Query group", "分项"),
+ t("Method", "接口"),
+ t("Queries/provider", "每家题数"),
+ t("Calls", "调用数"),
+ t("Nonempty/calls", "非空/调用数"),
+ t("Mean returned count", "平均返回条数"),
+ t("Mean ms", "平均 ms"),
+ "P50 ms",
+ "P95 ms",
+ ],
+ entries,
+ )
+ + " "
+ )
+
+
+def fairness_table(profile, rows, zh):
+ """Expose requested budgets and actual delivery without equal-count filtering."""
+
+ def t(en, cn):
+ return cn if zh else en
+
+ entries = []
+ first = {}
+ for method in profile["methods"]:
+ group = [r for r in rows if r["method"] == method["id"]]
+ requested = Counter(
+ str(r.get("request", {}).get("limit", r.get("request", {}).get("count", "—")))
+ for r in group
+ )
+ counts = Counter(len(r["results"]) for r in group)
+ first[method["id"]] = {r["case_id"]: len(r["results"]) for r in group if r["round"] == 0}
+ entries.append(
+ cells(
+ [
+ esc(method["label"]),
+ str(len(group)),
+ esc(", ".join(f"{k} × {v}" for k, v in sorted(requested.items()))),
+ esc(", ".join(f"{k} × {v}" for k, v in sorted(counts.items()))),
+ fmt(sum(len(r["results"]) for r in group) / len(group)) if group else "—",
+ ]
+ )
+ )
+ common = set.intersection(*(set(v) for v in first.values())) if first else set()
+ equal = sum(len({v[c] for v in first.values()}) == 1 for c in common)
+ return (
+ ""
+ + t("Equal request budgets, observed result counts", "请求预算相同,实际返回数量另行统计")
+ + " "
+ + table(
+ [
+ t("Provider", "接口"),
+ t("Calls", "调用数"),
+ t("Requested count × calls", "请求条数 × 调用次数"),
+ t("Returned count × calls", "返回条数 × 调用次数"),
+ t("Mean results/call", "平均返回条数/次"),
+ ],
+ entries,
+ )
+ + ""
+ + t(
+ f"First-round queries with equal result counts across all providers: {equal}/{len(common)}. Empty and short responses remain in every declared denominator. Counts do not establish relevance.",
+ f"首轮各接口返回数量相同的题目:{equal}/{len(common)}。空结果和不足额返回均保留在预定分母中。返回条数不代表相关性。",
+ )
+ + "
"
+ )
+
+
+def comparison_tables(profile, selected, rows, zh):
+ def t(en, cn):
+ return cn if zh else en
+
+ cutoff = profile["protocol"]["top_k"]
+ hit_key = "anchor_hit_5" if cutoff == 5 else "anchor_hit_10"
+ body = "" + t("Separate task populations", "分场景比较") + " "
+ bycase = {c["id"]: c for c in profile["cases"]}
+ grouped = []
+ for family in dict.fromkeys(c["family"] for c in profile["cases"]):
+ stats = aggregate([r for r in selected if bycase[r["case_id"]]["family"] == family])
+ for method in profile["methods"]:
+ s = stats.get(method["id"])
+ m = s["metrics"] if s else {}
+
+ def metric(k, m=m):
+ x = m.get(k, {"mean": None, "n": 0})
+ return fmt(x["mean"]) + f" (n={x['n']})"
+
+ grouped.append(
+ cells(
+ [
+ esc(
+ {
+ "web": t("Web", "通用网页"),
+ "site": t("Site restriction", "站点限定"),
+ "vertical": t("Native source / site route", "原生垂类/站点路线"),
+ }[family]
+ ),
+ esc(method["label"]),
+ metric(hit_key),
+ metric("reciprocal_rank"),
+ metric("domain_precision"),
+ metric("duplicate_rate"),
+ ]
+ )
+ )
+ body += table(
+ [
+ t("Population", "场景"),
+ t("Method", "方法"),
+ f"Hit@{cutoff}",
+ "MRR",
+ t("Domain fraction", "指定域名占比"),
+ t("Duplicate fraction", "重复占比"),
+ ],
+ grouped,
+ )
+ body += (
+ ""
+ + t(
+ f"Each metric shows its eligible query count. Hit@{cutoff} and MRR use declared known pages; domain fraction uses returned top-{cutoff} URLs and is unavailable for empty responses. Native source and site operators implement the same intent through different routes.",
+ f"每项指标标明适用题数。Hit@{cutoff} 和 MRR 只核对预定的已知页面;域名占比以实际返回的前 {cutoff} 条为分母,空响应不记为满足约束。原生来源参数和 site 算子是同一意图的不同调用方式。",
+ )
+ + "
"
+ )
+ body += "" + t("Text delivery and estimated charges", "文本交付与费用估算") + " "
+ stats = aggregate(selected)
+ physical = aggregate(rows)
+ textrows = []
+ for method in profile["methods"]:
+ s = stats.get(method["id"])
+ m = s["metrics"] if s else {}
+ total_cost = physical.get(method["id"], {}).get("cost_total")
+ nonempty = s["nonempty"] if s else 0
+ textrows.append(
+ cells(
+ [
+ esc(method["label"]),
+ *[
+ fmt(m.get(k, {}).get("mean"))
+ for k in (
+ "result_count",
+ "snippet_chars",
+ "summary_chars",
+ "content_chars",
+ "content_coverage",
+ )
+ ],
+ (
+ "—"
+ if total_cost is None
+ else f"{total_cost:.3f}"
+ )
+ + " "
+ + method["currency"],
+ ("—" if total_cost is None or not nonempty else f"{total_cost / nonempty:.4f}")
+ + " " + method["currency"],
+ ]
+ )
+ )
+ body += table(
+ [
+ t("Method", "方法"),
+ t("Results/query", "每查询结果数"),
+ t("Snippet chars/query", "每查询片段字数"),
+ t("Summary chars/query", "每查询摘要字数"),
+ t("Content chars/query", "每查询正文字数"),
+ t("Content coverage", "含正文结果占比"),
+ t("All-call estimate", "全部调用估算费用"),
+ t("Cost/nonempty query", "每道非空题估算费用"),
+ ],
+ textrows,
+ )
+ body += (
+ ""
+ + t(
+ "Text sizes count Unicode characters, not tokens or correctness. Native fields are retained separately: text in a snippet is not automatically full content. No source-faithfulness or answer-accuracy score is assigned without independent judgments. Cost is an estimate from list prices; a transport timeout has unknown billing.",
+ "文本量按 Unicode 字符统计,不代表 token 数或正确性。片段、摘要、正文分别保留,片段较长也不自动算作全文。没有独立判断时,不给出内容忠实度或回答准确率。费用按目录价估算;传输超时的计费状态未知。",
+ )
+ + "
"
+ )
+ return body
+
+
+def same_task(peers, profile, zh):
+ if len(peers) < 2:
+ return ""
+
+ def t(en, cn):
+ return cn if zh else en
+
+ labels = {m["id"]: m["label"] for m in profile["methods"]}
+ headings = [t("Rank", "排名")] + [labels[p["method"]] for p in peers]
+ rows = []
+ for rank in range(max((len(p["results"][:10]) for p in peers), default=0)):
+ values = [str(rank + 1)]
+ for peer in peers:
+ if rank >= len(peer["results"]):
+ values.append("—")
+ continue
+ item = peer["results"][rank]
+ values.append(
+ f'{esc(item["title"])} {esc(item["snippet"][:180])}
'
+ )
+ rows.append(cells(values))
+ links = " · ".join(f'{esc(labels[p["method"]])} ' for p in peers)
+ return (
+ ""
+ + t("Same-query results", "同一查询的结果对照")
+ + " "
+ + links
+ + "
"
+ + table(headings, rows)
+ )
+
+
+def latency_rounds(profile, rows, zh):
+ """Expose repeated-query and reported cache state without inferring cold starts."""
+ from collections import Counter
+
+ def t(en, cn):
+ return cn if zh else en
+
+ entries = []
+ for round_id in range(profile["protocol"]["rounds"]):
+ for method in profile["methods"]:
+ subset = [r for r in rows if r["round"] == round_id and r["method"] == method["id"]]
+ if not subset:
+ continue
+ stats = aggregate(subset)[method["id"]]["all_latency"]
+ caches = Counter((r.get("cache") or {}).get("state", "unknown") for r in subset)
+ cache_text = ", ".join(f"{state}: {n}" for state, n in sorted(caches.items()))
+ entries.append(
+ cells(
+ [
+ str(round_id + 1),
+ esc(method["label"]),
+ str(len(subset)),
+ *[fmt(stats[k]) for k in ("mean", "p50", "p95")],
+ esc(cache_text),
+ ]
+ )
+ )
+ return (
+ ""
+ + t("Repeated-query latency and reported cache state", "重复查询耗时与接口缓存标记")
+ + " "
+ + table(
+ [
+ t("Round", "轮次"),
+ t("Method", "方法"),
+ "N",
+ t("Mean ms", "平均耗时 ms"),
+ "P50 ms",
+ "P95 ms",
+ t("API cache state", "接口缓存标记"),
+ ],
+ entries,
+ )
+ + ""
+ + t(
+ "All declared calls remain in the headline latency. Cache states come from the API response; unknown means the provider did not report one. The first round is not guaranteed to be a cold cache. Repeated queries describe reuse behavior, not sustained-load throughput.",
+ "首页耗时保留全部预定调用。缓存标记直接取自接口响应;unknown 表示接口没有提供,不能据此判断是否缓存。第一轮也不保证冷缓存。重复查询反映复用表现,不代表持续负载下的吞吐量。",
+ )
+ + "
"
+ )
+
+
+def authored_sections(content, page, language, *, rows=(), heading_level=2):
+ body = ""
+ for section_index, s in enumerate(content.get("sections", [])):
+ if s.get("page", "method") != page:
+ continue
+ body += (
+ f''
+ + esc(s["title"][language])
+ + f" "
+ )
+ if s.get("diagram"):
+ body += (
+ ''
+ + "".join("" + esc(step[language]) + " " for step in s["steps"])
+ + '
'
+ + esc(s["diagram"][language])
+ + " "
+ )
+ for p in s.get("paragraphs", []):
+ body += "" + esc(p[language]) + "
"
+ if s.get("rows"):
+ body += table(
+ s["headers"][language], [cells([esc(v) for v in r[language]]) for r in s["rows"]]
+ )
+ for sample in s.get("samples", []):
+ body += (
+ ""
+ + esc(sample["label"][language])
+ + " "
+ + esc(sample["code"])
+ + " "
+ )
+ for specimen in s.get("specimens", []):
+ row = next(
+ (
+ r
+ for r in rows
+ if r["case_id"] == specimen["case_id"] and r["method"] == specimen["method"]
+ ),
+ None,
+ )
+ if row is None:
+ raise ValueError("Missing measured specimen")
+ item = row["results"][specimen.get("result_index", 0)]
+ body += (
+ f''
+ + esc(specimen["label"][language])
+ + " "
+ + esc(item["title"])
+ + '
'
+ + esc(("查看来源网页 · " if language == "zh" else "Open source page · ")
+ + (urlsplit(item["url"]).hostname or ""))
+ + "
"
+ )
+ for field in specimen["fields"]:
+ value = item.get(field) or ""
+ excerpt = (
+ value
+ if field in specimen.get("full_fields", [])
+ else value[: specimen.get("excerpt_chars", 450)]
+ )
+ body += (
+ ""
+ + esc(field)
+ + " · "
+ + str(len(value))
+ + (" 字符" if language == "zh" else " characters")
+ + '
'
+ + esc(excerpt)
+ + " "
+ )
+ body += (
+ ''
+ + ("查看该次完整响应" if language == "zh" else "Inspect the full measured response")
+ + "
"
+ )
+ for link in s.get("sources", []):
+ label = link["label"]
+ if isinstance(label, dict):
+ label = label[language]
+ url = link["url"]
+ if isinstance(url, dict):
+ url = url[language]
+ if link.get("evidence"):
+ body += (
+ '' + esc(label) + "
"
+ )
+ continue
+ body += f'{esc(label)}
'
+ body += " "
+ return body
+
+
+def provenance_label(kind, zh):
+ return {
+ "community_exact": ("Published community query", "社区公开原题"),
+ "community_derived": ("Community-derived scenario", "社区场景改编"),
+ "public_catalog": ("Public query catalog", "公开查询集"),
+ "public_labeled": ("Public human-verified factual dataset", "公开人工核验事实题"),
+ "curated": ("Curated supplement", "自建补充"),
+ "user_screenshot": ("Exact query from supplied screenshot", "所附截图中的原题"),
+ }.get(kind, (kind, kind))[int(zh)]
+
+
+def search_category(value, zh):
+ if not zh:
+ return value.replace("_", " ")
+ return {
+ "web": "通用网页", "site": "指定网站", "vertical": "垂类搜索",
+ "factual": "公开事实题",
+ "known_item": "已知页面", "primary_source": "官方来源",
+ "technical_exact": "技术报错", "semantic_long_tail": "长尾语义",
+ "niche_small_web": "小众网站", "multi_constraint": "多条件查询",
+ "exploratory_diversity": "探索式查询", "multilingual_regional": "多语言地区",
+ "robustness_noisy": "口语与错别字", "freshness_rolling": "近期更新",
+ "creator_discovery": "创作者发现", "chinese_service": "中文公共服务",
+ "community_original": "社区原题", "wechat": "微信公众号",
+ "xiaohongshu": "小红书", "zhihu": "知乎", "douyin": "抖音",
+ "weibo": "微博", "bilibili": "B站", "douban": "豆瓣",
+ "baijiahao": "百家号", "toutiao": "头条", "x": "X",
+ "reddit": "Reddit", "instagram": "Instagram", "facebook": "Facebook",
+ "linkedin": "LinkedIn", "medium": "Medium", "substack": "Substack",
+ }.get(value, value)
+
+
+def source_note(case, zh):
+ if not zh:
+ return case.get("derivation", case["origin"])
+ return {
+ "user_screenshot": "按所附截图逐字录入;站点命中不代表内容相关。",
+ "community_exact": "公开材料中的原题;本轮三家请求相同数量的结果,可能与原作者设置不同。",
+ "community_derived": "根据公开讨论另拟的查询,不是原作者的原题。",
+ "public_catalog": "公开查询集原题;预定网址只用于检查指定页面发现。",
+ "curated": "为覆盖该场景增补的查询。",
+ "public_labeled": "公开人工整理的原题、答案及支持来源;按共同输入长度预先筛选。",
+ }.get(case.get("provenance_kind", "curated"), "")
+
+
+def provenance_table(profile, zh):
+ counts = Counter(c.get("provenance_kind", "curated") for c in profile["cases"])
+ return (
+ ""
+ + ("查询从哪里来" if zh else "Where the queries come from")
+ + " "
+ + table(
+ ["来源类型" if zh else "Source type", "独立查询数" if zh else "Unique queries"],
+ [cells([provenance_label(k, zh), str(v)]) for k, v in counts.items()],
+ )
+ + ""
+ + (
+ f"共 {len(profile['cases'])} 条独立查询;重复调用不增加样本数。"
+ if zh
+ else f"{len(profile['cases'])} unique queries; repeated calls do not add queries."
+ )
+ + "
"
+ )
+
+
+def interpretation_summary_table(profile, selected, zh, content=None):
+ content = content or {}
+ selected = scoped_overview_rows(profile, selected, content)
+ profile = dict(profile, methods=scoped_overview_methods(profile, content), cases=[c for c in profile["cases"] if c["id"] in {r["case_id"] for r in selected}])
+ stats = aggregate(selected)
+ cutoff = profile["protocol"]["top_k"]
+ hit_key = "anchor_hit_5" if cutoff == 5 else "anchor_hit_10"
+ measures = []
+ for method in profile["methods"]:
+ item = stats.get(method["id"])
+ anchor = item["metrics"][hit_key] if item else {"mean": None, "n": 0}
+ measures.append((
+ method,
+ item["nonempty"] if item else None,
+ anchor["mean"],
+ anchor["n"],
+ item["all_latency"]["p50"] if item else None,
+ item["all_latency"]["p95"] if item else None,
+ item["cost_total"] if item else None,
+ ))
+ winners = {}
+ for index, direction in ((1, max), (2, max), (4, min), (5, min)):
+ values = [entry[index] for entry in measures]
+ if len(values) > 1 and all(value is not None for value in values):
+ best = direction(values)
+ if values.count(best) == 1:
+ winners[index] = best
+ rows = []
+ for method, nonempty, hit, n, p50, p95, cost in measures:
+ values = [
+ esc(method["label"]),
+ f"{nonempty}/{len(profile['cases'])}" if nonempty is not None else "—",
+ f"{hit * 100:.1f}% (n={n})" if hit is not None else "—",
+ fmt(p50),
+ fmt(p95),
+ (f"{cost:.3f}" if cost is not None else "—") + " " + method["currency"],
+ ]
+ raw = [None, nonempty, hit, None, p50, p95, None]
+ cells_html = []
+ for column, label in enumerate(values):
+ source_index = (0, 1, 2, 4, 5, 6)[column]
+ win = source_index in winners and raw[source_index] == winners[source_index]
+ cells_html.append('' + ('★ ' if win else '') + label + ' ')
+ rows.append('' + ''.join(cells_html) + ' ')
+ return (
+ '' + ('基础接口的核心结果' if zh else 'Core API comparison') + ' '
+ + table(
+ ['接口', '非空题数', f'已知页@{cutoff}', 'P50 ms', 'P95 ms', '本批估算费用']
+ if zh else ['Provider', 'Nonempty queries', f'Known page@{cutoff}', 'P50 ms', 'P95 ms', 'Estimated cohort cost'],
+ rows,
+ )
+ + '' + (
+ '★ 仅标出当前列唯一的较优数值;各列适用范围不同,不能合成总排名。费用是目录价估算,Lexmount 尚未报价。'
+ if zh else '★ marks a unique favorable value within its column. Populations differ across columns, so these are not an overall ranking. Charges use list prices; Lexmount has no announced price.'
+ ) + '
'
+ )
+
+
+def capability_map(profile, selected, zh):
+ """Show actual delivered layers; a separate AI-answer endpoint is not implied."""
+ heads = (
+ ["比较接口", "链接与标题", "短摘要", "逐页长摘要", "网页正文", "跨页答案"]
+ if zh else
+ ["Tested endpoint", "URL & title", "Snippet", "Page summary", "Page body", "Answer"]
+ )
+ output = ['']
+ output.extend('
' + esc(h) + '
' for h in heads)
+ for method in profile["methods"]:
+ fields = [item for row in selected if row["method"] == method["id"] for item in row["results"]]
+ example_request = next((row["request"] for row in selected if row["method"] == method["id"] and row.get("request")), {})
+ request_mode = ", ".join(
+ f"{key}={str(example_request[key]).lower()}"
+ for key in ("limit", "count", "need_content", "summary")
+ if key in example_request
+ )
+ delivered = [
+ any(item.get("url") and item.get("title") for item in fields),
+ any(item.get("snippet") for item in fields),
+ any(item.get("summary") for item in fields),
+ any(item.get("content") for item in fields),
+ False,
+ ]
+ output.append('
' + esc(method["label"]) + '' + esc(request_mode) + '
')
+ for present in delivered:
+ output.append('
' +
+ (("有" if zh else "Yes") if present else ("未交付" if zh else "No")) + '
')
+ output.append('
' + (
+ "按所列配置的原始响应统计;“有”表示至少一次交付该字段,不表示每条都有。博查 AI Search 是另一个可生成答案的接口。"
+ if zh else "Based on the listed configurations: Yes means the field was delivered at least once, not in every result. Bocha AI Search is a distinct answer-generating endpoint."
+ ) + '
')
+ return ''.join(output)
+
+
+def relevance_panel(profile, scored, evidence, zh):
+ """Explain and visualize judged preview relevance without conflating it with recall."""
+ if not scored:
+ return ""
+ methods = profile["methods"]
+ rows = []
+ families = [family for family in ("web", "site", "vertical") if any(row["family"] == family for row in scored)]
+ for family in families:
+ scoped = [row for row in scored if row["family"] == family]
+ summaries = relevance_summary(scoped, [m["id"] for m in methods])
+ for method in methods:
+ stats = summaries[method["id"]]
+ rows.append(cells([esc(search_category(family, zh)), esc(method["label"]),
+ str(stats["n"]), f'{stats["ndcg"]:.3f}', f'{stats["precision"]:.1%}']))
+ overall = relevance_summary(scored, [m["id"] for m in methods])
+ bars = '' + ''.join(
+ '
' + esc(m["label"]) + ' nDCG@5 '
+ + f'{overall[m["id"]]["ndcg"]:.3f}' + '
' for m in methods
+ ) + '
'
+ audit = evidence["judge"]
+ crosscheck = evidence.get("crosscheck_labels", {})
+ agreement = sum(grade == evidence["labels"][case_id][candidate_id]
+ for case_id, grades in crosscheck.items() for candidate_id, grade in grades.items())
+ crosscheck_total = sum(len(grades) for grades in crosscheck.values())
+ return (''
+ + ((f"Search-preview relevance: {len(evidence['plan']['case_ids'])} blind-judged queries") if not zh else f"搜索结果预览相关性:{len(evidence['plan']['case_ids'])} 题匿名评分")
+ + ' ' + bars
+ + '' + (("The overall bars describe this selected sample; the category table is the decision view. nDCG@5 rewards useful pages near the top; Precision@5 counts pages graded at least 2 among five slots. Both use URL, title and snippet only. "
+ + ", ".join(f"{search_category(family, False)}: {sum(r['family']==family for r in scored)//len(methods)}" for family in families) + ".")
+ if not zh else "上图汇总本次选定样本;判断具体场景请看下表。nDCG@5 重视有用结果是否排在前面,Precision@5 是前五个位置中至少达到 2 分的比例。评分只看网址、标题和摘要。题型:"
+ + "、".join(f"{search_category(family, True)} {sum(r['family']==family for r in scored)//len(methods)} 题" for family in families) + "。")
+ + '
'
+ + table(["Category" if not zh else "题型", "Provider" if not zh else "服务", "N", "nDCG@5", "Precision@5"], rows)
+ + ''
+ + (f"Blind scorer: {esc(audit['model'])}. A separate Codex spot check of {len(crosscheck)} queries agreed exactly on {agreement}/{crosscheck_total} candidate grades. These are model judgments, not independent human relevance labels, page-body checks or answer accuracy."
+ if not zh else f"匿名评分使用 {esc(audit['model'])};另由 Codex 抽查 {len(crosscheck)} 题、{crosscheck_total} 个候选结果,完全同分 {agreement} 个。两轮都是模型判断,不能当作独立人工相关性标注、网页全文核验或答案准确率。")
+ + '
'
+ + ("Scoring evidence" if not zh else "查看逐项评分证据")
+ + ' ')
+
+
+def factual_panel(profile, selected, zh):
+ cases = {c['id']: c for c in profile['cases'] if 'reference_answer' in c}
+ if not cases:
+ return ''
+ projected = bool(profile.get("comparison_selection"))
+ baseline = profile['methods'] if projected else [m for m in profile['methods'] if not any(m.get('output_options', {}).values())]
+ answer_key = 'answer_in_delivered_text_5' if projected else 'answer_in_preview_5'
+ keys = ('labeled_source_hit_5', 'labeled_source_rr_5', answer_key)
+ values = []
+ by_method = {}
+ for method in profile['methods']:
+ group = {r['case_id']: r for r in selected if r['method'] == method['id'] and r['case_id'] in cases}
+ by_method[method['id']] = group
+ if method in baseline:
+ values.append((method['label'], len(group), [sum(r['metrics'][k] for r in group.values()) for k in keys] + [sum(factual_sensitivity(cases[r['case_id']], r['results'])['metrics'][answer_key] for r in group.values())]))
+ rendered = []
+ for label, n, sums in values:
+ row = ['' + esc(label) + ' ', f'{n} ']
+ for i, total in enumerate(sums):
+ fractions = [v[2][i] / v[1] for v in values if v[1]]
+ best = bool(i != 2 and n and fractions.count(max(fractions)) == 1 and total / n == max(fractions))
+ value = (f'{total/n:.3f}' if i == 1 else f'{int(total)}/{n} · {total/n:.1%}') if n else '—'
+ row.append('' + ('★ ' if best else '') + value + ' ')
+ rendered.append('' + ''.join(row) + ' ')
+ body = '' + (
+ ('公开事实题:来源与答案线索' if zh else 'Public factual questions: sources and answer cues') if projected else ('公开事实题:三家基础接口的证据发现' if zh else 'Public factual questions: basic-API evidence discovery')
+ ) + ' ' + (
+ '前五条中找到题库列出的任一支持网址,就记一次来源命中。MRR 是首个命中位置的倒数:第 1 条得 1,第 2 条得 0.5,未命中得 0,再对全部题取平均。答案线索只检查三家共有的标题与短摘要。失败、空结果和不足五条都保留,不补齐、不换题。'
+ if zh else
+ 'A source hit means at least one published supporting URL appears in the top five. MRR averages reciprocal first-hit rank: 1 for rank one, 0.5 for rank two and zero for a miss. Answer cues use only shared titles and snippets. Failures, empties and short lists remain in the population.'
+ ) + '
' + table(
+ ['基础接口', '题数', '找到标注来源', '来源排名 MRR', '短摘要含答案:原始', '排除题库镜像后'] if zh else
+ ['Basic API', 'Queries', 'Published source found', 'Source MRR', 'Preview answer: raw', 'After mirror exclusion'], rendered)
+ if projected:
+ body = body.replace('答案线索只检查三家共有的标题与短摘要。', '答案线索检查各家前五条实际交付的标题、短摘要、长摘要和正文。').replace('Answer cues use only shared titles and snippets.', 'Answer cues use every delivered title, snippet, summary and body in the top five.').replace('基础接口', '方法').replace('Basic API', 'Method').replace('短摘要含答案:原始', '返回文字含答案:原始').replace('Preview answer: raw', 'Delivered answer cue: raw')
+ body += '' + ('排除镜像是事后诊断:网址或标题含 SimpleQA(包括空格、连字符和下划线变体)的结果不参与答案检查,原位置留空,不补搜。只识别显式题库镜像,不能证明已排除所有转载;原始值同时保留。' if zh else 'Mirror exclusion is a post-hoc diagnostic. Results naming SimpleQA in their URL or title, including spacing/hyphen/underscore variants, are blanked without refilling or compacting ranks. This detects explicit mirrors, not every possible reproduction; raw values remain visible.') + '
'
+ extra = []
+ for enabled in ([] if projected else profile['methods']):
+ options = enabled.get('output_options', {})
+ if not any(options.values()):
+ continue
+ disabled = next((m for m in baseline if m['adapter'] == enabled['adapter'] and m.get('output_options') == {k: False for k in options}), None)
+ if disabled is None:
+ continue
+ a, b = by_method[disabled['id']], by_method[enabled['id']]
+ if set(a) != set(b):
+ raise ValueError('Incomplete factual content pair')
+ a = {cid: dict(r, metrics=factual_sensitivity(cases[cid], r['results'])['metrics']) for cid,r in a.items()}
+ b = {cid: dict(r, metrics=factual_sensitivity(cases[cid], r['results'])['metrics']) for cid,r in b.items()}
+ key = 'answer_in_delivered_text_5'
+ extra.append(cells([esc(enabled['label']), str(len(a)),
+ str(sum(r['metrics'][key] for r in a.values())), str(sum(r['metrics'][key] for r in b.values())),
+ str(sum(not a[c]['metrics'][key] and b[c]['metrics'][key] for c in a)),
+ str(sum(a[c]['metrics'][key] and not b[c]['metrics'][key] for c in a))]))
+ if extra:
+ body += '' + ('开关实验:全部交付文字中的答案线索' if zh else 'Option experiment: answer cues in all delivered text') + ' ' + (
+ '这里加入实际返回的 summary 和 content,并排除上述显式题库镜像。表中是题数:新增指关闭时没有、开启时出现;丢失相反。两次搜索可能返回不同网页,因此这是接口开关后的总体变化,不是固定同一网页后的纯正文增益。'
+ if zh else
+ 'This includes returned summaries and bodies after the same explicit-mirror exclusion. Added means absent when disabled and present when enabled; lost is the reverse. Search results can change, so this is the overall option effect rather than a fixed-page body-only gain.'
+ ) + '
' + table(['开启模式', '配对题数', '关闭时命中', '开启时命中', '新增', '丢失'] if zh else
+ ['Enabled mode', 'Pairs', 'Disabled hits', 'Enabled hits', 'Added', 'Lost'], extra)
+ if any(c.get('answer_match_rule') == 'published-answers/2' for c in cases.values()):
+ return body + '' + (
+ '答案检查使用题库明确列出的答案、别名和允许数值范围,并保留单位、百分号等数量含义;只在单个返回字段内匹配,不跨字段拼接。未明确给出的同义说法不会推断为命中。否定句或无关上下文仍可能误中,因此这是文字证据检查,不是语义正确率。逐题页可核对标准答案、来源与实际输出。'
+ if zh else
+ 'Answer checks use the published answer, explicit aliases and allowed numeric ranges, preserving units and percentage modifiers. Matches stay within one returned field; fields are never joined. Unspecified synonyms are not inferred. Negated or unrelated mentions can still match, so this is lexical evidence rather than semantic accuracy. Details expose the reference answer, sources and actual output.'
+ ) + '
'
+ return body + '' + (
+ '答案检查统一 Unicode、大小写及标点,要求完整词组在单个字段中连续出现;不会跨字段拼出答案。否定句或无关上下文可能误中,同义表达可能漏计。因此本表是来源与文字证据检查,不是语义正确率。所有题的标准答案、来源和实际输出均可在逐题页核对。'
+ if zh else
+ 'Answer matching normalizes Unicode, case and punctuation and requires consecutive whole tokens within one field. Negated or unrelated mentions can match; paraphrases can miss. These are source and lexical checks, not semantic accuracy. Every detail exposes the answer, sources and output.'
+ ) + '
'
+
+
+def mode_panel(profile, selected, zh):
+ methods = profile["methods"]
+ pairs = []
+ for enabled in methods:
+ options = enabled.get("output_options", {})
+ if not options or not any(options.values()):
+ continue
+ disabled = next((m for m in methods if m["adapter"] == enabled["adapter"]
+ and m.get("output_options") == {k: False for k in options}), None)
+ if disabled:
+ pairs.append((disabled, enabled))
+ if not pairs:
+ return ""
+ groups = list(dict.fromkeys(r.get("cohort", "primary") for r in selected))
+ output = []
+ for group in groups:
+ for disabled, enabled in pairs:
+ a = {r["case_id"]: r for r in selected if r["method"] == disabled["id"] and r.get("cohort", "primary") == group}
+ b = {r["case_id"]: r for r in selected if r["method"] == enabled["id"] and r.get("cohort", "primary") == group}
+ if set(a) != set(b) or not a:
+ raise ValueError("Incomplete paired output-mode comparison")
+ deltas = [b[k]["elapsed_ms"] - a[k]["elapsed_ms"] for k in a]
+ changes = sum([canonical_url(x["url"]) for x in a[k]["results"]] != [canonical_url(x["url"]) for x in b[k]["results"]] for k in a)
+ output.append(cells([
+ esc(cohort_label(profile, group, zh)), esc(enabled["label"]), str(len(a)),
+ fmt(sum(deltas) / len(deltas)),
+ fmt(median(deltas)),
+ f"{sum(d > 0 for d in deltas)}/{len(deltas)}",
+ f"{changes}/{len(a)}",
+ ]))
+ return '' + (
+ "开启额外内容,实际多等多久?" if zh else "What does enabling extra text change?"
+ ) + " " + (
+ "同题相减:开启耗时减去关闭耗时,正数表示开启更慢。各题只调用一次,顺序轮换;两次查询也可能因索引或缓存返回不同结果,所以同时列出网址或排序变化的题数。"
+ if zh else
+ "Paired difference = enabled minus disabled latency; positive means slower with extra text. Each mode runs once per query in rotating order. Index or cache changes can alter results, so URL/order changes are shown too."
+ ) + "
" + table(
+ ["题组", "开启模式", "配对题数", "平均差 ms", "中位差 ms", "开启更慢", "网址/排序变化"] if zh else
+ ["Cohort", "Enabled mode", "Pairs", "Mean Δ ms", "Median Δ ms", "Enabled slower", "URL/order changed"],
+ output,
+ ) + " "
+
+
+def known_page_chart(profile, selected, zh):
+ """A scoped discovery check, deliberately separate from relevance quality."""
+ key = "anchor_hit_5" if profile["protocol"]["top_k"] == 5 else "anchor_hit_10"
+ stats = aggregate(selected)
+ output = ['' + ("已知页面发现" if zh else "Known-page discovery") + ' ']
+ cutoff = profile["protocol"]["top_k"]
+ output.append('' + (
+ f"设有参考网页的题用于检查找页能力:前 {cutoff} 条出现目标网址即命中。每行标出命中数与题数;没有指定网页的题不进入这一分母。公开事实题另有来源与答案检查。"
+ if zh else
+ f"Known-page tasks test discovery: a target URL in the first {cutoff} results counts as a hit. Each row shows hits and eligible tasks; questions without a declared target are excluded. Public factual questions have separate source and answer checks."
+ ) + '
')
+ output.append('')
+ for method in profile["methods"]:
+ metric = stats[method["id"]]["metrics"][key]
+ n, rate = metric["n"], metric["mean"]
+ if not n or rate is None:
+ continue
+ hits = round(rate * n)
+ label = f"{hits}/{n} · {rate:.1%}"
+ output.append('
' + esc(method["label"]) +
+ '
' + label + ' ')
+ output.append('
' + (
+ "这些题按用途选取,并非随机抽取的用户流量。找不到指定页不代表其他结果无用;本图不作为整体相关性排名。"
+ if zh else "These are purposively selected tasks, not random user traffic. Missing the target does not make other results irrelevant; this is not an overall relevance ranking."
+ ) + '
')
+ return ''.join(output)
+
+
+def outcome_table(profile, selected, zh):
+ cases = {c["id"]: c for c in profile["cases"]}
+ names = {
+ "api_error": ("API / transport error", "接口或传输失败"),
+ "empty": ("Empty response", "空结果"),
+ "domain_mismatch": ("Off-domain URL returned", "返回链接不符合指定域名"),
+ "target_miss": ("Known target absent", "未命中已知目标"),
+ "target_hit": ("Known target found", "命中已知目标"),
+ "source_hit": ("Published supporting source found", "找到题库标注来源"),
+ "source_miss": ("Published supporting source not found", "未找到题库标注来源"),
+ "probe": ("Unjudged query response", "无相关性标注的查询响应"),
+ }
+ rows = []
+ for m in profile["methods"]:
+ group = [r for r in selected if r["method"] == m["id"]]
+ counts = Counter(classify(cases[r["case_id"]], r)[1] for r in group)
+ for kind, n in counts.items():
+ rows.append(cells([esc(m["label"]), names[kind][int(zh)], str(n), str(len(group))]))
+ return (
+ ""
+ + ("首轮诊断主因" if zh else "Primary outcome category")
+ + " "
+ + table(
+ ["方法", "规则分类", "查询数", "本方法查询总数"]
+ if zh
+ else ["Method", "Machine category", "Queries", "Method total"],
+ rows,
+ )
+ + ""
+ + (
+ "此表每题只归一类:接口错误、空结果、域名不符、已知目标。找到目标页却混入其他域名的题会归入“域名不符”,所以这里的“命中已知目标”可能少于上方独立的目标页命中数。未命中目标不等于其他结果无关。"
+ if zh
+ else "Each query receives one primary category: API error, empty list, off-domain result, then known-page discovery. A result that finds its target but leaks another domain is counted as off-domain here; the separate known-page metric still counts it as a hit. Missing the target does not make other pages irrelevant."
+ )
+ + "
"
+ )
+
+
+def domain_discovery_table(profile, selected, zh):
+ cases = [c for c in profile["cases"] if c.get("domains")]
+ if not cases or not selected:
+ return ""
+ lookup = {(r["case_id"], r["method"]): r for r in selected}
+ entries = []
+ for case in cases:
+ values = [esc(case["query"])]
+ for method in profile["methods"]:
+ row = lookup[(case["id"], method["id"])]
+ ranks = [
+ i
+ for i, result in enumerate(row["results"][:10], 1)
+ if any(in_domain(result["url"], domain) for domain in case["domains"])
+ ]
+ label = f"{len(ranks)}/{len(row['results'][:10])}; " + (
+ f"#{ranks[0]}" if ranks else ("未出现" if zh else "absent")
+ )
+ values.append(f'{label} ')
+ entries.append(cells(values))
+ return (
+ ""
+ + ("指定平台有没有出现" if zh else "Did the requested platform appear?")
+ + " "
+ + ""
+ + (
+ "首轮,单元格为指定域名链接数/返回数及首次出现排名。域名匹配不证明主题、账号、时间条件或文章正文正确;0/0 表示空响应。"
+ if zh
+ else "First round: requested-domain links / returned links, followed by first rank. Host matching does not validate the topic, account, date or article body. 0/0 denotes an empty response."
+ )
+ + "
"
+ + table(["查询" if zh else "Query"] + [m["label"] for m in profile["methods"]], entries)
+ )
+
+
+def performance_view(profile, diagnostics, zh, evidence_prefix=""):
+ def t(en, cn):
+ return cn if zh else en
+
+ methods = diagnostics["methods"]
+ body = "" + t("Client time and provider-reported work", "客户端耗时与服务端处理") + " "
+ rows = []
+ for m in profile["methods"]:
+ s = methods.get(m["id"])
+ if not s:
+ continue
+ rows.append(
+ cells(
+ [esc(m["label"])]
+ + [
+ fmt(s[k]["mean"]) + f" (n={s[k]['n']})"
+ for k in (
+ "client_ms",
+ "server_ms",
+ "outside_server_ms",
+ "ttfb_ms",
+ "body_ms",
+ "bytes",
+ )
+ ]
+ )
+ )
+ body += table(
+ [
+ t("Method", "方法"),
+ t("Mean total ms", "总耗时均值 ms"),
+ t("Mean server ms", "服务端均值 ms"),
+ t("Mean remainder ms", "其余耗时均值 ms"),
+ t("Mean TTFB ms", "首字节均值 ms"),
+ t("Mean body transfer ms", "正文传输均值 ms"),
+ t("Mean response bytes", "平均响应字节数"),
+ ],
+ rows,
+ )
+ body += (
+ ""
+ + t(
+ "All logical requests with available telemetry are included; n states the available population. Server time is provider-reported and unavailable where no comparable field exists. The remainder includes network transit and client setup; it is not pure network latency. TTFB and body transfer are sequential; DNS/connect/TLS clocks are cumulative and must not be added.",
+ "有遥测数据的题目均计入,n 是该项可用样本数。服务端耗时取自接口报告;没有可比字段时不填。其余耗时包含网络往返和客户端启动,不等于纯网络延迟。首字节与正文传输先后发生;DNS、连接、TLS 计时为累计值,不能相加。",
+ )
+ + "
"
+ )
+ max_ms = max((s["client_ms"]["mean"] for s in methods.values()), default=1) or 1
+ for m in profile["methods"]:
+ s = methods.get(m["id"])
+ if s:
+ body += f'{esc(m["label"])} · {fmt(s["client_ms"]["mean"])} ms
'
+ body += (
+ ""
+ + t("Work performed across the full call budget", "完整调用预算内的上游工作量")
+ + " "
+ )
+ rows = []
+ for m in profile["methods"]:
+ s = methods.get(m["id"])
+ if s:
+ rows.append(
+ cells(
+ [
+ esc(m["label"]),
+ fmt(s["attempts"]["mean"]),
+ esc(
+ ", ".join(f"{k}: {v}" for k, v in s["outcomes"].items())
+ or t("Not exposed", "未公开")
+ ),
+ esc(", ".join(f"{k}: {v}" for k, v in s["cache"].items())),
+ esc(
+ ", ".join(f"{k}: {v}" for k, v in s["usage"].items())
+ or t("Not exposed", "未公开")
+ ),
+ ]
+ )
+ )
+ body += table(
+ [
+ t("Method", "方法"),
+ t("Mean recorded attempts/call", "每调用平均已记录尝试数"),
+ t("Attempt outcomes", "上游尝试结果"),
+ t("API cache states", "接口缓存标记"),
+ t("Reported usage units", "接口报告的用量"),
+ ],
+ rows,
+ )
+ body += (
+ ""
+ + t(
+ "Attempt durations overlap. Their sum is work, not user waiting time. Usage units have no monetary conversion until internal prices are supplied. Missing upstream telemetry does not mean zero upstream work.",
+ "上游尝试可能并行,耗时之和不能当成用户等待时间。用量单位没有内部单价,暂不折算成金额。没有上游遥测不代表没有上游工作。",
+ )
+ + "
"
+ )
+ candidates = [c for c in diagnostics["calls"] if c["after_first_ms"] is not None]
+ if candidates:
+ # Fixed selection rule: largest observed post-first-result wait, not a quality winner.
+ specimen = max(candidates, key=lambda c: c["after_first_ms"])
+ body += (
+ ""
+ + t("Longest wait after the first upstream result", "已有上游结果后,等待最长的一次")
+ + " "
+ )
+ body += (
+ f'{esc(specimen["case_id"])} · {esc(specimen["method"])} · '
+ + t("round", "轮次")
+ + f" {specimen['round'] + 1}
"
+ )
+ body += (
+ ""
+ + t(
+ "First upstream results / server completion / additional wait: ",
+ "首个上游返回结果 / 服务端结束 / 继续等待:",
+ )
+ + f"{fmt(specimen['first_results_ms'])} / {fmt(specimen['server_ms'])} / {fmt(specimen['after_first_ms'])} ms
"
+ )
+ maximum = max([a["start"] + a["duration"] for a in specimen["timeline"]] + [1])
+ rows = []
+ for a in specimen["timeline"]:
+ bar = f'
'
+ rows.append(
+ cells(
+ [
+ esc(a["route"]),
+ str(a["start"]),
+ str(a["duration"]),
+ esc(a["outcome"]),
+ str(a["count"]),
+ bar,
+ ]
+ )
+ )
+ body += table(
+ [
+ t("Route", "上游路线"),
+ t("Start ms", "启动 ms"),
+ t("Duration ms", "耗时 ms"),
+ t("Outcome", "结果"),
+ t("Parsed items", "解析条数"),
+ t("Parallel timeline", "并行时间线"),
+ ],
+ rows,
+ )
+ body += (
+ f''
+ + t("Open exact response", "打开这次原始响应")
+ + " "
+ )
+ body += (
+ ""
+ + t(
+ "A first upstream result may contain too few or off-topic items. The extra wait is an observed scheduling interval, not a proven removable speedup. Any early-stop policy must be tested against the same quality requirements.",
+ "首个上游结果可能条数不足或不相关。“继续等待”是已观测到的调度时段,不是可直接削掉的耗时。提前结束策略仍需在相同质量要求下验证。",
+ )
+ + "
"
+ )
+ return body
+
+
+def scoped_overview_methods(profile, content):
+ ids = content.get("overview_methods")
+ if ids is None:
+ return profile["methods"]
+ if not ids or len(ids) != len(set(ids)) or not set(ids).issubset({m["id"] for m in profile["methods"]}):
+ raise ValueError("Invalid overview participants")
+ return [m for m in profile["methods"] if m["id"] in ids]
+
+
+def scoped_overview_rows(profile, rows, content):
+ cohort = content.get("overview_cohort")
+ if cohort and cohort not in {g["id"] for g in profile.get("report_cohorts", [])}:
+ raise ValueError("Overview cohort is not registered")
+ ids = {m["id"] for m in scoped_overview_methods(profile, content)}
+ return [r for r in rows if r["method"] in ids and (not cohort or r.get("cohort") == cohort)]
+
+
+def project_comparison(profile, rows, content):
+ """Project an already-validated collection without changing measured calls."""
+ ids = content.get("comparison_methods")
+ if ids is None:
+ return profile, rows
+ methods = {m["id"]: m for m in profile["methods"]}
+ if not ids or len(ids) != len(set(ids)) or not set(ids).issubset(methods):
+ raise ValueError("Invalid comparison participants")
+ selected = [r for r in rows if r["method"] in ids]
+ if rows:
+ expected = {(m, c["id"], round_number) for m in ids for c in profile["cases"]
+ for round_number in range(profile["protocol"]["rounds"])}
+ actual = [(r["method"], r["case_id"], r["round"]) for r in selected]
+ if set(actual) != expected or len(actual) != len(expected):
+ raise ValueError("Incomplete comparison participant matrix")
+ projected = copy.deepcopy(profile)
+ projected["methods"] = [dict(methods[mid], label=content.get("comparison_labels", {}).get(mid, methods[mid]["label"])) for mid in ids]
+ projected["comparison_selection"] = {"method_ids": ids, "collection_method_ids": list(methods)}
+ return projected, selected
+
+
+def metric_populations(profile, content):
+ cases = {c["id"] for c in profile["cases"]}
+ populations = content.get("metric_populations") or [
+ {"id": "overall", "label": {"en": "All questions", "zh": "总体"}, "case_ids": [c["id"] for c in profile["cases"]]}
+ ]
+ seen = set()
+ for population in populations:
+ ids = population.get("case_ids", [])
+ if (not population.get("id") or population["id"] in seen or not ids
+ or len(ids) != len(set(ids)) or not set(ids).issubset(cases)):
+ raise ValueError("Invalid metric population")
+ seen.add(population["id"])
+ if population["id"] == "overall" and set(ids) != cases:
+ raise ValueError("Overall population must include every query")
+ if population["id"] == "factual" and set(ids) != {c["id"] for c in profile["cases"] if "reference_answer" in c}:
+ raise ValueError("Factual population must include every labeled question")
+ if content.get("independent_benchmarks"):
+ roots = [set(p["case_ids"]) for p in populations if p.get("benchmark_root")]
+ if not roots or set().union(*roots) != cases or sum(map(len, roots)) != len(cases):
+ raise ValueError("Independent benchmark roots must partition every query")
+ elif populations[0]["id"] != "overall":
+ raise ValueError("Overall population must be first")
+ return populations
+
+
+def population_summary(profile, selected, content, zh):
+ lang = "zh" if zh else "en"
+ independent = content.get("independent_benchmarks")
+ heading = (("两套评测,分别报告" if zh else "Two benchmarks, reported separately")
+ if independent else ("总体与分题组结果" if zh else "Overall and population results"))
+ factual_count = sum("reference_answer" in case for case in profile["cases"])
+ scenario_count = len(profile["cases"]) - factual_count
+ note = ((f"{scenario_count} 题自建集和 {factual_count} 题公开事实集回答不同问题,不合并成总分。子题组只解释各自适用的检查。非空、平均耗时、P50 和 P95 都包含失败与重试等待。"
+ if zh else f"The {scenario_count}-query in-house set and {factual_count}-query public factual set answer different questions and are not merged. Subgroups only explain their eligible checks. Nonempty and latency include failures and retry waits.")
+ if independent else
+ ("总体包含每道查询一次;分题组是总体的子集,不相加。非空指至少返回一条可用结果。平均、P50(中位数)和 P95(95% 的查询耗时不超过此值)均包含失败和重试等待。费用为本题组全部调用的可核算费用,未定价显示 —。"
+ if zh else "Overall counts every query once. Subgroups overlap with overall and must not be added. Nonempty means at least one usable result. Mean, P50 (median) and P95 (95% of queries finish within this duration) include failures and retry waits. Cost totals billable calls; unset prices show —."))
+ body = '' + heading + ' ' + note + '
'
+ for population in metric_populations(profile, content):
+ ids = set(population['case_ids'])
+ subset = [r for r in selected if r['case_id'] in ids]
+ stats = aggregate(subset)
+ kind = population.get('metric_kind', population['id'])
+ quality = kind in ('factual', 'scenario', 'site')
+ cases = {c['id']: c for c in profile['cases']}
+ values = []
+ for method in profile['methods']:
+ s = stats.get(method['id'])
+ if not s or s['n'] != len(ids):
+ raise ValueError('Incomplete metric population')
+ group = [r for r in subset if r['method'] == method['id']]
+ if kind == 'factual':
+ measures = [sum(r['metrics']['labeled_source_hit_5'] for r in group), sum(factual_sensitivity(cases[r['case_id']], r['results'])['metrics']['answer_in_delivered_text_5'] for r in group)]
+ elif kind == 'scenario':
+ hit_key = 'anchor_hit_5' if profile['protocol']['top_k'] == 5 else 'anchor_hit_10'
+ if any(r['metrics'].get(hit_key) is None or r['metrics'].get('reciprocal_rank') is None for r in group):
+ raise ValueError('Scenario population requires a reference for every query')
+ measures = [sum(r['metrics'][hit_key] for r in group), sum(r['metrics']['reciprocal_rank'] for r in group) / len(ids)]
+ elif kind == 'site':
+ eligible = []
+ for row in group:
+ value = row['metrics'].get('domain_precision')
+ if value is None and row['metrics'].get('result_count') == 0:
+ value = 0
+ if value is None:
+ raise ValueError('Site population has an invalid domain metric')
+ eligible.append(value)
+ measures = [sum(value > 0 for value in eligible), sum(eligible) / len(eligible)]
+ else:
+ measures = [s['nonempty']]
+ values.append([method['label'], *measures, s['all_latency']['mean'], s['all_latency']['p50'], s['all_latency']['p95'], s['cost_total']])
+ winners = {}
+ for index in range(1, len(values[0]) - 1):
+ candidates = [row[index] for row in values]
+ best = (max if index <= (2 if quality else 1) else min)(candidates)
+ if len(candidates) > 1 and candidates.count(best) == 1:
+ winners[index] = best
+ rendered = []
+ for row, method in zip(values, profile['methods'], strict=True):
+ html_cells = []
+ for i, value in enumerate(row):
+ if i == 0:
+ label = esc(value)
+ elif i == 1 or (kind == 'factual' and i == 2):
+ label = f'{int(value)}/{len(ids)}' + (f' · {value / len(ids):.1%}' if quality else '')
+ elif kind == 'scenario' and i == 2:
+ label = f'{value:.3f}'
+ else:
+ label = fmt(value)
+ if i == len(row) - 1:
+ label += ' ' + esc(method.get('currency', 'CNY'))
+ win = i in winners and winners[i] == value
+ html_cells.append('' + ('★ ' if win else '') + label + ' ')
+ rendered.append('' + ''.join(html_cells) + ' ')
+ body += '' + esc(population['label'][lang]) + f' · {len(ids)}' + (' 题' if zh else ' queries') + ' '
+ if population.get('description'):
+ body += '' + esc(population['description'][lang]) + '
'
+ headings = ['非空题数'] if zh else ['Nonempty queries']
+ if kind == 'factual':
+ body += '' + ('来源命中:前五条找到题库标注网址。答案线索:前五条交付文字中出现题库允许的答案,排除显式题库镜像后统计;不判定语义正确性。' if zh else 'Source found: a published supporting URL appears in the top five. Answer cue: allowed reference-answer text appears in delivered text after excluding explicit dataset mirrors; this is not semantic accuracy.') + '
'
+ headings = ['找到标注来源', '答案线索(排除镜像)'] if zh else ['Published source found', 'Answer cue (mirrors excluded)']
+ elif kind == 'scenario':
+ body += '' + ('目标命中:前五条找到参考页面。MRR 衡量首个目标位置,第一条得 1、第二条得 0.5、未找到得 0,再对全部题取平均;越高表示目标越靠前。' if zh else 'Target found: a reference page appears in the top five. MRR averages reciprocal first-target rank: 1 for first, 0.5 for second, and 0 for a miss. Higher means targets appear earlier.') + '
'
+ headings = ['找到目标页面', '目标排名 MRR'] if zh else ['Reference target found', 'Target MRR']
+ elif kind == 'site':
+ body += '' + ('站点满足:前五条至少一条来自题目指定域名;域名占比是前五条中指定域名结果的平均比例。两项都不判断页面内容是否相关。' if zh else 'Site satisfied: at least one top-five result uses the requested domain. Domain fraction averages the share of top-five results from that domain. Neither metric judges page relevance.') + '
'
+ headings = ['满足站点约束', '指定域名占比'] if zh else ['Site constraint met', 'Requested-domain fraction']
+ headers = (['方法'] + headings + ['平均耗时 ms','P50 ms','P95 ms','本组费用']) if zh else (['Method'] + headings + ['Mean ms','P50 ms','P95 ms','Population cost'])
+ body += table(headers, rendered) + ' '
+ return body + ' '
+
+
+def render_result_comparison(profile, selected, zh, *, prefix="", site_prefix="", content=None):
+ from .comparison import render_comparison
+ profile = dict(profile, comparison_populations=metric_populations(profile, content or {}))
+ return render_comparison(profile, selected, zh, detail_link=lambda row: posixpath.join(site_prefix, prefix, "details", row["id"] + ".html"))
+
+
+def scenario_panel(profile, selected, content, zh):
+ population = next((p for p in metric_populations(profile, content) if p["id"] == "scenario"), None)
+ if population is None:
+ return ""
+ ids = set(population["case_ids"])
+ scoped_profile = dict(profile, cases=[c for c in profile["cases"] if c["id"] in ids])
+ scoped_rows = [r for r in selected if r["case_id"] in ids]
+ return '' + ("场景题:目标网页发现" if zh else "Scenario questions: target-page discovery") + ' ' + known_page_chart(scoped_profile, scoped_rows, zh) + '' + ("只判断参考目标页面是否进入前五条;其它网页也可能有用,因此这不是整体相关性分数。" if zh else "This checks whether a declared target page appears in the top five. Other pages may also be useful, so it is not an overall relevance score.") + '
'
+
+
+def population_filter(profile, content, zh):
+ if content.get("presentation") != "comparison-report":
+ return ""
+ return '' + ("统计题组" if zh else "Metric population") + '' + ("全部" if zh else "All") + ' ' + ''.join('' + esc(p["label"]["zh" if zh else "en"]) + f' ({len(p["case_ids"])}) ' for p in metric_populations(profile, content) if p["id"] != "overall") + ' '
+
+
+def annotation_detail(annotation, zh):
+ text = ("本题参考页面在接口采集后,依据原始问题独立补充;没有重新调用搜索接口。" if zh else "This reference was added independently from the original query after collection. Search APIs were not called again.")
+ body = '' + ("后补参考依据" if zh else "Additional reference evidence") + ' ' + text + '
'
+ for source in annotation['sources']:
+ body += '' + esc(source['title']) + ' · ' + esc(source['verified_at']) + '
' + esc(source['excerpt']) + ' '
+ return body + ' '
+
+
+def dataset_context(profile, content, zh):
+ if content.get('presentation') != 'comparison-report':
+ return ''
+ factual = [c for c in profile['cases'] if 'reference_answer' in c]
+ added = sum(bool(c.get('reference_annotation')) for c in profile['cases'])
+ targets = sum(bool(c.get('anchors') or c.get('paper_ids') or c.get('repositories')) for c in profile['cases'] if 'reference_answer' not in c)
+ source = 'SimpleQA Verified '
+ return '' + ('题目从哪里来' if zh else 'Where the questions come from') + ' ' + (f'公开事实题来自 {source}:原版 1,000 题,按接口统一长度限制排除 169 题,保留 {len(factual)} 题;筛选在调用前完成,未按结果挑题。' if zh else f'Public factual questions come from {source}: 169 of the original 1,000 questions were excluded by the shared query-length limit before calls, leaving {len(factual)}. Selection did not depend on results.') + '
' + (f'场景参考页检查共 {targets} 题:{targets-added} 题沿用原有参考,{added} 题根据原始问题补充独立来源。后补标注沿用已保存的输出,不重测。该题组属于总体,不与公开事实题另加到总体中。' if zh else f'The scenario reference check covers {targets} questions: {targets-added} original references and {added} independently added references based on the original queries. Added labels reuse saved responses without new calls. This subgroup is already included in overall.') + '
'
diff --git a/harness/web_search/runner.py b/harness/web_search/runner.py
new file mode 100644
index 000000000..a17b4a217
--- /dev/null
+++ b/harness/web_search/runner.py
@@ -0,0 +1,406 @@
+"""Serial matched-query collection with frozen inputs and append-only calls."""
+
+import argparse
+import json
+import os
+import shutil
+import subprocess
+import tempfile
+import time
+from datetime import UTC, datetime
+from pathlib import Path
+
+from harness.web_fetch.config import ROOT, load_runtime_env
+
+from .core import digest, evaluate, normalize, request_body, request_cost, validate_profile, write_json
+
+
+def http_call(url, body=None, header=None, timeout=20):
+ """Hard total timeout; credentials enter curl on stdin and never appear in argv."""
+ with tempfile.TemporaryDirectory(prefix="search-http-") as temp:
+ output = Path(temp) / "response"
+ config = "url = " + json.dumps(url) + "\n"
+ if header:
+ if "\n" in header or "\r" in header:
+ raise ValueError("Invalid credential header")
+ config += "header = " + json.dumps(header) + "\n"
+ command = [
+ "curl",
+ "--silent",
+ "--show-error",
+ "--config",
+ "-",
+ "--max-time",
+ str(timeout),
+ "--output",
+ str(output),
+ "--write-out",
+ "%{http_code} %{time_starttransfer} %{time_total} "
+ "%{time_namelookup} %{time_connect} %{time_appconnect} %{size_download}",
+ ]
+ if body is not None:
+ request = Path(temp) / "request.json"
+ write_json(request, body)
+ command += [
+ "--header",
+ "Content-Type: application/json",
+ "--data-binary",
+ "@" + str(request),
+ ]
+ else:
+ command += ["--location", "--max-redirs", "5"]
+ start = time.perf_counter()
+ call = subprocess.run(
+ command, input=config, text=True, capture_output=True, timeout=timeout + 5
+ )
+ elapsed = (time.perf_counter() - start) * 1000
+ fields = call.stdout.split()
+ raw = output.read_bytes() if output.exists() else b""
+ return dict(
+ http_status=int(fields[0]) if fields else 0,
+ elapsed_ms=elapsed,
+ ttfb_ms=float(fields[1]) * 1000 if len(fields) > 1 else None,
+ transport_exit=call.returncode,
+ transport_error=call.stderr.strip(),
+ network={
+ "dns_ms": float(fields[3]) * 1000,
+ "connect_ms": float(fields[4]) * 1000,
+ "tls_ms": float(fields[5]) * 1000,
+ "download_bytes": int(fields[6]),
+ "body_ms": (float(fields[2]) - float(fields[1])) * 1000,
+ }
+ if len(fields) > 6
+ else None,
+ ), raw
+
+
+def capture_references(profile, output, phase):
+ refs = {}
+ urls = dict.fromkeys(u for c in profile["cases"] for u in c.get("anchors", []))
+ urls.update(dict.fromkeys(profile.get("reference_artifacts", {})))
+ for url in urls:
+ check = profile.get("reference_checks", {}).get(url, {})
+ receipt, raw = http_call(
+ check.get("url", url), timeout=profile["protocol"].get("reference_timeout_s", 60)
+ )
+ relative = f"references/{phase}-{digest(url.encode())[:16]}.bin"
+ path = output / relative
+ path.parent.mkdir(exist_ok=True)
+ path.write_bytes(raw)
+ refs[url] = {
+ **receipt,
+ "path": relative,
+ "sha256": digest(raw),
+ "bytes": len(raw),
+ "available": reference_available(profile, url, receipt, raw),
+ "identity_check": check or None,
+ }
+ write_json(output / f"references-{phase}.json", refs)
+ return refs
+
+
+def reference_available(profile, url, receipt, raw):
+ check = profile.get("reference_checks", {}).get(url, {})
+ return (
+ receipt["http_status"] == 200
+ and not receipt["transport_exit"]
+ and len(raw) > 100
+ and (
+ url not in profile.get("reference_artifacts", {})
+ or digest(raw) == profile["reference_artifacts"][url]["sha256"]
+ )
+ and all(
+ s.casefold() in raw.decode("utf-8", errors="replace").casefold()
+ for s in check.get("contains", [])
+ )
+ )
+
+
+def prepare_resume(profile_path, output):
+ """Resume only an unchanged, interrupted matrix; preserve every displaced byte."""
+ profile_bytes = profile_path.read_bytes()
+ profile = json.loads(profile_bytes)
+ if (output / "profile.json").read_bytes() != profile_bytes:
+ raise ValueError("Resume requires the exact frozen profile")
+ if (output / "receipt.json").exists():
+ raise ValueError("A completed collection cannot be resumed")
+ contract = json.loads((output / "run-contract.json").read_text())
+ if contract["profile_sha256"] != digest(profile_bytes):
+ raise ValueError("Frozen profile binding changed")
+ for name, sha in contract["implementation"].items():
+ if digest((output / "implementation" / name).read_bytes()) != sha:
+ raise ValueError("Original collection implementation changed")
+ raw = (output / "results.jsonl").read_bytes()
+ rows = []
+ for index, line in enumerate(raw.splitlines()):
+ try:
+ rows.append(json.loads(line))
+ except ValueError:
+ if index != len(raw.splitlines()) - 1:
+ raise ValueError("Corrupt result before the interrupted tail")
+ expected = {(m["id"], r) for m in profile["methods"] for r in range(profile["protocol"]["rounds"])}
+ by_case = {c["id"]: [] for c in profile["cases"]}
+ for row in rows:
+ if row["case_id"] not in by_case:
+ raise ValueError("Unknown case in interrupted results")
+ by_case[row["case_id"]].append(row)
+ for attempt in row.get("attempts", [row]):
+ item = attempt["evidence"]
+ if digest((output / item["path"]).read_bytes()) != item["sha256"]:
+ raise ValueError("Interrupted call evidence changed")
+ completed = {
+ cid for cid, group in by_case.items()
+ if len(group) == len(expected)
+ and {(r["method"], r["round"]) for r in group} == expected
+ and not any(r["http_status"] in {401, 402} for r in group)
+ }
+ retained = [row for row in rows if row["case_id"] in completed]
+ number = len(list(output.glob("resume-*"))) + 1
+ archive = output / f"resume-{number}"
+ archive.mkdir()
+ (archive / "previous-results.jsonl").write_bytes(raw)
+ kept_paths = {a["evidence"]["path"] for r in retained for a in r.get("attempts", [r])}
+ for call in (output / "calls").glob("*.json"):
+ if call.relative_to(output).as_posix() not in kept_paths:
+ target = archive / "calls" / call.name
+ target.parent.mkdir(exist_ok=True)
+ shutil.move(call, target)
+ source_hashes = {}
+ for source in (ROOT / "harness/web_search").glob("*.py"):
+ relative = source.relative_to(ROOT)
+ target = archive / "implementation" / relative
+ target.parent.mkdir(parents=True, exist_ok=True)
+ target.write_bytes(source.read_bytes())
+ source_hashes[str(relative)] = digest(source.read_bytes())
+ write_json(archive / "contract.json", {
+ "profile_sha256": digest(profile_bytes),
+ "previous_results_sha256": digest(raw),
+ "retained_case_ids": sorted(completed),
+ "recollect_case_ids": sorted(set(by_case) - completed),
+ "reason": "Interrupted or account-failed cases recollected for every method; complete unaffected cases retained",
+ "implementation": source_hashes,
+ "resumed_at": datetime.now(UTC).isoformat(),
+ })
+ (output / "results.jsonl").write_text("".join(json.dumps(r, ensure_ascii=False) + "\n" for r in retained))
+ return retained, number
+
+
+def run(profile_path, output, diagnostic=False, resume=False):
+ profile_bytes = profile_path.read_bytes()
+ profile = json.loads(profile_bytes)
+ validate_profile(profile)
+ load_runtime_env()
+ missing = [m["key_env"] for m in profile["methods"] if not os.getenv(m["key_env"])]
+ if missing:
+ raise ValueError("Configure repository .env: " + ", ".join(missing))
+ output = output.expanduser().resolve()
+ if output.is_relative_to(ROOT):
+ raise ValueError("Measured evidence must live outside Git")
+ rows = []
+ if resume:
+ if not output.is_dir():
+ raise ValueError("Resume directory does not exist")
+ if (output / "profile.json").read_bytes() != profile_bytes:
+ raise ValueError("Resume requires the exact frozen profile")
+ original_contract = json.loads((output / "run-contract.json").read_text())
+ if original_contract["diagnostic"] != diagnostic:
+ raise ValueError("Resume cannot change certification mode")
+ # Validate current sources before changing saved evidence.
+ before = json.loads((output / "references-before.json").read_text())
+ phase = "resume-precheck-" + datetime.now(UTC).strftime("%Y%m%dT%H%M%S%f")
+ current = capture_references(profile, output, phase)
+ if reference_changes(profile, before, current):
+ raise ValueError("Reference recheck failed; resume made no provider calls")
+ rows, _ = prepare_resume(profile_path, output)
+ unavailable = []
+ else:
+ output.mkdir(parents=True, exist_ok=False)
+ (output / "profile.json").write_bytes(profile_bytes)
+ sources = {
+ str(p.relative_to(ROOT)): digest(p.read_bytes())
+ for p in (ROOT / "harness/web_search").glob("*.py")
+ }
+ for relative in sources:
+ target = output / "implementation" / relative
+ target.parent.mkdir(parents=True, exist_ok=True)
+ target.write_bytes((ROOT / relative).read_bytes())
+ write_json(
+ output / "run-contract.json",
+ dict(
+ profile_sha256=digest(profile_bytes),
+ implementation=sources,
+ started_at=datetime.now(UTC).isoformat(),
+ diagnostic=diagnostic,
+ timer=(
+ "Client process wall time including curl startup, network, "
+ "complete body; one retry after transport, HTTP, or invalid-response failure"
+ ),
+ ),
+ )
+ before = capture_references(profile, output, "before")
+ unavailable = [url for url, r in before.items() if not r["available"]]
+ if unavailable and not diagnostic:
+ raise ValueError("Reference precheck failed; no provider calls made")
+ protocol = profile["protocol"]
+ existing_ids = {r["id"] for r in rows}
+ methods = profile["methods"]
+ for round_id in range(protocol["rounds"]):
+ for case_index, case in enumerate(profile["cases"]):
+ offset = (case_index + round_id) % len(methods)
+ for method in methods[offset:] + methods[:offset]:
+ identity = f"{case['id']}-{method['id']}-r{round_id}"
+ if identity in existing_ids:
+ continue
+ payload = request_body(method["adapter"], case, protocol, method.get("output_options"))
+ key = os.environ[method["key_env"]]
+ header = (
+ "X-API-Key: " if method["adapter"] == "lexmount" else "Authorization: Bearer "
+ ) + key
+ attempts = []
+ operation_start = time.perf_counter()
+ for attempt_index in range(1 + int(bool(protocol.get("retry")))):
+ receipt, raw = http_call(
+ method["endpoint"], payload, header, protocol["client_timeout_s"]
+ )
+ # Provider error text must never echo a credential into evidence.
+ if key.encode() in raw:
+ raw = raw.replace(key.encode(), b"[REDACTED]")
+ receipt["transport_error"] = receipt["transport_error"].replace(key, "[REDACTED]")
+ relative = f"calls/{identity}-attempt-{attempt_index + 1}.json"
+ (output / "calls").mkdir(exist_ok=True)
+ (output / relative).write_bytes(raw)
+ results = []
+ decoded = {}
+ error = receipt["transport_error"]
+ try:
+ decoded = json.loads(raw)
+ if receipt["http_status"] == 200 and not receipt["transport_exit"]:
+ results = normalize(decoded)
+ else:
+ error = error or json.dumps(
+ decoded.get("error", decoded), ensure_ascii=False
+ )
+ except (ValueError, AttributeError, TypeError) as exc:
+ error = error or str(exc)
+ cost = request_cost(method, receipt["http_status"], receipt["transport_exit"], decoded)
+ attempts.append({
+ "evidence": {"path": relative, "sha256": digest(raw)},
+ "http_status": receipt["http_status"],
+ "transport_exit": receipt["transport_exit"],
+ "elapsed_ms": receipt["elapsed_ms"],
+ "cost": cost,
+ })
+ if not error and receipt["http_status"] == 200 and not receipt["transport_exit"]:
+ break
+ total_elapsed_ms = max(
+ (time.perf_counter() - operation_start) * 1000,
+ sum(a["elapsed_ms"] for a in attempts),
+ )
+ total_cost = (
+ sum(a["cost"] for a in attempts)
+ if all(a["cost"] is not None for a in attempts)
+ else None
+ )
+ receipt["final_call_elapsed_ms"] = receipt["elapsed_ms"]
+ receipt["elapsed_ms"] = total_elapsed_ms
+ row = dict(
+ id=identity,
+ case_id=case["id"],
+ method=method["id"],
+ round=round_id,
+ timestamp=datetime.now(UTC).isoformat(),
+ request=payload,
+ **receipt,
+ error=error,
+ results=results,
+ cost=total_cost,
+ currency=method["currency"],
+ evidence={"path": relative, "sha256": digest(raw)},
+ attempts=attempts,
+ metrics=evaluate(case, results),
+ server_timing=decoded.get("timing") if isinstance(decoded, dict) else None,
+ usage=decoded.get("usage") if isinstance(decoded, dict) else None,
+ cache=decoded.get("cache") if isinstance(decoded, dict) else None,
+ )
+ rows.append(row)
+ with (output / "results.jsonl").open("a") as stream:
+ stream.write(json.dumps(row, ensure_ascii=False) + "\n")
+ print(
+ f"{identity}: HTTP {receipt['http_status']}, {len(results)} results, "
+ f"{receipt['elapsed_ms']:.0f} ms",
+ flush=True,
+ )
+ if receipt["http_status"] in {401, 402}:
+ write_json(output / "interruption.json", {
+ "reason": "provider_account",
+ "result_id": identity,
+ "http_status": receipt["http_status"],
+ "completed_logical_results": len(rows),
+ "results_sha256": digest((output / "results.jsonl").read_bytes()),
+ "stopped_at": datetime.now(UTC).isoformat(),
+ })
+ raise ValueError(
+ f"Provider account error HTTP {receipt['http_status']} at {identity}; "
+ "collection stopped with evidence preserved, not certified"
+ )
+ time.sleep(protocol["interval_s"])
+ after = capture_references(profile, output, "after")
+ changed = reference_changes(profile, before, after)
+ write_json(
+ output / "receipt.json",
+ dict(
+ complete=True,
+ call_count=len(rows),
+ physical_call_count=sum(len(r["attempts"]) for r in rows),
+ certified=not diagnostic and not unavailable and not changed,
+ unavailable_references=unavailable,
+ changed_references=changed,
+ ended_at=datetime.now(UTC).isoformat(),
+ results_sha256=digest((output / "results.jsonl").read_bytes()),
+ profile_sha256=digest(profile_bytes),
+ bindings=[
+ {"path": p.relative_to(output).as_posix(), "sha256": digest(p.read_bytes())}
+ for p in [
+ output / "run-contract.json",
+ output / "references-before.json",
+ output / "references-after.json",
+ *sorted((output / "references").glob("*.bin")),
+ *sorted((output / "implementation").rglob("*.py")),
+ *sorted(output.glob("references-resume-precheck-*.json")),
+ *sorted(p for directory in output.glob("resume-*") for p in directory.rglob("*") if p.is_file()),
+ ]
+ ],
+ ),
+ )
+ return output
+
+
+def reference_changes(profile, before, after):
+ """Identity-scoped references allow volatile page chrome, never a missing identity."""
+ identity = profile["protocol"].get("reference_scope") == "identity"
+ return [
+ u
+ for u in before
+ if not before[u]["available"]
+ or not after[u]["available"]
+ or (not identity and before[u]["sha256"] != after[u]["sha256"])
+ ]
+
+
+def main(argv=None):
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument(
+ "--profile", type=Path, default=ROOT / "evaluation/web-search/current-report.json"
+ )
+ parser.add_argument("--output", type=Path, required=True)
+ parser.add_argument("--diagnostic", action="store_true")
+ parser.add_argument("--resume", action="store_true")
+ args = parser.parse_args(argv)
+ try:
+ print(run(args.profile, args.output, args.diagnostic, args.resume))
+ except (ValueError, FileExistsError) as exc:
+ parser.exit(2, str(exc) + "\n")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/harness/web_search/scoring.py b/harness/web_search/scoring.py
new file mode 100644
index 000000000..1bed711f9
--- /dev/null
+++ b/harness/web_search/scoring.py
@@ -0,0 +1,86 @@
+"""Explicit, evidence-backed identity corrections without repeating provider calls."""
+
+from copy import deepcopy
+
+from .core import canonical_url, evaluate, validate_profile
+
+
+def apply_report_revision(profile, rows, revision):
+ """Add independently observed reference annotations to immutable saved calls."""
+ if revision.get("schema") != "web-search-assessment-revision/1":
+ raise ValueError("Unsupported assessment revision")
+ if not revision.get("root_cause") or not revision.get("regression_ids"):
+ raise ValueError("Assessment revision needs cause and regression provenance")
+ if revision.get("provider_calls") != 0:
+ raise ValueError("An annotation revision cannot introduce provider calls")
+ revised = deepcopy(profile)
+ cases = {c["id"]: c for c in revised["cases"]}
+ seen = set()
+ for item in revision.get("cases", []):
+ cid = item["case_id"]
+ if cid in seen or cid not in cases:
+ raise ValueError("Duplicate or unknown annotated case")
+ seen.add(cid)
+ if cases[cid].get("anchors"):
+ raise ValueError("Additional annotations cannot replace existing anchors")
+ anchors, sources = item.get("anchors", []), item.get("sources", [])
+ if not anchors or not sources or not item.get("qualification"):
+ raise ValueError("An annotation requires independent source qualification")
+ observed = set()
+ for source in sources:
+ if source.get("title") and source.get("excerpt") and source.get("verified_at"):
+ observed.add(source["url"])
+ if source.get("observation_kind") == "direct_official_source_http" and source.get("http_status") == 200:
+ observed.add(source.get("final_url"))
+ if source.get("observation_kind") == "official_publisher_canonical_link":
+ observed.add(source.get("qualifying_link"))
+ if any(not a.startswith("https://") or a not in observed for a in anchors):
+ raise ValueError("Unqualified source anchor")
+ cases[cid]["anchors"] = anchors
+ cases[cid]["reference_annotation"] = item
+ if revision.get("answer_match_rule"):
+ if revision["answer_match_rule"] != "published-answers/2":
+ raise ValueError("Unsupported answer matching rule")
+ for case in cases.values():
+ if case.get("reference_answer"):
+ case["answer_match_rule"] = revision["answer_match_rule"]
+ updated, changes = [], []
+ for row in rows:
+ new = {**row, "metrics": evaluate(cases[row["case_id"]], row["results"])}
+ if new["metrics"] != row["metrics"]:
+ changes.append({"id": row["id"], "before": row["metrics"], "after": new["metrics"]})
+ updated.append(new)
+ return revised, updated, changes
+
+
+def apply_identity_correction(profile, rows, correction):
+ if not correction.get("root_cause") or not correction.get("regression_ids"):
+ raise ValueError("A scoring correction requires cause and regression provenance")
+ observations = {x["url"]: x for x in correction["observations"]}
+ revised = deepcopy(profile)
+ cases = {c["id"]: c for c in revised["cases"]}
+ for cid, aliases in correction["aliases"].items():
+ case = cases[cid]
+ for alias, target in aliases.items():
+ a, b = observations[alias], observations[target]
+ if a.get("error") or b.get("error"):
+ raise ValueError("Failed source identity observation")
+ same_destination = any(
+ a.get(k) and b.get(k) and canonical_url(a[k]) == canonical_url(b[k])
+ for k in ("final", "canonical")
+ )
+ same_text = a.get("text_sha256") and a["text_sha256"] == b.get("text_sha256")
+ if not (same_destination or same_text):
+ raise ValueError("Unproven equivalent page")
+ if target not in case.get("anchors", []):
+ raise ValueError("Correction must retain the original known target")
+ case["identity_aliases"] = dict(aliases)
+ validate_profile(revised)
+ updated, changes = [], []
+ for row in rows:
+ new = dict(row)
+ new["metrics"] = evaluate(cases[row["case_id"]], row["results"])
+ if new["metrics"] != row["metrics"]:
+ changes.append({"id": row["id"], "before": row["metrics"], "after": new["metrics"]})
+ updated.append(new)
+ return revised, updated, changes
diff --git a/harness/web_search/simpleqa.py b/harness/web_search/simpleqa.py
new file mode 100644
index 000000000..f9d173e9e
--- /dev/null
+++ b/harness/web_search/simpleqa.py
@@ -0,0 +1,94 @@
+"""Build a deterministic Search-API profile from the frozen SimpleQA Verified CSV."""
+
+import csv
+import io
+import random
+import re
+from copy import deepcopy
+
+
+def _urls(value):
+ urls = []
+ for part in value.split(","):
+ match = re.search(r"https?://\S+", part.strip())
+ if not match:
+ continue
+ url = match.group(0)
+ while url.endswith(")") and url.count(")") > url.count("("):
+ url = url[:-1]
+ if url not in urls:
+ urls.append(url)
+ return urls
+
+
+def sample_cases(csv_bytes, *, size, seed):
+ rows = list(csv.DictReader(io.StringIO(csv_bytes.decode("utf-8-sig"))))
+ if not 0 < size <= len(rows):
+ raise ValueError("Sample size must be within the frozen dataset")
+ selected = list(rows)
+ random.Random(seed).shuffle(selected)
+ origin = (
+ "https://huggingface.co/datasets/google/simpleqa-verified/resolve/"
+ "ed392714d14fa5225b07c2b456453983bc75f690/simpleqa_verified.csv"
+ )
+ return [
+ {
+ "id": "sqv-" + row["original_index"],
+ "family": "web",
+ "category": "factual",
+ "language": "en",
+ "query": row["problem"],
+ "origin": origin,
+ "provenance_kind": "public_labeled",
+ "derivation": (
+ f"Unchanged publisher question; deterministic random sample "
+ f"of {size} from 1,000 rows with seed {seed}"
+ ),
+ "reference_answer": row["answer"],
+ "reference_urls": _urls(row["urls"]),
+ "topic": row["topic"],
+ "answer_type": row["answer_type"],
+ "multi_step": row["multi_step"].casefold() == "true",
+ "requires_reasoning": row["requires_reasoning"].casefold() == "true",
+ }
+ for row in selected[:size]
+ ]
+
+
+def sampled_profile(template, csv_bytes, *, size=500, seed=20261021):
+ profile = deepcopy(template)
+ profile["title"] = f"SimpleQA Verified retrieval diagnostic — fixed {size}-query sample"
+ profile["cases"] = sample_cases(csv_bytes, size=size, seed=seed)
+ profile["methods"] = [
+ method for method in profile["methods"]
+ if method["id"] in {"lexmount", "deepseek", "bocha"}
+ ]
+ profile["protocol"].update({
+ "preserve_publisher_queries": True,
+ "sample": {
+ "population": 1000,
+ "size": size,
+ "seed": seed,
+ "algorithm": "Python random.Random(seed).shuffle; first N rows",
+ "selection_before_calls": True,
+ },
+ "quality": (
+ "Deterministic labeled-source hit@5 and answer-cue hit@5; no answer model "
+ "and no model judge. This is a retrieval adaptation, not the official SimpleQA score."
+ ),
+ "comparison": (
+ "All providers receive the same unchanged questions and request five core SERP "
+ "results with optional content and summary fields disabled."
+ ),
+ })
+ profile["cohort_revision"] = {
+ "reason": (
+ "Replace the length-filtered 831-query cohort with a preregistered fixed random "
+ "sample from all 1,000 publisher rows; compare only the common core SERP mode."
+ ),
+ "sample_size": size,
+ "sample_seed": seed,
+ "source_revision": "ed392714d14fa5225b07c2b456453983bc75f690",
+ "source_sha256": "fb990cca0fae8515ae2f51b794d5fa791d095c1f919ecdbe22d0c1642e9ab966",
+ }
+ return profile
diff --git a/scripts/build_search_report.py b/scripts/build_search_report.py
new file mode 100644
index 000000000..37509da2d
--- /dev/null
+++ b/scripts/build_search_report.py
@@ -0,0 +1,10 @@
+"""Build or validate a Web Search API report."""
+
+import sys
+from pathlib import Path
+
+sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
+from harness.web_search.report import main
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/build_simpleqa_search_profile.py b/scripts/build_simpleqa_search_profile.py
new file mode 100644
index 000000000..db86b3108
--- /dev/null
+++ b/scripts/build_simpleqa_search_profile.py
@@ -0,0 +1,29 @@
+"""Build the fixed SimpleQA Verified Search-API sample profile."""
+
+import argparse
+import json
+from pathlib import Path
+
+from harness.web_search.core import write_json
+from harness.web_search.simpleqa import sampled_profile
+
+
+def main(argv=None):
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument("--csv", type=Path, required=True)
+ parser.add_argument("--template", type=Path, required=True)
+ parser.add_argument("--output", type=Path, required=True)
+ parser.add_argument("--size", type=int, default=500)
+ parser.add_argument("--seed", type=int, default=20261021)
+ args = parser.parse_args(argv)
+ profile = sampled_profile(
+ json.loads(args.template.read_text()),
+ args.csv.read_bytes(),
+ size=args.size,
+ seed=args.seed,
+ )
+ write_json(args.output, profile)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/moli_report/BUILD.md b/scripts/moli_report/BUILD.md
index 4dd60db62..692b4c05d 100644
--- a/scripts/moli_report/BUILD.md
+++ b/scripts/moli_report/BUILD.md
@@ -20,7 +20,7 @@ uv run --frozen python scripts/moli_report/build.py \
uv run --frozen python scripts/moli_report/verify.py --site /tmp/moli-report-release --release
```
-The default build generates Chinese pages and charts only. Add `--include-english` to generate English explicitly. `report-languages.json` records the editions used by verification, packaging and browser checks. Without English, both English entry paths show a notice with a return link. Translation sources remain available for manual generation.
+The public builder falls back to English. Set `BROWSER_EVAL_REPORT_LANGUAGE=zh` or pass `--language zh` for a Chinese-only build; `--include-english` keeps both editions when Chinese is primary. `report-languages.json` records the editions used by verification, packaging and browser checks. Without English, both English entry paths show a notice with a return link. Translation sources remain available for manual generation.
Choose a new output directory for each build; the builder does not delete existing output. `--vendor-dir` selects the retained Mermaid distribution and license. Their hashes are checked before copying. The profile supplies its location under the data home; no vendored executable or measured output is committed here.
@@ -48,7 +48,7 @@ The four 1.1.9 resource configurations are release builds bound by `resource_bui
The static verifier checks score/evidence bindings, resource populations and percentages, fixed-case log links, charts, rendering for the generated editions, unique resource extrema and negative controls. Its implementation is `harness/lexbench/verification.py`; the JavaScript rendering contract is an installed resource under `harness/lexbench/assets/`, also exercised by `tests/test_moli_report_render_contract.py`. Importing the verifier does not parse command arguments or read evidence. `--release --profile /path/to/profile.json` selects the authoritative method and binary bindings explicitly; an installed distribution requires this option when the repository profile is unavailable. `verify_evidence(site)` checks saved evidence and its negative controls; the full `verify(site)` command additionally runs the rendering contract and remains the release check.
-For full release verification, serve the build with a static HTTP server and run `ui_check.js` with `MOLI_REPORT_SITE`, `MOLI_REPORT_ORIGIN`, and `MOLI_REPORT_SHOTS`. `LEXBENCH_NODE_MODULES` selects the provisioned Playwright installation. The browser check covers route classes, themes, widths, evidence dialogs and keyboard navigation. Run it after resource measurement to avoid contaminating the measurement host.
+For release verification, serve the build with a static HTTP server and run `ui_check.js` with `MOLI_REPORT_SITE`, `MOLI_REPORT_ORIGIN`, and `MOLI_REPORT_SHOTS`. `LEXBENCH_NODE_MODULES` selects the provisioned Playwright installation. The browser pass reviews each top-level page once at the standard desktop width. Renderer tests cover responsive and theme behavior; generation-time tests cover details, filters, dialogs and keyboard navigation. Run the reader pass after resource measurement to avoid contaminating the measurement host.
Publish only after the complete requested method matrix and release checks pass, using the existing bound Artifact Site target and its freshly read remote version. Preserve binary identity, raw trials and previous report versions.
diff --git a/scripts/moli_report/README.md b/scripts/moli_report/README.md
index 5993d776b..fe1c47fcb 100644
--- a/scripts/moli_report/README.md
+++ b/scripts/moli_report/README.md
@@ -2,7 +2,7 @@
Serve `index.html` through a static HTTP server. `data/model.json` records the report configuration, task scope, execution counts and evidence index. Pass rates and resource metrics use their declared populations. Task pages expose acceptance rules, actual output, program errors and logs.
-Chinese is generated by default. `report-languages.json` records generated languages; an absent English edition shows a notice and return link. Explicit bilingual builds share the same results and evidence.
+The public builder falls back to English. Set `BROWSER_EVAL_REPORT_LANGUAGE=zh` or pass `--language zh` for a Chinese-only build. `report-languages.json` records generated languages; an absent English edition shows a notice and return link. Bilingual builds share the same results and evidence.
Functional results and resource measurements bind their own build identities. Check binary hashes and experiment conditions before using the results; compare platform-specific memory measures separately.
diff --git a/scripts/moli_report/index.html b/scripts/moli_report/index.html
index b1a6afa76..fc98c4d1d 100644
--- a/scripts/moli_report/index.html
+++ b/scripts/moli_report/index.html
@@ -2,6 +2,7 @@
+
Moli · Success and resources
diff --git a/scripts/report_template.py b/scripts/report_template.py
index 2a9573cbb..069765884 100644
--- a/scripts/report_template.py
+++ b/scripts/report_template.py
@@ -1,4 +1,5 @@
"""Locate the existing renderer, example and release commands for a report type."""
+
import argparse
import json
import sys
@@ -9,6 +10,13 @@
if __name__ == "__main__":
parser = argparse.ArgumentParser(description=__doc__)
- parser.add_argument("track", choices=("webfetch", "trajectory-replay", "browser-use"))
+ parser.add_argument(
+ "track",
+ choices=tuple(
+ json.loads(
+ (Path(__file__).resolve().parents[1] / "configs/report-templates.json").read_text()
+ )["tracks"]
+ ),
+ )
args = parser.parse_args()
print(json.dumps(resolve_template(args.track), ensure_ascii=False, indent=2))
diff --git a/tests/browser_use/test_report_visual.py b/tests/browser_use/test_report_visual.py
index cd30acfa9..b1147bcb9 100644
--- a/tests/browser_use/test_report_visual.py
+++ b/tests/browser_use/test_report_visual.py
@@ -39,10 +39,14 @@ def report_fixture(root: Path) -> None:
(root / "report-languages.json").write_text(json.dumps({"languages": ["zh"]}))
-def test_routes_cover_success_when_failure_sorts_first(tmp_path):
+def test_routes_cover_only_top_level_navigation(tmp_path):
report_fixture(tmp_path)
routes = set(visual._routes(tmp_path))
- assert {"results/a-fail.html", "results/z-pass.html", "en/index.html"} <= routes
+ assert routes == {
+ "index.html", "datasets/index.html", "methodology/index.html",
+ "analysis/index.html", "review/index.html", "changes/index.html",
+ "adoption/index.html", "reproduce/index.html", "accounts/index.html",
+ }
@pytest.mark.parametrize("count", [1, True, 999999])
@@ -80,20 +84,15 @@ def complete_receipt(report, receipt, binary):
"adoption/index.html",
"reproduce/index.html",
"accounts/index.html",
- "results/a-fail.html",
- "results/z-pass.html",
- "en/index.html",
- "evidence-viewer.html?src=artifacts/a-fail/executions/1/execution-evidence.json",
- "evidence-viewer.html?src=artifacts/z-pass/executions/1/execution-evidence.json",
]
value = {
- "schema": "lex_browser_use_visual_qa/2",
+ "schema": "lex_browser_use_visual_qa/3",
"report_tree_sha256": packager.tree_sha256(report),
"checker_sources": checker_sources(Path(visual.__file__)),
"browser_executable": str(binary),
"browser_sha256": file_sha256(binary),
"route_classes": len(routes),
- "states_checked": len(routes) * 6,
+ "states_checked": len(routes),
"states": [
{
"route": route,
@@ -106,8 +105,8 @@ def complete_receipt(report, receipt, binary):
"textOverflow": [],
}
for route in routes
- for width, height in ((1440, 1000), (820, 1180), (390, 844))
- for theme in ("light", "dark")
+ for width, height in ((1440, 1000),)
+ for theme in ("light",)
],
"failures": [],
}
@@ -158,7 +157,7 @@ def test_cache_requires_complete_current_rendering(tmp_path, monkeypatch, damage
elif damage == "browser":
binary.write_text("Replaced browser binary")
elif damage == "old-schema":
- value["schema"] = "lex_browser_use_visual_qa/1"
+ value["schema"] = "lex_browser_use_visual_qa/2"
receipt.write_text(json.dumps(value))
calls = []
monkeypatch.setattr(packager, "check", lambda *args, **kwargs: calls.append("evidence"))
diff --git a/tests/test_moli_report_render_contract.py b/tests/test_moli_report_render_contract.py
index 4190685d0..66866bc42 100644
--- a/tests/test_moli_report_render_contract.py
+++ b/tests/test_moli_report_render_contract.py
@@ -9,6 +9,13 @@
class MoliReportRenderContractTests(unittest.TestCase):
+ def test_release_reader_pass_has_no_viewport_or_theme_matrix(self):
+ root = Path(__file__).resolve().parents[1]
+ source = (root / "scripts/moli_report/ui_check.js").read_text()
+ self.assertIn("const reviewRoutes", source)
+ self.assertNotIn("for (let width", source)
+ self.assertNotIn("for (let theme", source)
+
def test_fixed_layout_comparisons_in_both_languages(self):
node = shutil.which("node")
if node is None:
diff --git a/tests/test_public_report_language.py b/tests/test_public_report_language.py
index a0718979c..60d8ed8e5 100644
--- a/tests/test_public_report_language.py
+++ b/tests/test_public_report_language.py
@@ -166,9 +166,11 @@ def test_make_language_override_is_only_explicit(tmp_path, monkeypatch, target,
def cli(*args):
+ env = {**os.environ, "PYTHONPATH": str(ROOT)}
+ env.pop("BROWSER_EVAL_REPORT_LANGUAGE", None)
return subprocess.run([sys.executable, "-m", "harness.web_fetch", *args],
cwd=ROOT, capture_output=True, text=True,
- env={**os.environ, "PYTHONPATH": str(ROOT)})
+ env=env)
@pytest.mark.parametrize("language", [None, "en", "zh"])
@@ -198,6 +200,22 @@ def test_run_selects_language_and_rebuild_preserves_it(tmp_path, language):
check(run / "report")
+def test_run_uses_environment_language_for_a_new_report(tmp_path):
+ run = tmp_path / "run"
+ env = {**os.environ, "PYTHONPATH": str(ROOT), "BROWSER_EVAL_REPORT_LANGUAGE": "zh"}
+ result = subprocess.run(
+ [sys.executable, "-m", "harness.web_fetch", "run", "--delay", "0", "--output", str(run)],
+ cwd=ROOT,
+ capture_output=True,
+ text=True,
+ env=env,
+ )
+ assert result.returncode == 0, result.stdout + result.stderr
+ contract = json.loads((run / "report/report-languages.json").read_text())
+ assert contract["primary_language"] == "zh"
+ assert contract["languages"] == ["zh"]
+
+
def test_unsupported_language_fails_before_calls_or_output(tmp_path):
run = tmp_path / "run"
result = cli("run", "--language", "fr", "--output", str(run))
@@ -220,10 +238,10 @@ def test_report_entrypoints_reject_unknown_language_before_loading_evidence(tmp_
assert not output.exists()
-def test_default_english_has_localized_ui_and_preserved_task_text(tmp_path):
+def test_explicit_english_has_localized_ui_and_preserved_task_text(tmp_path):
from harness.web_fetch.report_i18n import untranslated_english_narrative
run = tmp_path / "run"
- result = cli("run", "--delay", "0", "--output", str(run))
+ result = cli("run", "--delay", "0", "--language", "en", "--output", str(run))
assert result.returncode == 0, result.stderr
dataset = json.loads((run / "dataset.json").read_text())
# Task wording and participant metadata are source inputs, not report copy.
diff --git a/tests/test_report_languages.py b/tests/test_report_languages.py
index af53f4cf9..4f02538b9 100644
--- a/tests/test_report_languages.py
+++ b/tests/test_report_languages.py
@@ -14,12 +14,17 @@
@pytest.mark.parametrize("supported", [("en", "zh"), ("zh",)])
@pytest.mark.parametrize("saved", [None, "en", "zh", "legacy"])
@pytest.mark.parametrize("requested", [None, "en", "zh"])
-def test_language_resolution_respects_choice_and_renderer_capability(tmp_path, supported, saved, requested):
+def test_language_resolution_respects_choice_and_renderer_capability(
+ tmp_path, supported, saved, requested, monkeypatch
+):
from harness.report_languages import resolve_report_language
+ monkeypatch.delenv("BROWSER_EVAL_REPORT_LANGUAGE", raising=False)
if saved:
contract = {"languages": ["zh"]} if saved == "legacy" else {"primary_language": saved}
(tmp_path / "report-languages.json").write_text(json.dumps(contract))
- expected = requested or ("zh" if saved == "legacy" else saved) or supported[0]
+ expected = requested or ("zh" if saved == "legacy" else saved) or (
+ "en" if "en" in supported else supported[0]
+ )
if expected in supported:
assert resolve_report_language(tmp_path, requested, supported=supported) == expected
else:
@@ -108,8 +113,9 @@ def page(content, head=""):
assert contract["entrypoint"] == "en/index.html"
-def test_rebuild_language_recognizes_older_chinese_only_reports(tmp_path):
+def test_rebuild_language_recognizes_older_chinese_only_reports(tmp_path, monkeypatch):
from harness.report_languages import primary_report_language
+ monkeypatch.delenv("BROWSER_EVAL_REPORT_LANGUAGE", raising=False)
assert primary_report_language(tmp_path) == "en"
write_language_contract(tmp_path, include_english=False)
assert primary_report_language(tmp_path) == "zh"
@@ -117,6 +123,30 @@ def test_rebuild_language_recognizes_older_chinese_only_reports(tmp_path):
assert primary_report_language(tmp_path) == "zh"
+def test_environment_changes_new_report_default_without_overriding_saved_choice(
+ tmp_path, monkeypatch
+):
+ from harness.report_languages import primary_report_language, select_report_language
+
+ monkeypatch.setenv("BROWSER_EVAL_REPORT_LANGUAGE", "zh")
+ assert primary_report_language(tmp_path) == "zh"
+ (tmp_path / "index.html").write_text(
+ ' '
+ )
+ write_language_contract(tmp_path, include_english=False)
+ select_report_language(tmp_path, "zh")
+ monkeypatch.setenv("BROWSER_EVAL_REPORT_LANGUAGE", "en")
+ assert primary_report_language(tmp_path) == "zh"
+
+
+def test_invalid_environment_language_fails_early(tmp_path, monkeypatch):
+ from harness.report_languages import primary_report_language
+
+ monkeypatch.setenv("BROWSER_EVAL_REPORT_LANGUAGE", "fr")
+ with pytest.raises(ValueError, match="BROWSER_EVAL_REPORT_LANGUAGE"):
+ primary_report_language(tmp_path)
+
+
@pytest.mark.parametrize("damage", ["unsupported", "missing_edition", "wrong_entry", "missing_redirect"])
def test_release_rejects_a_wrong_primary_language(tmp_path, damage):
from harness.report_languages import REPORT_PAGE_MARKER, select_report_language
diff --git a/tests/test_reporting_visual.py b/tests/test_reporting_visual.py
index a07e5bf9c..1639f4acb 100644
--- a/tests/test_reporting_visual.py
+++ b/tests/test_reporting_visual.py
@@ -7,7 +7,14 @@
import pytest
from harness.browser_use import report_visual
-from harness.reporting.visual import browser_executable, prepare_check, write_receipt
+from harness.reporting.visual import browser_executable, prepare_check, state_matrix, write_receipt
+
+
+def test_release_review_renders_each_route_once_in_light_desktop_state():
+ assert state_matrix(["index.html", "results.html"], ((1440, 1000),)) == {
+ ("index.html", 1440, 1000, "light"),
+ ("results.html", 1440, 1000, "light"),
+ }
def test_invalid_explicit_browser_does_not_select_another(tmp_path, monkeypatch):
diff --git a/tests/test_wcxb_report_languages.py b/tests/test_wcxb_report_languages.py
index 6249a4413..7465c2ab1 100644
--- a/tests/test_wcxb_report_languages.py
+++ b/tests/test_wcxb_report_languages.py
@@ -40,6 +40,7 @@ def test_wcxb_language_output_and_every_language_link(tmp_path, include_english)
def test_wcxb_command_forwards_requested_language(tmp_path, monkeypatch, include_english):
from harness.web_fetch import report_build
+ monkeypatch.delenv('BROWSER_EVAL_REPORT_LANGUAGE', raising=False)
captured = []
monkeypatch.setattr(report_build, 'build_wcxb_report',
lambda *args, **kwargs: captured.append(kwargs) or tmp_path / 'index.html')
diff --git a/tests/trajectory_replay/test_report_languages.py b/tests/trajectory_replay/test_report_languages.py
index 195b7a793..7476f7228 100644
--- a/tests/trajectory_replay/test_report_languages.py
+++ b/tests/trajectory_replay/test_report_languages.py
@@ -12,7 +12,7 @@ def test_explicit_languages_control_visual_scope(tmp_path):
manifest = tmp_path / "report-manifest.json"
manifest.write_text(json.dumps({"languages": ["zh"]}))
assert language_roots(tmp_path) == (tmp_path,)
- assert [route for route in _routes(tmp_path) if route.startswith("en/")] == ["en/index.html"]
+ assert [route for route in _routes(tmp_path) if route.startswith("en/")] == []
manifest.write_text(json.dumps({"languages": ["zh", "en"]}))
assert language_roots(tmp_path) == (tmp_path, tmp_path / "en")
assert "en/index.html" in _routes(tmp_path)
diff --git a/tests/trajectory_replay/test_webarena_publish.py b/tests/trajectory_replay/test_webarena_publish.py
index 3b2f664b7..c0e1db96f 100644
--- a/tests/trajectory_replay/test_webarena_publish.py
+++ b/tests/trajectory_replay/test_webarena_publish.py
@@ -519,6 +519,7 @@ def test_package_binds_report_evidence_and_release_gate(monkeypatch, tmp_path: P
"lex_webarena_replay_visual_qa/1",
"lex_webarena_replay_visual_qa/2",
"lex_webarena_replay_visual_qa/3",
+ "lex_webarena_replay_visual_qa/4",
])
def test_package_reruns_private_preview_gate_for_old_receipt(
monkeypatch, tmp_path: Path, old_schema: str
diff --git a/tests/trajectory_replay/test_webarena_visual_check.py b/tests/trajectory_replay/test_webarena_visual_check.py
index 0ebac2032..4774ff64b 100644
--- a/tests/trajectory_replay/test_webarena_visual_check.py
+++ b/tests/trajectory_replay/test_webarena_visual_check.py
@@ -10,7 +10,6 @@
from harness.trajectory_replay import webarena_report_visual as _MODULE
_routes = _MODULE._routes
-_first_failed_key = _MODULE._first_failed_key
def test_private_preview_fixture_denies_assets_without_version(tmp_path):
@@ -114,7 +113,7 @@ def test_routes_include_integrated_and_offline_article_in_both_languages(tmp_pat
} <= set(routes)
-def test_routes_include_failure_detail_and_evidence(tmp_path) -> None:
+def test_routes_leave_result_and_evidence_details_to_static_checks(tmp_path) -> None:
_write_results(
tmp_path,
[
@@ -125,11 +124,10 @@ def test_routes_include_failure_detail_and_evidence(tmp_path) -> None:
routes = _routes(tmp_path)
- assert "result/moli-1.html" in routes
- assert _first_failed_key(tmp_path) == "moli-1"
- assert "evidence-viewer.html?file=data/evidence/moli-1.json" in routes
+ assert "result/moli-1.html" not in routes
+ assert "evidence-viewer.html?file=data/evidence/moli-1.json" not in routes
assert "fixes.html" not in routes and "en/fixes.html" not in routes
- assert len(routes) == 14
+ assert len(routes) == 10
def test_routes_support_an_all_pass_report(tmp_path) -> None:
@@ -138,7 +136,6 @@ def test_routes_support_an_all_pass_report(tmp_path) -> None:
routes = _routes(tmp_path)
assert all("result/" not in route and "evidence-viewer" not in route for route in routes)
- assert _first_failed_key(tmp_path) is None
assert len(routes) == 10
@@ -187,10 +184,10 @@ def test_current_routes_exclude_legacy_diagnostic_overview(tmp_path) -> None:
assert f"en/diagnostic/{task_id}.html" not in routes
-def test_chinese_visual_matrix_includes_english_notice(tmp_path):
+def test_chinese_visual_review_skips_english_notice(tmp_path):
_write_results(tmp_path, [])
(tmp_path / "report-manifest.json").write_text('{"languages":["zh"]}')
- assert "en/index.html" in _routes(tmp_path)
+ assert "en/index.html" not in _routes(tmp_path)
@pytest.mark.parametrize(
@@ -220,7 +217,6 @@ def test_current_replay_receipt_binds_full_visual_scope(tmp_path, monkeypatch, d
"results.html",
"environment.html",
"review.html",
- "en/index.html",
]
for route in routes:
path = report / route
@@ -231,13 +227,13 @@ def test_current_replay_receipt_binds_full_visual_scope(tmp_path, monkeypatch, d
monkeypatch.setenv("BROWSER_USE_VISUAL_BROWSER", str(binary))
receipt = tmp_path / "visual.json"
value = {
- "schema": "lex_webarena_replay_visual_qa/4",
+ "schema": "lex_webarena_replay_visual_qa/5",
"report_tree_sha256": _MODULE._tree_sha256(report),
"checker_sources": checker_sources(Path(_MODULE.__file__)),
"browser_executable": str(binary),
"browser_sha256": file_sha256(binary),
- "route_classes": 6,
- "states_checked": 24,
+ "route_classes": 5,
+ "states_checked": 5,
"failures": [],
"states": [
{
@@ -254,8 +250,8 @@ def test_current_replay_receipt_binds_full_visual_scope(tmp_path, monkeypatch, d
"rawMermaid": False,
}
for route in routes
- for width, height in ((1440, 1000), (390, 844))
- for theme in ("light", "dark")
+ for width, height in ((1440, 1000),)
+ for theme in ("light",)
],
}
if damage == "missing-state":
diff --git a/tests/web_search/test_answer_rules.py b/tests/web_search/test_answer_rules.py
new file mode 100644
index 000000000..06fdb2dd4
--- /dev/null
+++ b/tests/web_search/test_answer_rules.py
@@ -0,0 +1,97 @@
+from harness.web_search.answer_rules import match_reference_answer, reference_rule
+
+
+def test_explicit_alternative_without_annotation():
+ ref = 'tramp steamer (or collier)'
+ assert match_reference_answer(ref, 'The vessel resembled a collier.')
+ assert match_reference_answer(ref, 'It resembled a tramp steamer.')
+ assert not match_reference_answer(ref, 'The steamship had a collision.')
+
+
+def test_numeric_range_checks_entire_number_and_bounds():
+ ref = '150 (acceptable range: anything between 148 and 152)'
+ for text in ('148 engravings', '150 engravings', '152 engravings'):
+ assert match_reference_answer(ref, text)
+ for text in ('147 engravings', '153 engravings', '1,150 engravings', '150.9.5', '1150', '-150', '150%'):
+ assert not match_reference_answer(ref, text)
+
+
+def test_units_and_percent_are_not_discarded():
+ ref = '55% (acceptable range: anything between 54% and 56%)'
+ assert match_reference_answer(ref, 'It was 55%.')
+ assert not match_reference_answer(ref, 'There were 55 people.')
+ length = '390 metres (acceptable range: anything between 386 and 394 metres)'
+ assert match_reference_answer(length, 'The bridge spans 390 metres long')
+ assert not match_reference_answer(length, 'It is 390 feet long')
+
+
+def test_grouped_decimal_values_and_scale():
+ ref = '1.65 million USD (acceptable range: anything between 1.6 million and 1.7 million USD)'
+ assert match_reference_answer(ref, 'It cost 1.65 million USD in total')
+ assert not match_reference_answer(ref, 'It cost 1.65 USD in total')
+ assert not match_reference_answer(ref, 'It cost 1.75 million USD in total')
+ ref = '10,990,502 (acceptable range: anything between 10,440,976 and 11,540,028)'
+ assert match_reference_answer(ref, 'Population: 11,000,000 people')
+ assert not match_reference_answer(ref, 'Population: 12,000,000 people')
+
+
+def test_dimensions_and_fixed_duration_prefix():
+ ref = '405 x 480 cm (acceptable range: [400-409] x [475-485] cm)'
+ assert match_reference_answer(ref, 'The work measures 405 × 480 cm.')
+ assert not match_reference_answer(ref, 'The work measures 480 × 405 cm.')
+ assert not match_reference_answer(ref, 'The work measures 405 × 480 inches.')
+ ref = '1 year, 161 days (acceptable range: 1 year, anything between 160 and 162 days)'
+ assert match_reference_answer(ref, 'It lasted 1 year, 160 days in total.')
+ assert not match_reference_answer(ref, 'It lasted 2 years, 160 days in total.')
+ assert not match_reference_answer(ref, 'It lasted 160 days in total.')
+
+
+def test_inline_alternative_preserves_rest_of_answer():
+ ref = 'A, B, C♯, D, E, F (or E♯), F♯, G♯'
+ assert match_reference_answer(ref, 'A, B, C♯, D, E, E♯, F♯, G♯')
+ assert not match_reference_answer(ref, 'E♯')
+ assert not match_reference_answer(ref, 'A, B, C, D, E, F, F, G')
+
+
+def test_quoted_alias_and_unknown_parenthetical():
+ ref = 'Second Empire (also know as "French Empire" or "2nd Empire/Italianate")'
+ assert match_reference_answer(ref, 'It has a French Empire design.')
+ assert not match_reference_answer(ref, 'It is a French design.')
+ ref = "There's a hero (if you look inside your heart)"
+ assert reference_rule(ref)['unsupported_annotation']
+ assert not match_reference_answer(ref, "There's a hero")
+ assert match_reference_answer(ref, ref)
+
+
+def test_unknown_range_is_explicit_and_base_retained():
+ ref = '150 (acceptable range: roughly nearby)'
+ assert reference_rule(ref)['unsupported_annotation'] == 'roughly nearby'
+ assert match_reference_answer(ref, '150 objects')
+ assert not match_reference_answer(ref, '149 objects')
+
+
+def test_literal_numeric_formatting_preserves_numeric_identity():
+ assert match_reference_answer("120,000 euros", "Damages of 120000 euros.")
+ assert not match_reference_answer("120,000 euros", "Damages of 120 euros.")
+ assert not match_reference_answer("150", "1150")
+ assert not match_reference_answer("1.5", "15")
+
+
+def test_quantity_modifiers_remain_part_of_literal_and_ranged_units():
+ for ref in ('390 m', '390 m (acceptable range: anything between 386 and 394 m)'):
+ assert match_reference_answer(ref, 'The bridge is 390 m long.')
+ for invalid in ('390 m/s', '390 m / s', '390 m per second', '390 m²', '390 m^2', '390 m2'):
+ assert not match_reference_answer(ref, invalid), (ref, invalid)
+ for ref in ('150', '150 (acceptable range: anything between 148 and 152)'):
+ assert match_reference_answer(ref, '150 people')
+ for invalid in ('150%', '150 %', '150‰', '150 per second', '150/second'):
+ assert not match_reference_answer(ref, invalid), (ref, invalid)
+ assert match_reference_answer('150%', 'It rose 150 %.')
+ assert not match_reference_answer('150%', 'It rose 150 people.')
+
+
+def test_squared_reference_retains_its_explicit_power():
+ ref = '74,500 km2 (acceptable range: anything between 70,775 and 78,225 km2)'
+ assert match_reference_answer(ref, 'The area is 74500 km².')
+ assert not match_reference_answer(ref, 'The distance is 74500 km.')
+ assert not match_reference_answer(ref, 'The rate is 74500 km²/s.')
diff --git a/tests/web_search/test_assessment_revision.py b/tests/web_search/test_assessment_revision.py
new file mode 100644
index 000000000..ecd35611e
--- /dev/null
+++ b/tests/web_search/test_assessment_revision.py
@@ -0,0 +1,75 @@
+import copy
+import unittest
+from harness.web_search.core import evaluate, normalize
+from harness.web_search.scoring import apply_report_revision
+
+class AssessmentRevisionScenarios(unittest.TestCase):
+ def setUp(self):
+ self.profile={'cases':[{'id':'known','anchors':['https://docs.test/old'],'family':'web'}, {'id':'new','family':'web'}, {'id':'fact','family':'web','reference_answer':'150 (acceptable range: anything between 148 and 152)','reference_urls':['https://docs.test/fact']} ]}
+ self.rows=[]
+ for c in self.profile['cases']:
+ results=normalize({'results':[{'url':'https://docs.test/'+c['id'],'title':'There are 150 engravings.'}]})
+ self.rows.append({'id':c['id'],'case_id':c['id'],'results':results,'metrics':evaluate(c,results),'elapsed_ms':123,'cost':.005,'evidence':{'path':'original'}})
+ self.revision={'schema':'web-search-assessment-revision/1','root_cause':'Missing independent source labels and annotation text was matched as answer text','regression_ids':['annotations-preserve-calls','published-answer-range-boundaries'],'provider_calls':0,'answer_match_rule':'published-answers/2','cases':[{'case_id':'new','anchors':['https://docs.test/new'],'qualification':'Independent official manual covers the named feature','sources':[{'url':'https://docs.test/new','title':'Feature manual','excerpt':'The named feature works this way.','verified_at':'2026-10-21'}]}]}
+ def test_annotations_and_ranges_rescore_without_rewriting_calls(self):
+ before=copy.deepcopy(self.rows)
+ profile,rows,changes=apply_report_revision(self.profile,self.rows,self.revision)
+ self.assertEqual(self.rows,before)
+ self.assertNotIn('anchors',self.profile['cases'][1])
+ self.assertEqual(rows[1]['metrics']['anchor_hit_5'],1)
+ self.assertEqual(rows[2]['metrics']['answer_in_preview_5'],1)
+ for old,new in zip(before,rows):
+ self.assertEqual({k:v for k,v in old.items() if k!='metrics'},{k:v for k,v in new.items() if k!='metrics'})
+ self.assertEqual(len(changes),2)
+ def test_unqualified_or_replaced_reference_rejected(self):
+ for mutate in [lambda r:r['cases'][0].update(anchors=['https://unknown.test/']),lambda r:r['cases'][0].update(case_id='known'),lambda r:r.update(provider_calls=1),lambda r:r['cases'].append(r['cases'][0])]:
+ r=copy.deepcopy(self.revision);mutate(r)
+ with self.assertRaises(ValueError):apply_report_revision(self.profile,self.rows,r)
+
+ def test_frozen_profile_keeps_original_literal_scoring(self):
+ case = self.profile['cases'][2]
+ results = normalize({'results': [{'url': 'https://docs.test/fact', 'title': '150 engravings'}]})
+ self.assertEqual(evaluate(case, results)['answer_in_preview_5'], 0)
+ revised, _, _ = apply_report_revision(self.profile, self.rows, self.revision)
+ self.assertEqual(evaluate(revised['cases'][2], results)['answer_in_preview_5'], 1)
+ self.assertEqual(evaluate(case, results)['answer_in_preview_5'], 0)
+
+ def test_revised_rules_reject_wrong_units_and_out_of_range(self):
+ profile = copy.deepcopy(self.profile)
+ profile['cases'][2]['reference_answer'] = '390 metres (acceptable range: anything between 386 and 394 metres)'
+ revised, _, _ = apply_report_revision(profile, self.rows, self.revision)
+ case = revised['cases'][2]
+ for text, expected in [('390 metres', 1), ('386 metres', 1), ('395 metres', 0), ('390 feet', 0), ('1390 metres', 0), ('-390 metres', 0)]:
+ with self.subTest(text=text):
+ results = normalize({'results': [{'url': 'https://docs.test/fact', 'title': text}]})
+ self.assertEqual(evaluate(case, results)['answer_in_preview_5'], expected)
+
+ def test_reference_answer_cannot_bridge_different_fields_or_results(self):
+ profile = copy.deepcopy(self.profile)
+ profile['cases'][2]['reference_answer'] = '1 year, 161 days (acceptable range: 1 year, anything between 160 and 162 days)'
+ revised, _, _ = apply_report_revision(profile, self.rows, self.revision)
+ case = revised['cases'][2]
+ for payload in [
+ [{'url': 'https://docs.test/a', 'title': '1 year', 'snippet': '161 days'}],
+ [{'url': 'https://docs.test/a', 'title': '1 year'}, {'url': 'https://docs.test/b', 'title': '161 days'}],
+ [{'url': 'https://docs.test/a', 'title': '11 year, 161 days'}],
+ ]:
+ self.assertEqual(evaluate(case, normalize({'results': payload}))['answer_in_preview_5'], 0)
+ valid = normalize({'results': [{'url': 'https://docs.test/a', 'summary': 'It lasted 1 year, 161 days.'}]})
+ metrics = evaluate(case, valid)
+ self.assertEqual(metrics['answer_in_preview_5'], 0)
+ self.assertEqual(metrics['answer_in_delivered_text_5'], 1)
+
+ def test_numeric_evidence_preserves_percent_and_compound_unit(self):
+ pairs = [
+ ('150', 'There were 150 attendees.', 1),
+ ('150', 'The increase was 150%.', 0),
+ ('150', 'The value was -150.', 0),
+ ('390 m (acceptable range: anything between 386 and 394 m)', 'It spans 390 m.', 1),
+ ('390 m (acceptable range: anything between 386 and 394 m)', 'It travels at 390 m/s.', 0),
+ ]
+ for reference, text, expected in pairs:
+ with self.subTest(reference=reference, text=text):
+ case = {'id': 'fact', 'family': 'web', 'reference_answer': reference, 'answer_match_rule': 'published-answers/2', 'reference_urls': []}
+ results = normalize({'results': [{'url': 'https://docs.test/fact', 'title': text}]})
+ self.assertEqual(evaluate(case, results)['answer_in_preview_5'], expected)
diff --git a/tests/web_search/test_comparison.py b/tests/web_search/test_comparison.py
new file mode 100644
index 000000000..d85ca396d
--- /dev/null
+++ b/tests/web_search/test_comparison.py
@@ -0,0 +1,121 @@
+import json
+
+import pytest
+from bs4 import BeautifulSoup
+
+from harness.web_search.comparison import acceptance, comparison_data, outcome_relation, render_comparison
+
+
+def matrix():
+ profile = {"methods": [{"id": x, "label": f"Provider {x}"} for x in "abc"],
+ "cases": [{"id": "target", "query": "Find a page", "anchors": ["https://example.org/"]},
+ {"id": "fact", "query": "Who?", "reference_answer": "Ada", "reference_urls": ["https://example.org/ada"]},
+ {"id": "probe", "query": "Explore"}]}
+ rows = [{"id": c["id"] + m, "case_id": c["id"], "method": m,
+ "results": [{"url": "https://example.org/", "title": "Page", "snippet": "Useful text", "summary": "s" * 10000, "content": "c" * 10000}],
+ "metrics": {"anchor_hit_5": int(m == "a") if c["id"] == "target" else None,
+ "labeled_source_hit_5": int(m != "a"), "answer_in_delivered_text_5": 1}}
+ for c in profile["cases"] for m in "abc"]
+ return profile, rows
+
+
+def test_scoped_acceptance_keeps_unlabelled_and_missing_unknown():
+ p, rows = matrix()
+ assert acceptance(p["cases"][0], rows[0]) is True
+ assert acceptance(p["cases"][0], rows[1]) is False
+ assert acceptance(p["cases"][1], rows[3]) is False
+ assert acceptance(p["cases"][1], rows[3], "answer") is True
+ assert acceptance(p["cases"][2], rows[6]) is None
+ assert acceptance(p["cases"][0], None) is None
+ assert acceptance(p["cases"][0], rows[0], "answer") is None
+
+
+@pytest.mark.parametrize("base,other,expected", [
+ (True,[True,True],"all_pass"), (False,[False,False],"all_fail"),
+ (True,[False,False],"baseline_only"), (False,[True,True],"comparison_only"),
+ (True,[True,False],"mixed"), (False,[True,False],"mixed"),
+ (None,[False],"unknown"), (True,[None],"unknown"), (False,[],"unknown")])
+def test_relations_do_not_hide_disagreement_or_unknown(base,other,expected):
+ assert outcome_relation(base,other) == expected
+
+
+def test_output_previews_are_bounded_and_keep_missing_and_empty_distinct():
+ p,rows = matrix()
+ rows[0]["results"] = []
+ rows = rows[:-1]
+ data = comparison_data(p,rows)
+ assert data["cases"][0]["outputs"]["a"]["count"] == 0
+ assert data["cases"][2]["outputs"]["c"] is None
+ out = data["cases"][0]["outputs"]["b"]
+ assert len(out["items"][0]["content"]) == 480
+ assert len(out["items"][0]["summary"]) == 10000
+ assert out["detail"] == "details/targetb.html"
+ with pytest.raises(ValueError, match="one logical"):
+ comparison_data(p,rows + [rows[0]])
+
+
+def test_safe_serialization_registry_labels_links_and_pagination():
+ p,rows = matrix()
+ p["cases"][0]["query"] = ' '
+ rows[0]["results"][0]["url"] = 'javascript:alert(1)'
+ page = render_comparison(p,rows,False,lambda r: f'detail.html?id={r["id"]}')
+ dom = BeautifulSoup(page,"html.parser")
+ assert not dom.find("img")
+ data = json.loads(dom.select_one('[data-comparison-data]').string)
+ assert data["cases"][0]["query"] == p["cases"][0]["query"]
+ assert data["cases"][0]["outputs"]["a"]["items"][0]["url"] == ''
+ assert data["cases"][0]["outputs"]["a"]["detail"] == 'detail.html?id=targeta'
+ assert [o.text for o in dom.select('[data-compare-baseline] option')] == ['Provider a','Provider b','Provider c']
+ assert dom.select_one('[data-output-prev]') and dom.select_one('[data-output-next]')
+ assert not dom.select_one('[data-output-pages]').contents
+ assert 'slice(page*size,(page+1)*size)' in page
+ assert 'matches.slice(page*size,(page+1)*size)' in page
+ assert 'const size=3' in page
+
+
+def test_result_view_marks_exact_source_and_answer_evidence_without_a_judge():
+ p, rows = matrix()
+ source = comparison_data(p, rows)["cases"][0]["outputs"]["a"]["items"][0]
+ answer = comparison_data(p, rows)["cases"][1]["outputs"]["a"]["items"][0]
+ assert source["source_match"] is True
+ assert source["answer_fields"] == {"title": False, "snippet": False, "summary": False, "content": False}
+ rows[3]["results"][0]["summary"] = "Ada"
+ answer = comparison_data(p, rows)["cases"][1]["outputs"]["a"]["items"][0]
+ assert answer["answer_fields"]["summary"] is True
+ assert answer["source_match"] is False
+
+
+def test_reader_labels_state_what_was_found_and_full_summary_scope():
+ p, rows = matrix()
+ page = render_comparison(p, rows, True)
+ assert "符合所选检查" not in page
+ assert "不符合所选检查" not in page
+ assert "完整长摘要" in page
+ assert "上方的题库、题目、检查项目、方法和命中状态会同步筛选这里" in page
+
+
+def test_declared_population_filters_are_shared_and_exact():
+ p, rows = matrix()
+ p["comparison_populations"] = [
+ {"id": "overall", "label": {"en": "Overall", "zh": "总体"}, "case_ids": ["target", "fact", "probe"]},
+ {"id": "factual", "label": {"en": "Factual", "zh": "事实"}, "case_ids": ["fact"]},
+ {"id": "reference", "label": {"en": "Reference", "zh": "参考"}, "case_ids": ["target"]},
+ ]
+ page = render_comparison(p, rows, True)
+ dom = BeautifulSoup(page, "html.parser")
+ assert [o.text for o in dom.select("[data-output-cohort] option")] == ["总体 · 3", "事实 · 1", "参考 · 1"]
+ assert len(dom.select("[data-output-cohort]")) == 1
+ assert page.index("data-output-cohort") < page.index("")
+ assert dom.select_one("[data-relation-prev]") and dom.select_one("[data-relation-next]")
+ data = json.loads(dom.select_one("[data-comparison-data]").string)
+ assert data["populations"][2]["case_ids"] == ["target"]
+ p["comparison_populations"][2]["case_ids"] = ["missing"]
+ with pytest.raises(ValueError, match="unknown tasks"):
+ comparison_data(p, rows)
+
+
+def test_source_home_directory_preview_preserves_original():
+ from harness.web_search.comparison import _preview
+ source = 'Traceback File /Users/example/project/file.py:4 error'
+ assert _preview(source, 320) == 'Traceback File [source path] error'
+ assert '/Users/example/' in source
diff --git a/tests/web_search/test_delivery.py b/tests/web_search/test_delivery.py
new file mode 100644
index 000000000..1273425e9
--- /dev/null
+++ b/tests/web_search/test_delivery.py
@@ -0,0 +1,90 @@
+"""Public evidence remains exact when many results share a hosted case file."""
+import json
+import gzip
+import tempfile
+import unittest
+from pathlib import Path
+from urllib.parse import unquote
+
+from bs4 import BeautifulSoup
+
+from harness.web_search.delivery import export, verify, transform_page
+from harness.web_search.example import example
+from harness.web_search.report import build, main
+from harness.web_search.comparison import render_comparison
+
+
+class DeliveryScenarios(unittest.TestCase):
+ def test_paginated_cards_link_to_registered_language_specific_shards(self):
+ with tempfile.TemporaryDirectory() as temp:
+ root = Path(temp)
+ example(root)
+ build(root / "report", source=root / "fixture", include_english=True)
+ profile = json.loads((root / "fixture/profile.json").read_text())
+ rows = [json.loads(line) for line in (root / "fixture/results.jsonl").read_text().splitlines()]
+ for prefix, zh in (("", True), ("en/", False)):
+ path = root / "report" / prefix / "results.html"
+ text = path.read_text().replace("", render_comparison(
+ profile, rows, zh,
+ lambda row, prefix=prefix: prefix + "details/" + row["id"] + ".html"
+ ) + "")
+ path.write_text(text)
+ export(root / "report", root / "delivery")
+ index = json.loads((root / "delivery/delivery-index.json").read_text())
+ for prefix in ("", "en/"):
+ doc = BeautifulSoup((root / "delivery" / prefix / "results.html").read_text(), "html.parser")
+ data = json.loads(doc.select_one("[data-comparison-data]").string)
+ self.assertEqual(len(data["cases"]), len(profile["cases"]))
+ for case in data["cases"]:
+ self.assertEqual(set(case["outputs"]), {m["id"] for m in profile["methods"]})
+ for result in case["outputs"].values():
+ target = unquote(result["detail"].split("#", 1)[1])
+ self.assertTrue(target.startswith(prefix + "details/"))
+ shard = json.loads(gzip.decompress((root / "delivery" / index["files"][target]).read_bytes()))
+ self.assertEqual(shard[target], (root / "report" / target).read_text())
+
+ def test_dynamic_comparison_links_retain_language_and_safe_payloads(self):
+ for prefix in ("", "en/", "zh/"):
+ with self.subTest(prefix=prefix):
+ target = prefix + "details/case-provider-r0.html"
+ data = {"cases": [{"query": " ", "outputs": {
+ "a": {"detail": target, "items": []}, "missing": None}}]}
+ text = ''
+ doc = BeautifulSoup(transform_page(text), "html.parser")
+ actual = json.loads(doc.select_one("[data-comparison-data]").string)
+ href = actual["cases"][0]["outputs"]["a"]["detail"]
+ self.assertTrue(href.startswith("detail.html#"))
+ self.assertEqual(unquote(href.split("#", 1)[1]), target)
+ self.assertEqual(actual["cases"][0]["query"], data["cases"][0]["query"])
+ self.assertIsNone(actual["cases"][0]["outputs"]["missing"])
+ self.assertFalse(doc.find("img"))
+
+ def test_public_export_command_requires_valid_existing_evidence(self):
+ with tempfile.TemporaryDirectory() as temp:
+ root = Path(temp)
+ example(root)
+ main(["--output", str(root / "report"), "--export-delivery", str(root / "delivery")])
+ self.assertTrue(verify(root / "report", root / "delivery"))
+ evidence = next((root / "report/calls").glob("*.json"))
+ evidence.write_text("{}")
+ with self.assertRaises(ValueError):
+ main(["--output", str(root / "report"), "--export-delivery", str(root / "invalid")])
+ self.assertFalse((root / "invalid").exists())
+
+ def test_pages_and_error_responses_roundtrip_and_tampering_fails(self):
+ with tempfile.TemporaryDirectory() as temp:
+ root = Path(temp)
+ example(root)
+ build(root / "report", source=root / "fixture", include_english=True)
+ export(root / "report", root / "delivery")
+ self.assertTrue(verify(root / "report", root / "delivery"))
+ index = json.loads((root / "delivery/delivery-index.json").read_text())
+ self.assertTrue(any(p.startswith("calls/") for p in index["files"]))
+ self.assertTrue(any("en/details/" in p for p in index["files"]))
+ self.assertIn("detail.html#", (root / "delivery/results.html").read_text())
+ shard = root / "delivery" / next(iter(index["files"].values()))
+ values = json.loads(gzip.decompress(shard.read_bytes()))
+ values[next(iter(values))] += "changed"
+ shard.write_bytes(gzip.compress(json.dumps(values).encode(), mtime=0))
+ with self.assertRaises(ValueError):
+ verify(root / "report", root / "delivery")
diff --git a/tests/web_search/test_diagnostics.py b/tests/web_search/test_diagnostics.py
new file mode 100644
index 000000000..a457b187f
--- /dev/null
+++ b/tests/web_search/test_diagnostics.py
@@ -0,0 +1,59 @@
+"""Scenarios for explaining parallel upstream attempts and missing telemetry."""
+
+import unittest
+
+from harness.web_search.diagnostics import operational
+
+
+class TimingScenarios(unittest.TestCase):
+ def test_parallel_durations_are_not_added_to_wall_time(self):
+ row = dict(
+ id="a",
+ case_id="q",
+ method="m",
+ round=0,
+ elapsed_ms=1300,
+ server_timing={"elapsed_ms": 1000},
+ )
+ data = {
+ "a": {
+ "attempts": [
+ dict(
+ engine="a",
+ started_after_ms=0,
+ elapsed_ms=300,
+ outcome="results",
+ parsed_count=5,
+ ),
+ dict(
+ engine="b",
+ started_after_ms=100,
+ elapsed_ms=850,
+ outcome="results",
+ parsed_count=5,
+ ),
+ dict(engine="c", started_after_ms=0, elapsed_ms=990, outcome="cancelled"),
+ ]
+ }
+ }
+ result = operational([row], data)["calls"][0]
+ self.assertEqual(result["first_results_ms"], 300)
+ self.assertEqual(result["after_first_ms"], 700)
+ self.assertEqual(result["outside_server_ms"], 300)
+ self.assertEqual(result["attempts"], 3)
+
+ def test_empty_attempt_is_not_a_first_useful_result(self):
+ row = dict(id="a", case_id="q", method="m", round=0, elapsed_ms=100)
+ result = operational(
+ [row],
+ {
+ "a": {
+ "attempts": [
+ dict(started_after_ms=0, elapsed_ms=1, outcome="results", parsed_count=0)
+ ]
+ }
+ },
+ )
+ self.assertIsNone(result["calls"][0]["first_results_ms"])
+ self.assertIsNone(result["methods"]["m"]["server_ms"]["mean"])
+ self.assertEqual(result["methods"]["m"]["server_ms"]["n"], 0)
diff --git a/tests/web_search/test_evidence_quality.py b/tests/web_search/test_evidence_quality.py
new file mode 100644
index 000000000..363fc92e3
--- /dev/null
+++ b/tests/web_search/test_evidence_quality.py
@@ -0,0 +1,31 @@
+"""A leaked answer must not improve retrieval evidence or move a later hit up."""
+import unittest
+
+from harness.web_search.evidence_quality import factual_sensitivity, is_benchmark_page
+
+
+class FactualSensitivityScenarios(unittest.TestCase):
+ def test_mirror_answer_is_excluded_without_compacting_ranks(self):
+ case = {"reference_answer": "Ada Lovelace", "reference_urls": ["https://source.org/a"]}
+ rows = [
+ {"url": "https://huggingface.co/datasets/someone/simpleqa-verified", "snippet": "Ada Lovelace"},
+ {"url": "https://source.org/a", "snippet": "A source without the answer in its preview"},
+ ]
+ result = factual_sensitivity(case, rows)
+ self.assertEqual(result["excluded_ranks"], [1])
+ self.assertEqual(result["metrics"]["labeled_source_rr_5"], 0.5)
+ self.assertEqual(result["metrics"]["answer_in_preview_5"], 0)
+ self.assertEqual(rows[0]["snippet"], "Ada Lovelace")
+
+ def test_real_source_is_not_excluded_merely_for_host_or_snippet_mention(self):
+ self.assertFalse(is_benchmark_page({"url": "https://huggingface.co/datasets/research/climate", "title": "Climate observations", "snippet": "Unlike SimpleQA, this dataset..."}))
+ self.assertTrue(is_benchmark_page({"url": "https://mirror.org/a", "title": "Simple-QA answer bank"}))
+ self.assertTrue(is_benchmark_page({"url": "https://mirror.org/simple_qa/", "title": "Answers"}))
+
+ def test_excluded_fifth_result_does_not_pull_sixth_result_into_budget(self):
+ case = {"reference_answer": "Ada", "reference_urls": ["https://source.org/a"]}
+ rows = [{"url": f"https://example.org/{i}"} for i in range(4)] + [
+ {"url": "https://mirror.org/simpleqa", "snippet": "Ada"},
+ {"url": "https://source.org/a", "snippet": "Ada"},
+ ]
+ self.assertEqual(factual_sensitivity(case, rows)["metrics"]["labeled_source_hit_5"], 0)
diff --git a/tests/web_search/test_public_calls.py b/tests/web_search/test_public_calls.py
new file mode 100644
index 000000000..e6162855f
--- /dev/null
+++ b/tests/web_search/test_public_calls.py
@@ -0,0 +1,63 @@
+"""Public evidence must not expose URL credentials or erase billable calls."""
+import json
+import tempfile
+import unittest
+from pathlib import Path
+
+from harness.web_search.core import digest, request_cost
+from harness.web_search.report import public_calls
+
+
+class PublicCallScenarios(unittest.TestCase):
+ def test_release_rejects_credentials_even_with_updated_file_hash(self):
+ from harness.web_search.example import example
+ from harness.web_search.report import check
+ with tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ example(root)
+ output = root / "report"
+ manifest_path = output / "manifest.json"
+ manifest = json.loads(manifest_path.read_text())
+ binding = next(x for x in manifest["bundle"] if x["path"].startswith("calls/"))
+ path = output / binding["path"]
+ value = json.loads(path.read_text())
+ value["leaked_link"] = "https://reader:private-secret@example.org"
+ path.write_text(json.dumps(value))
+ binding["sha256"] = digest(path.read_bytes())
+ manifest_path.write_text(json.dumps(manifest))
+ with self.assertRaisesRegex(ValueError, "Public evidence contains URL credentials"):
+ check(output)
+
+ def test_billable_invalid_url_is_redacted_without_changing_outcome(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ (root / 'calls').mkdir()
+ raw = b'{"results":[{"url":"https://reader:private-secret@example.org/paper"}]}'
+ path = root / 'calls/one.json'
+ path.write_bytes(raw)
+ evidence = {'path': 'calls/one.json', 'sha256': digest(raw)}
+ method = {'id': 'search', 'price_per_1000': 5, 'billing': 'http-200-nonempty'}
+ rows = [{'method': 'search', 'evidence': evidence, 'results': [], 'error': 'unsafe URL',
+ 'cost': 0, 'elapsed_ms': 50, 'attempts': [{'http_status': 200, 'transport_exit': 0,
+ 'cost': 0, 'evidence': evidence}]}]
+ original = json.dumps(rows)
+ output, files, redactions, changes = public_calls({'methods': [method]}, rows, root, {})
+ self.assertEqual(path.read_bytes(), raw)
+ self.assertEqual(json.dumps(rows), original)
+ self.assertNotIn(b'private-secret', files['calls/one.json'])
+ self.assertIn(b'REDACTED:REDACTED@', files['calls/one.json'])
+ self.assertEqual(output[0]['results'], [])
+ self.assertEqual(output[0]['error'], 'unsafe URL')
+ self.assertEqual(output[0]['elapsed_ms'], 50)
+ self.assertEqual(output[0]['cost'], .005)
+ self.assertEqual(redactions[0]['original_sha256'], digest(raw))
+ self.assertEqual(changes[0]['original_cost'], 0)
+ self.assertEqual(output[0]['evidence'], output[0]['attempts'][-1]['evidence'])
+
+ def test_empty_error_unknown_and_nonempty_billing_are_distinct(self):
+ method = {'price_per_1000': 5, 'billing': 'http-200-nonempty'}
+ self.assertEqual(request_cost(method, 200, 0, {'results': []}), 0)
+ self.assertEqual(request_cost(method, 402, 0, {'error': 'balance'}), 0)
+ self.assertEqual(request_cost(method, 200, 0, {'results': [{'url': 'invalid'}]}), .005)
+ self.assertIsNone(request_cost(method, 200, 0, {'unexpected': True}))
+ self.assertIsNone(request_cost(method, 200, 1, {'results': [1]}))
diff --git a/tests/web_search/test_reference_report.py b/tests/web_search/test_reference_report.py
new file mode 100644
index 000000000..658bff0d2
--- /dev/null
+++ b/tests/web_search/test_reference_report.py
@@ -0,0 +1,112 @@
+"""Reference comparisons preserve sourced capabilities without inventing measurements."""
+
+import json
+import tempfile
+import unittest
+from pathlib import Path
+
+from harness.web_search.report import build_reference, check
+
+
+def fixture():
+ return {
+ "schema": "web-search-reference/1", "checked": "2026-10-20",
+ "title": {"en": "Synthetic API reference", "zh": "合成接口说明"},
+ "scope": {"en": "Documented capabilities; no quality ranking.", "zh": "文档能力对照,不含质量排名。"},
+ "lead": {"en": "A summary is not full content.", "zh": "摘要不等于全文。"},
+ "sources": [{"id": "S1", "url": "https://example.org/spec",
+ "label": {"en": "Example spec", "zh": "示例规范"},
+ "note": {"en": "Synthetic source", "zh": "合成来源"}}],
+ "sections": [{"id": "capabilities", "nav": {"en": "Capabilities", "zh": "功能"},
+ "title": {"en": "Content fields", "zh": "内容字段"},
+ "headers": {"en": ["Field", "Meaning"], "zh": ["字段", "含义"]},
+ "rows": [{"en": ["summary", "Excerpt"], "zh": ["summary", "摘要"]}],
+ "paragraphs": [{"en": "Generation method undisclosed.", "zh": "生成方式未公开。", "sources": ["S1"]}],
+ "samples": [{"label": {"en": "Request", "zh": "请求"},
+ "note": {"en": "Illustrative", "zh": "结构示例"}, "code": '{"query":"test"}'}]}],
+ }
+
+
+class ReferenceReportScenarios(unittest.TestCase):
+ def setUp(self):
+ self.tmp = tempfile.TemporaryDirectory()
+ self.addCleanup(self.tmp.cleanup)
+ self.root = Path(self.tmp.name)
+ self.content = self.root / 'content.json'
+ self.content.write_text(json.dumps(fixture()))
+ self.out = self.root / 'report'
+ build_reference(self.out, self.content, 'zh')
+
+ def test_both_editions_and_request_specimen_are_available(self):
+ self.assertTrue(check(self.out))
+ self.assertTrue((self.out / 'en/index.html').is_file())
+
+ def test_featured_input_output_is_visible_without_expanding(self):
+ from bs4 import BeautifulSoup
+ data = fixture()
+ data["sections"][0]["samples"][0]["open"] = True
+ self.content.write_text(json.dumps(data))
+ build_reference(self.out, self.content, "zh")
+ for route in ("index.html", "en/index.html"):
+ soup = BeautifulSoup((self.out / route).read_text(), "html.parser")
+ self.assertTrue(soup.select_one("details").has_attr("open"))
+ self.assertEqual(soup.select_one("details code").get_text(), '{"query":"test"}')
+ page = self.out / "index.html"
+ page.write_text(page.read_text().replace("", ""))
+ with self.assertRaisesRegex(ValueError, "visibility"):
+ check(self.out)
+
+ def test_rebuild_keeps_the_selected_primary_language(self):
+ from harness.web_search.report import main
+ main(['--reference-content', str(self.content), '--output', str(self.out)])
+ manifest = json.loads((self.out / 'manifest.json').read_text())
+ self.assertEqual(manifest['primary_language'], 'zh')
+
+ def test_release_rejects_missing_operated_browser_coverage(self):
+ from harness.web_search.core import digest
+ from harness.web_search.report import release_check
+ receipt = self.root / 'visual.json'
+ receipt.write_text(json.dumps({
+ 'manifest_sha256': digest((self.out / 'manifest.json').read_bytes()),
+ 'captures': [], 'interactions': [],
+ }))
+ with self.assertRaises(ValueError):
+ release_check(self.out, receipt)
+
+ def test_changed_capability_is_rejected(self):
+ p = self.out / 'index.html'
+ p.write_text(p.read_text().replace('摘要 ', '全文 '))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_missing_source_or_qualification_is_rejected(self):
+ p = self.out / 'index.html'
+ original = p.read_text()
+ for changed in (original.replace('id="source-S1"', 'id="absent"'),
+ original.replace('生成方式未公开。', '由大模型生成。')):
+ p.write_text(changed)
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_missing_language_and_changed_input_are_rejected(self):
+ (self.out / 'en/index.html').unlink()
+ with self.assertRaises((ValueError, FileNotFoundError)):
+ check(self.out)
+ build_reference(self.out, self.content, 'en')
+ (self.out / 'reference-input.json').write_text('{}')
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_changed_downloadable_response_is_rejected(self):
+ from harness.web_search.core import digest
+ artifact = self.root / 'response.json'
+ artifact.write_text('{"results":[]}')
+ data = fixture()
+ data['artifacts'] = [{"path": artifact.name, "sha256": digest(artifact.read_bytes()),
+ "label": {"en": "Response", "zh": "响应"}}]
+ self.content.write_text(json.dumps(data))
+ build_reference(self.out, self.content, 'zh')
+ self.assertTrue(check(self.out))
+ (self.out / artifact.name).write_text('{"results":[1]}')
+ with self.assertRaises(ValueError):
+ check(self.out)
diff --git a/tests/web_search/test_relevance.py b/tests/web_search/test_relevance.py
new file mode 100644
index 000000000..2e575acdb
--- /dev/null
+++ b/tests/web_search/test_relevance.py
@@ -0,0 +1,38 @@
+import hashlib
+
+import pytest
+
+from harness.web_search.relevance import score, verify_provenance
+
+
+def test_pooled_preview_relevance_rewards_useful_first_result_and_penalizes_duplicates():
+ profile = {"protocol": {"top_k": 5}, "cases": [{"id": "q", "family": "web"}],
+ "methods": [{"id": "a"}, {"id": "b"}]}
+ good = "https://example.org/answer"
+ bad = "https://example.org/off-topic"
+ candidate = lambda url: hashlib.sha256(("q\0" + url).encode()).hexdigest()[:12]
+ rows = [{"case_id": "q", "method": "a", "results": [{"url": good}, {"url": bad}]},
+ {"case_id": "q", "method": "b", "results": [{"url": bad}, {"url": good}, {"url": good}]}]
+ labels = {"q": {candidate(good): 3, candidate(bad): 0}}
+ result = score(profile, rows, {"cutoff": 5, "case_ids": ["q"]}, labels)
+ assert result[0]["ndcg"] == 1
+ assert result[0]["precision"] == 0.2
+ assert result[1]["ndcg"] < result[0]["ndcg"]
+ assert result[1]["precision"] == 0.2
+ with pytest.raises(ValueError, match="pooled candidates"):
+ score(profile, rows, {"cutoff": 5, "case_ids": ["q"]}, {"q": {candidate(good): 3}})
+
+
+def test_published_blind_packet_must_match_measured_urls_and_order():
+ url = "https://example.org/answer"
+ candidate = hashlib.sha256(("q\0" + url).encode()).hexdigest()[:12]
+ profile = {"methods": [{"id": "a"}]}
+ rows = [{"case_id": "q", "method": "a", "results": [{"url": url}]}]
+ evidence = {"plan": {"case_ids": ["q"], "cutoff": 5},
+ "labels": {"q": {candidate: 3}},
+ "blind_candidate_packets": [{"case_id": "q", "candidates": [{"candidate_id": candidate, "url": url}]}],
+ "provider_rankings": {"q": {"a": [candidate]}}}
+ verify_provenance(profile, rows, evidence)
+ evidence["provider_rankings"]["q"]["a"] = []
+ with pytest.raises(ValueError, match="rank mapping"):
+ verify_provenance(profile, rows, evidence)
diff --git a/tests/web_search/test_report.py b/tests/web_search/test_report.py
new file mode 100644
index 000000000..b82b77c39
--- /dev/null
+++ b/tests/web_search/test_report.py
@@ -0,0 +1,573 @@
+"""Public report boundaries: evidence integrity, localization, and failure drilldown."""
+
+import json
+import tempfile
+import unittest
+from pathlib import Path
+
+from bs4 import BeautifulSoup
+
+from harness.web_search.core import digest
+from harness.web_search.example import example
+from harness.web_search.report import build, check, fairness_table, load_run, release_check
+
+
+class ReportScenarios(unittest.TestCase):
+ def test_paired_option_median_handles_an_even_query_count(self):
+ from harness.web_search.report import mode_panel
+ profile = {"methods": [
+ {"id": "base", "adapter": "deepseek", "label": "Base", "output_options": {"need_content": False}},
+ {"id": "body", "adapter": "deepseek", "label": "Body", "output_options": {"need_content": True}},
+ ]}
+ rows = [
+ {"case_id": case, "method": mode, "elapsed_ms": elapsed, "results": []}
+ for case, mode, elapsed in [("a", "base", 100), ("a", "body", 110),
+ ("b", "base", 100), ("b", "body", 130)]
+ ]
+ soup = BeautifulSoup(mode_panel(profile, rows, False), "html.parser")
+ values = [td.get_text() for td in soup.select("tbody tr td")]
+ self.assertEqual(values[3:5], ["20.00", "20.00"])
+
+ def setUp(self):
+ self.tmp = tempfile.TemporaryDirectory()
+ self.addCleanup(self.tmp.cleanup)
+ self.root = Path(self.tmp.name)
+ example(self.root)
+ self.out = self.root / "report"
+
+ def test_public_labels_are_scored_for_every_query_and_visible_panel_is_bound(self):
+ from harness.web_search.core import evaluate
+ source = self.root / "fixture"
+ profile_path = source / "profile.json"
+ profile = json.loads(profile_path.read_text())
+ for case in profile["cases"]:
+ case.update(reference_answer="Fixture only", reference_urls=case["anchors"])
+ profile_path.write_text(json.dumps(profile))
+ rows_path = source / "results.jsonl"
+ rows = [json.loads(line) for line in rows_path.read_text().splitlines()]
+ cases = {case["id"]: case for case in profile["cases"]}
+ for row in rows:
+ row["metrics"] = evaluate(cases[row["case_id"]], row["results"])
+ rows_path.write_text("".join(json.dumps(row) + "\n" for row in rows))
+ receipt_path = source / "receipt.json"
+ receipt = json.loads(receipt_path.read_text())
+ receipt.update(profile_sha256=digest(profile_path.read_bytes()), results_sha256=digest(rows_path.read_bytes()))
+ receipt_path.write_text(json.dumps(receipt))
+ content = self.root / "content.json"
+ content.write_text(json.dumps({"reading_model": True, "sections": [], "reading_sections": [
+ {"key": "quality", "nav": {"en": "Quality", "zh": "质量"}, "title": {"en": "Quality", "zh": "质量"}}
+ ]}))
+ build(self.out, source=source, content=content)
+ soup = BeautifulSoup((self.out / "index.html").read_text(), "html.parser")
+ panel = soup.select_one('[data-factual]')
+ self.assertIn('2/2', panel.get_text())
+ self.assertIn('1/2', panel.get_text()) # failed query stays in denominator
+ self.assertTrue(check(self.out))
+ sensitivity_path = self.out / "factual-sensitivity.json"
+ original = sensitivity_path.read_bytes()
+ sensitivity = json.loads(original)
+ first = next(iter(sensitivity["results"].values()))
+ first["excluded_ranks"] = [1, 2, 3, 4, 5]
+ sensitivity_path.write_text(json.dumps(sensitivity))
+ # Even a coherently rehashed package cannot change the diagnostic verdict.
+ manifest_path = self.out / "manifest.json"
+ original_manifest = manifest_path.read_bytes()
+ manifest = json.loads(original_manifest)
+ for item in manifest["bundle"]:
+ if item["path"] == "factual-sensitivity.json":
+ item["sha256"] = digest(sensitivity_path.read_bytes())
+ manifest_path.write_text(json.dumps(manifest))
+ with self.assertRaisesRegex(ValueError, "Factual sensitivity"):
+ check(self.out)
+ sensitivity_path.write_bytes(original)
+ manifest_path.write_bytes(original_manifest)
+ panel.select_one('td.win').string = '100% invented'
+ (self.out / "index.html").write_text(str(soup))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_baseline_selection_does_not_mix_optional_modes_into_headline(self):
+ content = self.root / "content.json"
+ content.write_text(json.dumps({"reading_model": True, "sections": [], "overview_methods": ["lexmount"]}))
+ build(
+ self.out,
+ source=self.root / "fixture",
+ content=content,
+ include_english=True,
+ )
+ soup = BeautifulSoup((self.out / "index.html").read_text(), "html.parser")
+ rows = soup.select_one('table').select('tbody tr')
+ self.assertEqual(len(rows), 1)
+ self.assertIn('Lexmount', rows[0].get_text())
+ self.assertTrue(check(self.out))
+ content.write_text(json.dumps({"overview_methods": ["missing"]}))
+ with self.assertRaises(ValueError):
+ build(self.out, source=self.root / "fixture", content=content)
+
+ def test_bilingual_detail_and_raw_response_are_navigable(self):
+ build(self.out, source=self.root / "fixture", include_english=True)
+ self.assertTrue(check(self.out))
+ manifest = json.loads((self.out / "manifest.json").read_text())
+ self.assertEqual(
+ {p.removeprefix("en/") for p in manifest["routes"] if p.startswith("en/")},
+ {p for p in manifest["routes"] if not p.startswith("en/")},
+ )
+ self.assertIn("合成示例", (self.out / "index.html").read_text())
+
+ def test_removing_failure_log_is_rejected(self):
+ p = next((self.out / "details").glob("*deepseek*"))
+ p.write_text(p.read_text().replace("data-error", "removed"))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_equal_budgets_do_not_hide_short_or_empty_responses(self):
+ profile = {"methods": [{"id": "a", "label": "A"}, {"id": "b", "label": "B"}]}
+ rows = [
+ dict(method=m, case_id=c, round=0, request={"count": 10}, results=[{}] * n)
+ for m, c, n in [("a", "x", 10), ("b", "x", 10), ("a", "y", 3), ("b", "y", 0)]
+ ]
+ soup = BeautifulSoup(fairness_table(profile, rows, False), "html.parser")
+ self.assertIn("1/2", soup.get_text())
+ self.assertIn("0 × 1", soup.get_text())
+ self.assertIn("3 × 1", soup.get_text())
+ self.assertEqual(soup.get_text().count("10 × 2"), 2)
+
+ def test_fairness_disclosure_cannot_be_removed(self):
+ p = self.out / "research.html"
+ p.write_text(p.read_text().replace("data-fairness", "removed"))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_five_result_report_labels_the_actual_cutoff(self):
+ source = self.root / "fixture"
+ path = source / "profile.json"
+ profile = json.loads(path.read_text())
+ profile["protocol"]["top_k"] = 5
+ path.write_text(json.dumps(profile))
+ receipt_path = source / "receipt.json"
+ receipt = json.loads(receipt_path.read_text())
+ receipt["profile_sha256"] = digest(path.read_bytes())
+ receipt_path.write_text(json.dumps(receipt))
+ build(self.out, source=source)
+ page = BeautifulSoup((self.out / "index.html").read_text(), "html.parser")
+ self.assertIn("目标页进前5条", page.get_text())
+ self.assertNotIn("目标页进前10条", page.get_text())
+ self.assertTrue(check(self.out))
+
+ def test_preview_quality_panel_is_bound_to_scored_candidates(self):
+ import hashlib
+
+ source = self.root / "fixture"
+ profile_path = source / "profile.json"
+ profile = json.loads(profile_path.read_text())
+ profile["protocol"]["top_k"] = 5
+ profile_path.write_text(json.dumps(profile))
+ receipt_path = source / "receipt.json"
+ receipt = json.loads(receipt_path.read_text())
+ receipt["profile_sha256"] = digest(profile_path.read_bytes())
+ receipt_path.write_text(json.dumps(receipt))
+ case = profile["cases"][0]
+ url = case["anchors"][0]
+ from harness.web_search.core import canonical_url
+ candidate = hashlib.sha256((case["id"] + "\0" + canonical_url(url)).encode()).hexdigest()[:12]
+ evidence = {
+ "plan": {"cutoff": 5, "case_ids": [case["id"]]},
+ "labels": {case["id"]: {candidate: 3}},
+ "judge": {"model": "fixture"},
+ "blind_candidate_packets": [{"case_id": case["id"], "candidates": [{"candidate_id": candidate, "url": url}]}],
+ "provider_rankings": {case["id"]: {m["id"]: [candidate] for m in profile["methods"]}},
+ }
+ relevance = self.root / "relevance.json"
+ relevance.write_text(json.dumps(evidence))
+ content = self.root / "reading.json"
+ content.write_text(json.dumps({"reading_model": True, "reading_sections": [
+ {"key": "quality", "title": {"en": "Quality", "zh": "质量"}, "nav": {"en": "Quality", "zh": "质量"}}],
+ "sections": []}))
+ build(self.out, source=source, content=content, relevance=relevance)
+ self.assertTrue(check(self.out))
+ page = self.out / "index.html"
+ page.write_text(page.read_text().replace("data-relevance", "removed", 1))
+ with self.assertRaisesRegex(ValueError, "Preview relevance panel"):
+ check(self.out)
+
+ def combined_fixture(self):
+ import shutil
+
+ from harness.web_search.core import digest
+
+ source = self.root / "fixture"
+ second = self.root / "second"
+ shutil.copytree(source, second)
+ profile = json.loads((second / "profile.json").read_text())
+ for case in profile["cases"]:
+ case["id"] = "extra-" + case["id"]
+ (second / "profile.json").write_text(json.dumps(profile))
+ rows = [json.loads(line) for line in (second / "results.jsonl").read_text().splitlines()]
+ for row in rows:
+ row["case_id"] = "extra-" + row["case_id"]
+ row["id"] = "extra-" + row["id"]
+ old = second / row["evidence"]["path"]
+ row["evidence"]["path"] = "calls/" + row["id"] + ".json"
+ old.rename(second / row["evidence"]["path"])
+ (second / "results.jsonl").write_text("".join(json.dumps(r) + "\n" for r in rows))
+ receipt = json.loads((second / "receipt.json").read_text())
+ receipt.update(
+ profile_sha256=digest((second / "profile.json").read_bytes()),
+ results_sha256=digest((second / "results.jsonl").read_bytes()),
+ )
+ (second / "receipt.json").write_text(json.dumps(receipt))
+ build(self.out, source=source, cohorts=[("extra", second)])
+ return second
+
+ def test_separate_collections_share_one_query_and_result_inventory(self):
+ self.combined_fixture()
+ manifest = json.loads((self.out / "manifest.json").read_text())
+ self.assertEqual(len(manifest["profile"]["cases"]), 4)
+ self.assertEqual(len(manifest["rows"]), 8)
+ self.assertEqual(len(manifest["receipt"]["separate_collections"]), 2)
+ for route, count in [("dataset.html", 4), ("results.html", 8)]:
+ page = BeautifulSoup((self.out / route).read_text(), "html.parser")
+ self.assertEqual(len(page.select("[data-row]")), count)
+ self.assertEqual(
+ {r["data-cohort"] for r in page.select("[data-row]")}, {"primary", "extra"}
+ )
+ self.assertEqual(
+ {o["value"] for o in page.select("[data-cohort-filter] option")},
+ {"all", "primary", "extra"},
+ )
+ self.assertTrue(check(self.out))
+
+ def test_combined_report_cannot_omit_its_group_summary(self):
+ self.combined_fixture()
+ p = self.out / "index.html"
+ p.write_text(p.read_text().replace("data-cohort-summary", "removed"))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_overlapping_collections_are_not_double_counted(self):
+ with self.assertRaisesRegex(ValueError, "Overlapping"):
+ build(
+ self.out, source=self.root / "fixture", cohorts=[("extra", self.root / "fixture")]
+ )
+
+ def test_public_receipt_reconstructs_results_without_duplicating_response_text(self):
+ manifest = json.loads((self.out / "manifest.json").read_text())
+ self.assertNotIn("results", manifest["rows"][0])
+ self.assertTrue(check(self.out))
+ manifest["rows"][0]["result_count"] += 1
+ (self.out / "manifest.json").write_text(json.dumps(manifest))
+ with self.assertRaisesRegex(ValueError, "receipt disagrees"):
+ check(self.out)
+
+ def test_readable_report_has_bound_chapters_and_real_field_examples(self):
+ p = self.root / "fixture/profile.json"
+ case = json.loads(p.read_text())["cases"][0]["id"]
+ content = self.root / "reading.json"
+ data = {
+ "reading_model": "capability-quality-cost/1",
+ "reading_sections": [],
+ "sections": [],
+ }
+ for key in ("capabilities", "quality", "cost"):
+ data["reading_sections"].append(
+ {"key": key, "title": {"en": key, "zh": key}, "nav": {"en": key, "zh": key}}
+ )
+ data["sections"].append(
+ {
+ "page": key,
+ "title": {"en": "Explanation", "zh": "说明"},
+ "paragraphs": [{"en": "A result needs evidence.", "zh": "结果需要证据。"}],
+ }
+ )
+ data["sections"][1]["specimens"] = [
+ {
+ "case_id": case,
+ "method": "lexmount",
+ "fields": ["snippet"],
+ "label": {"en": "Measured snippet", "zh": "实测片段"},
+ }
+ ]
+ data["sections"].append(
+ {
+ **data["sections"][1],
+ "page": "interpretation",
+ "title": {"en": "Evidence appendix", "zh": "证据附录"},
+ }
+ )
+ content.write_text(json.dumps(data))
+ build(self.out, source=self.root / "fixture", content=content, include_english=True)
+ self.assertTrue(check(self.out))
+ p = self.out / "index.html"
+ soup = BeautifulSoup(p.read_text(), "html.parser")
+ self.assertEqual(len(soup.select("[data-reading]")), 3)
+ self.assertIn("Fixture only", soup.select_one("[data-specimen]").get_text())
+ appendix = BeautifulSoup((self.out / "interpretation.html").read_text(), "html.parser")
+ self.assertIn("Fixture only", appendix.select_one("[data-specimen]").get_text())
+ original = p.read_text()
+ soup.select_one("[data-reading]").decompose()
+ p.write_text(str(soup))
+ with self.assertRaisesRegex(ValueError, "reader chapter"):
+ check(self.out)
+ soup = BeautifulSoup(original, "html.parser")
+ soup.select_one("[data-specimen] blockquote").string = "Invented output"
+ p.write_text(str(soup))
+ with self.assertRaisesRegex(ValueError, "specimen"):
+ check(self.out)
+
+ def test_interpretation_comparison_cannot_disappear_or_change_values(self):
+ page = self.out / "interpretation.html"
+ original = page.read_text()
+ soup = BeautifulSoup(original, "html.parser")
+ soup.select_one("table").decompose()
+ page.write_text(str(soup))
+ with self.assertRaisesRegex(ValueError, "Interpretation core comparison"):
+ check(self.out)
+ soup = BeautifulSoup(original, "html.parser")
+ soup.select_one("table tbody tr td:nth-of-type(2)").string = "999"
+ page.write_text(str(soup))
+ with self.assertRaisesRegex(ValueError, "Interpretation core comparison"):
+ check(self.out)
+
+ def test_source_filter_cannot_hide_or_misattribute_query_groups(self):
+ p = self.out / "dataset.html"
+ original = p.read_text()
+ soup = BeautifulSoup(original, "html.parser")
+ soup.select_one('[data-origin-filter] option[value!="all"]').decompose()
+ p.write_text(str(soup))
+ with self.assertRaisesRegex(ValueError, "query-source filter"):
+ check(self.out)
+ soup = BeautifulSoup(original, "html.parser")
+ soup.select_one("[data-row]")["data-origin"] = "invented-community-source"
+ p.write_text(str(soup))
+ with self.assertRaisesRegex(ValueError, "population mismatch"):
+ check(self.out)
+
+ def test_result_inventory_has_complete_provider_filter(self):
+ page = BeautifulSoup((self.out / "results.html").read_text(), "html.parser")
+ methods = {method["id"] for method in json.loads((self.out / "manifest.json").read_text())["profile"]["methods"]}
+ self.assertEqual(
+ {option["value"] for option in page.select("[data-method-filter] option")},
+ {"all", *methods},
+ )
+ self.assertEqual(
+ {row["data-method"] for row in page.select("[data-row]")}, methods
+ )
+ self.assertIn('[data-state="pass"]', (self.out / "results.html").read_text())
+
+ def test_supplementary_research_preserves_its_bound_response(self):
+ source = self.root / "source-response.json"
+ source.write_text('{"summary":"A source extract","answer":"A generated answer"}')
+ content = self.root / "research-content.json"
+ content.write_text(
+ json.dumps(
+ {
+ "assets": [
+ {
+ "source": source.name,
+ "path": "research/response.json",
+ "sha256": digest(source.read_bytes()),
+ }
+ ],
+ "sections": [
+ {
+ "page": "method",
+ "title": {"en": "Supplementary evidence", "zh": "补充证据"},
+ "paragraphs": [],
+ "sources": [
+ {
+ "label": {"en": "Open response", "zh": "打开响应"},
+ "url": "research/response.json",
+ "evidence": True,
+ }
+ ],
+ }
+ ],
+ }
+ )
+ )
+ build(self.out, source=self.root / "fixture", content=content, include_english=True)
+ exported = self.out / "research/response.json"
+ self.assertEqual(exported.read_bytes(), source.read_bytes())
+ for route in ("research.html", "en/research.html"):
+ page = BeautifulSoup((self.out / route).read_text(), "html.parser")
+ self.assertEqual(
+ page.select_one("[data-evidence]")["data-evidence"], "research/response.json"
+ )
+ exported.write_text('{"answer":"Changed after validation"}')
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_duplicate_summary_is_rejected(self):
+ p = next((self.out / "details").glob("*.html"))
+ p.write_text(p.read_text().replace("", ""))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_broken_evidence_target_is_rejected(self):
+ p = next((self.out / "details").glob("*.html"))
+ p.write_text(p.read_text().replace('data-evidence="calls/', 'data-evidence="missing/'))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_nested_pages_work_with_host_injected_root_base(self):
+ from urllib.parse import urljoin
+
+ p = next((self.out / "details").glob("*.html"))
+ soup = BeautifulSoup(p.read_text(), "html.parser")
+ self.assertIsNotNone(soup.head)
+ root = "https://host.example/api/preview/token/site/"
+ for a in soup.select("[data-evidence]"):
+ target = urljoin(root, a["data-evidence"])
+ self.assertTrue(target.startswith(root + "calls/"))
+ self.assertTrue((self.out / a["data-evidence"]).is_file())
+ self.assertEqual(urljoin(root, soup.nav.a["href"]), root + "index.html")
+
+ def test_supplement_preserves_language_evidence_and_main_navigation(self):
+ supplement = self.out / "social"
+ build(
+ supplement,
+ source=self.root / "fixture",
+ site_prefix="social",
+ include_english=True,
+ )
+ self.assertTrue(check(supplement))
+ page = next((supplement / "details").glob("*.html"))
+ soup = BeautifulSoup(page.read_text(), "html.parser")
+ self.assertEqual(soup.select_one("[data-evidence]")["data-evidence"][:13], "social/calls/")
+ self.assertEqual(soup.find("a", string="主评测")["href"], "index.html")
+ self.assertTrue(soup.find("a", string="English")["href"].startswith("social/en/details/"))
+
+ def test_visible_metric_cannot_disagree_with_evidence(self):
+ p = self.out / "index.html"
+ soup = BeautifulSoup(p.read_text(), "html.parser")
+ cell = soup.select("table tbody tr")[0].select("td")[3]
+ cell.string = "0.01"
+ p.write_text(str(soup))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_performance_page_cannot_invent_server_time(self):
+ p = self.out / "performance.html"
+ soup = BeautifulSoup(p.read_text(), "html.parser")
+ soup.select("table tbody tr")[0].select("td")[2].string = "100.00 (n=2)"
+ p.write_text(str(soup))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_full_release_requires_browser_route_coverage(self):
+ from harness.web_search.core import digest
+
+ proof = self.root / "visual.json"
+ proof.write_text(
+ json.dumps(
+ {
+ "manifest_sha256": digest((self.out / "manifest.json").read_bytes()),
+ "captures": [],
+ "interactions": [],
+ }
+ )
+ )
+ with self.assertRaisesRegex(ValueError, "Incomplete"):
+ release_check(self.out, proof)
+
+ def test_single_language_release_does_not_require_a_language_switch(self):
+ manifest = json.loads((self.out / "manifest.json").read_text())
+ self.assertEqual(manifest["languages"], ["zh"])
+ visual = self.root / "visual"
+ visual.mkdir()
+ states = {
+ (route, 1280, "light") for route in (
+ "home", "capabilities", "dataset", "results", "performance",
+ "method", "interpretation",
+ )
+ }
+ captures = []
+ for route, width, theme in states:
+ path = visual / f"zh-{route}-{width}-{theme}.png"
+ path.write_bytes(f"{route}-{width}-{theme}".encode())
+ captures.append({
+ "language": "zh", "route_class": route, "width": width,
+ "theme": theme, "path": path.name, "sha256": digest(path.read_bytes()),
+ "page_overflow": False, "readable": True, "metrics": {},
+ })
+ proof = visual / "release.json"
+ proof.write_text(json.dumps({
+ "manifest_sha256": digest((self.out / "manifest.json").read_bytes()),
+ "captures": captures,
+ "interactions": [],
+ }))
+ self.assertTrue(release_check(self.out, proof))
+
+ def test_missing_winner_marker_is_rejected(self):
+ p = self.out / "index.html"
+ p.write_text(p.read_text().replace('class="win"', 'class="neutral"'))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_wrong_winner_marker_is_rejected(self):
+ p = self.out / "index.html"
+ soup = BeautifulSoup(p.read_text(), "html.parser")
+ soup.select("table tbody tr")[1].select("td")[3]["class"] = ["win"]
+ p.write_text(str(soup))
+ with self.assertRaises(ValueError):
+ check(self.out)
+
+ def test_partial_matrix_is_rejected_even_with_updated_file_hash(self):
+ from harness.web_search.core import digest
+
+ p = self.root / "fixture"
+ rows = (p / "results.jsonl").read_text().splitlines()
+ (p / "results.jsonl").write_text("\n".join(rows[:-1]))
+ receipt = json.loads((p / "receipt.json").read_text())
+ receipt["results_sha256"] = digest((p / "results.jsonl").read_bytes())
+ (p / "receipt.json").write_text(json.dumps(receipt))
+ with self.assertRaises(ValueError):
+ load_run(p)
+
+ def test_tampered_raw_response_is_rejected(self):
+ p = next((self.root / "fixture/calls").glob("*.json"))
+ p.write_text("{}")
+ with self.assertRaises(ValueError):
+ load_run(self.root / "fixture")
+
+
+if __name__ == "__main__":
+ unittest.main()
+
+
+class RepeatedLatencyScenarios(unittest.TestCase):
+ def test_all_rounds_and_unknown_cache_remain_visible(self):
+ from harness.web_search.core import evaluate
+ from harness.web_search.report import latency_rounds
+
+ profile = {"protocol": {"rounds": 2}, "methods": [{"id": "a", "label": "A"}]}
+ rows = [
+ dict(
+ method="a",
+ round=0,
+ elapsed_ms=900,
+ http_status=200,
+ results=[{"url": "https://a.org"}],
+ error="",
+ cost=None,
+ metrics=evaluate({}, []),
+ cache={"state": "miss"},
+ ),
+ dict(
+ method="a",
+ round=1,
+ elapsed_ms=100,
+ http_status=200,
+ results=[{"url": "https://a.org"}],
+ error="",
+ cost=None,
+ metrics=evaluate({}, []),
+ cache=None,
+ ),
+ ]
+ soup = BeautifulSoup(latency_rounds(profile, rows, False), "html.parser")
+ data = [[c.get_text() for c in r.select("td")] for r in soup.select("tbody tr")]
+ self.assertEqual(data[0][3], "900.00")
+ self.assertEqual(data[1][3], "100.00")
+ self.assertIn("miss: 1", data[0][-1])
+ self.assertIn("unknown: 1", data[1][-1])
diff --git a/tests/web_search/test_report_selection.py b/tests/web_search/test_report_selection.py
new file mode 100644
index 000000000..c9183aad1
--- /dev/null
+++ b/tests/web_search/test_report_selection.py
@@ -0,0 +1,186 @@
+"""Reader-selected API versions retain complete query populations and evidence."""
+import copy
+import json
+from pathlib import Path
+
+import pytest
+from bs4 import BeautifulSoup
+
+from harness.web_search.example import example
+from harness.web_search.report import build, check, load_run, metric_populations, project_comparison
+
+
+def test_projection_retains_selected_method_order_and_all_questions(tmp_path):
+ example(tmp_path)
+ profile, rows, _ = load_run(tmp_path / 'fixture')
+ original = copy.deepcopy((profile, rows))
+ ids = [m['id'] for m in profile['methods']][::-1]
+ projected, selected = project_comparison(profile, rows, {'comparison_methods': ids})
+ assert [m['id'] for m in projected['methods']] == ids
+ assert len(selected) == len(rows)
+ assert (profile, rows) == original
+ with pytest.raises(ValueError, match='Incomplete'):
+ project_comparison(profile, rows[1:], {'comparison_methods': ids})
+ with pytest.raises(ValueError, match='Invalid'):
+ project_comparison(profile, rows, {'comparison_methods': ['nonexistent']})
+
+
+def test_population_membership_rejects_invented_or_partial_denominators():
+ profile = {'cases': [{'id': 'a', 'reference_answer': 'A'}, {'id': 'b'}]}
+ labels = {'en': 'Queries', 'zh': '题目'}
+ all_group = {'id': 'overall', 'label': labels, 'case_ids': ['a', 'b']}
+ factual = {'id': 'factual', 'label': labels, 'case_ids': ['a']}
+ scenario = {'id': 'scenario', 'label': labels, 'case_ids': ['b']}
+ assert len(metric_populations(profile, {'metric_populations': [all_group, factual, scenario]})) == 3
+ for invalid in [dict(all_group, case_ids=['a']), dict(factual, case_ids=['b']), dict(scenario, case_ids=['missing'])]:
+ groups = [invalid] if invalid['id'] == 'overall' else [all_group, invalid]
+ with pytest.raises(ValueError):
+ metric_populations(profile, {'metric_populations': groups})
+
+
+def test_independent_benchmark_roots_partition_without_an_overall_score():
+ profile = {'cases': [{'id': 'a'}, {'id': 'b'}, {'id': 'c', 'reference_answer': 'C'}]}
+ groups = [
+ {'id': 'custom', 'benchmark_root': True, 'label': {'en': 'Custom', 'zh': '自建'}, 'case_ids': ['a', 'b']},
+ {'id': 'factual', 'benchmark_root': True, 'label': {'en': 'Public', 'zh': '公开'}, 'case_ids': ['c']},
+ {'id': 'site', 'metric_kind': 'site', 'label': {'en': 'Site', 'zh': '站点'}, 'case_ids': ['b']},
+ ]
+ assert metric_populations(profile, {'independent_benchmarks': True, 'metric_populations': groups}) == groups
+ broken = copy.deepcopy(groups)
+ broken[1]['case_ids'] = ['b', 'c']
+ with pytest.raises(ValueError):
+ metric_populations(profile, {'independent_benchmarks': True, 'metric_populations': broken})
+
+
+def test_site_population_counts_empty_response_as_constraint_miss():
+ from harness.web_search.core import evaluate
+ from harness.web_search.report import population_summary
+
+ case = {'id': 'site-empty', 'query': 'site:example.com report', 'domains': ['example.com']}
+ profile = {
+ 'cases': [case],
+ 'methods': [{'id': 'a', 'label': 'A', 'currency': 'CNY'}],
+ 'protocol': {'top_k': 5},
+ }
+ rows = [{
+ 'case_id': case['id'], 'method': 'a', 'http_status': 200, 'results': [],
+ 'error': '', 'elapsed_ms': 10, 'cost': 0, 'metrics': evaluate(case, []),
+ }]
+ content = {'metric_populations': [{
+ 'id': 'overall', 'metric_kind': 'site',
+ 'label': {'en': 'Site', 'zh': '站点'}, 'case_ids': [case['id']],
+ }]}
+ soup = BeautifulSoup(population_summary(profile, rows, content, True), 'html.parser')
+ assert '0/1' in soup.get_text()
+
+
+def test_comparison_report_has_owned_chapters_and_bound_populations(tmp_path):
+ example(tmp_path)
+ profile, _, _ = load_run(tmp_path / 'fixture')
+ ids = [m['id'] for m in profile['methods']]
+ case_ids = [c['id'] for c in profile['cases']]
+ content = {
+ 'presentation': 'comparison-report', 'reading_model': True,
+ 'comparison_methods': ids,
+ 'metric_populations': [
+ {'id': 'overall', 'label': {'en': 'Overall', 'zh': '总体'}, 'case_ids': case_ids},
+ {'id': 'scenario', 'label': {'en': 'Scenario subset', 'zh': '场景子集'}, 'case_ids': case_ids[:1]},
+ ],
+ 'sections': [{'page': 'capabilities', 'title': {'en': 'Fields', 'zh': '字段'}, 'paragraphs': [{'en': 'Chapter-specific text.', 'zh': '章节专属说明。'}]}],
+ }
+ source = tmp_path / 'content.json'; source.write_text(json.dumps(content))
+ output = tmp_path / 'comparison'
+ build(output, source=tmp_path / 'fixture', content=source)
+ home = BeautifulSoup((output / 'index.html').read_text(), 'html.parser')
+ assert len(home.select('[data-population]')) == 2
+ assert not home.select('[data-modes]')
+ assert 'Chapter-specific text.' not in home.get_text()
+ assert '章节专属说明。' in (output / 'capabilities.html').read_text()
+ assert check(output)
+ home.select_one('[data-population] td').string = 'invented method'
+ (output / 'index.html').write_text(str(home))
+ with pytest.raises(ValueError, match='Population summary'):
+ check(output)
+
+
+def test_three_selected_versions_drop_two_optional_experiments(tmp_path):
+ example(tmp_path)
+ profile, rows, _ = load_run(tmp_path / 'fixture')
+ template = profile['methods'][0]
+ originals = [r for r in rows if r['method'] == template['id']]
+ ids = ['lexmount', 'deepseek', 'bocha', 'deepseek-content', 'bocha-summary']
+ profile['methods'] = [dict(template, id=mid, label=mid) for mid in ids]
+ rows = [dict(row, method=mid, id=row['id'] + '-' + mid) for mid in ids for row in originals]
+ chosen = ['lexmount', 'deepseek-content', 'bocha-summary']
+ projected, projected_rows = project_comparison(profile, rows, {'comparison_methods': chosen})
+ assert [m['id'] for m in projected['methods']] == chosen
+ assert len(projected_rows) == 3 * len(profile['cases'])
+ assert {r['method'] for r in projected_rows} == set(chosen)
+ assert len(rows) == 5 * len(profile['cases'])
+
+
+def test_nested_language_comparison_links_keep_language():
+ from harness.web_search.report import render_result_comparison
+ profile = {'methods': [{'id': 'a', 'label': 'A'}], 'cases': [{'id': 'q', 'query': 'Q'}]}
+ row = {'id': 'q-a-r0', 'case_id': 'q', 'method': 'a', 'results': [], 'metrics': {}, 'error': None}
+ soup = BeautifulSoup(render_result_comparison(profile, [row], False, prefix='en/'), 'html.parser')
+ data = json.loads(soup.select_one('[data-comparison-data]').string)
+ assert data['cases'][0]['outputs']['a']['detail'] == 'en/details/q-a-r0.html'
+
+
+def test_projection_only_publishes_metadata_for_materialized_calls(tmp_path, monkeypatch):
+ from harness.web_search import report
+ example(tmp_path)
+ actual = report.public_calls
+ def with_audit_records(*args):
+ rows, files, redactions, corrections = actual(*args)
+ for row in rows:
+ path = row['evidence']['path']
+ redactions.append({'path': path, 'original_sha256': row['evidence']['sha256'], 'public_sha256': row['evidence']['sha256']})
+ corrections.append({'path': path, 'original_cost': 0, 'cost': row['cost']})
+ return rows, files, redactions, corrections
+ monkeypatch.setattr(report, 'public_calls', with_audit_records)
+ content = tmp_path / 'selection.json'
+ content.write_text(json.dumps({'comparison_methods': ['lexmount']}))
+ output = tmp_path / 'selected'
+ build(output, source=tmp_path / 'fixture', content=content)
+ manifest = json.loads((output / 'manifest.json').read_text())
+ retained = {r['evidence']['path'] for r in manifest['rows']}
+ assert {r['path'] for r in manifest['evidence_redactions']} == retained
+ assert {r['path'] for r in manifest['billing_corrections']} == retained
+ assert check(output)
+
+
+def test_additional_reference_exposes_source_date_excerpt_without_precall_claim():
+ from harness.web_search.report import annotation_detail
+ annotation = {'sources': [{'url': 'https://example.org/page', 'title': 'Independent page', 'excerpt': 'Relevant source statement.', 'verified_at': '2026-10-21'}]}
+ html = annotation_detail(annotation, False)
+ assert 'after collection' in html
+ assert '2026-10-21' in html
+ assert 'Relevant source statement.' in html
+ assert 'Before/after HTTP' not in html
+
+
+def test_headline_subgroups_show_actual_quality_counts_and_ranks():
+ from harness.web_search.core import evaluate
+ from harness.web_search.report import population_summary
+ cases = [
+ {'id': 'f', 'reference_answer': '42', 'reference_urls': ['https://source.org/answer']},
+ {'id': 's', 'anchors': ['https://source.org/target']},
+ ]
+ profile = {'cases': cases, 'methods': [{'id': 'a', 'label': 'A', 'currency': 'CNY'}, {'id': 'b', 'label': 'B', 'currency': 'CNY'}], 'protocol': {'top_k': 5}}
+ rows = []
+ for method in ('a', 'b'):
+ for case in cases:
+ urls = (['https://source.org/answer'] if case['id'] == 'f' else ['https://other.org/x', 'https://source.org/target']) if method == 'a' else ['https://other.org/x']
+ results = [{'url': url, 'title': 'Result', 'snippet': '42' if method == 'a' else 'unrelated', 'summary': '', 'content': ''} for url in urls]
+ rows.append({'method': method, 'case_id': case['id'], 'http_status': 200, 'error': None, 'elapsed_ms': 100, 'cost': 0.01, 'results': results, 'metrics': evaluate(case, results)})
+ groups = [{'id': key, 'label': {'en': key, 'zh': key}, 'case_ids': ids} for key, ids in [('overall', ['f', 's']), ('factual', ['f']), ('scenario', ['s'])]]
+ soup = BeautifulSoup(population_summary(profile, rows, {'metric_populations': groups}, False), 'html.parser')
+ factual = soup.select('[data-population="factual"] tbody tr')
+ assert [x.get_text().replace('★ ', '') for x in factual[0].select('td')][1:3] == ['1/1 · 100.0%', '1/1 · 100.0%']
+ assert [x.get_text() for x in factual[1].select('td')][1:3] == ['0/1 · 0.0%', '0/1 · 0.0%']
+ scenario = soup.select('[data-population="scenario"] tbody tr')
+ assert [x.get_text().replace('★ ', '') for x in scenario[0].select('td')][1:3] == ['1/1 · 100.0%', '0.500']
+ assert len(soup.select('[data-population="overall"] th')) == 6
+ assert len(soup.select('[data-population="factual"] th')) == 7
diff --git a/tests/web_search/test_runner.py b/tests/web_search/test_runner.py
new file mode 100644
index 000000000..a8ec7f47f
--- /dev/null
+++ b/tests/web_search/test_runner.py
@@ -0,0 +1,291 @@
+"""Collection scenarios: missing sources, empty billing, and retained failures."""
+
+import json
+import os
+import tempfile
+import unittest
+from pathlib import Path
+from unittest.mock import patch
+
+from harness.web_search.report import load_run
+from harness.web_search.runner import run
+
+
+class CollectionScenarios(unittest.TestCase):
+ def test_resume_retains_complete_cases_and_recollects_whole_interrupted_case(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ p = self.profile(root)
+ profile = json.loads(p.read_text())
+ profile["cases"].append(dict(profile["cases"][0], id="second-case"))
+ profile["protocol"]["retry"] = True
+ p.write_text(json.dumps(profile))
+ calls = []
+ recovered = False
+
+ def http(url, body=None, header=None, timeout=20):
+ receipt = dict(http_status=200, elapsed_ms=1, transport_exit=0, transport_error="")
+ if body is None:
+ return receipt, b"reference " * 20
+ calls.append(url)
+ if not recovered and len(calls) > 2:
+ return dict(receipt, http_status=402), b'{"error":"Insufficient Balance"}'
+ return receipt, b'{"results":[{"url":"https://example.org/a","title":"Fixture"}]}'
+
+ with (
+ patch("harness.web_search.runner.http_call", side_effect=http),
+ patch("harness.web_search.runner.load_runtime_env"),
+ patch.dict(os.environ, LEXMOUNT_SEARCH_API_KEY="test", DEEPSEEK_API_KEY="test", BOCHA_API_KEY="test"),
+ ):
+ with self.assertRaisesRegex(ValueError, "Provider account error"):
+ run(p, root / "run")
+ original = (root / "run/results.jsonl").read_bytes()
+ # A process can stop partway through the final row write.
+ with (root / "run/results.jsonl").open("ab") as stream:
+ stream.write(b'{"id":"incomplete')
+ recovered = True
+ run(p, root / "run", resume=True)
+ _, rows, receipt = load_run(root / "run")
+ self.assertEqual(len(calls), 10) # four interrupted calls, then both three-method cases
+ self.assertEqual(len(rows), 6)
+ self.assertTrue(receipt["certified"])
+ self.assertEqual((root / "run/resume-1/previous-results.jsonl").read_bytes(),
+ original + b'{"id":"incomplete')
+ self.assertEqual(len(list((root / "run/resume-1/calls").glob("*.json"))), 4)
+ contract = json.loads((root / "run/resume-1/contract.json").read_text())
+ self.assertEqual(
+ contract["recollect_case_ids"], ["ds-price-zh", "second-case"]
+ )
+ archived = next((root / "run/resume-1/calls").glob("*.json"))
+ archived.write_bytes(b"changed")
+ with self.assertRaises(ValueError):
+ load_run(root / "run")
+
+ def test_account_errors_stop_the_cohort_after_declared_retry(self):
+ for status in (401, 402):
+ with self.subTest(status=status), tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ p = self.profile(root)
+ profile = json.loads(p.read_text())
+ profile["protocol"]["retry"] = True
+ p.write_text(json.dumps(profile))
+ calls = []
+
+ def http(url, body=None, header=None, timeout=20):
+ receipt = dict(http_status=200, elapsed_ms=1, transport_exit=0, transport_error="")
+ if body is None:
+ return receipt, b"reference " * 20
+ calls.append(url)
+ return dict(receipt, http_status=status), b'{"error":{"message":"account unavailable"}}'
+
+ with (
+ patch("harness.web_search.runner.http_call", side_effect=http),
+ patch("harness.web_search.runner.load_runtime_env"),
+ patch.dict(os.environ, LEXMOUNT_SEARCH_API_KEY="test", DEEPSEEK_API_KEY="test", BOCHA_API_KEY="test"),
+ ):
+ with self.assertRaisesRegex(ValueError, "Provider account error"):
+ run(p, root / "run")
+ self.assertEqual(len(calls), 2)
+ self.assertEqual(len(set(calls)), 1) # no spending on the next participant
+ rows = (root / "run/results.jsonl").read_text().splitlines()
+ self.assertEqual(len(rows), 1)
+ self.assertEqual(len(json.loads(rows[0])["attempts"]), 2)
+ self.assertTrue((root / "run/interruption.json").exists())
+ self.assertFalse((root / "run/receipt.json").exists())
+
+ def profile(self, root):
+ d = json.loads(Path("evaluation/web-search/current-report.json").read_text())
+ d["cases"] = d["cases"][:1]
+ d["protocol"].update(rounds=1, interval_s=0)
+ d["protocol"].pop("reference_scope", None)
+ d.pop("reference_checks", None)
+ p = root / "input.json"
+ p.write_text(json.dumps(d))
+ return p
+
+ def test_published_label_snapshot_requires_the_frozen_hash(self):
+ from harness.web_search.runner import reference_available
+ from harness.web_search.core import digest
+ url = "https://example.org/pinned-labels.csv"
+ raw = b"query,answer,url\n" * 20
+ profile = {"reference_artifacts": {url: {"sha256": digest(raw)}}}
+ receipt = {"http_status": 200, "transport_exit": 0}
+ self.assertTrue(reference_available(profile, url, receipt, raw))
+ self.assertFalse(reference_available(profile, url, receipt, raw + b"changed"))
+ self.assertFalse(reference_available(profile, url, dict(receipt, transport_exit=28), raw))
+
+ def test_failure_is_retained_after_the_single_declared_retry(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ p = self.profile(root)
+ order = []
+
+ def http(url, body=None, header=None, timeout=20):
+ if body is None:
+ return dict(
+ http_status=200, elapsed_ms=1, transport_exit=0, transport_error=""
+ ), b"reference " * 20
+ order.append(url)
+ return dict(
+ http_status=503 if "lexmount" in url else 200,
+ elapsed_ms=20,
+ transport_exit=0,
+ transport_error="",
+ ), (b'{"error":"Unavailable"}' if "lexmount" in url else b'{"results":[]}')
+
+ with (
+ patch("harness.web_search.runner.http_call", side_effect=http),
+ patch("harness.web_search.runner.load_runtime_env"),
+ patch.dict(os.environ, LEXMOUNT_SEARCH_API_KEY="test", DEEPSEEK_API_KEY="test", BOCHA_API_KEY="test"),
+ ):
+ run(p, root / "run")
+ _, rows, receipt = load_run(root / "run")
+ self.assertEqual(len(order), 4)
+ self.assertEqual(len(rows), 3)
+ self.assertEqual(len(rows[0]["attempts"]), 2)
+ self.assertEqual(rows[1]["cost"], 0)
+ self.assertTrue(rows[0]["error"])
+ self.assertTrue(receipt["certified"])
+ ref = next((root / "run/references").glob("*.bin"))
+ ref.write_bytes(b"changed")
+ with self.assertRaises(ValueError):
+ load_run(root / "run")
+
+ def test_failed_reference_blocks_calls_before_spending(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ p = self.profile(root)
+ with (
+ patch(
+ "harness.web_search.runner.http_call",
+ return_value=(
+ dict(http_status=404, elapsed_ms=1, transport_exit=0, transport_error=""),
+ b"absent",
+ ),
+ ) as call,
+ patch("harness.web_search.runner.load_runtime_env"),
+ patch.dict(os.environ, LEXMOUNT_SEARCH_API_KEY="test", DEEPSEEK_API_KEY="test", BOCHA_API_KEY="test"),
+ ):
+ with self.assertRaises(ValueError):
+ run(p, root / "run")
+ self.assertEqual(call.call_count, 1)
+
+ def test_failed_call_retries_once_and_only_final_response_is_scored(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ p = self.profile(root)
+ profile = json.loads(p.read_text())
+ profile["methods"] = [profile["methods"][1]]
+ profile["protocol"]["retry"] = True
+ p.write_text(json.dumps(profile))
+ calls = []
+
+ def http(url, body=None, header=None, timeout=20):
+ if body is None:
+ return dict(http_status=200, elapsed_ms=1, transport_exit=0, transport_error=""), b"reference " * 20
+ calls.append(url)
+ if len(calls) == 1:
+ return dict(http_status=503, elapsed_ms=20, transport_exit=0, transport_error=""), b'{"error":"busy"}'
+ return dict(http_status=200, elapsed_ms=30, transport_exit=0, transport_error=""), b'{"results":[{"url":"https://example.org/p"}]}'
+
+ with (
+ patch("harness.web_search.runner.http_call", side_effect=http),
+ patch("harness.web_search.runner.load_runtime_env"),
+ patch.dict(os.environ, DEEPSEEK_API_KEY="test"),
+ ):
+ run(p, root / "run")
+ _, rows, _ = load_run(root / "run")
+ self.assertEqual(len(calls), 2)
+ self.assertEqual(len(rows), 1)
+ self.assertEqual(len(rows[0]["attempts"]), 2)
+ self.assertEqual(rows[0]["results"][0]["url"], "https://example.org/p")
+ self.assertGreaterEqual(rows[0]["elapsed_ms"], 50)
+ first = root / "run" / rows[0]["attempts"][0]["evidence"]["path"]
+ first.write_text("changed")
+ with self.assertRaises(ValueError):
+ load_run(root / "run")
+
+ def test_valid_empty_response_is_a_result_not_an_api_failure(self):
+ with tempfile.TemporaryDirectory() as tmp:
+ root = Path(tmp)
+ p = self.profile(root)
+ profile = json.loads(p.read_text())
+ profile["methods"] = [profile["methods"][1]]
+ profile["protocol"]["retry"] = True
+ p.write_text(json.dumps(profile))
+ calls = []
+
+ def http(url, body=None, header=None, timeout=20):
+ if body is None:
+ return dict(http_status=200, elapsed_ms=1, transport_exit=0, transport_error=""), b"reference " * 20
+ calls.append(url)
+ return dict(http_status=200, elapsed_ms=20, transport_exit=0, transport_error=""), b'{"results":[]}'
+
+ with (
+ patch("harness.web_search.runner.http_call", side_effect=http),
+ patch("harness.web_search.runner.load_runtime_env"),
+ patch.dict(os.environ, DEEPSEEK_API_KEY="test"),
+ ):
+ run(p, root / "run")
+ _, rows, _ = load_run(root / "run")
+ self.assertEqual(len(calls), 1)
+ self.assertEqual(rows[0]["results"], [])
+
+
+if __name__ == "__main__":
+ unittest.main()
+
+
+class ReferenceCaptureScenarios(unittest.TestCase):
+ def test_identity_check_rejects_an_unrelated_http_200_page(self):
+ from harness.web_search.runner import capture_references
+
+ profile = {
+ "protocol": {"reference_scope": "identity"},
+ "cases": [{"anchors": ["https://example.org/paper"]}],
+ "reference_checks": {
+ "https://example.org/paper": {
+ "url": "https://example.org/paper",
+ "contains": ["Distinct paper title"],
+ }
+ },
+ }
+ receipt = dict(http_status=200, transport_exit=0)
+ for raw, expected in [
+ (b"login screen " * 30, False),
+ (b"Distinct paper title " * 30, True),
+ ]:
+ with (
+ tempfile.TemporaryDirectory() as tmp,
+ patch("harness.web_search.runner.http_call", return_value=(receipt, raw)),
+ ):
+ refs = capture_references(profile, Path(tmp), "before")
+ self.assertEqual(refs["https://example.org/paper"]["available"], expected)
+
+ def test_page_chrome_changes_do_not_change_verified_identity(self):
+ from harness.web_search.runner import reference_changes
+
+ before = {"u": {"available": True, "sha256": "a"}}
+ after = {"u": {"available": True, "sha256": "b"}}
+ self.assertEqual(
+ reference_changes({"protocol": {"reference_scope": "identity"}}, before, after), []
+ )
+ self.assertEqual(reference_changes({"protocol": {}}, before, after), ["u"])
+ after["u"]["available"] = False
+ self.assertEqual(
+ reference_changes({"protocol": {"reference_scope": "identity"}}, before, after), ["u"]
+ )
+
+ def test_http_200_with_incomplete_transfer_is_not_qualified(self):
+ from harness.web_search.runner import capture_references
+
+ profile = {"protocol": {}, "cases": [{"anchors": ["https://example.org/"]}]}
+ with tempfile.TemporaryDirectory() as tmp:
+ receipt = dict(
+ http_status=200, elapsed_ms=20000, transport_exit=28, transport_error="timeout"
+ )
+ with patch(
+ "harness.web_search.runner.http_call", return_value=(receipt, b"partial " * 50)
+ ):
+ refs = capture_references(profile, Path(tmp), "before")
+ self.assertFalse(refs["https://example.org/"]["available"])
diff --git a/tests/web_search/test_scoring.py b/tests/web_search/test_scoring.py
new file mode 100644
index 000000000..d5195d9ef
--- /dev/null
+++ b/tests/web_search/test_scoring.py
@@ -0,0 +1,56 @@
+"""Equivalent pages count as hits; superficially similar URLs do not."""
+
+import json
+import unittest
+from pathlib import Path
+
+from harness.web_search.core import classify, evaluate, normalize
+from harness.web_search.scoring import apply_identity_correction
+
+
+class IdentityScenarios(unittest.TestCase):
+ def test_verified_equivalent_url_hits(self):
+ case = {
+ "family": "web",
+ "anchors": ["https://docs.test/page.html"],
+ "identity_aliases": {"https://docs.test/page": "https://docs.test/page.html"},
+ }
+ results = normalize({"results": [{"url": "https://docs.test/page"}]})
+ metrics = evaluate(case, results)
+ row = dict(results=results, metrics=metrics, http_status=200, error="")
+ self.assertEqual(classify(case, row), ("pass", "target_hit"))
+ for url in ("https://docs.test/page?id=other", "https://www.docs.test/page"):
+ with self.subTest(url=url):
+ changed = normalize({"results": [{"url": url}]})
+ row.update(results=changed, metrics=evaluate(case, changed))
+ self.assertEqual(classify(case, row), ("fail", "target_miss"))
+
+ def test_correction_preserves_calls_and_rejects_unproven_equivalence(self):
+ root = Path(__file__).resolve().parents[2]
+ profile = json.loads((root / "evaluation/web-search/current-report.json").read_text())
+ correction = json.loads(
+ (root / "evaluation/web-search/identity-correction.json").read_text()
+ )
+ case = next(c for c in profile["cases"] if c["id"] == "cn-07")
+ case["anchors"] = [case["anchors"][0]]
+ results = normalize({"results": [{"url": next(iter(correction["aliases"]["cn-07"]))}]})
+ row = dict(
+ id="control",
+ case_id="cn-07",
+ results=results,
+ metrics=evaluate(case, results),
+ elapsed_ms=123,
+ cost=0.005,
+ )
+ revised, rows, changes = apply_identity_correction(profile, [row], correction)
+ self.assertEqual(row["metrics"]["anchor_hit_10"], 0)
+ self.assertEqual(rows[0]["metrics"]["anchor_hit_10"], 1)
+ self.assertEqual(rows[0]["elapsed_ms"], 123)
+ self.assertEqual(rows[0]["cost"], 0.005)
+ self.assertEqual(len(changes), 1)
+ self.assertNotIn("identity_aliases", case)
+ wrong = "https://sre.google/resources/book-update/handling-overload/"
+ target = "https://sre.google/sre-book/handling-overload/"
+ correction["aliases"]["public-ki07"] = {wrong: target}
+ with self.assertRaisesRegex(ValueError, "Unproven"):
+ apply_identity_correction(profile, [row], correction)
diff --git a/tests/web_search/test_search.py b/tests/web_search/test_search.py
new file mode 100644
index 000000000..28c7bb123
--- /dev/null
+++ b/tests/web_search/test_search.py
@@ -0,0 +1,307 @@
+"""Search scenarios: constraints, missing judgments, costs and evidence integrity."""
+
+import copy
+import json
+import tempfile
+import unittest
+from pathlib import Path
+
+from harness.web_search.core import (
+ aggregate,
+ canonical_url,
+ evaluate,
+ normalize,
+ request_body,
+ validate_profile,
+ verify_bundle,
+)
+
+
+def result(url, text="Evidence"):
+ return dict(url=url, title="Document", snippet=text, summary="", content="")
+
+
+class SearchScenarios(unittest.TestCase):
+ def test_labeled_fact_evidence_is_separate_from_relevance(self):
+ case = dict(reference_answer="Ada Lovelace", reference_urls=["https://example.org/a"])
+ positive = result("https://example.org/a?utm_source=x", "ADA, Lovelace wrote it.")
+ score = evaluate(case, [positive])
+ self.assertEqual(score["labeled_source_hit_5"], 1)
+ self.assertEqual(score["answer_in_preview_5"], 1)
+ self.assertIsNone(score["ndcg_10"])
+ negative = result("https://example.org/another", "Adaline Lovelace")
+ score = evaluate(case, [negative])
+ self.assertEqual(score["labeled_source_hit_5"], 0)
+ self.assertEqual(score["answer_in_preview_5"], 0)
+ negative["summary"] = "Ada Lovelace"
+ self.assertEqual(evaluate(case, [negative])["answer_in_delivered_text_5"], 1)
+ self.assertEqual(evaluate(case, [negative])["answer_in_preview_5"], 0)
+ self.assertEqual(evaluate(case, [])["answer_in_preview_5"], 0)
+
+ def test_numeric_fact_does_not_match_part_of_larger_number_or_across_fields(self):
+ self.assertEqual(evaluate(dict(reference_answer="1900"), [result("https://a.org", "19001")])["answer_in_preview_5"], 0)
+ row = result("https://a.org", "Lovelace")
+ row["title"] = "Ada"
+ self.assertEqual(evaluate(dict(reference_answer="Ada Lovelace"), [row])["answer_in_preview_5"], 0)
+
+ def test_optional_content_modes_preserve_query_constraints_and_budget(self):
+ case = dict(query="site:example.org research after:2026-09-01", family="site",
+ domains=["example.org"])
+ protocol = dict(top_k=5, server_timeout_ms=10000, as_of="2026-10-20")
+ for adapter, option in (("deepseek", "need_content"), ("bocha", "summary")):
+ disabled = request_body(adapter, case, protocol, {option: False})
+ enabled = request_body(adapter, case, protocol, {option: True})
+ self.assertFalse(disabled.pop(option))
+ self.assertTrue(enabled.pop(option))
+ self.assertEqual(disabled, enabled)
+ self.assertEqual(disabled["count"], 5)
+ with self.assertRaises(ValueError):
+ request_body("deepseek", case, protocol, {"need_content": "false"})
+ with self.assertRaises(ValueError):
+ request_body("lexmount", case, protocol, {"summary": True})
+
+ def test_tracking_duplicates_do_not_create_extra_hits(self):
+ case = dict(anchors=["https://example.org/p"], domains=[])
+ score = evaluate(
+ case,
+ [result("https://example.org/p?utm_source=x"), result("https://example.org/p#part")],
+ )
+ self.assertEqual(score["anchor_hit_5"], 1)
+ self.assertEqual(score["duplicate_rate"], 0.5)
+ self.assertIsNone(score["ndcg_10"])
+
+ def test_domain_suffix_attack_and_empty_response_are_not_constraint_success(self):
+ case = dict(domains=["github.com"], anchors=[])
+ self.assertEqual(
+ evaluate(case, [result("https://github.com.evil.org/a")])["domain_precision"], 0
+ )
+ self.assertEqual(
+ evaluate(case, [result("https://gist.github.com/a")])["domain_precision"], 1
+ )
+ self.assertIsNone(evaluate(case, [])["domain_precision"])
+
+ def test_relevant_result_must_be_ranked_within_cutoff(self):
+ case = dict(anchors=["https://example.org/answer"])
+ rows = [result(f"https://example.org/wrong/{n}") for n in range(5)]
+ rows.append(result("https://example.org/answer"))
+ score = evaluate(case, rows)
+ self.assertEqual(score["anchor_hit_5"], 0)
+ self.assertEqual(score["anchor_hit_10"], 1)
+ self.assertAlmostEqual(score["reciprocal_rank"], 1 / 6)
+
+ def test_incomplete_judgments_never_become_zero_relevance(self):
+ case = dict(qrels={"https://a.org/": 3})
+ self.assertIsNone(evaluate(case, [result("https://b.org/")])["ndcg_10"])
+ self.assertEqual(evaluate(case, [result("https://a.org/")])["ndcg_10"], 1)
+
+ def test_duplicate_cannot_inflate_ndcg(self):
+ case = dict(qrels={"https://a.org/": 3, "https://b.org/": 2})
+ score = evaluate(case, [result("https://a.org/"), result("https://a.org/")])
+ self.assertLess(score["ndcg_10"], 1)
+
+ def test_site_search_is_equivalent_intent_but_explicit_different_route(self):
+ case = dict(query="Attention Is All You Need", family="vertical", source="arxiv", domains=["arxiv.org"])
+ protocol = dict(top_k=10, server_timeout_ms=10000)
+ self.assertEqual(request_body("lexmount", case, protocol)["source"], "arxiv")
+ self.assertEqual(
+ request_body("deepseek", case, protocol)["query"],
+ "Attention Is All You Need site:arxiv.org",
+ )
+ self.assertTrue(request_body("deepseek", case, protocol)["need_content"])
+ bocha = request_body("bocha", case, protocol)
+ self.assertEqual(bocha["count"], 10)
+ self.assertTrue(bocha["summary"])
+ self.assertEqual(bocha["query"], case["query"])
+ self.assertEqual(bocha["include"], "arxiv.org")
+
+ def test_bocha_web_pages_are_scored_as_search_results_without_invented_page_body(self):
+ payload = {"code": 200, "data": {"webPages": {"value": [
+ {"url": "https://example.org/p", "name": "Example", "snippet": "Short", "summary": "Long"}
+ ]}}}
+ rows = normalize(payload)
+ self.assertEqual(rows[0]["title"], "Example")
+ self.assertEqual(rows[0]["summary"], "Long")
+ self.assertEqual(rows[0]["content"], "")
+
+ def test_invalid_payload_does_not_become_empty_success(self):
+ for bad in ({}, {"results": None}, {"results": [{"title": "no url"}]}, {"error": "bad"}):
+ with self.assertRaises(ValueError):
+ normalize(bad)
+ self.assertEqual(normalize({"results": []}), [])
+
+ def test_all_call_latency_preserves_failures_and_missing_cost(self):
+ rows = [
+ dict(
+ method="a",
+ elapsed_ms=100,
+ http_status=200,
+ results=[result("https://a.org")],
+ cost=None,
+ metrics=evaluate({}, []),
+ ),
+ dict(
+ method="a",
+ elapsed_ms=900,
+ http_status=504,
+ results=[],
+ cost=None,
+ metrics=evaluate({}, []),
+ ),
+ ]
+ stats = aggregate(rows)["a"]
+ self.assertEqual(stats["all_latency"]["mean"], 500)
+ self.assertEqual(stats["success_latency"]["mean"], 100)
+ self.assertIsNone(stats["cost_total"])
+
+ def test_semantic_url_parameters_are_preserved(self):
+ self.assertNotEqual(
+ canonical_url("https://a.org/?id=1"), canonical_url("https://a.org/?id=2")
+ )
+
+ def test_known_tracking_parameters_do_not_hide_the_same_page(self):
+ target = "https://peps.python.org/pep-0703/"
+ tracked = target + "?_bhlid=tracking-value"
+ self.assertEqual(canonical_url(target), canonical_url(tracked))
+ self.assertEqual(
+ evaluate({"anchors": [target]}, [result(tracked)])["anchor_hit_5"], 1
+ )
+
+ def test_bocha_uses_native_site_and_date_filters_with_five_results(self):
+ from harness.web_search.core import request_body
+
+ case = {
+ "family": "site",
+ "query": "site:example.org research after:2026-09-01",
+ "domains": ["example.org"],
+ }
+ protocol = {"top_k": 5, "as_of": "2026-10-20"}
+ self.assertEqual(
+ request_body("bocha", case, protocol),
+ {
+ "query": "research",
+ "count": 5,
+ "summary": True,
+ "freshness": "2026-09-02..2026-10-20",
+ "include": "example.org",
+ },
+ )
+ self.assertEqual(
+ request_body("deepseek", case, protocol)["query"], case["query"]
+ )
+
+ def test_profile_rejects_duplicate_cases_and_oversize_deepseek_query(self):
+ profile = json.loads(Path("evaluation/web-search/current-report.json").read_text())
+ validate_profile(profile)
+ bad = copy.deepcopy(profile)
+ bad["cases"].append(bad["cases"][0])
+ with self.assertRaises(ValueError):
+ validate_profile(bad)
+ bad = copy.deepcopy(profile)
+ bad["cases"][0]["query"] = "x" * 129
+ with self.assertRaises(ValueError):
+ validate_profile(bad)
+
+ def test_publisher_sample_can_preserve_a_long_query(self):
+ profile = json.loads(Path("evaluation/web-search/current-report.json").read_text())
+ profile["protocol"]["preserve_publisher_queries"] = True
+ profile["cases"][0]["query"] = "x" * 325
+ validate_profile(profile)
+ bad = copy.deepcopy(profile)
+ bad["cases"][0]["query"] = "x" * 4097
+ with self.assertRaises(ValueError):
+ validate_profile(bad)
+
+ def test_profile_rejects_invalid_reference_urls_before_calls(self):
+ profile = json.loads(Path("evaluation/web-search/current-report.json").read_text())
+ profile["cases"][0]["reference_urls"] = ["brokenhttps://example.org"]
+ with self.assertRaisesRegex(ValueError, "HTTP"):
+ validate_profile(profile)
+
+ def test_bundle_rejects_tampering_and_symlinks(self):
+ import hashlib
+
+ with tempfile.TemporaryDirectory() as tmp:
+ p = Path(tmp)
+ (p / "a.json").write_text("{}")
+ binding = {"path": "a.json", "sha256": hashlib.sha256(b"{}").hexdigest()}
+ verify_bundle(p, [binding])
+ (p / "a.json").write_text('{"changed":1}')
+ with self.assertRaises(ValueError):
+ verify_bundle(p, [binding])
+ (p / "link.json").symlink_to(p / "a.json")
+ binding["path"] = "link.json"
+ with self.assertRaises(ValueError):
+ verify_bundle(p, [binding])
+
+
+if __name__ == "__main__":
+ unittest.main()
+
+
+class ReferenceIdentityScenarios(unittest.TestCase):
+ def test_paper_formats_match_declared_paper_but_citations_do_not(self):
+ case = {"anchors": ["https://arxiv.org/abs/2504.13128"], "paper_ids": ["2504.13128"]}
+ self.assertEqual(
+ evaluate(case, [result("https://web3.arxiv.org/pdf/2504.13128#7#4")])["anchor_hit_10"],
+ 1,
+ )
+ self.assertEqual(
+ evaluate(case, [result("https://arxiv.org/pdf/2504.13129")])["anchor_hit_10"], 0
+ )
+ self.assertEqual(
+ evaluate(case, [result("https://arxiv.org.evil.org/pdf/2504.13128")])["anchor_hit_10"],
+ 0,
+ )
+ self.assertEqual(
+ evaluate(case, [result("https://arxiv.org/list/cs?paper=2504.13128")])["anchor_hit_10"],
+ 0,
+ )
+
+ def test_declared_repository_accepts_files_but_not_forks_or_lookalikes(self):
+ case = {
+ "anchors": ["https://github.com/deepseek-ai/deepseek-harness"],
+ "repositories": ["deepseek-ai/deepseek-harness"],
+ }
+ self.assertEqual(
+ evaluate(
+ case,
+ [
+ result(
+ "https://github.com/deepseek-ai/DeepSeek-Harness/blob/master/README.md?plain=1"
+ )
+ ],
+ )["anchor_hit_10"],
+ 1,
+ )
+ for url in [
+ "https://github.com/other/deepseek-harness",
+ "https://github.com/deepseek-ai/deepseek-harness-fake",
+ "https://github.com.evil.org/deepseek-ai/deepseek-harness",
+ ]:
+ self.assertEqual(evaluate(case, [result(url)])["anchor_hit_10"], 0)
+
+ def test_reference_url_without_entity_contract_stays_exact(self):
+ case = {"anchors": ["https://arxiv.org/abs/2504.13128"]}
+ self.assertEqual(
+ evaluate(case, [result("https://arxiv.org/pdf/2504.13128")])["anchor_hit_10"], 0
+ )
+
+
+class ConstraintOutcomeScenarios(unittest.TestCase):
+ def test_partial_domain_leak_fails_but_web_source_preference_is_not_a_filter(self):
+ from harness.web_search.core import classify
+
+ case = {"family": "site", "domains": ["example.org"]}
+ results = [result("https://a.example.org/"), result("https://outside.org/")]
+ row = dict(http_status=200, error="", results=results, metrics=evaluate(case, results))
+ self.assertEqual(classify(case, row), ("fail", "domain_mismatch"))
+ self.assertEqual(classify({**case, "family": "web"}, row), ("probe", "probe"))
+
+ def test_empty_and_api_failure_stay_distinct(self):
+ from harness.web_search.core import classify
+
+ row = dict(http_status=200, error="", results=[], metrics=evaluate({}, []))
+ self.assertEqual(classify({"family": "web"}, row), ("fail", "empty"))
+ self.assertEqual(
+ classify({"family": "web"}, {**row, "http_status": 503}), ("fail", "api_error")
+ )
diff --git a/tests/web_search/test_simpleqa.py b/tests/web_search/test_simpleqa.py
new file mode 100644
index 000000000..ad5d37b31
--- /dev/null
+++ b/tests/web_search/test_simpleqa.py
@@ -0,0 +1,44 @@
+import unittest
+
+from harness.web_search.simpleqa import sample_cases, sampled_profile
+
+
+CSV = b"""original_index,problem,answer,topic,answer_type,multi_step,requires_reasoning,urls
+1,First question?,One,Topic,Text,False,False,https://one.test/a)
+2,Second question?,Two,Topic,Text,True,False,"https://en.test/wiki/Person_(artist),junkhttps://two.test/b),https://two.test/c)"
+3,Third question?,Three,Topic,Text,False,True,https://three.test/a)
+"""
+
+
+class SimpleQASampleScenarios(unittest.TestCase):
+ def test_fixed_seed_is_reproducible_and_keeps_questions_unchanged(self):
+ first = sample_cases(CSV, size=2, seed=7)
+ second = sample_cases(CSV, size=2, seed=7)
+ self.assertEqual(first, second)
+ self.assertTrue(all(case["query"].endswith("?") for case in first))
+ self.assertTrue(all(url.count("(") >= url.count(")") for case in first for url in case["reference_urls"]))
+ all_urls = [url for case in first for url in case["reference_urls"]]
+ if any("en.test" in url for url in all_urls):
+ self.assertIn("https://en.test/wiki/Person_(artist)", all_urls)
+ self.assertIn("https://two.test/b", all_urls)
+
+ def test_profile_uses_only_common_serp_modes(self):
+ template = {
+ "title": "old",
+ "methods": [{"id": value} for value in (
+ "lexmount", "deepseek", "bocha", "deepseek-content", "bocha-summary"
+ )],
+ "protocol": {},
+ }
+ profile = sampled_profile(template, CSV, size=2, seed=9)
+ self.assertEqual([m["id"] for m in profile["methods"]], ["lexmount", "deepseek", "bocha"])
+ self.assertEqual(profile["protocol"]["sample"]["population"], 1000)
+ self.assertIn("no model judge", profile["protocol"]["quality"])
+
+ def test_invalid_sample_size_is_rejected(self):
+ with self.assertRaises(ValueError):
+ sample_cases(CSV, size=4, seed=1)
+
+
+if __name__ == "__main__":
+ unittest.main()
From 515c0d83ab9460cdbc4ae00c78540e2b88fcc3eb Mon Sep 17 00:00:00 2001
From: lanyue-llk <270302213+lanyue-llk@users.noreply.github.com>
Date: Wed, 21 Oct 2026 17:19:50 +0800
Subject: [PATCH 02/44] fix: satisfy repository lint gate
---
harness/web_search/report.py | 1 -
tests/web_search/test_report_selection.py | 2 --
2 files changed, 3 deletions(-)
diff --git a/harness/web_search/report.py b/harness/web_search/report.py
index 4ca99c7cc..862a24f5f 100644
--- a/harness/web_search/report.py
+++ b/harness/web_search/report.py
@@ -4,7 +4,6 @@
import copy
import html
import json
-import math
import posixpath
import re
from collections import Counter
diff --git a/tests/web_search/test_report_selection.py b/tests/web_search/test_report_selection.py
index c9183aad1..82f93ad6a 100644
--- a/tests/web_search/test_report_selection.py
+++ b/tests/web_search/test_report_selection.py
@@ -1,8 +1,6 @@
"""Reader-selected API versions retain complete query populations and evidence."""
import copy
import json
-from pathlib import Path
-
import pytest
from bs4 import BeautifulSoup
From fc650a96e5a5d2b1daaf94a137ee2b4312aa902d Mon Sep 17 00:00:00 2001
From: lanyue-llk <270302213+lanyue-llk@users.noreply.github.com>
Date: Wed, 21 Oct 2026 18:00:07 +0800
Subject: [PATCH 03/44] fix: clarify search report evaluation scopes
---
.github/workflows/ci.yml | 18 +-------
README.md | 6 +--
docs/README.zh-CN.md | 6 +--
evaluation/web-search/current-report.json | 2 +-
evaluation/web-search/publication-target.json | 16 +++----
harness/web_search/comparison.py | 42 ++++++++++++++++---
harness/web_search/report.py | 2 +-
tests/web_search/test_comparison.py | 19 +++++++--
8 files changed, 69 insertions(+), 42 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 4aeb153d6..ec68840c2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -10,24 +10,8 @@ on:
pull_request:
jobs:
- base-python:
- name: Base CLI / Python ${{ matrix.python }}
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- python: ["3.12", "3.13", "3.14"]
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-python@v5
- with:
- python-version: ${{ matrix.python }}
- - uses: astral-sh/setup-uv@v6
- with:
- version: "0.7.8"
- - run: uv sync --frozen --python "${{ matrix.python }}" --extra test
- - run: uv run --frozen --python "${{ matrix.python }}" --no-sync python -m pytest tests/test_portable_cli.py tests/test_cli_scope.py tests/test_web_fetch_quickstart.py tests/test_public_report_language.py -q
test:
+ name: Python 3.11
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
diff --git a/README.md b/README.md
index 740f8cf92..328de0be1 100644
--- a/README.md
+++ b/README.md
@@ -77,7 +77,7 @@ The Web Fetch CLI takes a dataset file. Replay and Browser Use have separate run
## Quickstart
-Clone the repository, open a terminal in its root, and install [uv](https://docs.astral.sh/uv/getting-started/installation/). The base CLI supports Python 3.11–3.14; repository development defaults to 3.11.
+Clone the repository, open a terminal in its root, and install [uv](https://docs.astral.sh/uv/getting-started/installation/). Python 3.11 or newer is required; repository development and CI use Python 3.11.
```bash
uv sync --frozen
@@ -90,9 +90,9 @@ Open the report path printed in the terminal. This offline example needs no brow
Next, [run HTTP, Moli or Chromium against a local article](examples/web_fetch/README.md). That guide covers browser installation, selecting several methods and choosing your own tasks. Remote services and Agent runs need their own accounts; their calls may incur charges.
-Choose another Python version or install an optional adapter
+Python runtime and optional adapters
-To use Python 3.12, add `--python 3.12` to both `uv sync --frozen` and subsequent `uv run --frozen` commands. Optional adapters and historical experiments have additional version constraints; the full development environment uses 3.11.
+Use Python 3.11 for the repository's tested development environment. Optional adapters and historical experiments may add their own constraints.
| Extra | Used for |
| --- | --- |
diff --git a/docs/README.zh-CN.md b/docs/README.zh-CN.md
index 086432e50..6787a5496 100644
--- a/docs/README.zh-CN.md
+++ b/docs/README.zh-CN.md
@@ -77,7 +77,7 @@ Web Fetch CLI 使用数据集文件;轨迹重放和 Browser Use 使用各自
## 快速开始
-克隆仓库,在根目录打开终端,安装 [uv](https://docs.astral.sh/uv/getting-started/installation/)。基础 CLI 支持 Python 3.11–3.14,仓库开发默认使用 3.11。
+克隆仓库,在根目录打开终端,安装 [uv](https://docs.astral.sh/uv/getting-started/installation/)。项目要求 Python 3.11 或更高版本;仓库开发与 CI 统一使用 Python 3.11。
```bash
uv sync --frozen
@@ -90,9 +90,9 @@ uv run --frozen browser-harness-eval run --delay 0
接下来,可以[用 HTTP、Moli 或 Chromium 抓取本地文章](../examples/web_fetch/README.md)。说明中包含浏览器安装、多方法比较和自选任务。远程服务和 Agent 运行需要相应账户,调用可能产生费用。
-选择其他 Python 版本或安装可选适配器
+Python 运行环境与可选适配器
-使用 Python 3.12 时,在 `uv sync --frozen` 和后续 `uv run --frozen` 命令中都加上 `--python 3.12`。可选适配器和历史实验另有版本要求,完整开发环境使用 3.11。
+仓库测试过的开发环境使用 Python 3.11。可选适配器和历史实验可能有额外限制。
| 额外依赖 | 用途 |
| --- | --- |
diff --git a/evaluation/web-search/current-report.json b/evaluation/web-search/current-report.json
index 645b69e47..a51c90826 100644
--- a/evaluation/web-search/current-report.json
+++ b/evaluation/web-search/current-report.json
@@ -5,7 +5,7 @@
"host": "https://artifact-site.lexmount.cn",
"state": "update-private-artifact",
"slug": "W3MxzlJuPRl6",
- "expected_version": "ver_f5a6b8253cf240998915e60a75087817"
+ "expected_version": "ver_cd19ebc7531d4ee09868c48987c0b3b6"
},
"protocol": {
"top_k": 5,
diff --git a/evaluation/web-search/publication-target.json b/evaluation/web-search/publication-target.json
index c7cd2e29f..7ab427268 100644
--- a/evaluation/web-search/publication-target.json
+++ b/evaluation/web-search/publication-target.json
@@ -2,10 +2,10 @@
"base_url": "https://artifact-site.lexmount.cn",
"slug": "W3MxzlJuPRl6",
"url": "https://artifact-site.lexmount.cn/s/W3MxzlJuPRl6",
- "versionId": "ver_ea325d46a4f04cfea2c8d2fb618636bd",
+ "versionId": "ver_cd19ebc7531d4ee09868c48987c0b3b6",
"visibility": "private",
- "previous_version": "ver_0cf0f00b6261495e88e2bded36368699",
- "archive_sha256": "6a0b3ea86ed240f29246daa5e3ff9a9bf8c640d30a3be354e8da9140dac5cd7e",
+ "previous_version": "ver_ea325d46a4f04cfea2c8d2fb618636bd",
+ "archive_sha256": "06f62da706b164a35197516f9bd5815225eaa4b0249188729fae8d593d4cd0fd",
"schema": "web-search-publication/1",
"published_at": "2026-10-21",
"report_kind": "three-provider-top-five-comparison",
@@ -33,19 +33,19 @@
},
"report_manifest": {
"path": "web-search/20261021-search-api-three-provider-report/report/manifest.json",
- "sha256": "3e3590a20c162a3cc4041690028a1002df35ee587c0250e57c141da6171f16a2"
+ "sha256": "afd32939e8df59a13e10204f1f6bbbd9bab82197cc261a651c2b4d1448734f93"
},
"content": {
"path": "web-search/20261021-search-api-three-provider-report/reader-content.json",
"sha256": "b653137decc351ee903adc8e208aa89c378d0e5080033f2602d96f55234ae89a"
},
"visual_acceptance": {
- "path": "web-search/20261021-search-api-three-provider-report/visual/release.json",
- "sha256": "e643460634e4da73d041f091fd494be9d7daf32c57951ddfa4e7070578260bba"
+ "path": "web-search/20261021-search-api-three-provider-report/visual-final/release.json",
+ "sha256": "2709fc726946d455fa738630643a01659a406ab798b407fb7793c4e8cac540e1"
},
"delivery_index": {
- "path": "web-search/20261021-search-api-three-provider-report/delivery/delivery-index.json",
- "sha256": "351653bec51b1ec381fbe40596d24a0999053e3b5ad338b8615f1a6d5615ec71"
+ "path": "web-search/20261021-search-api-three-provider-report/delivery-final/delivery-index.json",
+ "sha256": "1d7ffc0e32199201673a41f79bdd683b0c604ae86a0b9d103aa9c783cce52b2b"
},
"reference_additions": {
"path": "web-search/20261021-search-api-three-provider-report/scenario-additions.json",
diff --git a/harness/web_search/comparison.py b/harness/web_search/comparison.py
index ed1afd988..3f37a1260 100644
--- a/harness/web_search/comparison.py
+++ b/harness/web_search/comparison.py
@@ -12,11 +12,27 @@ def acceptance(case, row, metric="source"):
"""Return a scoped binary check, never turn an unlabelled query into failure."""
if row is None:
return None
+ if metric == "primary":
+ if "reference_answer" in case:
+ metric = "answer"
+ elif case.get("anchors"):
+ metric = "source"
+ elif case.get("domains"):
+ metric = "site"
+ else:
+ metric = "availability"
if metric == "answer":
key = "answer_in_delivered_text_5" if "reference_answer" in case else None
elif metric == "source":
key = ("labeled_source_hit_5" if case.get("reference_urls") else
"anchor_hit_5" if case.get("anchors") else None)
+ elif metric == "site":
+ value = row.get("metrics", {}).get("domain_precision")
+ if value is None and row.get("metrics", {}).get("result_count") == 0:
+ return False
+ return value > 0 if value is not None else None
+ elif metric == "availability":
+ return bool(row.get("results"))
else:
raise ValueError("Unknown comparison metric")
value = row.get("metrics", {}).get(key) if key else None
@@ -99,19 +115,28 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
for field, limit in (("title", 180), ("snippet", 320),
("summary", None), ("content", 480))}})
outputs[method["id"]] = {
+ "primary": acceptance(case, row, "primary"),
"source": acceptance(case, row), "answer": acceptance(case, row, "answer"),
+ "site": acceptance(case, row, "site"),
+ "availability": acceptance(case, row, "availability"),
"items": items, "count": len(row.get("results", [])),
"error": str(row.get("error") or "")[:200],
"detail": detail_link(row) if detail_link else "details/" + row["id"] + ".html",
}
+ benchmark = "factual" if "reference_answer" in case else "custom"
+ check_types = (["factual"] if benchmark == "factual" else
+ (["target"] if case.get("anchors") else []) +
+ (["site"] if case.get("domains") else []))
+ if not check_types:
+ check_types = ["availability"]
cases.append({"id": case["id"], "query": case["query"],
- "cohort": "factual" if "reference_answer" in case else "scenario",
+ "benchmark": benchmark, "check_types": check_types,
"outputs": outputs})
populations = profile.get("comparison_populations")
if not populations:
populations = [
{"id": "overall", "label": {"en": "All tasks", "zh": "总体"}, "case_ids": [c["id"] for c in cases]},
- {"id": "factual", "label": {"en": "Public factual questions", "zh": "公开事实题"}, "case_ids": [c["id"] for c in cases if c["cohort"] == "factual"]},
+ {"id": "factual", "label": {"en": "Public factual questions", "zh": "公开事实题"}, "case_ids": [c["id"] for c in cases if c["benchmark"] == "factual"]},
{"id": "reference", "label": {"en": "Reference-page questions", "zh": "参考网页题"}, "case_ids": [c["id"] for c in profile["cases"] if c.get("anchors") and "reference_answer" not in c]},
]
ids = {c["id"] for c in cases}
@@ -134,7 +159,7 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
let page=0,relationPage=0,focusedId=null;const size=3,relationSize=10;
const selected=()=>[...root.querySelectorAll('[data-compare-method]:checked')].map(x=>x.value).filter(x=>x!==$('[data-compare-baseline]').value);
const relation=(base,others)=>{if(base==null||!others.length||others.some(v=>v==null))return 'unknown';if(base&&others.every(Boolean))return 'all_pass';if(base&&others.every(v=>!v))return 'baseline_only';if(!base&&others.every(Boolean))return 'comparison_only';if(!base&&others.every(v=>!v))return 'all_fail';return 'mixed'};
-function matching(){let q=$('[data-output-query]').value.toLowerCase(),scope=new Set(data.populations.find(p=>p.id===$('[data-output-cohort]').value).case_ids);return data.cases.filter(c=>scope.has(c.id)&&(!focusedId||c.id===focusedId)&&(!q||c.query.toLowerCase().includes(q)||c.id.toLowerCase().includes(q)))}
+function matching(){let q=$('[data-output-query]').value.toLowerCase(),benchmark=$('[data-output-benchmark]').value,check=$('[data-output-check]').value;return data.cases.filter(c=>(benchmark==='all'||c.benchmark===benchmark)&&(check==='all'||c.check_types.includes(check))&&(!focusedId||c.id===focusedId)&&(!q||c.query.toLowerCase().includes(q)||c.id.toLowerCase().includes(q)))}
function render(){root.querySelectorAll('[data-compare-method]').forEach(x=>x.disabled=x.value===$('[data-compare-baseline]').value);let cases=matching(),metric=$('[data-compare-metric]').value,base=$('[data-compare-baseline]').value,others=selected(),counts={},matches=[];for(let c of cases){let r=relation(c.outputs[base]?.[metric],others.map(m=>c.outputs[m]?.[metric]));counts[r]=(counts[r]||0)+1;if($('[data-compare-relation]').value==='all'||r===$('[data-compare-relation]').value)matches.push(c)}
$('[data-comparison-counts]').innerHTML=Object.keys(L.relations).map(k=>''+esc(L.relations[k])+': '+(counts[k]||0)+' ').join('');
relationPage=Math.min(relationPage,Math.max(0,Math.ceil(matches.length/relationSize)-1));
@@ -175,11 +200,18 @@ def render_comparison(profile, selected_rows, zh, detail_link=None):
"answerField": t("contains answer cue", "包含答案线索"), "tasks": t("tasks", "题")}
options = lambda values: ''.join(f'{e(v)} ' for k, v in values)
methods = [(m["id"], m["label"]) for m in data["methods"]]
+ custom_count = sum(c["benchmark"] == "custom" for c in data["cases"])
+ factual_count = sum(c["benchmark"] == "factual" for c in data["cases"])
+ benchmark_options = [
+ ("all", t(f"Both benchmarks · {len(data['cases'])}", f"两套评测 · {len(data['cases'])}")),
+ ("custom", t(f"In-house scenarios · {custom_count}", f"自建场景集 · {custom_count}")),
+ ("factual", t(f"SimpleQA retrieval diagnostic · {factual_count}", f"SimpleQA 检索诊断 · {factual_count}")),
+ ]
return (''
- + '' + t('Find a query', '搜索题目') + ' ' + t('Dataset', '题库范围') + '' + options([(p['id'], p['label'] + ' · ' + str(len(p['case_ids']))) for p in data['populations']]) + '
'
+ + '' + t('Find a query', '搜索题目') + ' ' + t('Benchmark', '评测集') + '' + options(benchmark_options) + ' ' + t('Task check', '题型与检查') + '' + options([('all', t('All task types', '全部题型')), ('target', t('Reference-page discovery', '目标网页发现')), ('site', t('Requested-site constraint', '指定网站约束')), ('availability', t('Open discovery availability', '开放探索可用性')), ('factual', t('Factual evidence', '事实证据'))]) + '
'
+ '' + t('Compare methods on the same tasks', '同一道题,各方法是否命中') + ' '
+ t('Source checks use independently identified reference pages or published supporting sources. Answer checks use all delivered text before benchmark-mirror exclusion, including explicitly accepted answer variants; they do not judge factual correctness. Unlabelled tasks remain unscored.', '来源检查核对独立参考网页或题库标注来源;答案检查使用全部交付文本及明确允许的答案变体,尚未排除题库镜像,不判断事实正确性。没有标注的题目不计为失败。')
- + '
' + t('Check', '检查项目') + '' + options([('source', t('Target / supporting source found', '目标网页/标注来源命中')), ('answer', t('Answer cue in delivered text · raw', '答案线索命中 · 原始结果'))]) + ' ' + t('Baseline', '基准方法') + '' + options(methods) + '
' + t('Compare with', '对比方法') + ' '
+ + '
' + t('Check', '检查项目') + '' + options([('primary', t('Primary check for each task type', '按题型使用主要检查')), ('source', t('Reference target / published source', '目标网页/标注来源')), ('answer', t('Answer cue in delivered text · raw', '返回文字中的答案线索')), ('site', t('Requested-site constraint', '指定网站约束')), ('availability', t('Nonempty response', '非空响应'))]) + ' ' + t('Baseline', '基准方法') + '' + options(methods) + '
' + t('Compare with', '对比方法') + ' '
+ ''.join(' ' + e(v) + ' ' for k,v in methods)
+ '
' + t('Show tasks where', '查看题目') + '' + options([('all', t('All outcome relations', '全部结果'))] + list(labels['relations'].items())) + '
'
+ '
' + t('Actual outputs, side by side', '逐题查看实际输出') + ' ' + t('The dataset, query, check, providers and outcome filters above also control this view. Each column shows the first five results. Page summaries are complete; page bodies remain compact previews. Green marks identify the exact reference-page or answer-cue check, not a semantic correctness judgment.', '上方的题库、题目、检查项目、方法和命中状态会同步筛选这里。每列展示前 5 条结果,长摘要完整显示,网页正文保留节选。绿色只表示该条命中参考网页或该字段含答案线索,不代表整条结果语义正确。') + '
'
diff --git a/harness/web_search/report.py b/harness/web_search/report.py
index 862a24f5f..b27b6c22f 100644
--- a/harness/web_search/report.py
+++ b/harness/web_search/report.py
@@ -1858,7 +1858,7 @@ def t(en, cn):
)
return (
"
"
- + t("One evaluation, with query-group breakdowns", "一份总评测,按题目分项查看")
+ + t("Independent benchmarks, with separate collection cohorts", "两套评测,按采集批次分别查看")
+ " "
+ t(
f"{len(profile['cases'])} queries and {len(rows)} calls from {len(groups)} separately collected complete batches. The rows below preserve each collection separately; do not infer a new same-window speed trial from their combined count. Target-page hits are calculated only for queries with declared targets.",
diff --git a/tests/web_search/test_comparison.py b/tests/web_search/test_comparison.py
index d85ca396d..65b5e1747 100644
--- a/tests/web_search/test_comparison.py
+++ b/tests/web_search/test_comparison.py
@@ -28,6 +28,9 @@ def test_scoped_acceptance_keeps_unlabelled_and_missing_unknown():
assert acceptance(p["cases"][2], rows[6]) is None
assert acceptance(p["cases"][0], None) is None
assert acceptance(p["cases"][0], rows[0], "answer") is None
+ assert acceptance(p["cases"][0], rows[0], "primary") is True
+ assert acceptance(p["cases"][1], rows[3], "primary") is True
+ assert acceptance(p["cases"][2], rows[6], "primary") is True
@pytest.mark.parametrize("base,other,expected", [
@@ -94,8 +97,9 @@ def test_reader_labels_state_what_was_found_and_full_summary_scope():
assert "上方的题库、题目、检查项目、方法和命中状态会同步筛选这里" in page
-def test_declared_population_filters_are_shared_and_exact():
+def test_benchmark_and_task_type_filters_are_separate():
p, rows = matrix()
+ p["cases"][0]["domains"] = ["example.org"]
p["comparison_populations"] = [
{"id": "overall", "label": {"en": "Overall", "zh": "总体"}, "case_ids": ["target", "fact", "probe"]},
{"id": "factual", "label": {"en": "Factual", "zh": "事实"}, "case_ids": ["fact"]},
@@ -103,12 +107,19 @@ def test_declared_population_filters_are_shared_and_exact():
]
page = render_comparison(p, rows, True)
dom = BeautifulSoup(page, "html.parser")
- assert [o.text for o in dom.select("[data-output-cohort] option")] == ["总体 · 3", "事实 · 1", "参考 · 1"]
- assert len(dom.select("[data-output-cohort]")) == 1
- assert page.index("data-output-cohort") < page.index("
")
+ assert [o.text for o in dom.select("[data-output-benchmark] option")] == [
+ "两套评测 · 3", "自建场景集 · 2", "SimpleQA 检索诊断 · 1"
+ ]
+ assert [o.text for o in dom.select("[data-output-check] option")] == [
+ "全部题型", "目标网页发现", "指定网站约束", "开放探索可用性", "事实证据"
+ ]
+ assert page.index("data-output-benchmark") < page.index("")
assert dom.select_one("[data-relation-prev]") and dom.select_one("[data-relation-next]")
data = json.loads(dom.select_one("[data-comparison-data]").string)
assert data["populations"][2]["case_ids"] == ["target"]
+ assert data["cases"][0]["benchmark"] == "custom"
+ assert data["cases"][0]["check_types"] == ["target", "site"]
+ assert data["cases"][1]["benchmark"] == "factual"
p["comparison_populations"][2]["case_ids"] = ["missing"]
with pytest.raises(ValueError, match="unknown tasks"):
comparison_data(p, rows)
From b016c8b81f6839c1f918e2d7760a625655ad78dc Mon Sep 17 00:00:00 2001
From: lanyue-llk <270302213+lanyue-llk@users.noreply.github.com>
Date: Wed, 21 Oct 2026 18:12:50 +0800
Subject: [PATCH 04/44] fix: honor local report language configuration across
builds
---
.env.example | 3 ++-
harness/report_languages.py | 18 ++++++++++++++----
harness/web_search/report.py | 3 ++-
tests/test_report_languages.py | 21 +++++++++++++++++++++
4 files changed, 39 insertions(+), 6 deletions(-)
diff --git a/.env.example b/.env.example
index 035f1b677..a90ba1a09 100644
--- a/.env.example
+++ b/.env.example
@@ -60,7 +60,8 @@ ARTIFACT_SITE_TOKEN=
# Set explicitly in the environment for both report build and packaging.
WEBFETCH_REPORT_PUBLIC_URL=
-# Public report language. Agents set this from the conversation language.
+# Local report default, read automatically; exported environment overrides this.
+# Agents pass --language from the conversation language unless the user specifies it.
# The code fallback is English when this variable is absent.
BROWSER_EVAL_REPORT_LANGUAGE=
diff --git a/harness/report_languages.py b/harness/report_languages.py
index 9b4df179f..87d472142 100644
--- a/harness/report_languages.py
+++ b/harness/report_languages.py
@@ -10,13 +10,18 @@
SUPPORTED_REPORT_LANGUAGES = ("en", "zh")
REPORT_PAGE_MARKER = ' '
REPORT_LANGUAGE_ENV = "BROWSER_EVAL_REPORT_LANGUAGE"
+REPORT_LANGUAGE_ENV_FILE = Path(__file__).resolve().parents[1] / ".env"
def configured_report_language(
*, supported: tuple[str, ...] = SUPPORTED_REPORT_LANGUAGES
) -> str:
"""Return the environment-selected language, or the public English default."""
+ from dotenv import dotenv_values
+
configured = os.environ.get(REPORT_LANGUAGE_ENV)
+ if configured is None:
+ configured = dotenv_values(REPORT_LANGUAGE_ENV_FILE).get(REPORT_LANGUAGE_ENV)
selected = configured.strip().lower() if configured else "en"
if selected not in supported:
if configured:
@@ -48,8 +53,9 @@ def language_metadata_path(root: Path) -> Path:
def primary_report_language(root: Path, *, default: str | None = None) -> str:
path = language_metadata_path(root)
value = json.loads(path.read_text()) if path.is_file() else {}
- fallback = default or configured_report_language()
- language = value.get("primary_language", "zh" if value else fallback)
+ language = value.get("primary_language", "zh") if value else (
+ default or configured_report_language()
+ )
if language not in SUPPORTED_REPORT_LANGUAGES:
raise ValueError("Unsupported primary report language; choose en or zh")
return language
@@ -58,8 +64,12 @@ def primary_report_language(root: Path, *, default: str | None = None) -> str:
def resolve_report_language(root: Path, language: str | None = None, *,
supported: tuple[str, ...] = SUPPORTED_REPORT_LANGUAGES) -> str:
"""Prefer explicit choice, then saved choice, then the renderer's default."""
- fallback = configured_report_language(supported=supported)
- selected = language if language is not None else primary_report_language(root, default=fallback)
+ if language is not None:
+ selected = language
+ elif language_metadata_path(root).is_file():
+ selected = primary_report_language(root)
+ else:
+ selected = configured_report_language(supported=supported)
if selected not in supported:
raise ValueError(f"This report supports only {', '.join(supported)}; requested {selected}")
return selected
diff --git a/harness/web_search/report.py b/harness/web_search/report.py
index b27b6c22f..0f84383ba 100644
--- a/harness/web_search/report.py
+++ b/harness/web_search/report.py
@@ -1688,7 +1688,8 @@ def main(argv=None):
language = args.language
if language is None and (args.output / "manifest.json").exists():
language = json.loads((args.output / "manifest.json").read_text())["primary_language"]
- print(build_reference(args.output, args.reference_content, language or "en"))
+ from harness.report_languages import configured_report_language
+ print(build_reference(args.output, args.reference_content, language or configured_report_language()))
return
if args.release_check:
release_check(args.output, args.release_check)
diff --git a/tests/test_report_languages.py b/tests/test_report_languages.py
index 4f02538b9..06ddc214f 100644
--- a/tests/test_report_languages.py
+++ b/tests/test_report_languages.py
@@ -11,6 +11,24 @@
)
+@pytest.fixture(autouse=True)
+def isolated_language_config(tmp_path, monkeypatch):
+ monkeypatch.setattr("harness.report_languages.REPORT_LANGUAGE_ENV_FILE", tmp_path / ".env")
+
+
+def test_local_language_setting_and_process_override(tmp_path, monkeypatch):
+ from harness.report_languages import configured_report_language, resolve_report_language
+ monkeypatch.delenv("BROWSER_EVAL_REPORT_LANGUAGE", raising=False)
+ assert configured_report_language() == "en"
+ (tmp_path / ".env").write_text("BROWSER_EVAL_REPORT_LANGUAGE=zh\n")
+ assert configured_report_language() == "zh"
+ monkeypatch.setenv("BROWSER_EVAL_REPORT_LANGUAGE", "en")
+ assert configured_report_language() == "en"
+ assert resolve_report_language(tmp_path, "zh") == "zh"
+ monkeypatch.setenv("BROWSER_EVAL_REPORT_LANGUAGE", "invalid")
+ assert resolve_report_language(tmp_path, "zh") == "zh"
+
+
@pytest.mark.parametrize("supported", [("en", "zh"), ("zh",)])
@pytest.mark.parametrize("saved", [None, "en", "zh", "legacy"])
@pytest.mark.parametrize("requested", [None, "en", "zh"])
@@ -137,6 +155,9 @@ def test_environment_changes_new_report_default_without_overriding_saved_choice(
select_report_language(tmp_path, "zh")
monkeypatch.setenv("BROWSER_EVAL_REPORT_LANGUAGE", "en")
assert primary_report_language(tmp_path) == "zh"
+ monkeypatch.setenv("BROWSER_EVAL_REPORT_LANGUAGE", "invalid")
+ from harness.report_languages import resolve_report_language
+ assert resolve_report_language(tmp_path) == "zh"
def test_invalid_environment_language_fails_early(tmp_path, monkeypatch):
From aaf2d1b5bf5bee5d47efeb224f135b49cd694dad Mon Sep 17 00:00:00 2001
From: lanyue-llk <270302213+lanyue-llk@users.noreply.github.com>
Date: Wed, 21 Oct 2026 18:17:50 +0800
Subject: [PATCH 05/44] fix: expose search verdict criteria and reference
evidence
---
harness/web_search/comparison.py | 33 ++++++++++++++++++++++++-----
tests/web_search/test_comparison.py | 21 +++++++++++++++++-
2 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/harness/web_search/comparison.py b/harness/web_search/comparison.py
index 3f37a1260..f3a74a944 100644
--- a/harness/web_search/comparison.py
+++ b/harness/web_search/comparison.py
@@ -5,7 +5,7 @@
import re
from urllib.parse import urlsplit
-from .core import evaluate, factual_evidence
+from .core import evaluate, factual_evidence, in_domain
def acceptance(case, row, metric="source"):
@@ -20,13 +20,15 @@ def acceptance(case, row, metric="source"):
elif case.get("domains"):
metric = "site"
else:
- metric = "availability"
+ return None
if metric == "answer":
key = "answer_in_delivered_text_5" if "reference_answer" in case else None
elif metric == "source":
key = ("labeled_source_hit_5" if case.get("reference_urls") else
"anchor_hit_5" if case.get("anchors") else None)
elif metric == "site":
+ if not case.get("domains"):
+ return None
value = row.get("metrics", {}).get("domain_precision")
if value is None and row.get("metrics", {}).get("result_count") == 0:
return False
@@ -111,6 +113,7 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
source_match, answer_fields = _item_checks(case, item)
items.append({"url": _url(item.get("url")),
"source_match": source_match, "answer_fields": answer_fields,
+ "site_match": any(in_domain(item.get("url", ""), d) for d in case.get("domains", [])),
**{field: _preview(item.get(field), limit)
for field, limit in (("title", 180), ("snippet", 320),
("summary", None), ("content", 480))}})
@@ -131,6 +134,12 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
check_types = ["availability"]
cases.append({"id": case["id"], "query": case["query"],
"benchmark": benchmark, "check_types": check_types,
+ "criteria": {"answer": case.get("reference_answer"),
+ "urls": [_url(u) for u in case.get("reference_urls", case.get("anchors", [])) if _url(u)],
+ "domains": case.get("domains", []),
+ "aliases": case.get("identity_aliases", {}),
+ "paper_ids": case.get("paper_ids", []),
+ "repositories": case.get("repositories", [])},
"outputs": outputs})
populations = profile.get("comparison_populations")
if not populations:
@@ -148,7 +157,7 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
STYLE = """
-.search-compare{margin:32px 0}.search-compare fieldset{min-width:0}.compare-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.compare-controls label{display:grid;gap:4px;font-size:14px}.compare-checks{display:flex;flex-wrap:wrap;gap:12px}.compare-checks label{display:flex;align-items:center;gap:5px}.compare-counts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.compare-counts span{padding:7px 12px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.compare-task{border:1px solid var(--line);border-radius:10px;margin:20px 0;overflow:hidden;background:var(--panel)}.compare-task h3{margin:0;padding:16px;border-bottom:1px solid var(--line);font-size:18px}.compare-columns{display:grid;grid-template-columns:repeat(var(--method-count),minmax(240px,1fr));overflow-x:auto}.compare-method{padding:16px;min-width:0;border-right:1px solid var(--line)}.compare-method:last-child{border-right:0}.compare-method h4{margin:0 0 10px;font-size:17px}.compare-result{padding:12px 0;border-top:1px solid var(--line)}.compare-result p{font-size:14px;margin:6px 0}.compare-result a{display:block;font-size:14px;overflow-wrap:anywhere}.compare-result summary{cursor:pointer;font-size:13px}.compare-result details p{max-height:280px;overflow:auto;white-space:pre-wrap}.compare-url{color:var(--muted);font-size:12px!important}.compare-status{font-size:13px;color:var(--muted)}.compare-match{border-left:4px solid var(--win);padding-left:8px}.compare-match-note{color:var(--win);font-size:12px;font-weight:700}.compare-pager{display:flex;align-items:center;gap:14px;justify-content:center}.compare-notice{font-size:14px;color:var(--muted)}.compare-relations{height:410px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:14px 0}.compare-relations table{width:100%;border-collapse:collapse;min-width:650px}.compare-relations th,.compare-relations td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.compare-relations th{position:sticky;top:0;background:var(--panel)}.compare-relations td:first-child{min-width:240px;max-width:430px}.compare-relations td button{text-align:left;font-size:14px;display:block}.compare-relations small{color:var(--muted)}.compare-pill{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:20px;font-size:13px;white-space:nowrap}.compare-pill.hit{color:var(--win)}.compare-pill.miss{color:var(--fg)}@media(max-width:650px){.compare-columns{grid-template-columns:repeat(var(--method-count),minmax(260px,1fr))}.compare-controls input{width:100%}}
+.search-compare{margin:32px 0}.search-compare fieldset{min-width:0}.compare-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.compare-controls label{display:grid;gap:4px;font-size:14px}.compare-checks{display:flex;flex-wrap:wrap;gap:12px}.compare-checks label{display:flex;align-items:center;gap:5px}.compare-counts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.compare-counts span{padding:7px 12px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.compare-task{border:1px solid var(--line);border-radius:10px;margin:20px 0;overflow:hidden;background:var(--panel)}.compare-criteria{padding:16px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.compare-criteria p{margin:6px 0}.compare-criteria a{display:block}.compare-task h3{margin:0;padding:16px;border-bottom:1px solid var(--line);font-size:18px}.compare-columns{display:grid;grid-template-columns:repeat(var(--method-count),minmax(240px,1fr));overflow-x:auto}.compare-method{padding:16px;min-width:0;border-right:1px solid var(--line)}.compare-method:last-child{border-right:0}.compare-method h4{margin:0 0 10px;font-size:17px}.compare-result{padding:12px 0;border-top:1px solid var(--line)}.compare-result p{font-size:14px;margin:6px 0}.compare-result a{display:block;font-size:14px;overflow-wrap:anywhere}.compare-result summary{cursor:pointer;font-size:13px}.compare-result details p{max-height:280px;overflow:auto;white-space:pre-wrap}.compare-url{color:var(--muted);font-size:12px!important}.compare-status{font-size:13px;color:var(--muted)}.compare-match{border-left:4px solid var(--win);padding-left:8px}.compare-match-note{color:var(--win);font-size:12px;font-weight:700}.compare-pager{display:flex;align-items:center;gap:14px;justify-content:center}.compare-notice{font-size:14px;color:var(--muted)}.compare-relations{height:410px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:14px 0}.compare-relations table{width:100%;border-collapse:collapse;min-width:650px}.compare-relations th,.compare-relations td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.compare-relations th{position:sticky;top:0;background:var(--panel)}.compare-relations td:first-child{min-width:240px;max-width:430px}.compare-relations td button{text-align:left;font-size:14px;display:block}.compare-relations small{color:var(--muted)}.compare-pill{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:20px;font-size:13px;white-space:nowrap}.compare-pill.hit{color:var(--win)}.compare-pill.miss{color:var(--fg)}@media(max-width:650px){.compare-columns{grid-template-columns:repeat(var(--method-count),minmax(260px,1fr))}.compare-controls input{width:100%}}
"""
SCRIPT = r"""
@@ -159,18 +168,21 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
let page=0,relationPage=0,focusedId=null;const size=3,relationSize=10;
const selected=()=>[...root.querySelectorAll('[data-compare-method]:checked')].map(x=>x.value).filter(x=>x!==$('[data-compare-baseline]').value);
const relation=(base,others)=>{if(base==null||!others.length||others.some(v=>v==null))return 'unknown';if(base&&others.every(Boolean))return 'all_pass';if(base&&others.every(v=>!v))return 'baseline_only';if(!base&&others.every(Boolean))return 'comparison_only';if(!base&&others.every(v=>!v))return 'all_fail';return 'mixed'};
+const effectiveMetric=(c,m)=>m==='primary'?(c.benchmark==='factual'?'answer':c.check_types.includes('target')?'source':c.check_types.includes('site')?'site':'unscored'):m;
+const verdict=(c,o,m)=>{const k=effectiveMetric(c,m),v=o?.[m];return v==null?L.unknown:L.verdicts[k][v?0:1]};
+const criteria=c=>{const x=c.criteria;return ''+esc(L.criteria)+' '+(x.answer!=null?'
'+esc(L.referenceAnswer)+': '+esc(x.answer)+'
':'')+(x.urls.length?'
'+esc(L.referenceUrls)+'
'+x.urls.map(u=>'
'+esc(u)+' ').join(''):'')+(x.domains.length?'
'+esc(L.requestedSites)+': '+x.domains.map(esc).join(', ')+'
':'')+((x.paper_ids.length||x.repositories.length||Object.keys(x.aliases).length)?'
'+esc(L.equivalents)+' '+esc(JSON.stringify({aliases:x.aliases,papers:x.paper_ids,repositories:x.repositories},null,2))+' ':'')+(!x.urls.length&&x.answer==null&&!x.domains.length?'
'+esc(L.unannotated)+'
':'')+'
'};
function matching(){let q=$('[data-output-query]').value.toLowerCase(),benchmark=$('[data-output-benchmark]').value,check=$('[data-output-check]').value;return data.cases.filter(c=>(benchmark==='all'||c.benchmark===benchmark)&&(check==='all'||c.check_types.includes(check))&&(!focusedId||c.id===focusedId)&&(!q||c.query.toLowerCase().includes(q)||c.id.toLowerCase().includes(q)))}
function render(){root.querySelectorAll('[data-compare-method]').forEach(x=>x.disabled=x.value===$('[data-compare-baseline]').value);let cases=matching(),metric=$('[data-compare-metric]').value,base=$('[data-compare-baseline]').value,others=selected(),counts={},matches=[];for(let c of cases){let r=relation(c.outputs[base]?.[metric],others.map(m=>c.outputs[m]?.[metric]));counts[r]=(counts[r]||0)+1;if($('[data-compare-relation]').value==='all'||r===$('[data-compare-relation]').value)matches.push(c)}
$('[data-comparison-counts]').innerHTML=Object.keys(L.relations).map(k=>''+esc(L.relations[k])+': '+(counts[k]||0)+' ').join('');
relationPage=Math.min(relationPage,Math.max(0,Math.ceil(matches.length/relationSize)-1));
const compared=data.methods.filter(m=>m.id===base||others.includes(m.id));
-$('[data-relation-tasks]').innerHTML=matches.length?' '+esc(L.query)+' '+compared.map(m=>''+esc(m.label)+' ').join('')+''+matches.slice(relationPage*relationSize,(relationPage+1)*relationSize).map(c=>''+esc(c.id)+' '+esc(c.query)+' '+compared.map(m=>{const o=c.outputs[m.id],v=o?.[metric],label=v==null?L.unknown:v?L.hit:L.miss;return ''+(o?''+esc(label)+' ':esc(L.missing))+' '}).join('')+' ').join('')+'
':''+esc(L.none)+'
';
+$('[data-relation-tasks]').innerHTML=matches.length?''+esc(L.query)+' '+compared.map(m=>''+esc(m.label)+' ').join('')+''+matches.slice(relationPage*relationSize,(relationPage+1)*relationSize).map(c=>''+esc(c.id)+' '+esc(c.query)+' '+compared.map(m=>{const o=c.outputs[m.id],v=o?.[metric],label=verdict(c,o,metric);return ''+(o?''+esc(label)+' ':esc(L.missing))+' '}).join('')+' ').join('')+'
':''+esc(L.none)+'
';
$('[data-relation-page]').textContent=(matches.length?relationPage+1:0)+' / '+Math.ceil(matches.length/relationSize)+' · '+matches.length+' '+L.tasks;
$('[data-relation-prev]').disabled=relationPage===0;$('[data-relation-next]').disabled=(relationPage+1)*relationSize>=matches.length;
root.querySelectorAll('[data-show-query]').forEach(b=>b.onclick=()=>{focusedId=b.dataset.showQuery;$('[data-output-query]').value=data.cases.find(c=>c.id===focusedId).query;page=0;relationPage=0;render();$('[data-output-pages]').scrollIntoView({block:'start',behavior:'smooth'})});
page=Math.min(page,Math.max(0,Math.ceil(matches.length/size)-1));
const field=(x,f,body)=>'<'+(f==='title'?'div':'p')+' class="'+(x.answer_fields?.[f]?'compare-match':'')+'">'+body+(x.answer_fields?.[f]?' · '+esc(L.answerField)+' ':'')+''+(f==='title'?'div':'p')+'>';
- $('[data-output-pages]').innerHTML=matches.slice(page*size,(page+1)*size).map(c=>''+esc(c.query)+' '+data.methods.map(m=>{let o=c.outputs[m.id];return '
'+esc(m.label)+' '+(o?''+esc(L.results)+': '+o.count+' · '+esc(o[metric]==null?L.unknown:o[metric]?L.hit:L.miss)+'
'+esc(L.full)+' '+(!o.items.length?''+esc(o.error||L.empty)+'
':o.items.map((x,i)=>''+(x.source_match?'
'+esc(L.sourceItem)+' ':'')+field(x,'title','
'+(i+1)+'. '+esc(x.title||x.url||L.untitled)+' ')+'
'+esc(x.url)+'
'+field(x,'snippet',esc(x.snippet))+['summary','content'].filter(f=>x[f]).map(f=>'
'+esc(L[f])+' '+field(x,f,esc(x[f]))+'').join('')+'
').join('')):''+esc(L.missing)+'
')+''}).join('')+'
').join('')||''+esc(L.none)+'
';
+ $('[data-output-pages]').innerHTML=matches.slice(page*size,(page+1)*size).map(c=>''+esc(c.query)+' '+criteria(c)+''+data.methods.map(m=>{let o=c.outputs[m.id];return '
'+esc(m.label)+' '+(o?''+esc(L.results)+': '+o.count+' · '+esc(verdict(c,o,metric))+'
'+esc(L.full)+' '+(!o.items.length?''+esc(o.error||L.empty)+'
':o.items.map((x,i)=>''+(x.source_match?'
'+esc(L.sourceItem)+' ':'')+(x.site_match?'
'+esc(L.siteItem)+' ':'')+field(x,'title','
'+(i+1)+'. '+esc(x.title||x.url||L.untitled)+' ')+'
'+esc(x.url)+'
'+field(x,'snippet',esc(x.snippet))+['summary','content'].filter(f=>x[f]).map(f=>'
'+esc(L[f])+' '+field(x,f,esc(x[f]))+'').join('')+'
').join('')):''+esc(L.missing)+'
')+''}).join('')+'
').join('')||''+esc(L.none)+'
';
$('[data-output-page]').textContent=(matches.length?page+1:0)+' / '+Math.ceil(matches.length/size)+' · '+matches.length+' '+L.tasks;
$('[data-output-prev]').disabled=page===0;$('[data-output-next]').disabled=(page+1)*size>=matches.length;
}
@@ -193,6 +205,17 @@ def render_comparison(profile, selected_rows, zh, detail_link=None):
t("Comparison methods disagree", "对比方法结果不同"), t("No comparable score", "无可比评分")), strict=True)),
"query": t("Task / query", "题目 / 查询"), "none": t("No matching tasks", "没有符合条件的题目"), "unknown": t("Unscored", "未设评分"),
"hit": t("Found", "命中"), "miss": t("Not found", "未命中"),
+ "criteria": t("What this question checks", "本题判断依据"),
+ "referenceAnswer": t("Dataset answer", "题库参考答案"),
+ "referenceUrls": t("Reference URLs: compare the first five result URLs", "参考网址:核对前 5 条结果的网址"),
+ "requestedSites": t("Required websites", "查询限定的网站"),
+ "equivalents": t("Accepted equivalent URLs and identifiers", "允许匹配的等价网址与标识"),
+ "unannotated": t("Relevance annotation is missing; a nonempty response only establishes availability.", "本题尚缺相关性标注;返回非空只说明接口可用。"),
+ "siteItem": t("Matches required website", "来自限定网站"),
+ "verdicts": {"source": [t("Reference URL found", "找到参考网址"), t("Reference URL absent from top 5", "前 5 条未找到参考网址")],
+ "answer": [t("Answer text found", "文字包含参考答案"), t("Answer text absent", "文字未包含参考答案")],
+ "site": [t("Required website found", "找到限定网站的结果"), t("Required website absent", "未找到限定网站的结果")],
+ "availability": [t("Nonempty response", "返回非空"), t("Empty response", "返回为空")]},
"results": t("Returned results", "返回条数"), "full": t("Open full response and evidence", "查看完整响应与证据"),
"empty": t("No results returned", "没有返回结果"), "missing": t("No measured result", "没有实测结果"),
"untitled": t("Untitled result", "无标题结果"), "summary": t("Full page summary", "完整长摘要"),
diff --git a/tests/web_search/test_comparison.py b/tests/web_search/test_comparison.py
index 65b5e1747..d7ba89acb 100644
--- a/tests/web_search/test_comparison.py
+++ b/tests/web_search/test_comparison.py
@@ -30,7 +30,7 @@ def test_scoped_acceptance_keeps_unlabelled_and_missing_unknown():
assert acceptance(p["cases"][0], rows[0], "answer") is None
assert acceptance(p["cases"][0], rows[0], "primary") is True
assert acceptance(p["cases"][1], rows[3], "primary") is True
- assert acceptance(p["cases"][2], rows[6], "primary") is True
+ assert acceptance(p["cases"][2], rows[6], "primary") is None
@pytest.mark.parametrize("base,other,expected", [
@@ -130,3 +130,22 @@ def test_source_home_directory_preview_preserves_original():
source = 'Traceback File /Users/example/project/file.py:4 error'
assert _preview(source, 320) == 'Traceback File [source path] error'
assert '/Users/example/' in source
+
+
+def test_reader_can_inspect_reference_answer_urls_and_site_without_opening_raw_json():
+ p, rows = matrix()
+ p["cases"][0]["domains"] = ["example.org"]
+ data = comparison_data(p, rows)
+ assert data["cases"][0]["criteria"]["urls"] == ["https://example.org/"]
+ assert data["cases"][0]["criteria"]["domains"] == ["example.org"]
+ assert data["cases"][1]["criteria"]["answer"] == "Ada"
+ assert data["cases"][1]["criteria"]["urls"] == ["https://example.org/ada"]
+ assert data["cases"][0]["outputs"]["a"]["items"][0]["site_match"] is True
+
+
+def test_empty_result_is_site_failure_only_when_query_restricts_sites():
+ row = {"results": [], "metrics": {"result_count": 0}}
+ assert acceptance({"domains": ["example.org"]}, row, "site") is False
+ assert acceptance({}, row, "site") is None
+ assert acceptance({}, row, "primary") is None
+ assert acceptance({}, row, "availability") is False
From 1445487ff7a52c02416476389d6392e0e8f632f0 Mon Sep 17 00:00:00 2001
From: lanyue-llk <270302213+lanyue-llk@users.noreply.github.com>
Date: Wed, 21 Oct 2026 18:44:41 +0800
Subject: [PATCH 06/44] fix: unify search relevance annotations and separate
report cohorts
---
.agents/skills/benchmark-report/SKILL.md | 7 ++
evaluation/web-search/publication-target.json | 4 +-
harness/web_search/README.md | 23 +++++
harness/web_search/comparison.py | 37 ++++---
harness/web_search/relevance.py | 98 ++++++++++++++++++-
harness/web_search/report.py | 89 +++++++++++++----
tests/web_search/test_comparison.py | 28 ++++++
tests/web_search/test_relevance.py | 78 ++++++++++++++-
tests/web_search/test_report.py | 47 ++++++---
tests/web_search/test_report_selection.py | 11 +++
10 files changed, 370 insertions(+), 52 deletions(-)
diff --git a/.agents/skills/benchmark-report/SKILL.md b/.agents/skills/benchmark-report/SKILL.md
index f065c396b..e7d4847c5 100644
--- a/.agents/skills/benchmark-report/SKILL.md
+++ b/.agents/skills/benchmark-report/SKILL.md
@@ -81,3 +81,10 @@ capacity-bound data attachments through the existing packer. Check their combine
evidence before uploading, bind immutable published versions, and include the
attachment archives and target registry in the main publication snapshot. Keep
one report entry and all evidence; reject unresolved or changed data attachments.
+
+For the current Web Search contract, relevance labels must cover every in-house
+case and come from a named human annotator. Export the blind candidate pool with
+`build_search_report.py --output REPORT --export-annotations NEW_DIRECTORY`, then
+import the completed file through `--relevance`. Do not substitute nonempty
+responses, URL identity checks, or model judgments for relevance labels. Keep
+empty queries and all-zero candidate pools in the deterministic score population.
diff --git a/evaluation/web-search/publication-target.json b/evaluation/web-search/publication-target.json
index 7ab427268..7848e1c38 100644
--- a/evaluation/web-search/publication-target.json
+++ b/evaluation/web-search/publication-target.json
@@ -32,11 +32,11 @@
"sha256": "6a680b8fa3b58d8cfb25ce124288fae4d6a5680492f29167ae3a23eb9fff88e7"
},
"report_manifest": {
- "path": "web-search/20261021-search-api-three-provider-report/report/manifest.json",
+ "path": "web-search/20261021-search-api-three-provider-report/published/ver_cd19ebc7531d4ee09868c48987c0b3b6/manifest.json",
"sha256": "afd32939e8df59a13e10204f1f6bbbd9bab82197cc261a651c2b4d1448734f93"
},
"content": {
- "path": "web-search/20261021-search-api-three-provider-report/reader-content.json",
+ "path": "web-search/20261021-search-api-three-provider-report/published/ver_cd19ebc7531d4ee09868c48987c0b3b6/reader-content.json",
"sha256": "b653137decc351ee903adc8e208aa89c378d0e5080033f2602d96f55234ae89a"
},
"visual_acceptance": {
diff --git a/harness/web_search/README.md b/harness/web_search/README.md
index 9bc6d16f7..f481eca44 100644
--- a/harness/web_search/README.md
+++ b/harness/web_search/README.md
@@ -97,3 +97,26 @@ External report content selects `presentation: comparison-report`, `comparison_m
The original SimpleQA Verified task measures closed-book model answers using a model grader. This report's source-hit, reciprocal-rank and lexical-cue checks are retrieval adaptations, not official benchmark accuracy. The frozen source version, input-length selection and adapted metrics belong on the dataset and methodology pages.
Results analysis provides a same-query outcome explorer and paginated output columns generated from the method registry. Unknown judgments remain separate from misses. The delivery exporter rewrites dynamic detail links as well as ordinary HTML links, preserving language and exact case evidence. Release acceptance operates filters, pagination and dynamic evidence navigation in addition to the standard success/failure workflows.
+
+## Full in-house relevance annotation
+
+Export the candidate pool from an existing checked report:
+
+```sh
+uv run --frozen python scripts/build_search_report.py --output /absolute/report --export-annotations /absolute/new-annotation-directory
+```
+
+Open `index.html` in the exported directory. It covers every in-house query and
+pools all participants' top-five URLs without displaying provider names or ranks.
+Annotators assign 0–3 relevance grades, inspect source pages when needed, and
+confirm every query, including queries with no candidates. The page saves progress
+in that browser and exports a complete JSON file. It does not call a model or
+pre-fill grades.
+
+Pass the completed file to the normal build with `--relevance`. Import verifies
+the frozen packet, every query and candidate, and the named human annotator. Model
+judges and sampled in-house label sets are rejected. Fixed labels produce nDCG@5
+and Precision@5 deterministically. Duplicate URLs earn no additional credit;
+missing slots count toward the five-slot denominator. A query with no relevant
+pooled candidate receives zero nDCG and precision and stays in the population.
+Known-URL discovery and site constraints remain separate diagnostics.
diff --git a/harness/web_search/comparison.py b/harness/web_search/comparison.py
index f3a74a944..e34d02dd7 100644
--- a/harness/web_search/comparison.py
+++ b/harness/web_search/comparison.py
@@ -1,11 +1,12 @@
"""Bounded, registry-driven same-task comparisons for measured search results."""
import html
+import hashlib
import json
import re
from urllib.parse import urlsplit
-from .core import evaluate, factual_evidence, in_domain
+from .core import canonical_url, evaluate, factual_evidence, in_domain
def acceptance(case, row, metric="source"):
@@ -88,7 +89,7 @@ def _item_checks(case, item):
return source, fields
-def comparison_data(profile, selected_rows, zh=False, detail_link=None):
+def comparison_data(profile, selected_rows, zh=False, detail_link=None, relevance=None):
"""Only compact measured previews enter the page, with full evidence linked once."""
methods = [{"id": m["id"], "label": m["label"]} for m in profile["methods"]]
method_ids = {m["id"] for m in methods}
@@ -100,6 +101,7 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
if key in rows:
raise ValueError("Comparison requires one logical result per method and task")
rows[key] = row
+ labels = (relevance or {}).get("labels", {})
cases = []
for case in profile["cases"]:
outputs = {}
@@ -111,14 +113,19 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
items = []
for item in row.get("results", [])[:5]:
source_match, answer_fields = _item_checks(case, item)
+ displayed = {field: _preview(item.get(field), limit)
+ for field, limit in (("title", None), ("snippet", None),
+ ("summary", None), ("content", 480))}
+ _, visible_answers = _item_checks(case, {"url": item.get("url"), **displayed})
items.append({"url": _url(item.get("url")),
- "source_match": source_match, "answer_fields": answer_fields,
+ "source_match": source_match, "answer_fields": visible_answers,
+ "answer_outside_preview": answer_fields["content"] and not visible_answers["content"],
+ "grade": (labels[case["id"]].get(hashlib.sha256((case["id"] + "\0" + canonical_url(item["url"])).encode()).hexdigest()[:12]) if case["id"] in labels and _url(item.get("url")) else None),
"site_match": any(in_domain(item.get("url", ""), d) for d in case.get("domains", [])),
- **{field: _preview(item.get(field), limit)
- for field, limit in (("title", 180), ("snippet", 320),
- ("summary", None), ("content", 480))}})
+ **displayed})
outputs[method["id"]] = {
- "primary": acceptance(case, row, "primary"),
+ "primary": (any(x["grade"] >= 2 for x in items) if case["id"] in labels else acceptance(case, row, "primary")),
+ "quality": any(x["grade"] >= 2 for x in items) if case["id"] in labels else None,
"source": acceptance(case, row), "answer": acceptance(case, row, "answer"),
"site": acceptance(case, row, "site"),
"availability": acceptance(case, row, "availability"),
@@ -133,7 +140,7 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
if not check_types:
check_types = ["availability"]
cases.append({"id": case["id"], "query": case["query"],
- "benchmark": benchmark, "check_types": check_types,
+ "benchmark": benchmark, "check_types": check_types, "has_relevance": case["id"] in labels,
"criteria": {"answer": case.get("reference_answer"),
"urls": [_url(u) for u in case.get("reference_urls", case.get("anchors", [])) if _url(u)],
"domains": case.get("domains", []),
@@ -168,7 +175,7 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
let page=0,relationPage=0,focusedId=null;const size=3,relationSize=10;
const selected=()=>[...root.querySelectorAll('[data-compare-method]:checked')].map(x=>x.value).filter(x=>x!==$('[data-compare-baseline]').value);
const relation=(base,others)=>{if(base==null||!others.length||others.some(v=>v==null))return 'unknown';if(base&&others.every(Boolean))return 'all_pass';if(base&&others.every(v=>!v))return 'baseline_only';if(!base&&others.every(Boolean))return 'comparison_only';if(!base&&others.every(v=>!v))return 'all_fail';return 'mixed'};
-const effectiveMetric=(c,m)=>m==='primary'?(c.benchmark==='factual'?'answer':c.check_types.includes('target')?'source':c.check_types.includes('site')?'site':'unscored'):m;
+const effectiveMetric=(c,m)=>m==='primary'?(c.has_relevance?'quality':c.benchmark==='factual'?'answer':c.check_types.includes('target')?'source':c.check_types.includes('site')?'site':'unscored'):m;
const verdict=(c,o,m)=>{const k=effectiveMetric(c,m),v=o?.[m];return v==null?L.unknown:L.verdicts[k][v?0:1]};
const criteria=c=>{const x=c.criteria;return ''+esc(L.criteria)+' '+(x.answer!=null?'
'+esc(L.referenceAnswer)+': '+esc(x.answer)+'
':'')+(x.urls.length?'
'+esc(L.referenceUrls)+'
'+x.urls.map(u=>'
'+esc(u)+' ').join(''):'')+(x.domains.length?'
'+esc(L.requestedSites)+': '+x.domains.map(esc).join(', ')+'
':'')+((x.paper_ids.length||x.repositories.length||Object.keys(x.aliases).length)?'
'+esc(L.equivalents)+' '+esc(JSON.stringify({aliases:x.aliases,papers:x.paper_ids,repositories:x.repositories},null,2))+' ':'')+(!x.urls.length&&x.answer==null&&!x.domains.length?'
'+esc(L.unannotated)+'
':'')+'
'};
function matching(){let q=$('[data-output-query]').value.toLowerCase(),benchmark=$('[data-output-benchmark]').value,check=$('[data-output-check]').value;return data.cases.filter(c=>(benchmark==='all'||c.benchmark===benchmark)&&(check==='all'||c.check_types.includes(check))&&(!focusedId||c.id===focusedId)&&(!q||c.query.toLowerCase().includes(q)||c.id.toLowerCase().includes(q)))}
@@ -182,7 +189,7 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
root.querySelectorAll('[data-show-query]').forEach(b=>b.onclick=()=>{focusedId=b.dataset.showQuery;$('[data-output-query]').value=data.cases.find(c=>c.id===focusedId).query;page=0;relationPage=0;render();$('[data-output-pages]').scrollIntoView({block:'start',behavior:'smooth'})});
page=Math.min(page,Math.max(0,Math.ceil(matches.length/size)-1));
const field=(x,f,body)=>'<'+(f==='title'?'div':'p')+' class="'+(x.answer_fields?.[f]?'compare-match':'')+'">'+body+(x.answer_fields?.[f]?' · '+esc(L.answerField)+' ':'')+''+(f==='title'?'div':'p')+'>';
- $('[data-output-pages]').innerHTML=matches.slice(page*size,(page+1)*size).map(c=>''+esc(c.query)+' '+criteria(c)+''+data.methods.map(m=>{let o=c.outputs[m.id];return '
'+esc(m.label)+' '+(o?''+esc(L.results)+': '+o.count+' · '+esc(verdict(c,o,metric))+'
'+esc(L.full)+' '+(!o.items.length?''+esc(o.error||L.empty)+'
':o.items.map((x,i)=>''+(x.source_match?'
'+esc(L.sourceItem)+' ':'')+(x.site_match?'
'+esc(L.siteItem)+' ':'')+field(x,'title','
'+(i+1)+'. '+esc(x.title||x.url||L.untitled)+' ')+'
'+esc(x.url)+'
'+field(x,'snippet',esc(x.snippet))+['summary','content'].filter(f=>x[f]).map(f=>'
'+esc(L[f])+' '+field(x,f,esc(x[f]))+'').join('')+'
').join('')):''+esc(L.missing)+'
')+''}).join('')+'
').join('')||''+esc(L.none)+'
';
+ $('[data-output-pages]').innerHTML=matches.slice(page*size,(page+1)*size).map(c=>''+esc(c.query)+' '+criteria(c)+''+data.methods.map(m=>{let o=c.outputs[m.id];return '
'+esc(m.label)+' '+(o?''+esc(L.results)+': '+o.count+' · '+esc(verdict(c,o,metric))+'
'+esc(L.full)+' '+(!o.items.length?''+esc(o.error||L.empty)+'
':o.items.map((x,i)=>''+(x.grade!=null?'
'+esc(L.grade)+': '+x.grade+' / 3
':'')+(x.source_match?'
'+esc(L.sourceItem)+' ':'')+(x.site_match?'
'+esc(L.siteItem)+' ':'')+field(x,'title','
'+(i+1)+'. '+esc(x.title||x.url||L.untitled)+' ')+'
'+esc(x.url)+'
'+field(x,'snippet',esc(x.snippet))+['summary','content'].filter(f=>x[f]).map(f=>'
'+esc(L[f])+' '+field(x,f,esc(x[f]))+(f==='content'&&x.answer_outside_preview?''+esc(L.outsidePreview)+'
':'')+'').join('')+'
').join('')):''+esc(L.missing)+'
')+''}).join('')+'
').join('')||''+esc(L.none)+'
';
$('[data-output-page]').textContent=(matches.length?page+1:0)+' / '+Math.ceil(matches.length/size)+' · '+matches.length+' '+L.tasks;
$('[data-output-prev]').disabled=page===0;$('[data-output-next]').disabled=(page+1)*size>=matches.length;
}
@@ -193,10 +200,10 @@ def comparison_data(profile, selected_rows, zh=False, detail_link=None):
"""
-def render_comparison(profile, selected_rows, zh, detail_link=None):
+def render_comparison(profile, selected_rows, zh, detail_link=None, relevance=None):
"""Render both results-analysis modules; embed once per results page."""
t = lambda en, cn: cn if zh else en
- data = comparison_data(profile, selected_rows, zh, detail_link)
+ data = comparison_data(profile, selected_rows, zh, detail_link, relevance)
e = lambda value: html.escape(str(value), quote=True)
labels = {"relations": dict(zip(
("all_pass", "baseline_only", "comparison_only", "all_fail", "mixed", "unknown"),
@@ -212,7 +219,8 @@ def render_comparison(profile, selected_rows, zh, detail_link=None):
"equivalents": t("Accepted equivalent URLs and identifiers", "允许匹配的等价网址与标识"),
"unannotated": t("Relevance annotation is missing; a nonempty response only establishes availability.", "本题尚缺相关性标注;返回非空只说明接口可用。"),
"siteItem": t("Matches required website", "来自限定网站"),
- "verdicts": {"source": [t("Reference URL found", "找到参考网址"), t("Reference URL absent from top 5", "前 5 条未找到参考网址")],
+ "grade": t("Human relevance grade", "人工相关性评分"),
+ "verdicts": {"quality": [t("Relevant result found", "找到相关结果(人工评分至少 2 分)"), t("No relevant result in top 5", "前 5 条没有达到 2 分的结果")], "source": [t("Reference URL found", "找到参考网址"), t("Reference URL absent from top 5", "前 5 条未找到参考网址")],
"answer": [t("Answer text found", "文字包含参考答案"), t("Answer text absent", "文字未包含参考答案")],
"site": [t("Required website found", "找到限定网站的结果"), t("Required website absent", "未找到限定网站的结果")],
"availability": [t("Nonempty response", "返回非空"), t("Empty response", "返回为空")]},
@@ -220,6 +228,7 @@ def render_comparison(profile, selected_rows, zh, detail_link=None):
"empty": t("No results returned", "没有返回结果"), "missing": t("No measured result", "没有实测结果"),
"untitled": t("Untitled result", "无标题结果"), "summary": t("Full page summary", "完整长摘要"),
"content": t("Page body excerpt", "网页正文节选"), "sourceItem": t("Reference page", "命中参考网页"),
+ "outsidePreview": t("The answer text occurs later in the full body; use the full response link above.", "答案线索位于完整正文的后部;请通过上方完整响应链接查看。"),
"answerField": t("contains answer cue", "包含答案线索"), "tasks": t("tasks", "题")}
options = lambda values: ''.join(f'{e(v)} ' for k, v in values)
methods = [(m["id"], m["label"]) for m in data["methods"]]
@@ -234,7 +243,7 @@ def render_comparison(profile, selected_rows, zh, detail_link=None):
+ '' + t('Find a query', '搜索题目') + ' ' + t('Benchmark', '评测集') + '' + options(benchmark_options) + ' ' + t('Task check', '题型与检查') + '' + options([('all', t('All task types', '全部题型')), ('target', t('Reference-page discovery', '目标网页发现')), ('site', t('Requested-site constraint', '指定网站约束')), ('availability', t('Open discovery availability', '开放探索可用性')), ('factual', t('Factual evidence', '事实证据'))]) + '
'
+ '' + t('Compare methods on the same tasks', '同一道题,各方法是否命中') + ' '
+ t('Source checks use independently identified reference pages or published supporting sources. Answer checks use all delivered text before benchmark-mirror exclusion, including explicitly accepted answer variants; they do not judge factual correctness. Unlabelled tasks remain unscored.', '来源检查核对独立参考网页或题库标注来源;答案检查使用全部交付文本及明确允许的答案变体,尚未排除题库镜像,不判断事实正确性。没有标注的题目不计为失败。')
- + '
' + t('Check', '检查项目') + '' + options([('primary', t('Primary check for each task type', '按题型使用主要检查')), ('source', t('Reference target / published source', '目标网页/标注来源')), ('answer', t('Answer cue in delivered text · raw', '返回文字中的答案线索')), ('site', t('Requested-site constraint', '指定网站约束')), ('availability', t('Nonempty response', '非空响应'))]) + ' ' + t('Baseline', '基准方法') + '' + options(methods) + '
' + t('Compare with', '对比方法') + ' '
+ + '
' + t('Check', '检查项目') + '' + options([('primary', t('Primary check for each task type', '按题型使用主要检查')), ('quality', t('Human relevance · grade at least 2', '人工相关性:至少 2 分')), ('source', t('Reference target / published source', '目标网页/标注来源')), ('answer', t('Answer cue in delivered text · raw', '返回文字中的答案线索')), ('site', t('Requested-site constraint', '指定网站约束')), ('availability', t('Nonempty response', '非空响应'))]) + ' ' + t('Baseline', '基准方法') + '' + options(methods) + '
' + t('Compare with', '对比方法') + ' '
+ ''.join(' ' + e(v) + ' ' for k,v in methods)
+ '
' + t('Show tasks where', '查看题目') + '' + options([('all', t('All outcome relations', '全部结果'))] + list(labels['relations'].items())) + '
'
+ '
' + t('Actual outputs, side by side', '逐题查看实际输出') + ' ' + t('The dataset, query, check, providers and outcome filters above also control this view. Each column shows the first five results. Page summaries are complete; page bodies remain compact previews. Green marks identify the exact reference-page or answer-cue check, not a semantic correctness judgment.', '上方的题库、题目、检查项目、方法和命中状态会同步筛选这里。每列展示前 5 条结果,长摘要完整显示,网页正文保留节选。绿色只表示该条命中参考网页或该字段含答案线索,不代表整条结果语义正确。') + '
'
diff --git a/harness/web_search/relevance.py b/harness/web_search/relevance.py
index 0c17f8386..332134eac 100644
--- a/harness/web_search/relevance.py
+++ b/harness/web_search/relevance.py
@@ -1,6 +1,7 @@
"""Blind, pooled top-k preview relevance scoring for Web Search results."""
import hashlib
+import json
import math
from .core import canonical_url
@@ -38,8 +39,6 @@ def score(profile, rows, plan, labels):
if set(grades) != candidate_ids or any(type(v) is not int or v not in range(4) for v in grades.values()):
raise ValueError("Relevance grades do not match the pooled candidates")
ideal = sum(_gain(g, i) for i, g in enumerate(sorted(grades.values(), reverse=True)[:cutoff]))
- if ideal == 0:
- raise ValueError("No relevant candidate in a declared sample case")
for method in methods:
ids = rankings[method]
seen = set()
@@ -49,7 +48,7 @@ def score(profile, rows, plan, labels):
seen.add(candidate_id)
dcg = sum(_gain(grade, rank) for rank, grade in enumerate(ranked_grades))
scored.append({"case_id": case_id, "family": case["family"], "method": method,
- "ndcg": dcg / ideal, "precision": sum(g >= 2 for g in ranked_grades) / cutoff,
+ "ndcg": dcg / ideal if ideal else 0.0, "precision": sum(g >= 2 for g in ranked_grades) / cutoff,
"returned": len(ids)})
return scored
@@ -63,7 +62,12 @@ def summary(scored, methods):
def verify_provenance(profile, rows, evidence):
"""Make public candidate packets and rank mappings agree with measured outputs."""
+ if evidence.get("judge", {}).get("kind") != "human" or not evidence["judge"].get("name", "").strip():
+ raise ValueError("Relevance evaluation requires named human annotations; model judges are disabled")
plan = evidence["plan"]
+ custom = [c["id"] for c in profile["cases"] if "reference_answer" not in c]
+ if plan.get("scope") != "all_custom" or plan["case_ids"] != custom:
+ raise ValueError("Relevance evaluation must cover every in-house case without sampling")
packets = evidence["blind_candidate_packets"]
rankings = evidence["provider_rankings"]
labels = evidence["labels"]
@@ -90,3 +94,91 @@ def verify_provenance(profile, rows, evidence):
for case_id, grades in crosscheck.items()
):
raise ValueError("Cross-check grades are invalid")
+
+
+def candidate_packet(profile, rows):
+ """Pool every in-house query without method names, rankings or generated grades."""
+ case_ids = [c["id"] for c in profile["cases"] if "reference_answer" not in c]
+ cutoff = profile["protocol"]["top_k"]
+ indexed = {(r["case_id"], r["method"]): r for r in rows}
+ if len(indexed) != len(rows):
+ raise ValueError("Expected one final result per method and case")
+ packets, rankings = [], {}
+ for case in profile["cases"]:
+ cid = case["id"]
+ if cid not in case_ids:
+ continue
+ pool = {}
+ rankings[cid] = {}
+ for method in profile["methods"]:
+ if (cid, method["id"]) not in indexed:
+ raise ValueError("Incomplete method-case matrix")
+ ranking = []
+ for item in indexed[cid, method["id"]]["results"][:cutoff]:
+ url = canonical_url(item["url"])
+ key = hashlib.sha256((cid + "\0" + url).encode()).hexdigest()[:12]
+ ranking.append(key)
+ candidate = pool.setdefault(key, {"candidate_id": key, "url": url, "previews": []})
+ preview = {f: item.get(f) or "" for f in ("title", "snippet")}
+ if preview not in candidate["previews"]:
+ candidate["previews"].append(preview)
+ rankings[cid][method["id"]] = ranking
+ for candidate in pool.values():
+ candidate["previews"].sort(key=lambda x: (x["title"], x["snippet"]))
+ packets.append({"case_id": cid, "query": case["query"],
+ "required_domains": case.get("domains", []),
+ "candidates": [pool[k] for k in sorted(pool)]})
+ blind = {"schema": "web-search-human-annotation/1", "plan": {
+ "scope": "all_custom", "cutoff": cutoff, "case_ids": case_ids},
+ "blind_candidate_packets": packets}
+ blind["packet_sha256"] = hashlib.sha256(json.dumps(blind, ensure_ascii=False, sort_keys=True).encode()).hexdigest()
+ return blind, rankings
+
+
+def import_annotations(profile, rows, submitted):
+ """Validate complete frozen human input, then restore private rank mappings."""
+ packet, rankings = candidate_packet(profile, rows)
+ if submitted.get("packet_sha256") != packet["packet_sha256"]:
+ raise ValueError("Annotation packet does not match the current frozen results")
+ if set(submitted.get("reviewed_case_ids", [])) != set(packet["plan"]["case_ids"]):
+ raise ValueError("Every case requires explicit review, including empty pools")
+ evidence = {**packet, "labels": submitted["labels"], "judge": submitted["judge"],
+ "provider_rankings": rankings}
+ verify_provenance(profile, rows, evidence)
+ score(profile, rows, evidence["plan"], evidence["labels"])
+ return evidence
+
+
+def export_annotations(profile, rows, destination):
+ """Write a self-contained human annotation form; no evaluator API is called."""
+ packet, _ = candidate_packet(profile, rows)
+ destination.mkdir(parents=True, exist_ok=False)
+ (destination / "packet.json").write_text(json.dumps(packet, ensure_ascii=False, indent=2))
+ payload = json.dumps(packet, ensure_ascii=False).replace("<", "\\u003c")
+ page = ANNOTATION_HTML.replace("__PACKET__", payload)
+ (destination / "index.html").write_text(page, encoding="utf-8")
+ return destination / "index.html"
+
+
+ANNOTATION_HTML = r'''
+
自建搜索题库 · 全量相关性标注
+
自建搜索题库 · 全量相关性标注 按题意判断每个网页是否有用。候选网页来自三家接口的前 5 条结果,按网址去重,隐藏接口名称和原始排名。所有题目都使用同一套标准。
+0 分 :无关,或违反题目明确的网站、日期、语言等要求。1 分 :话题相关,但没有可用于回答的信息。2 分 :提供部分有效信息。3 分 :直接满足主要需求。
+先看查询和预览,信息不足时打开原网页核实。技术问题允许多种正确方法;开放问题允许多种相关来源。接口没有返回网页的题目也要确认。分数由人工填写;页面只保存和校验,不会调用模型。
+标注者姓名
上一题 下一题 下一道未完成 导出完整标注
+
我已核对本题所有候选网页
+'''
diff --git a/harness/web_search/report.py b/harness/web_search/report.py
index 0f84383ba..256b00091 100644
--- a/harness/web_search/report.py
+++ b/harness/web_search/report.py
@@ -76,7 +76,7 @@ def fmt(value):
return "—" if value is None else f"{value:,.2f}"
-def table(headers, rows, sortable=False):
+def table(headers, rows, sortable=False, *, bounded=False):
head = "".join(
f'
{esc(h)} ↕ '
if sortable and i
@@ -84,7 +84,7 @@ def table(headers, rows, sortable=False):
for i, h in enumerate(headers)
)
return (
- '
Theme
+
+ Summary and content
+ Open response
+ Close Full result
+