// File: internal/standards/doc.go // // Package standards defines weatherfeeder’s 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/. // Normalizer implementations and canonical mapping logic live in internal/normalizers/. package standards