Skip to main content

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-core as 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labwire_conformance-0.3.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

labwire_conformance-0.3.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

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

Hashes for labwire_conformance-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2feef5c8f23255357e554ba9bbac14f2da4041204c1aa319f9cd8555a7aa3729
MD5 3d9ce4cea7b0bed12794fe76c2a405e6
BLAKE2b-256 f39616028c0940dbce6fe4972ace6cccce5c6eb897d27241ae89c1a8b1ed0a6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for labwire_conformance-0.3.0.tar.gz:

Publisher: release.yml on benchwire/labwire

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file labwire_conformance-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for labwire_conformance-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1be94756f567abb6e4607863e9a8e1ba28cf68f9cfd3525238d416685b5b52a7
MD5 949a0a3639cbbb9e4a05e3143c038c44
BLAKE2b-256 99123cee436a376f4aab20ef1e4a3cb72c5750a37b95b00050c4ef11dcaf4387

See more details on using hashes here.

Provenance

The following attestation bundles were made for labwire_conformance-0.3.0-py3-none-any.whl:

Publisher: release.yml on benchwire/labwire

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page