Moved the standards package out of internal/ so it can be imported by downstream consumers.
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful

This commit is contained in:
2026-02-08 09:15:07 -06:00
parent 5923592b53
commit 123e8ff763
16 changed files with 137 additions and 140 deletions

23
standards/doc.go Normal file
View File

@@ -0,0 +1,23 @@
// File: internal/standards/doc.go
//
// Package standards defines weatherfeeders provider-agnostic “project law”:
//
// - Schema identifiers and versioning conventions (see schema.go).
// - Canonical interpretations / cross-provider mappings that are not specific to a
// single upstream API (e.g., shared code tables, text heuristics, unit policy).
// - Wire-format conventions for canonical payloads.
//
// Standards are used by both sources and normalizers. Keep this package free of
// provider-specific logic and free of dependencies on internal/sources/* or
// internal/normalizers/* to avoid import cycles.
//
// Wire-format conventions
// -----------------------
// For readability and stability, canonical payloads (weather.* schemas) should not emit
// noisy floating-point representations. weatherfeeder enforces this by rounding float
// values in canonical payloads to 4 digits after the decimal point at normalization
// finalization time.
//
// Provider-specific decoding helpers and quirks live in internal/providers/<provider>.
// Normalizer implementations and canonical mapping logic live in internal/normalizers/<provider>.
package standards