Skip to content

evidence: source inventory for pm25-monitoring-south-asia + problem pack index - #50

Merged
cschanhniem merged 3 commits into
mainfrom
feat/pm25-source-inventory-plus-index
Jun 28, 2026
Merged

cschanhniem merged 3 commits into
mainfrom
feat/pm25-source-inventory-plus-index

Conversation

@cschanhniem

Copy link
Copy Markdown
Contributor

Task

  • Task ID: source-inventory
  • Agent role: literature-scout
  • Pack: air-quality/pm25-monitoring-south-asia
  • Safety risk: medium
  • Reviewer needed: domain-reviewer

Claim

Ground-level PM2.5 monitoring in South Asia is dangerously sparse: India has approximately 300 continuous monitoring stations for 1.4 billion people (roughly 1 per 4.7 million), with Pakistan, Bangladesh, and Nepal having even fewer stations accessible through public platforms. Where monitors are absent, satellite-derived estimates and column observations provide the only exposure data, but these carry large uncertainty in South Asia due to complex aerosol composition and monsoon cloud cover.

Kill condition

A reviewer identifies a public dataset showing that South Asian ground monitoring density exceeds 1 station per 1 million population, or finds a peer-reviewed validation study demonstrating that satellite-derived PM2.5 estimates in South Asian rural areas have RMSE below 10 ug/m3 against co-located reference monitors.

Files changed

Two contributions in one PR:

1. PM2.5 source inventory

  • evidence.json — added 3 new evidence records (OpenAQ, WorldPop, Copernicus Sentinel-5P TROPOMI)
  • datasets.md — updated with classification column and explicit reasons (7 sources: 5 usable, 1 limited, 1 rejected)
  • evidence.md — added notes for all 6 evidence records
  • claims.json — new file with dry-lab-verified claim

2. Problem pack index generator

  • scripts/generate-index.mjs — new script that auto-generates a pack index
  • docs/wiki/Index.md — generated index with summary stats, full pack listing, and priority guide
  • package.json — added generate-index.mjs to build pipeline
  • scripts/validate-repo.mjs — added index freshness check

The index shows every pack with status, domain, region, safety level, progress (evidence count, task count, claims), and priority label (needs evidence / ready / has claims / accepted work / needs triage). A "Needs Evidence" section highlights the 53 packs with fewer than 3 evidence records that have scoped tasks ready.

Evidence added

ID Source Type Status
who-ambient-air-pollution-2024 WHO Ambient Air Pollution Fact Sheet primary-source Usable (existing)
health-effects-institute-state-of-global-air-2024 HEI State of Global Air 2024 primary-source Usable (existing)
cpcb-monitoring-network-2023 CPCB National Air Quality Monitoring primary-source Usable (existing, allowlisted)
openaq-platform OpenAQ Platform dataset Usable
worldpop-population-data WorldPop Gridded Population Data dataset Usable
copernicus-sentinel-5p-tropomi Copernicus Sentinel-5P TROPOMI dataset Limited
Low-cost sensor networks (not added as evidence record) — Rejected

Validation method

pnpm validate passes. pnpm reproducibility:check passes (516 tasks). pnpm build passes (100 packs + index).

Known limitations

  • The 300-station figure for India is from CPCB as of 2023 and may be outdated.
  • Station counts for Pakistan, Bangladesh, and Nepal are inferred from OpenAQ coverage, not from official national agency data.
  • TROPOMI column observations are not surface PM2.5; conversion requires modeled assumptions with uncertain accuracy in South Asia.
  • Low-cost sensor rejection is based on absence of validation data, not on evidence that sensors are inaccurate.

Protocol Notes

  • The why_it_matters field duplicating summary is now confirmed across 3 packs (oral-health, NCD, PM2.5). This is a systematic generation issue.
  • The index generator does not currently track whether claims.json validates against claim.schema.json. A future validator rule should add pack-level claim validation.

…ack index

Two contributions in one PR:

1. PM2.5 source inventory (task: source-inventory, literature-scout)
   - Added 3 evidence records: OpenAQ, WorldPop, Copernicus Sentinel-5P
   - Updated datasets.md with classification table (6 sources: 5 usable,
     1 limited, 1 rejected low-cost sensors)
   - Updated evidence.md with notes for all 6 records
   - Created claims.json with dry-lab-verified claim about monitoring
     gap severity and satellite uncertainty in South Asia
   - Done condition satisfied: 7 sources classified (requirement was 5)

2. Problem pack index generator
   - New script: scripts/generate-index.mjs
   - Generates docs/wiki/Index.md with a summary table and full pack
     listing showing status, domain, region, safety, progress (evidence
     count, task count, claims), and priority (needs evidence, ready,
     has claims, accepted work, needs triage)
   - Includes a 'Needs Evidence' section listing packs with <3 evidence
     records that have scoped tasks -- the highest-leverage entry points
   - Added to pnpm build pipeline and validate freshness check
   - Auto-generated; do not edit directly

All gates pass: pnpm validate, pnpm reproducibility:check, pnpm build.
…failures

Both acp.copernicus.org and essd.copernicus.org are live in browser
(200) but fail with connection errors from CI runners. Same pattern
as existing CPCB and ICIMOD allowlist entries. Connection-level
failures only; definite HTTP errors would still fail.
…owser)

Same pattern as CPCB, ICIMOD, and Copernicus journal entries.
Connection-level failure only; definite HTTP errors would still fail.
@cschanhniem
cschanhniem merged commit a9808d0 into main Jun 28, 2026
3 checks passed
@cschanhniem
cschanhniem deleted the feat/pm25-source-inventory-plus-index branch June 28, 2026 09:33
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