Binary Boundary¶
bijux-gnss-dev is an executable for repository maintenance. It has no library
target. Its reusable contract is limited to documented command names,
arguments, governed inputs, filesystem effects, exit behavior, and
human-readable output.
Boundary Shape¶
flowchart LR
caller["maintainer, Make, or CI"]
binary["maintainer executable"]
input["governed repository input"]
process["cargo or date child process"]
output["human output and repository evidence"]
product["product crates"]
policy["reusable policy crate"]
caller --> binary
input --> binary
process -. "selected commands" .-> binary
binary --> output
binary -. "no library API" .-> product
policy -. "test-only dependency" .-> binary
Product crates must not depend on source helpers from the executable. If logic is reusable repository policy, move it to the policy owner. If it is GNSS behavior, move it to the relevant product crate. If it is command orchestration over governed repository state, it belongs here.
What Callers Can Rely On¶
| contract | current guarantee | important limit |
|---|---|---|
| executable identity | the package builds the bijux-gnss-dev binary |
there is no library import surface |
| command inventory | four documented maintenance commands | there is no automated snapshot of the complete help text |
| repository resolution | each command accepts an optional workspace root and otherwise uses the current directory | no ancestor search discovers the repository |
| exit result | validation and strict benchmark failures return non-success | advisory benchmark regressions and missing benchmark baselines can still return success |
| display output | maintainers receive contextual pass, failure, and benchmark messages | text is human-oriented, not a versioned machine protocol |
| filesystem effects | benchmark evidence is written to documented repository locations | audit and deviation commands do not publish structured reports |
The command surface records exact behavior. The dependency guide explains the external process and working-directory requirements.
What Is Not A Public Contract¶
- helper function names and source organization;
- exact diagnostic wording or line order;
- a JSON error envelope or categorized numeric exit codes;
- benchmark output emitted by
cargobefore normalization; - automatic repository-root discovery;
- product benchmark performance itself;
- the slow-test roster as a binary command.
The slow roster is currently governed by an integration test and expression
script, not by a bijux-gnss-dev subcommand. Do not document test-only
repository behavior as executable functionality.
Failure Ownership¶
flowchart TD
failure["maintenance command failure"]
parse{"command syntax?"}
cli["binary command contract"]
file{"governed file missing or invalid?"}
governance["repository governance owner"]
child{"cargo or date failed?"}
environment["toolchain or host environment"]
output{"benchmark parsing or comparison?"}
workflow["maintainer workflow implementation"]
failure --> parse
parse -- yes --> cli
parse -- no --> file
file -- yes --> governance
file -- no --> child
child -- yes --> environment
child -- no --> output
output --> workflow
Preserve the distinction in automation. A malformed exception ledger is not a toolchain failure, and a product benchmark failure is not automatically a benchmark-parser defect.
Boundary Evidence¶
The source guardrail checks repository policy for this binary and deliberately disables the library-style public re-export rule. The slow-lane integration evidence checks roster and nextest expression behavior. Neither test invokes all four commands as external processes.
When command syntax, output, or exit semantics become compatibility-critical, add process-level tests for that behavior rather than citing these structural tests.