Skip to content

Maintainer Tooling Scope

bijux-gnss-dev exists for repository governance that needs a typed, reviewable implementation. It is a private binary package, not a reusable library and not an operator-facing product command.

Current Responsibility

flowchart LR
    governed["reviewed repository<br/>inputs"]
    binary["maintainer-only<br/>binary"]
    diagnostics["repairable<br/>diagnostics"]
    evidence["repository-scoped<br/>benchmark evidence"]
    tests["lane and package<br/>guardrails"]
    maintainer["maintainer<br/>decision"]

    governed --> binary
    binary --> diagnostics --> maintainer
    binary --> evidence --> maintainer
    governed --> tests --> maintainer

The executable currently owns four commands:

Capability Input Observable result
security allowlist validation reviewed advisory entries success or field-specific validation failure
deny-deviation validation reviewed local standards exceptions success or ownership, review, expiry, or format failure
audit-ignore derivation reviewed advisory identifiers deterministic command arguments on standard output
benchmark comparison curated benchmark set and optional baseline raw evidence, normalized current snapshot, comparison diagnostics, and optional strict failure

The package also contains integration guardrails for its package boundary and for fast/slow nextest lane selection. Those are test-owned repository policy; there is no slow-roster subcommand in the current binary.

The command inventory defines the executable surface, and the test guide defines the guardrail surface.

Ownership Test

A workflow belongs here only when all of these are true:

  • its primary user is a repository maintainer or automation acting on behalf of maintainers
  • it enforces or derives behavior from a reviewed repository contract
  • typed parsing and diagnostics are more durable than an opaque shell fragment
  • its reads, writes, subprocesses, and exit behavior can be stated precisely
  • it does not need product runtime ownership to do its job

Convenience, repeated shell syntax, or repository-root invocation is not enough.

Explicit Non-Goals

This package does not own:

  • public GNSS commands, operator reports, or release interaction
  • signal generation, acquisition, tracking, observations, or receiver runtime
  • navigation products, corrections, positioning, integrity, PPP, or RTK
  • dataset interpretation, run manifests, histories, or product artifact persistence
  • shared domain records, identifiers, units, diagnostics, or schemas
  • generic scripting that has no stable governed input or output
  • a utility library for other packages to import

Product behavior must remain in the package that owns its semantics. A maintainer command may invoke an existing product or build tool, but it must not reimplement the product contract merely to make automation convenient.

Route Work to the Correct Owner

flowchart TD
    proposal["proposed capability"]
    user{"primary user"}
    operator["command package"]
    science{"scientific or runtime<br/>meaning?"}
    product["signal, receiver,<br/>navigation, or core"]
    persistence{"durable run or<br/>dataset state?"}
    infra["infrastructure"]
    governance{"reviewed repository<br/>contract?"}
    dev["developer tooling"]
    automation["narrow build or<br/>CI automation"]

    proposal --> user
    user -- operator --> operator
    user -- maintainer --> science
    science -- yes --> product
    science -- no --> persistence
    persistence -- yes --> infra
    persistence -- no --> governance
    governance -- yes --> dev
    governance -- no --> automation

Build and CI glue may remain in focused Make or workflow code when typed Rust logic adds no durable contract. Moving every repeated command into the binary would hide rather than clarify ownership.

Effects Allowed Here

The binary may:

  • read named governance files under a selected workspace root
  • read benchmark baselines and current benchmark output
  • invoke the curated Cargo benchmark targets
  • print machine-consumable arguments and human-repairable diagnostics
  • write benchmark run evidence under the artifact area
  • write maintained benchmark snapshots under the benchmark area

Any new effect needs a declared path, lifecycle, failure mode, and consumer. Hidden network access, writes outside governed locations, mutation of product configuration, or dependence on ambient repository state beyond the declared workspace root are outside the current contract.

Boundary Warning Signs

Reconsider ownership when a proposal:

  • requires importing a product crate to reach private runtime behavior
  • emits a report intended for product users
  • creates or interprets receiver run layout
  • carries scientific thresholds or support policy
  • is reusable by product packages as a library
  • has no reviewed input, durable output, or stable maintenance decision
  • needs broad filesystem or network access unrelated to its stated contract

Use the maintainer boundary and workflow guide to resolve ambiguous proposals.

The scope is correct when a maintainer can name the governed input, typed decision, explicit effects, output consumer, and reason the capability cannot belong to a product or infrastructure owner.