Centralize report path policy
This commit is contained in:
@@ -6,8 +6,9 @@ membership, and comparison declarations in `internal/report`.
|
||||
## Purpose
|
||||
|
||||
`internal/report` centralizes report definitions so report IDs, prompt IDs,
|
||||
default output names, comparison strategies, and valid periods are declared in
|
||||
one package.
|
||||
artifact groups, batch output names, generated-report eligibility, comparison
|
||||
compatibility, comparison strategies, and valid periods are declared in one
|
||||
package.
|
||||
|
||||
## Inputs And Outputs
|
||||
|
||||
@@ -32,8 +33,8 @@ Outputs:
|
||||
|
||||
## Config Fields Used
|
||||
|
||||
The app supplies `weather_api.timezone` as a loaded `time.Location`. Report
|
||||
output path copying uses default output names from report definitions.
|
||||
The app supplies `weather_api.timezone` as a loaded `time.Location`. Batch
|
||||
output path copying uses batch output names from report definitions.
|
||||
|
||||
## External Adapters Used
|
||||
|
||||
@@ -43,7 +44,8 @@ None.
|
||||
|
||||
None directly. Resolved metadata contributes RunID, report ID, prompt ID,
|
||||
generation time, timezone, and valid period to later briefing and state
|
||||
metadata.
|
||||
metadata. Artifact groups declared by report definitions are used by state path
|
||||
construction.
|
||||
|
||||
## Skip And Resume Behavior
|
||||
|
||||
@@ -68,4 +70,6 @@ Inspect:
|
||||
- Report selection goes through the registry.
|
||||
- Daily Today and Daily Tomorrow both use `weather.daily_report`.
|
||||
- Valid periods are half-open intervals independent of rendered report text.
|
||||
- Comparison strategy is declared by report definition.
|
||||
- Artifact grouping, batch output filenames, generated-report eligibility,
|
||||
comparison compatibility, and comparison strategy are declared by report
|
||||
definition.
|
||||
|
||||
@@ -54,16 +54,19 @@ Workspace subdirectories must be relative paths that stay under
|
||||
|
||||
## State Or Manifest Behavior
|
||||
|
||||
Managed paths are grouped by report family and valid-period start date for JSON
|
||||
artifacts. Reports are written under the report group. Metadata is stored beside
|
||||
briefing snapshots and links briefing, data package, preflight, and report
|
||||
paths. Report listing walks metadata files under the snapshots directory.
|
||||
Managed paths are grouped by the report definition's artifact group and
|
||||
valid-period start date for JSON artifacts. Reports are written under the same
|
||||
artifact group. Metadata is stored beside briefing snapshots and links
|
||||
briefing, data package, preflight, and report paths. Report listing walks
|
||||
metadata files under the snapshots directory.
|
||||
|
||||
Prior snapshot lookup reads metadata and selects the latest earlier compatible
|
||||
snapshot. Daily Today and Daily Tomorrow are compatible with each other for the
|
||||
same valid local date. 3-Day Outlook compares with prior 3-Day snapshots for
|
||||
the same valid local date. Weekend Outlook compares with prior Weekend snapshots
|
||||
for the same weekend window. Storm Report currently has no prior lookup.
|
||||
Prior snapshot lookup reads metadata and selects the latest earlier snapshot
|
||||
whose report ID is compatible according to the current report definition. Daily
|
||||
Today and Daily Tomorrow are compatible with each other for the same valid local
|
||||
date. 3-Day Outlook compares with prior 3-Day snapshots for the same valid
|
||||
local date. Weekend Outlook compares with prior Weekend snapshots for the same
|
||||
weekend window. Storm Report currently has no prior lookup because its
|
||||
comparison strategy is not searched by the filesystem store.
|
||||
|
||||
## Skip And Resume Behavior
|
||||
|
||||
|
||||
Reference in New Issue
Block a user