Integration Seams¶
Receiver integration seams isolate runtime input, time, side effects, scientific dependencies, and emitted evidence. They allow the same receiver pipeline to run against memory, files, synthetic sources, or higher-level infrastructure without embedding those environments in stage logic.
Runtime Seams¶
flowchart LR
source["signal source"]
clock["clock"]
receiver["receiver engine"]
signal["signal and DSP"]
nav["optional navigation"]
artifacts["run artifacts"]
sink["artifact sink"]
infra["infrastructure persistence"]
source --> receiver
clock --> receiver
receiver --> signal
receiver --> nav
receiver --> artifacts
artifacts --> sink
artifacts --> infra
Seam Contracts¶
| seam | contract |
|---|---|
| sample-source adapter interface | supplies ordered sample frames and explicit end-of-stream or input failure |
| file and memory adapters | convert concrete storage into the sample-source contract without changing signal meaning |
| clock interface | provides runtime time without hardwiring the system clock into stage logic |
| artifact-sink interface | accepts versioned observation and navigation records without deciding repository layout |
| receiver entrypoint | accepts validated configuration, runtime controls, and a signal source, then returns typed run artifacts or receiver failure |
| signal boundary | supplies physical signal facts, codes, replicas, timing, DSP, and source traits |
| navigation adapter | converts receiver observations into optional navigation execution without taking ownership of solver science |
| run artifact contract | preserves acquisition, tracking, observation, support, and optional navigation evidence in memory |
| validation boundary | converts receiver and navigation evidence into typed validation claims when navigation is enabled |
Channel and Stage Handoff¶
Acquisition hands tracking an explicit seed with signal identity, Doppler, code phase, assumptions, and uncertainty. Tracking hands observation construction channel state, timing, lock, carrier, code, CN0, and uncertainty evidence. Observation construction hands optional navigation typed measurements and rejection context. No stage should reconstruct information that the previous stage could have preserved directly.
Refusal and Side-Effect Rules¶
- Input failures identify the source boundary and stop affected processing.
- Unsupported signals and stages remain visible through support and refusal evidence.
- Navigation prerequisites and solver refusals remain typed through receiver artifacts and validation reports.
- Metrics, tracing, logs, clocks, and artifact writes pass through runtime controls or ports.
- Repository paths, manifests, histories, and command report wording remain outside receiver.
Downstream crates import the curated receiver API rather than private stage modules. The port guide defines concrete interface behavior, and the artifact guide defines the handoff to persistence.