Skip to content

Package versioning

@azohra/meteo.briefing (currently 0.6.2) versions the read side: contract guards, derivations, analysis, comparison, transport, history, scene graph, SVG renderer, tokens, and the scene-derived key. The package version is independent of every document’s schemaVersion. Compatibility lists the document families and explains how to read across their versions.

The package aims to follow semantic versioning. While it is below 1.0:

  • patch releases within one minor line are backwards-compatible corrections;
  • a minor release may change a public TypeScript or JavaScript API, and the changelog and the TypeScript docs describe the change; and
  • a deprecation names the replacement and the release at which the old export may be removed.

Pin an npm range that suits your tolerance for change, validate every external document, and test both deterministic and ensemble examples. Branch on the shape of the scalar values and on the declared capabilities. Code that hard-codes a model name breaks on the next catalogue entry.

Finding vocabularies

Three sets of finding kinds are versioned separately from the package and from each other:

ConstantCurrent valueDefined inWhat it versions
ANALYZE_VOCABULARY_VERSION5briefing/src/analyze/vocabulary.tsThe single-profile finding kinds
COMPARE_VOCABULARY_VERSION3briefing/src/compare.tsThe cross-model comparison kinds
RUN_COMPARISON_VOCABULARY_VERSION2briefing/src/history/compare-runs.tsThe run-comparison kinds

The current release publishes site-forecast documents at schemaVersion: 2. Its analysis and comparison envelopes use the profile contract’s Mps suffix for speeds (wstarMinMps, peakThermalVelocityMps, meanWindMps, directionFloorMps, and the rest). Envelopes serialized under earlier vocabularies keep the old bare Ms field names, and the runtime version check catches the mismatch.

Release tags are snapshot boundaries

Treat each package release tag as a snapshot of the API and the SVG output, and still validate each document’s own schemaVersion. The scene guide defines the current presentation options and scene fields. The SVG guide defines rendering, tokens, and the scene-derived key. The package changelog records what changed between releases.