Skip to content

Core Evidence Guide

Core sits beneath every GNSS product package, so a weak claim here propagates widely. Quality means matching each shared-contract claim to evidence that actually exercises its domain, while recording gaps that compilation and representative examples cannot expose.

Build A Trust Decision

flowchart TD
    claim["specific contract claim"]
    invariant["named invariant"]
    examples["reference examples"]
    properties["generated properties"]
    negative["invalid-state cases"]
    compatibility["surface and serialization evidence"]
    downstream["consumer-package evidence"]
    limits["known coverage limits"]
    decision["bounded trust decision"]

    claim --> invariant
    invariant --> examples
    invariant --> properties
    invariant --> negative
    invariant --> compatibility
    invariant --> downstream
    examples --> limits
    properties --> limits
    negative --> limits
    compatibility --> limits
    downstream --> limits
    limits --> decision

No single layer is sufficient. Examples explain intended behavior, properties explore a domain, negative tests prove rejection, compatibility evidence protects readers, and downstream tests prove that a real consumer uses the contract correctly.

Select Evidence By Change

change minimum evidence route common overclaim
Identity, ordering, status, or version exact examples, boundaries, invalid lookups, and serialization when applicable one happy-path equality proves the full domain
Time, units, or coordinates independent reference points, algebraic properties, edge cases, and derived tolerances a round trip at one coordinate proves global accuracy
Observation, tracking, or navigation record coherent payload plus one-invariant-at-a-time invalid cases deserialization proves semantic validity
Public export curated-surface guardrail plus consumer-shaped compilation and semantic test a pub declaration is a supported contract
Versioned artifact old-reader policy, payload validation, fixture provenance, and conversion evidence a current writer and reader prove compatibility
Receiver or navigation behavior proof in the owning package core record coherence proves algorithm accuracy

Use invariants to name the promise, test strategy to choose the proof layer, numerical budgets for tolerances, and change validation for the minimum review route.

Current Evidence Has Boundaries

flowchart LR
    guardrail["public-surface guardrail"]
    found["public structs and<br/>free functions"]
    missing["enums, traits, constants,<br/>methods, aliases, semantics"]

    guardrail --> found
    guardrail -. does not establish .-> missing

The public-surface guardrail scans source text. It does not perform Rust API analysis and does not prove semantic stability. Add direct evidence for enums, traits, constants, methods, aliases, and feature-gated behavior.

Current property coverage for time and coordinates is useful but not exhaustive across leap boundaries, week rollover, poles, antimeridian behavior, invalid rates, or all time-system conversions. Selected navigation and tracking artifact validators do not cover every acquisition, observation, support, or conversion payload.

The checked-in observation fixture is not referenced by current tests or source. Until a reader deserializes and validates it, it is dormant data rather than compatibility evidence.

Review Failure Signals

  • A test reproduces the implementation under test instead of using an independent expectation.
  • A fixture changes without a statement of which contract meaning changed.
  • A tolerance is widened until a failure disappears.
  • A parser or schema check is cited as scientific validation.
  • A public-surface test is described more broadly than the symbols it inspects.
  • A higher-package failure is silenced by weakening a shared invariant.

Use known limitations and the risk register to preserve unresolved exposure, then apply the review checklist and definition of done before claiming completion.

Evidence Sources

The core test guide documents current proof and gaps. The invariant guide states downstream assumptions. Concrete evidence includes the public API guardrail, navigation artifact validation, tracking artifact validation, and timekeeping properties.