Skip to content

Ownership Boundary

bijux-gnss-infra owns a concern when its durable value is one shared interpretation of repository state. Filesystem access alone is not enough: commands, receiver stages, navigation products, and signal inputs all touch files without transferring their domain ownership to infra.

What Infra Owns

repository concern infra responsibility ownership limit
dataset registry and sidecars normalize locations, preserve capture provenance, resolve ingest metadata signal metadata defines sample meaning; a registry entry does not prove signal quality
run identity and layout derive deterministic placement and expose typed locations command code chooses intent; producer packages create domain evidence
manifests, reports, and history preserve execution context and make runs discoverable shared records retain their original semantic owner
artifact inspection identify current-schema artifacts and report diagnostics producer packages establish runtime or scientific correctness
overrides and sweeps apply declared variation to typed configuration receiver owns the configuration fields and their runtime meaning
provenance and hashing record repository-facing comparison context a hash is not a complete reproducibility guarantee
reference adapters align persisted solutions with reference epochs receiver and navigation own quality thresholds and estimator claims

Route Non-Infra Concerns

concern owning handbook why
command names, flags, workflow selection, report wording Command handbook operator behavior is a public product boundary
shared identifiers, units, time, diagnostics, artifact envelopes Core handbook cross-package meaning must remain independent of persistence
orbit products, corrections, estimators, PPP, RTK, integrity Navigation handbook scientific models require navigation-owned proof
stage execution, ports, channels, runtime metrics, in-memory artifacts Receiver handbook runtime orchestration owns state transitions and execution policy
signal catalog, code generation, DSP, sample conversions Signal handbook reusable signal behavior must stay below repository workflows
audits, test-lane policy, benchmarks, maintainer evidence Maintainer handbook repository governance is not product infrastructure

Ownership Decision

flowchart TD
    concern["proposed capability"]
    state{"is its primary meaning<br/>repository state?"}
    shared{"do multiple workflows need<br/>one stable interpretation?"}
    product{"does it define command,<br/>runtime, signal, or science behavior?"}
    infra["infra owns the contract"]
    owner["route to the product owner"]
    local["keep with the single caller"]

    concern --> state
    state -- no --> product --> owner
    state -- yes --> shared
    shared -- yes --> infra
    shared -- no --> local

Test the decision with concrete language:

  • "Resolve the same registered dataset for commands and tests" belongs in infra.
  • "Decide whether a capture has enough C/N0 for acquisition" belongs in the receiver.
  • "Persist the receiver's declared outcome with provenance" belongs in infra.
  • "Choose whether an operator command treats that outcome as failure" belongs in the command package.
  • "Expose a lower-owner type because one import is shorter" has no ownership case.

Verify A Boundary Claim

Start with the infra boundary guide and infra contract guide. Then compare the proposed behavior with the owning handbook above. If the behavior cannot be described without receiver policy, command UX, signal math, or navigation science, infra is the wrong owner even when persistence is involved.