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.