Add configurable report module composition

This commit is contained in:
2026-06-09 20:51:22 +00:00
parent eefb0681dc
commit 40639309b1
15 changed files with 586 additions and 19 deletions

View File

@@ -174,6 +174,41 @@ midday, afternoon, and evening.
Recent Changes are added to prompt input when a prior comparable briefing
snapshot exists and a threshold is crossed.
### `reports`
`reports` optionally overrides the ordered deterministic modules declared by
built-in report definitions. Omit a report entry to use its built-in module
order.
Supported report keys are `daily`, `tomorrow`, `three_day`, `weekend`, and
`storm`. Canonical report IDs such as `daily_today` and `daily_tomorrow` are
also accepted.
Each report entry supports:
- `deterministic_modules`: ordered module list. Entries may be string module
IDs or objects with `id` and optional `options`.
Example:
```yaml
reports:
daily:
deterministic_modules:
- metadata
- current_conditions
- id: area_forecast_discussion
options:
sections:
- short_term
```
Unknown reports, unknown modules, duplicate modules, incompatible report/module
combinations, duplicate stanza names, and invalid options fail config loading.
`area_forecast_discussion.options.sections` may contain `product`,
`key_messages`, `short_term`, and `long_term`. Empty or omitted `sections`
includes all available AFD sections.
## Secrets
Configuration files should not contain raw secrets. Use `secrets.directory` to