135 lines
6.3 KiB
Markdown
135 lines
6.3 KiB
Markdown
# Weatherreporter v0.9.0
|
|
|
|
Weatherreporter `v0.9.0` replaces its external Scriptorium execution path with
|
|
an in-process Promptkit integration and makes prompt preparation, execution,
|
|
validation, and failure artifacts first-class parts of each report run.
|
|
|
|
## Summary
|
|
|
|
- Promptkit `v0.4.0` now executes all generated text for Daily, Today,
|
|
Tomorrow, and Hourly reports.
|
|
- The four exact-version prompts and their JSON Schemas are embedded in the
|
|
Weatherreporter binary.
|
|
- Prompt preparation and execution have separate durable, redacted provenance
|
|
records, while sensitive prompt debugging is explicit and stored outside the
|
|
managed workspace.
|
|
- Weather API collection now performs a warmup request and retries transient
|
|
transport, read, and selected HTTP failures.
|
|
- Release binaries now report their embedded version and are published with
|
|
checksums through a guarded Woodpecker pipeline.
|
|
|
|
## Compatibility
|
|
|
|
This pre-`v1` minor release contains intentional configuration, CLI, and
|
|
artifact changes that require review when upgrading from `v0.8.0`.
|
|
|
|
- The `scriptorium:` configuration section is no longer supported. A file that
|
|
contains it fails with a migration error instead of silently ignoring it.
|
|
Use `promptkit:` configuration instead.
|
|
- The previously exposed but unfinished three-day, weekend, and storm report
|
|
surfaces have been removed. Supported report IDs and `generate` commands are
|
|
`daily`, `today`, `tomorrow`, and `hourly`. The retired `storm_id`
|
|
Distributor template variable is also no longer accepted.
|
|
- Generate and batch result items now expose `preparationPath` and
|
|
`executionPath` instead of the Scriptorium-oriented `preflightPath` and
|
|
`generatedTextResultPath`. An opt-in prompt capture may also add
|
|
`llmDebugPath`.
|
|
- New runs write `weatherreporter.metadata.v2`, which records Promptkit
|
|
preparation and execution paths. Inspection and prior-run lookup continue to
|
|
read existing `weatherreporter.metadata.v1` records.
|
|
- The built-in `weather_api.precision` default changed from `1` to `0`.
|
|
Configurations that explicitly set a value retain that value.
|
|
- Report prose may differ because the embedded prompt corpus, structured
|
|
output path, alert presentation, and SPC background context have changed.
|
|
|
|
The documented Go version remains 1.26. Distributor integration remains at
|
|
`v0.5.0`. Existing managed workspaces do not require conversion.
|
|
|
|
## Upgrade
|
|
|
|
Replace the old Scriptorium block in the Weatherreporter configuration. The
|
|
smallest equivalent Promptkit block is:
|
|
|
|
```yaml
|
|
promptkit:
|
|
timeout: 2m
|
|
```
|
|
|
|
The embedded prompts default to the Promptkit `gemini-flash-latest` profile.
|
|
Ensure that the selected profile's credential environment variable is present,
|
|
or configure `promptkit.profile`, an external `profile_file` or `profile_dir`,
|
|
or the optional `promptkit.local` backend. Direct per-request API keys are not
|
|
supported by Weatherreporter.
|
|
|
|
Before upgrading automation or downstream processing:
|
|
|
|
1. remove any `three-day`, `weekend`, or `storm` command, report override, and
|
|
`storm_id` template usage;
|
|
2. update consumers of action-summary JSON to use the new preparation and
|
|
execution path fields;
|
|
3. decide whether to retain the new precision default or explicitly configure
|
|
the previous value; and
|
|
4. preserve the existing workspace if historical V1 runs must remain
|
|
inspectable.
|
|
|
|
Scriptorium, its executable configuration, and its external prompt corpus are
|
|
no longer needed by Weatherreporter. See the
|
|
[configuration reference](../config.md), [CLI reference](../cli.md), and
|
|
[Promptkit integration](../integrations/promptkit.md) for the current
|
|
contracts.
|
|
|
|
## Changes
|
|
|
|
### Prompt Execution And Artifacts
|
|
|
|
- Added a project-owned Promptkit adapter with exact prompt and profile
|
|
inspection, prepare-once execution, error classification, and bounded
|
|
execution timeouts.
|
|
- Embedded version `1.0.0` of the Daily, Today, Tomorrow, and Hourly prompts and
|
|
their private generated-text schemas.
|
|
- Added durable preparation and execution receipts with prompt, profile,
|
|
backend, model, hashes, timings, validation status, classified failures, and
|
|
paths to every artifact reached during the run. Credentials, endpoints,
|
|
rendered messages, request parameters, and generated content are excluded
|
|
from these managed records.
|
|
- Added `--llm-debug-dir` for explicitly requested content-rich diagnostics.
|
|
Debug output must use an absolute path outside the managed workspace and is
|
|
written with restrictive filesystem permissions.
|
|
- Preflight now validates each exact prompt and selected profile before weather
|
|
collection. Batch execution validates every candidate first, collects once,
|
|
and retains independent report progress and failure artifacts.
|
|
|
|
See the [operations guide](../operations.md) for artifact layout, inspection,
|
|
debug handling, and recovery.
|
|
|
|
### Weather Collection And Report Content
|
|
|
|
- Added a `/conditions/current` warmup before source collection and automatic
|
|
retry for transient transport and response-read failures and HTTP `408`,
|
|
`429`, `500`, `502`, `503`, and `504` responses.
|
|
- Changed the default upstream precision query value to `0`.
|
|
- Added embedded background definitions for recognized SPC categorical,
|
|
tornado, wind, and hail outlook products.
|
|
- Made the Alert Digest more concise: alert descriptions are omitted, and an
|
|
SPC-only digest is rendered only for Enhanced, Moderate, or High categorical
|
|
risk.
|
|
- Removed duplicated alert detail from the prompt-facing metadata module; the
|
|
alert digest remains its single prompt-facing owner.
|
|
|
|
See the [Weather API integration](../integrations/weatherapi.md) for the request,
|
|
retry, and response contract.
|
|
|
|
### CLI, Documentation, Testing, And Releases
|
|
|
|
- Added `weatherreporter --version`; tagged binaries report `v0.9.0`, while
|
|
ordinary local builds report `development`.
|
|
- Reworked CLI summaries and inspection coverage around the Promptkit artifact
|
|
lifecycle and retained partial-result behavior.
|
|
- Reorganized contributor, policy, user, operator, integration, template, and
|
|
internal documentation around explicit canonical owners.
|
|
- Added focused single-report, batch, CLI, Promptkit adapter, durable-state,
|
|
and artifact-path coverage while simplifying orchestration internals.
|
|
- Added guarded tag validation and reproducible release builds for Linux,
|
|
macOS, and Windows on `amd64` and `arm64`, with SHA-256 checksums and
|
|
changelog-backed Gitea releases.
|