2.5 KiB
Report Registry Internals
internal/report owns report identities, valid-period resolution, exact prompt identity and version, output names, default module composition, and Distributor path declarations. Public command syntax belongs in the CLI reference; configuration aliases and overrides belong in the configuration reference.
Definitions And Resolution
Each Definition declares a stable ID and display name, prompt ID and version, template and generated-text schema IDs, valid-period resolver, default output name, Distributor path templates, module list, and fixed batch eligibility. Resolved combines a definition with one valid period and run identity.
| Report ID | Prompt version | Default profile | Period policy | Fixed batch flag | Default output |
|---|---|---|---|---|---|
daily |
2.0.0 |
weather-balanced |
Explicit local civil day | Dynamic Daily inclusion is app-owned | daily-YYYY-MM-DD.md |
today |
2.0.0 |
weather-balanced |
Selected or current local civil day | Morning | today.md |
tomorrow |
2.0.0 |
weather-balanced |
Next local civil day | Evening | tomorrow.md |
hourly |
2.0.0 |
weather-light |
Rolling six-hour interval | — | hourly.md |
Daily derives its filename from the resolved valid-period start in the effective timezone, so multiple Daily items have distinct destinations. Exact template fields and schema assets belong to report templates and generated-text internals. Prompt assets own default profile selection; the registry stores no provider setting.
Collaborators And Boundaries
DefaultRegistry, Lookup, Resolve, and report-name helpers prevent callers from duplicating report identity rules. Registry overrides clone a recognized definition and replace its module list. DistributorPathTemplates are consumed by app orchestration; their rendered external bundle-path contract is documented in the Distributor bundle guide.
morning and evening are registry-owned batch names. Fixed flags declare Today and Tomorrow eligibility; app orchestration determines data-dependent Daily membership and the actual batch plan.
The registry never collects weather data, parses CLI flags, writes output, executes Promptkit, or delivers a report.
Focused tests cover definition completeness, command and alias lookup, period resolution, run IDs, output names, composition defaults, and override validation:
go test ./internal/report