Skip to content

kb-autofix: #304 — storm-impact-harmonisation: alerts attachment now a styled xlsx; second vendored file (xlsx_style.py)#306

Merged
t-downing merged 1 commit into
mainfrom
kb-autofix/issue-304
Jul 20, 2026
Merged

kb-autofix: #304 — storm-impact-harmonisation: alerts attachment now a styled xlsx; second vendored file (xlsx_style.py)#306
t-downing merged 1 commit into
mainfrom
kb-autofix/issue-304

Conversation

@chd-ds-kb-steward

Copy link
Copy Markdown
Contributor

Drafted by the KB steward (headless Claude, Max plan) from #304 and its comment thread. Review before merging — check it against the cited source. Re-comment the correction on #304 and the next run updates this PR.


🤖 What the steward changed

All edits are complete and consistent across both pages. The DESIGN.md hit is an unrelated decision-log entry (no vendoring/attachment fact there).

What changed

Both merged PRs verified against the public GitHub PRs before editing.

pipelines/storm-impact-harmonisation.md (facts from PR #11merge-cerf-exposure, and the two-file vendoring contract):

  • Archive workbook identity columns — recorded that workbook.py's storm key is now atcf_id (NHC ATCF id, e.g. AL132025) on every tab, correcting the collision with the DB's slug-valued storms.nhc_storms.storm_id (melissa_2025); sources joined with | (CHD|GDACS|ADAM), was +; admin_pcode retained (the pcode rename was reverted). Body Steps + new extra.workbook_identity_columns.
  • Vendoring contract now covers two filesfm_matching.py and style.py (→ src/xlsx_style.py in ds-storms-alerts, docstrings differ), with the "must stay code-identical" note and the third-file → de-vendor into a shared package threshold. Updated in downstream:, code_ref:, extra.three_source_comparison, the Failure-modes bullet, and Downstream consumers.

pipelines/storms-alerts.md (fact from PR #20main):

  • Alert email attachment is now a styled per-storm xlsx (was flat CSV): tabs README/adm0_exposure/adm1_exposure/caveats, mirroring the archive workbook and sharing identity columns; by-design differences captured (forecast-based, per-storm per-issued_time, wide by wind threshold with MAX-across-sources), plus the src/xlsx_style.py vendoring pointer. Updated in outputs:, one-liner, Steps 7 & 9, and Outputs.

Why / source

Kept the full vendoring contract on the harmonisation page (its src/source_exposure/ is the source of truth) and left only a pointer + the styling reference on the alerts page, per one-home-per-fact.

Please check

  • Branch pinning: storms-alerts.md is pinned to source_branch: adm1-exposure-csv (de38cb5); PR KB drift: hub pages with moved spokes #20 merged to main, which is what the live Databricks job runs (already noted as a [conflict] on the page). I described current runtime behaviour (xlsx) but did not re-pin source_sha/source_branch — a full re-sync of that page is a separate drift-bot job, not this issue's scope.
  • I did not run any index generators; the frontmatter downstream edits are minor and the scheduled generators will pick them up.

Closes #304

…ent now a styled xlsx; second vendored file (xlsx_style.py) (Claude, Max plan)
@chd-ds-kb-steward chd-ds-kb-steward Bot added the kb-autofix Claude-drafted issue fix awaiting review label Jul 17, 2026
@t-downing
t-downing merged commit 5d0aba6 into main Jul 20, 2026
1 check passed
@t-downing
t-downing deleted the kb-autofix/issue-304 branch July 20, 2026 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kb-autofix Claude-drafted issue fix awaiting review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

storm-impact-harmonisation: alerts attachment now a styled xlsx; second vendored file (xlsx_style.py)

1 participant