Change Sequence¶
Use this sequence when a receiver change affects runtime composition, stage handoff, ports, artifacts, diagnostics, synthetic proof, or reference validation. The receiver is where many lower truths become an execution path, so the sequence must prevent stage-local edits from becoming accidental cross-crate contracts.
Decision Flow¶
flowchart TD
change[receiver change] --> family{which runtime family owns it?}
family --> engine[engine and runtime config]
family --> pipeline[pipeline stages and handoff]
family --> ports[ports, sinks, clocks, inputs]
family --> artifacts[artifacts and diagnostics]
family --> validation[simulation and reference validation]
engine --> proof[focused receiver proof]
pipeline --> proof
ports --> proof
artifacts --> proof
validation --> proof
proof --> lower{did lower-owned meaning move?}
lower -- yes --> neighbor[add signal, nav, core, or infra proof]
lower -- no --> commit[commit receiver intent]
Recommended Sequence¶
- Name the owning runtime family and confirm the boundary.
- Read the crate-local doc for that family before editing.
- Inspect the current stage or runtime proof before changing behavior.
- Make one coherent receiver change and only tightly coupled docs or tests.
- Run the narrowest test that proves the runtime-visible claim.
- Add lower-owner proof only when shared, signal, nav, or infra meaning moved.
- Commit the receiver intent before widening to another runtime family.
Why The Sequence Matters¶
This crate is broad enough that one "small" runtime or validation edit can have public consequences. Committing by runtime intent keeps reviewable history aligned with package meaning.
Proof Selection¶
| changed family | first proof |
|---|---|
| engine, runtime config, or metrics | crates/bijux-gnss-receiver/docs/RUNTIME.md plus focused engine/config tests |
| acquisition or tracking handoff | crates/bijux-gnss-receiver/docs/PIPELINE.md plus the focused acquisition or tracking integration test |
| observations and measurement metadata | observation tests that assert timing, residual, rejection, or lock-state metadata |
| ports, sinks, clocks, and inputs | crates/bijux-gnss-receiver/docs/PORTS.md plus the affected seam test |
| artifacts, diagnostics, and state reports | ARTIFACTS.md, diagnostic contracts, and artifact/state-report integration proof |
| simulation or reference comparison | SIMULATION.md, REFERENCE_VALIDATION.md, and the focused validation proof |
Start from crates/bijux-gnss-receiver/docs/TESTS.md and
docs/bijux-gnss-receiver/operations/verification-commands.md. A broad
receiver run is not a substitute for naming the stage or runtime seam that
moved.