diff --git a/scripts/recalibrate.py b/scripts/recalibrate.py index cdcadcaa..5d2bb680 100755 --- a/scripts/recalibrate.py +++ b/scripts/recalibrate.py @@ -134,6 +134,7 @@ PSKR_BAND_TO_MHZ: dict[str, int] = { "70cm": 432, "23cm": 1_296, "13cm": 2_304, + "9cm": 3_400, "3cm": 10_000, } @@ -519,12 +520,19 @@ def render_report( # ── How to apply lines.append("## Applying these weights\n") lines.append( - "This script writes `priv/algo/band_weights.json` and stops " - "there — it never edits `band_config.ex`. To make the weights " - "live, `BandConfig.weights(band_mhz)` needs a one-time edit to " - "read this JSON at app start (cache in `:persistent_term`) and " - "merge `band_overrides[band].weights` over the in-source " - "defaults. Until then, the JSON is documentation only." + "These weights are **live scoring inputs, not documentation**. " + "`BandConfig.weights/1` consults `BandWeights.lookup/1` (which " + "reads this JSON) *before* falling back to the in-source " + "`:weights` override or the global `@weights` default. This " + "script still never edits `band_config.ex` — it only rewrites " + "the JSON.\n" + ) + lines.append( + "`BandWeights` caches the parsed file in `:persistent_term` on " + "first read, so a running node keeps serving the *previous* " + "weights until it restarts. To put this run into effect, deploy " + "(the file ships under `priv/`) or call `BandWeights.reset/0` on " + "every node." ) return "\n".join(lines)