Skip to content

Receiver Interface Guide

Callers use bijux_gnss_receiver::api to configure and execute receiver behavior without depending on private stage modules. Public contracts cover runtime composition, stage engines, effects, diagnostics, in-memory artifacts, and feature-gated validation and navigation integration.

Choose The Runtime Contract

flowchart TD
    need{"What does the caller need?"}
    runtime["configure or launch"]
    stages["invoke receiver stages"]
    effects["supply samples, time,<br/>or output effects"]
    evidence["inspect diagnostics<br/>or run artifacts"]
    validation["simulate or validate"]

    need --> runtime
    need --> stages
    need --> effects
    need --> evidence
    need --> validation
caller need contract caller-visible meaning
Configure defaults, validate settings, create runtime context, or launch a receiver Runtime contracts explicit receiver policy and injected effects
Search, track, construct observations, or invoke optional navigation Stage contracts typed handoffs, lifecycle, uncertainty, and refusal
Provide sample frames, clocks, or artifact sinks Port contracts minimal effect seams with caller-owned implementation lifecycle
Interpret severity, stage state, transition reasons, or runtime health Diagnostic contracts structured evidence rather than inferred prose
Consume acquisition, tracking, observation, support, or navigation outcomes Artifact contracts in-memory evidence before repository persistence
Run synthetic scenarios or compare receiver outputs with reference truth Validation and simulation contracts receiver-boundary evidence with explicit scope and feature requirements

Read A Run Result

flowchart LR
    call["receiver call completed"]
    artifacts["run artifacts"]
    stages["stage evidence"]
    status{"claim supported?"}
    supported["supported outcome"]
    degraded["degraded or refused"]
    persistence["infrastructure persistence"]

    call --> artifacts --> stages --> status
    status --> supported
    status --> degraded
    artifacts --> persistence

Completion means runtime control returned according to its contract. It does not prove acquisition, lock, accepted observations, or a valid navigation solution. Read the earliest stage evidence that bears on the claim.

RunArtifacts and related reports are in-memory receiver results. Infrastructure decides run identity, directories, manifests, history, and persisted artifact locations.

Public Surface And Features

Use the API surface and public imports rather than private modules. Navigation execution, covariance realism, reference validation, validation reports, and synthetic runtime exports depend on the nav feature. Core acquisition, tracking, observations, ports, and carrier-smoothed validation remain available without it.

Selected core, signal, and navigation contracts are re-exported for integration convenience. Ownership remains with their defining package.

Interface Review Questions

  • Does the type describe durable receiver behavior or only one stage’s implementation workspace?
  • Are configuration defaults and runtime effects explicit?
  • Can callers distinguish accepted, degraded, refused, and failed outcomes?
  • Does a stage output retain timing, uncertainty, quality, and transition context required downstream?
  • Is feature-gated availability visible in code, docs, and compatibility evidence?
  • Can the operation remain independent of command syntax and repository layout?

Use compatibility commitments before changing public behavior and entrypoints and examples for consumer-shaped calls.

Sources Of Truth

The curated receiver API is the supported import boundary. The public API guide, runtime guide, pipeline guide, port guide, and artifact guide define the contract families behind it.