Skip to content

Infrastructure Ownership Boundaries

bijux-gnss-infra gives repository state one typed interpretation across commands, receiver runs, validation, and review. It owns dataset registration, run layout, manifests, persisted evidence, provenance, configuration overrides, and repository-facing validation adapters.

Touching a file is not enough to make behavior infrastructure-owned. The deciding question is whether the behavior defines repository state or merely loads domain data for another owner.

Decide By Durable State

flowchart TD
    proposal["proposed capability"]
    state{"Does it define how repository<br/>state is found, identified,<br/>varied, or persisted?"}
    shared{"Do multiple workflows need<br/>one typed interpretation?"}
    domain{"Does it instead define signal,<br/>receiver, navigation,<br/>core, or command behavior?"}

    proposal --> state
    state -->|yes| shared
    shared -->|yes| infra["infrastructure owner"]
    shared -->|no| caller["keep with the caller<br/>until sharing is real"]
    state -->|no| domain
    domain -->|yes| product["route to domain owner"]
    domain -->|no| reconsider["identify a durable owner"]

Infrastructure is the right owner for:

  • resolving a registered dataset and its sidecar metadata;
  • assigning deterministic run identity and typed output locations;
  • writing and reading run manifests, reports, and history;
  • recording repository provenance and configuration hashes;
  • expanding declared experiment sweeps and typed profile overrides;
  • inspecting persisted artifact kinds and payload validity;
  • adapting persisted solutions and references into a comparison workflow.

Persistence Does Not Transfer Meaning

persisted concern infrastructure owns domain owner retains
raw-IQ capture registration location, sidecar resolution, capture provenance signal processing defines sample format, quantization, rate, and signal meaning
receiver artifacts run placement, manifest membership, inspection, history receiver execution defines stage state, diagnostics, and runtime validity
navigation products and solutions repository discovery, provenance, and reference alignment adapter navigation science defines format semantics, interpolation, correction, estimation, and acceptance
shared artifact envelopes durable storage and lookup shared GNSS contracts define header, payload, version, units, and portable validation
operator-selected inputs and outputs resolve and execute the typed repository operation command workflows define flags, defaults, workflow order, and presentation

Persisting a record does not authorize infrastructure to reinterpret it. If the producer reports degraded tracking, infrastructure preserves that state and provenance; it does not invent a second threshold for calling the run healthy.

Raw-IQ Boundary

flowchart LR
    registry["dataset registry"]
    sidecar["capture sidecar"]
    resolution["typed capture<br/>resolution"]
    metadata["raw-IQ metadata<br/>contract"]
    samples["sample conversion<br/>and DSP"]
    receiver["receiver ingest"]

    registry --> resolution
    sidecar --> resolution
    metadata --> resolution
    resolution --> receiver
    metadata --> samples
    samples --> receiver

Infrastructure owns registry entries, path resolution, and recorded-capture provenance. Signal owns the metadata and conversion semantics. Receiver owns whether a resolved capture is admissible for a configured run and what happens after ingest.

Do not add quantization math, front-end quality thresholds, or acquisition policy to dataset resolution. Do not make signal code discover repository sidecars.

Run And Artifact Boundary

The infrastructure public facade exposes run preparation, typed run layout, manifests, reports, history, artifact inspection, datasets, overrides, sweeps, hashes, and reference validation. Its product API re-exports exist for caller convenience; they do not make infrastructure the scientific owner.

sequenceDiagram
    participant C as Command workflow
    participant I as Infrastructure
    participant R as Runtime producer
    participant P as Persisted run

    C->>I: prepare typed run context
    I-->>C: layout and manifest context
    C->>R: execute with resolved inputs
    R-->>I: domain artifacts and status
    I->>P: persist artifacts, provenance, and report
    I-->>C: discoverable run result

Infrastructure may validate that a payload matches its declared artifact schema. Scientific correctness still requires producer-owned truth evidence. A valid file is not necessarily a valid measurement or solution.

Overrides And Sweeps

Infrastructure owns deterministic mutation of declared configuration fields and stable expansion of experiment specifications. The package that owns a configuration field still owns:

  • its units and admissible range;
  • interactions with runtime state;
  • default scientific or operational policy;
  • refusal behavior when the value is unsafe.

An override mechanism should not contain hidden per-field science. It should apply typed values and preserve enough provenance to reconstruct the effective configuration.

Validation Adapter Boundary

Reference validation here aligns repository evidence with reference epochs and packages comparison output for workflows. Receiver and navigation packages own the budgets, consistency rules, and scientific interpretation used by that comparison.

Keep a validation function here when its primary work is resolving persisted inputs or presenting repository evidence. Move it to the scientific owner when it defines a new error metric, threshold, correction, or acceptance rule.

Reject Boundary Drift

Reject an infrastructure change that:

  • uses filesystem proximity as the only ownership argument;
  • reimplements a signal, receiver, or navigation threshold;
  • changes a shared payload because a local layout is inconvenient;
  • exposes a re-export as if infrastructure authored the underlying contract;
  • hides file writes, environment reads, or process state behind a pure-looking helper;
  • treats a hash as complete reproducibility evidence;
  • places operator report policy in a run manifest writer.

Use the dataset contract, run-layout contract, artifact inspection contract, and validation boundary to review the affected seam. Repository state belongs here; product truth does not.