Skip to content

fix: final source-rot repairs + bot-block allowlist for health check - #45

Merged
cschanhniem merged 1 commit into
mainfrom
fix-source-rot-batch3
Jun 18, 2026
Merged

cschanhniem merged 1 commit into
mainfrom
fix-source-rot-batch3

Conversation

@cschanhniem

Copy link
Copy Markdown
Contributor

Summary

Closes out the link-rot surfaced by the scheduled health check.

  • GEOS-Chem: geos-chem.org → geoschem.github.io (canonical, CI-reachable).
  • Two mini-grid productive-use records: original pages dead/unreachable; re-sourced to verifiable ESMAP/World Bank mini-grid resources, with the unverifiable specific percentages softened (confidence low, figures flagged for dedicated re-sourcing) — same honesty standard as the FAO/TVET fixes.
  • Allowlist mechanism (scripts/source-check-allowlist.json + verify-sources.mjs): cpcb.nic.in and caqm.nic.in are live in a browser but refuse automated CI requests. Their connection-level failures are now downgraded to warnings. A definite HTTP error status (404/410) still fails even for an allowlisted URL, so real rot is never masked.

Test plan

  • pnpm validate passes
  • node --check scripts/verify-sources.mjs
  • GEOS-Chem + ESMAP replacement URLs verified live under the checker UA

Protocol Notes

After this, the scheduled verify:sources check should be green, failing only on genuine future rot. The allowlist is auditable (each entry has a reason + verified date) and cannot hide HTTP-level death.

- geos-chem-smoke-composition: geos-chem.org -> geoschem.github.io (the
  model's canonical, CI-reachable home)
- world-bank-productive-use-2023 + mini-grid-productive-use-demand:
  original pages dead/unreachable; re-sourced to verifiable ESMAP/World
  Bank mini-grid resources and softened the unverifiable specific
  percentages (confidence low; figures flagged for dedicated re-sourcing)
- verify-sources.mjs: load scripts/source-check-allowlist.json. For URLs
  confirmed live by manual check but that refuse automated CI requests
  (cpcb.nic.in, caqm.nic.in), CONNECTION-level failures are downgraded to
  warnings. A definite HTTP error (404/410) still fails even when
  allowlisted, so genuine rot is never masked.

This clears the scheduled source-health check of false-positives while
keeping it a true rot detector. evidence.md ledgers updated to match.
@cschanhniem
cschanhniem merged commit f372681 into main Jun 18, 2026
@cschanhniem
cschanhniem deleted the fix-source-rot-batch3 branch June 18, 2026 08:41
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