Add SPC convective discussion briefing module

This commit is contained in:
2026-06-12 15:05:42 +00:00
parent 7cd68ff222
commit 96ce0edd46
5 changed files with 241 additions and 5 deletions

View File

@@ -29,7 +29,8 @@ Outputs:
- `module.Output` values for source-oriented stanzas:
`metadata`, `current_conditions`, `narrative_forecast`, `hourly_forecast`,
`alert_digest`, `spc_convective_outlooks`,
`area_forecast_discussion`, and `weather_story`
`area_forecast_discussion`, `spc_convective_discussion`, and
`weather_story`
- `module.Output` values for derived stanzas:
`derived_daily_summary`, `derived_daypart_summaries`, `precip_timing`,
`outdoor_windows`, and `tomorrow_planning`
@@ -90,6 +91,8 @@ return an error for invalid required inputs.
- SPC convective outlook output distinguishes checked empty outlook data from
missing outlook source data and omits GeoJSON geometry from prompt-facing
fields.
- SPC convective discussion output is omitted unless a retained outlook meets
the internal severity threshold and matching discussion text is available.
## Tests

View File

@@ -39,6 +39,7 @@ The registry recognizes these IDs:
- `alert_digest`
- `spc_convective_outlooks`
- `area_forecast_discussion`
- `spc_convective_discussion`
- `weather_story`
- `outdoor_windows`
- `tomorrow_planning`
@@ -46,10 +47,6 @@ The registry recognizes these IDs:
Every registered module has a builder. Report composition entries that refer to
unknown or unimplemented module IDs fail validation instead of being skipped.
The package also defines the `spc_convective_discussion` ID and empty option
struct for the collected contract. It is not a registered module in the
briefing registry until its builder exists.
## Options
Most modules use an empty options struct. `area_forecast_discussion` accepts: