Release And Versioning¶
bijux-gnss-nav turns external products and receiver observations into
satellite state, corrections, positions, integrity claims, or typed refusals.
A release decision must describe movement in scientific meaning even when the
public Rust surface is unchanged.
Decide the Compatibility Level¶
| changed surface | release decision |
|---|---|
| support for a new product revision or constellation | additive when existing products retain identical interpretation and refusal behavior |
| parser default, malformed-input handling, or week context | data interpretation change; review every caller that supplies context |
| orbit, clock, atmosphere, antenna, bias, tide, or combination model | numerical behavior change; state frame, units, reference, and affected solution families |
| estimator weighting, covariance, convergence, or outlier policy | solution-contract change; assess accuracy, residuals, uncertainty, and refusal together |
| prerequisite, downgrade, or refusal rule | public behavior change even if successful solutions are numerically unchanged |
| reference fixture or tolerance | evidence change; justify provenance and physical meaning before changing expected values |
| curated export removed, renamed, or moved | breaking public API change |
Do not call a navigation change internal when it can alter a parsed epoch, satellite state, correction, residual, covariance, protection level, solution, downgrade, or refusal.
Trace the Scientific Claim¶
flowchart LR
product["product or observation"]
interpretation["time, frame, units, provenance"]
model["orbit, correction, or estimator"]
integrity["quality and integrity checks"]
outcome["solution, degraded claim, or refusal"]
reference["independent evidence"]
product --> interpretation
interpretation --> model
model --> integrity
integrity --> outcome
reference --> model
reference --> outcome
Identify the owning surface before assessing the release:
- format guide for broadcast navigation, RINEX, SP3, CLK, ANTEX, and bias-product interpretation
- time guide for time systems, reference weeks, rollover, and leap-second behavior
- orbit guide for satellite state, clock, uncertainty, and missing-product behavior
- correction guide for atmosphere, antenna, bias, combination, and continuity assumptions
- estimation guide for SPP, RTK, PPP, integrity, covariance, lifecycle, and refusal behavior
- public API guide for the curated Rust surface
Require a Complete Claim¶
Before release, record:
- the input product or observation family and its provenance
- the constellation, signal, time system, coordinate frame, and units
- the old and new model behavior, including expected numerical movement
- successful, degraded, and refused outcomes where each is applicable
- effects on SPP, RTK, PPP, integrity, receiver, infrastructure, or facade consumers
- an independent reference, public-data truth set, or physically justified invariant
Match Evidence to the Change¶
| claim | representative evidence |
|---|---|
| precise products retain time and state meaning | SP3 product integration, CLK product integration, and their reference-accuracy tests |
| broadcast orbit remains physically bounded | broadcast orbit reference and orbit accuracy budget |
| time interpretation remains explicit | time-system conversions and UTC leap-second behavior |
| position claims include valid refusal behavior | position reference behavior, impossible-geometry refusal, and position refusal integration |
| advanced solutions preserve their prerequisites | the affected RTK, PPP, or RAIM proof family listed in the test guide |
Do not loosen a tolerance before explaining what uncertainty or reference error the previous bound omitted. Do not regenerate truth data from the implementation under test.
Write the Release Entry¶
The package changelog must state the affected scientific family, input and context, old and new outcome, compatibility impact, refusal behavior, and evidence. Update a downstream package changelog when that package presents a changed navigation claim to operators.
The workspace version and publication procedure are defined in the release handbook.