Skip to content

BFG summer-2026 round readiness: source registry, off-peak scrapers, questions#52

Open
smodee wants to merge 2 commits into
mainfrom
feat/bfg-summer-2026-readiness
Open

BFG summer-2026 round readiness: source registry, off-peak scrapers, questions#52
smodee wants to merge 2 commits into
mainfrom
feat/bfg-summer-2026-readiness

Conversation

@smodee

@smodee smodee commented Jul 5, 2026

Copy link
Copy Markdown
Collaborator

What

Gets the pipeline ready for the BFG summer-2026 round (25 questions): aligns the curated-source registry + extraction to the question set, and authors the questions.

Source registry (sources.yaml, source_lookup.py)

  • New families enteric (cholera) and vaccine_preventable (measles, polio); populated vector_borne (dengue, chikungunya, oropouche). The route enum is derived from YAML keys, so new families auto-register as routes.
  • Extended respiratory/hemorrhagic: WHO human-animal-interface, USDA APHIS livestock, WHO Ebola-DRC-2026 event + DON; added WHO PHEIC/IHR list and WHO SARS-CoV-2 variant tracking; fixed the broken CDC-mpox URL.
  • Mirrored H5N1 under animal_spillover — the source router classifies avian flu there, not respiratory.
  • Pathogen aliases: bundibugyo/filovirusebola, poliovirus/wpv1polio, avian influenza/h5h5n1.

Off-peak extraction scrapers

For off-peak pathogens the news search returns mostly noise (correctly filtered), so the injected dashboard is the only on-topic survivor — and these landing pages are context-only, yielding 0 insight records. New scrapers surface the number:

  • _who_hub_common + who_cholera — WHO situation hub → latest dated sitrep PDF (Docling extracts the tables). Cholera: 0 → 15 records live.
  • paho_dengue — PAHO alerts listing → latest dengue epi-update PDF. 0 → 14 records live.
  • gpei_polio — clean get_text render of the JS-nav-heavy "polio this week" page (the default parser over-strips it). 0 → 2 records live.

BFG questions

  • bfg_summer_2026_questions.csv + bfg_summer_2026_options.csv, kept separate from the historic bioscancast_questions.csv. All 25 route to the correct injected sources; dates parse exactly; options load via the existing forecasts-CSV channel (no loader changes).

Notes

Full suite: 546 passed, 3 skipped.

🤖 Generated with Claude Code

…questions

Aligns the pipeline's curated-source registry and extraction to the BFG
summer-2026 question set (25 questions), and authors the questions themselves.

sources.yaml + source_lookup.py:
- Add families enteric (cholera) and vaccine_preventable (measles, polio);
  populate vector_borne (dengue, chikungunya, oropouche). The route enum is
  derived from the YAML keys, so new families auto-register as routes.
- Extend respiratory/hemorrhagic: WHO human-animal-interface, USDA APHIS
  livestock, WHO Ebola-DRC-2026 event + DON; add WHO PHEIC/IHR list and WHO
  SARS-CoV-2 variant tracking; fix the broken CDC-mpox URL.
- Mirror H5N1 under animal_spillover (the source router classifies avian flu
  there rather than respiratory).
- Pathogen aliases: bundibugyo/filovirus -> ebola, poliovirus/wpv1 -> polio,
  avian influenza/h5 -> h5n1.

Off-peak extraction scrapers (landing pages are context-only, so these
questions extracted 0 records; for off-peak pathogens the injected dashboard is
the only on-topic survivor and must yield the number):
- _who_hub_common + who_cholera: WHO situation hub -> latest dated sitrep PDF
  (Docling extracts the tables).
- paho_dengue: PAHO alerts listing -> latest dengue epi-update PDF.
- gpei_polio: clean get_text render of the JS-nav-heavy "polio this week" page.

BFG question authoring (separate from the historic bioscancast_questions.csv):
- bfg_summer_2026_questions.csv and bfg_summer_2026_options.csv.

Pairs with the dashboard-bypass filter fix (separate PR); gpei_polio's survival
through filtering depends on it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@smodee

smodee commented Jul 5, 2026

Copy link
Copy Markdown
Collaborator Author

Depends on #51 (dashboard low-value-page bypass fix) — merge that first; gpei_polio's survival through filtering relies on it. Q9 (H5N1 dairy-cattle states) is intentionally excluded here and tracked in #50.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant