Validate hourly forecast time bounds

This commit is contained in:
2026-08-13 00:37:43 +00:00
parent c515529b3a
commit 8bb7307f22
7 changed files with 110 additions and 8 deletions

View File

@@ -20,6 +20,9 @@ Fetch failures retain Weather API endpoint context but do not project upstream
response bodies into application-facing errors. Oversized response bodies fail
collection before source decoding.
The required hourly product must contain one or more periods with usable time
bounds. An invalid hourly product fails collection before derivation begins.
## Application Composition
`internal/app` owns the narrow `Collector` interface used by workflow tests;

View File

@@ -45,6 +45,10 @@ marked missing only when the adapter's missing-source policy treats the
response or parsing failure as unavailable. The policy itself belongs to the
[configuration reference](../config.md).
Accepted hourly forecast periods always have nonzero start and end times, with
the end after the start. Collection rejects a required hourly product that does
not meet those bounds before it enters downstream derivation.
## Warning semantics
`SourceWarning` has a source name, stable code, severity, explanatory message,