Glossary¶
Boundver uses a small vocabulary to describe what it records and compares. These definitions apply throughout the documentation and CLI output.
Baseline¶
A reviewed record used to tolerate known verification failures while preventing
new ones. A baseline is a temporary adoption aid, not a replacement for
boundary.lock.json.
Boundary¶
The artifact a component publishes to consumers. Examples include an OpenAPI
document, JSON Schema, declaration file, or any files selected by path-hash.
A provider turns the declared boundary into a deterministic digest.
Closure¶
A component plus every configured internal consumer reachable from it by
following consumers edges. Transitive impact and closure_of slices use
this downstream closure.
Compatibility family¶
The portion of a component version selected by compat_mode. For example,
major groups versions by their first number. Boundver reports when that
family changes; it does not infer whether the underlying change is compatible.
Consumer¶
A downstream component or external system declared as depending on another
component's contract. Internal consumers are validated component names.
external_consumers are terminal labels outside the config.
Drift¶
A mismatch between an identity recorded in boundary.lock.json and the same
identity recomputed from the selected Git snapshot. Drift says that an input
changed, not whether the change is safe.
Facet¶
One of four separately recorded component identities:
exact: tracked component content, paths, and file identities under the hashing contract; text CRLF/LF are equivalent;behavior: declared runtime-relevant inputs;boundary: the declared published artifact; andcompat: the configured compatibility family.
The identities are not fully independent. When behavior tracking is configured,
its digest includes the boundary digest, so boundary drift also changes
behavior. Several facets can change in one comparison.
Implicit boundary¶
The starter boundary created by boundver init. With no paths it provides no
separate boundary digest, so the component is initially tracked through
exact. An implicit boundary with paths hashes those files, or you can replace
it with a format-aware provider before gating boundary.
Leaf¶
A component intentionally declared as publishing no boundary. A leaf can still
provide exact, behavior, and compat identities when their inputs are
configured.
Lockfile¶
boundary.lock.json, the committed record of component identities, provider
metadata, declared consumer edges, and slice identities for one source
snapshot. It is an integrity and routing record, not a signature.
Provider¶
The deterministic extractor that converts declared boundary files into the entries hashed for a boundary identity. Built-in providers are data-only. Custom providers are explicitly enabled Python code and must be trusted.
Ratchet¶
A migration policy that permits a reviewed set of existing failures but rejects new failures. Boundver's verification baseline supports this gradual-adoption workflow.
Slice¶
A named digest over one facet from several components. A slice can list members directly or derive them from a downstream closure. Slices support stable cache keys and group-level verification.
Source mode¶
The Git view used for one operation: committed head, staged index, or
working-tree. Generate and verify against the same mode.
Vendored copy¶
A repository-relative directory whose complete tracked tree must have the same content-only digest as the complete tracked tree under the component root. Text CRLF and LF line endings are equivalent under that digest. Boundver verifies the mirror instead of assuming that a generated or copied tree stayed synchronized.