Glossary
Each term below has one fixed meaning across the SDK documentation. Technical names keep their exact spelling. CLI names refer to benchweave-sdk subcommands.
adapter: The Python object that faces the SDK. It implements the operations that the descriptor declares. The file adapter.py in a generated project holds it.
binding catalogue: The file binding-catalogue.json. It binds descriptor targets to UI variables. The gateway verifies it during admission.
C01–C12 obligations: The capture obligation family. The vendored standards and the device developer guide in the main repository define them. The glossary does not restate them.
capture: The recording of device data during an operation. The capture module writes captures to a local directory when no gateway is present.
check: The benchweave-sdk check subcommand. It runs offline descriptor schema and basic semantic checks. A pass is not full conformance.
check-preset: The benchweave-sdk check-preset subcommand. It validates a complete configuration preset offline.
check-ui: The benchweave-sdk check-ui subcommand. It validates a presentation candidate offline. A pass is not admission and not approval to apply settings.
descriptor: The file descriptor.json. It declares the device, its identity, its operations and its firmware policy. It is the runtime compatibility contract.
doctor: The benchweave-sdk doctor subcommand. It reports the project’s pinned SDK version against the installed one. A mismatch is reported, never failed on. The standalone server carries a second doctor, benchweave-sdk-server doctor. It runs five read-only triage checks over the supervision family. The same word names two entry points.
gateway: The BenchWeave control application in the main repository. It loads plugins, runs procedures and keeps the run records. The SDK never needs a gateway.
import package: The Python package under src/ that you import. Select it with the --package option of new. It differs from the project directory.
inventory: The benchweave-sdk inventory subcommand. It prints the hashes for a prepared bundle. It is not a release manifest.
M01–M14 obligations: The measurement obligation family. The vendored standards and the device developer guide in the main repository define them. The glossary does not restate them.
plugin project: The directory that new generates, such as plugins/acme/model100/. It holds the import package, the tests and the guides. It can stand alone as a repository.
prepared bundle: The directory that holds built release files, such as dist/ after uv build. The inventory subcommand reads it.
presentation: The declarative UI of a plugin: the envelope, the manifest and their assets. Generated only with --with-ui.
preset: A complete set of configuration settings with metadata about compatibility and provenance. A preset never contains collected measurements.
preview: The benchweave-sdk preview-ui subcommand. It serves the plugin project’s pages on the standalone host, with simulated data on the scripted mock transport. It serves until you stop it.
S01–S18 obligations: The safety obligation family. The vendored standards and the device developer guide in the main repository define them. The glossary does not restate them.
standalone server: The optional server that serves one plugin project without a gateway. Install it with the [server] extra. Its command is benchweave-sdk-server. The command family includes serve, start, stop, restart, status, doctor and logs.
synthetic plugin: A project generated by new before any device work. Its protocol and test data are placeholders. It is not qualified firmware and not a real instrument driver.
synthetic protocol: The placeholder protocol in protocol.py of a generated project. Replace it with verified device behavior before release. AI-GUIDE.md prompt 2 starts that work.