| Action | A command that transforms input files to output files. Declared during Analysis, executed during Execution. |
| Analysis | Second phase — rule implementation functions run, toolchains are resolved, action graph is built. |
| Aspect | Rule-like construct that propagates along the dependency graph, adding analysis to existing targets. |
| Bzlmod | Bazel’s modern dependency management system, using MODULE.bazel. |
| CAS | Content Addressable Storage. Remote blob store keyed by content hash. |
| cdylib | C-compatible dynamic library. The crate type used by PyO3 for Python extension modules. |
| Configuration | Set of build settings (platform, compilation mode, etc.) under which a target is analyzed. |
| Constraint | A dimension of platform variation (e.g., OS, CPU) and its values. |
| crate_universe | Tool bridging Cargo’s dependency resolution into Bazel, generating BUILD files for Rust crates. |
| ctx | Context object passed to rule implementation functions. Access to attributes, toolchains, actions. |
| DefaultInfo | Universal provider every target returns. Contains output files and runfiles. |
| depset | Efficient, immutable, hash-consed set for propagating transitive data through the build graph. |
| Execution | Third phase — actions actually run (compilers, linkers, etc.). |
| Hermetic | A build depending only on declared inputs, not on the local environment. |
| Loading | First phase — BUILD files parsed, macros expand, target graph produced. |
| Macro | Starlark function that expands into target declarations during Loading. |
| Provider | Structured data bundle returned by a rule implementation. Information flow between targets. |
| Repository rule | Rule running during fetch phase to create an external repository. |
| Rule | Definition (schema + implementation function) creating a new type of build target. |
| Runfiles | Files available at runtime (not just build time). Crucial for .so in PyO3. |
| Sandbox | Isolated filesystem where each action runs, containing only declared inputs. |
| Starlark | Python-like language for BUILD files, .bzl files, macros, and rule implementations. |
| Target | Node in the build graph — instance of a rule with specific attribute values. |
| Toolchain | Resolved tool bundle (e.g., specific rustc binary for a specific platform). |
| Transition | Function changing the build configuration when traversing a dependency edge. |