diff --git a/docs/internal/normalizers.md b/docs/internal/normalizers.md index 9b149e4..404bdbe 100644 --- a/docs/internal/normalizers.md +++ b/docs/internal/normalizers.md @@ -27,7 +27,7 @@ Current mappings: | `raw.nws.forecast_discussion.v1` | `weather.forecast_discussion.v1` | | `raw.nws.weatherstories.v1` | `weather.weather_story.v1` | | `raw.nws.alerts.v1` | `weather.alert.v1` | -| `raw.spc.convective_outlook.v1` | `weather.outlook.v1` | +| `raw.spc.convective_outlook.v1` | `weather.outlook.v2` | ## Boundaries @@ -59,13 +59,13 @@ Weatherfeeder registers normalizers in a stable order: The current normalizers avoid ambiguous matches by using schema equality. -The SPC outlook normalizer decodes the raw multi-document bundle, maps each -GeoJSON feature to a canonical outlook, and enriches all outlooks for a day with -the matching print-page headline, summary, and discussion. It preserves compact +The SPC outlook normalizer decodes the raw multi-document bundle, maps +location-containing GeoJSON features to canonical outlooks, and adds one +run-level print-page discussion per retained outlook day. It preserves compact GeoJSON feature geometry and computes `containsLocation` with `internal/geo.ContainsPoint` using the source-configured point. Boundary points -count as contained, and all polygons are preserved whether or not they contain -the point. +count as contained. Polygons that do not contain the point are omitted from the +canonical run. ## State