Executable conformance suite for Labwire protocol servers
Project description
labwire-conformance
Prove a Labwire server conformant, or see exactly why not. Point the runner at ANY server implementation over WebSocket and it exercises the spec's normative requirements as executable checks, each tied to its spec section, and reports the conformance level the server actually earns (SPEC 15.1: Core, Streaming, Signed).
pip install labwire-conformance
labwire-conformance ws://127.0.0.1:9520
labwire conformance: ConformanceRig-1 (ws://127.0.0.1:9520)
PASS core.initialize.negotiates_0_3 SPEC 4, 6.1
PASS core.describe.units_mandatory SPEC 7.2, 7.3
PASS safety.s2.refused_unconfirmed SPEC 8.6
PASS safety.s3.refused_ungranted SPEC 8.6
PASS resources.read_each SPEC 10.1, 10.2
SKIP core.lifecycle.exercise SPEC 8
pass --exercise COMMAND to run one real command on a safe deployment
...
verdict: conformant at level CORE (SPEC 15.1)
Safety by construction
Nothing here executes a handler uninvited. Every submitting check stops at
a refusal the server must issue before running anything: an S2 command
without confirmation, an S3 command without a grant, a reference that does
not resolve, parameters that fail validation. The one check that really
runs a command, core.lifecycle.exercise, is opt-in:
labwire-conformance ws://HOST:PORT \
--exercise measure --params '{"settle_s": 0.5}' \
--bundle-dir /path/to/server/run_bundles \
--claim signed
--bundle-dir lets the signed-manifest checks find the bundle the
exercised run produced, verify it, and prove that a tampered copy fails.
The exit code is 0 only if the --claimed level is fully proven.
What "conformant" means
Binary pass/fail per normative requirement; no percentages. The verdict is
the highest SPEC 15.1 level at which every applicable check passes.
Checks for capabilities the server does not declare (resources, S2/S3
commands, telemetry channels) report n/a and never block; checks that
needed an opt-in you did not give report as skipped and DO block the
claim, telling you what was not proven. See SPEC 15 for the normative
definition and the honesty rules for stating a level.
Limits
- WebSocket only. The stdio transport is specified but has no conformance runner yet (SPEC 15.2 says the same about the reference implementation).
- A passing report proves the checked behaviors, not the absence of every bug; the suite grows as findings do.
- The suite trusts the reference message models in
labwire-coreas the executable rendering of the spec's JSON reference (SPEC 16).
In CI this suite runs against the repository's own reference server; see
packages/conformance/tests/test_reference_server.py.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file labwire_conformance-0.3.0.tar.gz.
File metadata
- Download URL: labwire_conformance-0.3.0.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2feef5c8f23255357e554ba9bbac14f2da4041204c1aa319f9cd8555a7aa3729
|
|
| MD5 |
3d9ce4cea7b0bed12794fe76c2a405e6
|
|
| BLAKE2b-256 |
f39616028c0940dbce6fe4972ace6cccce5c6eb897d27241ae89c1a8b1ed0a6d
|
Provenance
The following attestation bundles were made for labwire_conformance-0.3.0.tar.gz:
Publisher:
release.yml on benchwire/labwire
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
labwire_conformance-0.3.0.tar.gz -
Subject digest:
2feef5c8f23255357e554ba9bbac14f2da4041204c1aa319f9cd8555a7aa3729 - Sigstore transparency entry: 2260409298
- Sigstore integration time:
-
Permalink:
benchwire/labwire@0762ad57b8f190dc77bdbf9fbb6df7ac5d9f679e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/benchwire
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0762ad57b8f190dc77bdbf9fbb6df7ac5d9f679e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file labwire_conformance-0.3.0-py3-none-any.whl.
File metadata
- Download URL: labwire_conformance-0.3.0-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1be94756f567abb6e4607863e9a8e1ba28cf68f9cfd3525238d416685b5b52a7
|
|
| MD5 |
949a0a3639cbbb9e4a05e3143c038c44
|
|
| BLAKE2b-256 |
99123cee436a376f4aab20ef1e4a3cb72c5750a37b95b00050c4ef11dcaf4387
|
Provenance
The following attestation bundles were made for labwire_conformance-0.3.0-py3-none-any.whl:
Publisher:
release.yml on benchwire/labwire
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
labwire_conformance-0.3.0-py3-none-any.whl -
Subject digest:
1be94756f567abb6e4607863e9a8e1ba28cf68f9cfd3525238d416685b5b52a7 - Sigstore transparency entry: 2260409833
- Sigstore integration time:
-
Permalink:
benchwire/labwire@0762ad57b8f190dc77bdbf9fbb6df7ac5d9f679e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/benchwire
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0762ad57b8f190dc77bdbf9fbb6df7ac5d9f679e -
Trigger Event:
workflow_dispatch
-
Statement type: