kb-autofix: #304 — storm-impact-harmonisation: alerts attachment now a styled xlsx; second vendored file (xlsx_style.py)#306
Merged
Conversation
…ent now a styled xlsx; second vendored file (xlsx_style.py) (Claude, Max plan)
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.
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 #11 →merge-cerf-exposure, and the two-file vendoring contract):workbook.py's storm key is nowatcf_id(NHC ATCF id, e.g.AL132025) on every tab, correcting the collision with the DB's slug-valuedstorms.nhc_storms.storm_id(melissa_2025);sourcesjoined with|(CHD|GDACS|ADAM), was+;admin_pcoderetained (thepcoderename was reverted). Body Steps + newextra.workbook_identity_columns.fm_matching.pyandstyle.py(→src/xlsx_style.pyin ds-storms-alerts, docstrings differ), with the "must stay code-identical" note and the third-file → de-vendor into a shared package threshold. Updated indownstream:,code_ref:,extra.three_source_comparison, the Failure-modes bullet, and Downstream consumers.pipelines/storms-alerts.md(fact from PR #20 →main):issued_time, wide by wind threshold with MAX-across-sources), plus thesrc/xlsx_style.pyvendoring pointer. Updated inoutputs:, one-liner, Steps 7 & 9, and Outputs.Why / source
merge-cerf-exposure) — confirmedstorm_id→atcf_idon every tab,+→|,admin_pcoderetained.main) — confirmed CSV→styled xlsx (README/adm0_exposure/adm1_exposure/caveats) and the vendoredxlsx_style.py(code-identical, docstrings differ).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
storms-alerts.mdis pinned tosource_branch: adm1-exposure-csv(de38cb5); PR KB drift: hub pages with moved spokes #20 merged tomain, 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-pinsource_sha/source_branch— a full re-sync of that page is a separate drift-bot job, not this issue's scope.downstreamedits are minor and the scheduled generators will pick them up.Closes #304