KB: frameworks/mdg-storms/2024-12-13.md (Claude draft, Opus-reviewed) - #604
Merged
Merged
Conversation
…n; Opus-reviewed)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Auto-drafted
frameworks/mdg-storms/2024-12-13.mdvia headless Claude on the Max plan, then reviewed in place by Opus against the template + public sources (the same QA gate as the interactive ingest). The Opus review summary is below — use it to spot-check and merge. Worth confirming yourself: frontmatter conforms to the template, deployment/jobs match reality, source_repo/branch/sha, depends_on.🤖 Opus pre-review
Verdict: Ready to merge — the drafted change was a freshness re-stamp only; I re-verified the page's substantive claims end-to-end and made two small fixes (one schema conformance, one anti-misreading clarification).
Checked:
last_synced2026-08-31→2026-09-07 and three "snapshot 2026-08-30"→"re-verified 2026-09-07" phrasings. Confirmed the claim is true:infrastructure/pipeline-registry.mdwas regenerated today (commit43e81fa, 2026-09-07 07:05 UTC) and still showsgha:ds-aa-mdg-monitoring/run_monitor_imerg.yml🔴 DOWN, last success 3566.9 h ago ≈ 11 April 2026 — matches the page exactly.source_sha: a99828b(publicOCHA-DAP/ds-aa-mdg-storms, cloned;a99828bis current HEAD, no drift). Every code claim confirmed verbatim:constants.pyTHRESHOLD_SPEED_OPT1=118,OPT2=166,buffer=100;rsmc.py"moz"in the raw path vs"mdg"processed + the "ISO 3166-2:MZ" docstring; no.github/dir at all (the[gap]on no live pipeline); README is a 19-line stub.[conflict]entry — all reproduced from cell outputs):04.0readinessMG_distance_km<=100 & max_wind_kt>=90 & lt_hour.between(72,120)→ the exact 7 storms listed (BATSIRAI, BELNA, EMNATI, ENAWO, FREDDY, GAMANE, GIOVANNA), output "met every 2.0 years";04.0action from IBTrACSSEASON>=2001 & REU_WIND>=90,action_yr_len=24, rate 0.333;01.6cell 24 usesdf_rsmc['season'].nunique()while cell 25 uses2024-2010+1, output "every 1.5 years", and cell 27 returns exactly the 10 named storms. Also confirmed the two union RPs (1-in-3.0, 1-in-3.2), thatprobability_intersection = |A∩B|/|A∪B|(Jaccard substituted forP(A∩B)), and that the three-way figure is built fromcommon_cyclones(an intersection) unioned with rainfall — the page's critique is exact.utils.classify_scenarioIDP bands (1,000–10,000 / 10,000–25,000 / >25,000) ✓;02.2"assuming 28 years", Scenario 3 count 9 → 3.111 ✓;03.2threshold = 300with# we want to get 7 storms so fine tuning this✓.raw/frameworks/mdg-storms/2024-12-13.txt: readiness "120-72 heures" / action "72 heures", both at ≥166 km/h within 100 km; footnote 2 lead-time definition; monitoring "entre le 1 novembre et 30 avril"; "les deux saisons cycloniques de 2024/2025 et 2025/2026"; Start Network >166 km/h/100 km/3 days and Red Cross 118 km/h; Batsirai/Emnati ~470,000 USD (370,000 GBP) / 250,000 people and ~1.2M USD in 2023-24; the action-without-readiness clause.frameworks/moz-cyclones/2026-01-09.md.Per-country variantscorrectly dropped;n_windows: 2= 2 table rows;funding_by_source/by_sector/by_agency/funding_rowseach sum to exactly 3,000,000 and reconcile on every axis; YAML parse gate passes;check_links.pyclean;gen_catalog.pyregenerates with no collateral diff.Changed:
apps: []→surfaces: []—apps:is the retired key (D102, INGESTION.md); the template requiressurfaces. It was empty, so no published URL was at risk. (Note: ~10 other framework pages still carryapps:— a repo-wide sweep, out of scope here.)Still verify:
valid_until: "2026"(resolves to 2026-12-31) vs the doc's coverage, which ends with the 2025/26 cyclone season on 30 April 2026.2026-04would be more faithful and would makecheck_validity.pyprompt the renewal decision now (the envelope is spent —all_in, fired Feb 2026). I deliberately did not change it: siblingmoz-cyclones/2026-01-09.mduses the identical bare-year convention for the same season-span wording, so this should be a deliberate sweep across cyclone frameworks, not a one-page edit. Human call.visibility: internalwhileframework_docis a public ReliefWeb PDF and the activation is publicly reported. Internal is the KB's default-when-unsure and 30 of 43 framework pages use it, so I left it — worth a one-off decision.appname(v1 decommissioned; v2 returns 403 with bothds-kb-qaand the repo'socha-ds-knowledge-base), andunocha.orgreport pages still 403 automated fetches — so OCHA flash updates were verified via search-result excerpts and mirror sources rather than direct fetch. Worth checking whetherscripts/gen_framework_extracts.py's ReliefWeb rung is silently skipping in CI for the same reason.Closes #580