Skip to content

Ownership Boundary

The most important discipline in bijux-gnss-signal is keeping reusable signal behavior separate from operational policy.

This Crate Owns

  • what a supported signal is
  • how its code or subcarrier is generated and sampled
  • how samples are normalized, quantized, or represented
  • how reusable front-end, spectrum, replica, and tracking math behaves
  • whether a set of observations is signal-compatible at the band and lock-state level

Neighbor Crates Own The Rest

  • Core owns cross-package types, units, identifiers, and observation record shapes
  • Receiver owns runtime composition, ports, stage sequencing, and receiver artifacts
  • Navigation owns navigation-domain interpretation and estimator science
  • Infra owns repository-side dataset and run-layout persistence
  • Command owns operator commands, workflows, and top-level reports

Boundary Test

When a change proposal says "this needs to live near signal math," that is not enough. The real question is whether the behavior is still reusable without assuming one receiver runtime, one repository layout, or one operator workflow.

First Proof Check

Read the signal boundary guide and contract guide first. Then inspect the public API facade, signal catalog, DSP source, raw-IQ model, and observation validation source to confirm the crate still owns reusable signal contracts rather than runtime, persistence, or operator policy.