Glossary
The vocabulary you need to read the rest of the docs.
Action
A single unit of build work. Encodes a command line, input file digests, the platform requirements, and the expected outputs. Hashing an action produces a stable identifier; identical actions have identical hashes.
ActionResult
What an action produces. Output file digests, exit code, captured stdout/stderr, timing metadata.
Action Cache (AC)
A keyed store: hash(Action) → ActionResult. Cache hits skip the
work entirely.
CAS — Content-Addressable Storage
Stores every blob (source file, intermediate output, final binary) under its SHA-256 hash. The same byte sequence stored from anywhere collapses to one entry.
Digest
A content hash plus a size. Used everywhere instead of file paths.
Hermetic build
A build whose outputs depend only on its declared inputs. Same inputs → same outputs, on any machine, any time. See the hermeticity FAQ.
Instance name
A namespace inside a NativeLink cluster. Action hashes from different instance names never collide. Lets one cluster serve multiple isolated environments.
LRE — Local Remote Execution
NativeLink running on localhost, with a Nix-pinned toolchain, so
local builds are bit-identical to remote ones. See
LRE.
Platform properties
Key/value tags attached to an action ("this action needs Linux, x86_64, a GPU") and to a worker ("this worker has Linux, x86_64, a GPU"). The scheduler matches them.
Remote Execution API (RE-API)
The standard gRPC protocol every supported build system speaks. Spec.
Scheduler
The dispatcher. Receives Execute calls, picks workers, tracks
in-flight actions.
Worker
The process that runs an action. Fetches inputs from CAS, runs the command, uploads outputs to CAS.
Isolation
Keeping an action from seeing state outside its declared inputs.
On Linux, workers can isolate actions with kernel namespaces via
the use_namespaces and use_mount_namespace worker options,
which also reap zombie processes and improve hermeticity.
NativeLink doesn't currently integrate external sandboxing tools
like bwrap, landlock, or sandbox-exec.
Toolchain
The bundle of binaries an action needs to run — compiler, linker, standard library, etc. See how toolchains are provided.