Skip to content

Review Checklist

Review bijux-gnss-signal as reusable signal truth and DSP substrate. The crate may own signal catalogs, code generation, raw-IQ and sample contracts, runtime-neutral DSP primitives, and validation helpers. It should not own receiver scheduling, persisted dataset policy, or navigation decisions.

flowchart TB
    change["signal-layer change"]
    kind{"catalog, code, sample, DSP, or validation?"}
    local["send back to receiver, nav, infra, or command owner"]
    proof["inspect signal contract and reference proof"]
    export["review public API only when the surface is reusable"]

    change --> kind
    kind -- no --> local
    kind -- yes --> proof --> export

Review Gates

changed surface accept only when inspect before accepting
signal catalog or component metadata The catalog remains canonical and does not duplicate receiver-local assumptions. Signal model assumptions and component registry proof
spreading code or code-family behavior The reference proof still explains the public signal fact being claimed. Code Contracts, GPS L1 C/A Reference
raw-IQ or sample representation Sample semantics stay runtime-neutral and do not encode ingestion policy. Raw IQ and sample contracts and signal boundary guide
DSP primitive Continuity, normalization, and signal meaning are proven without assuming one receiver loop. DSP contracts and CBOC spectrum proof
public export or trait The surface is reusable across product owners and does not expose internal tables as API. API surface, trait contracts, and guardrail proof

Blocking Signs

  • A receiver failure is fixed by adding receiver policy to the signal crate.
  • A new public export only saves one caller an import or exposes a lookup table that should remain internal.
  • Reference data changes without a clear signal-model reason.
  • A DSP test proves numerical convenience but not the signal contract readers will rely on.

Evidence To Require

  • Read the public API, signal boundary guide, and signal test guide before accepting public or broad signal changes.
  • Require the narrow proof family for the changed surface: catalog, code, raw samples, DSP, trait, or validation.
  • Update interface or foundation docs when public signal meaning changes.
  • Route runtime state, repository layout, and navigation judgment to their owners instead of broadening signal to host them.