TW-SW1 / Open toolingActive development

benchctl

Calm orchestration for a messy physical bench.

A local-first control plane for device commands, durable jobs, streams, artifacts, and carefully bounded supervisory interfaces.

Source publication pending
01 / Product thesis
Hardware orchestration is trustworthy when every action has an authority boundary, a lifecycle, and evidence that says exactly what was tested.

What the software is trying to make ordinary

benchctl treats a one-shot command, a long-running job, a stream, and an artifact as different things. That distinction makes it possible to express cancellation, retention, reconnect behavior, and evidence without hiding device behavior behind one universal command channel.

Local-first authority

Supervisory tools can request bounded work and read state. Hazardous or timing-sensitive authority remains close to the bench, where disconnects and partial failures can be handled deliberately.

Evidence ladder

Static analysis, simulation, protocol fixtures, and a named physical bench answer different questions. The public documentation should always identify the highest level actually exercised.

02 / Working specification
Runtime
Python 3.11–3.13Current software contract
Operation
Local firstHazardous authorization remains local
Supervision
MQTT-firstBounded Home Assistant and browser surfaces
Evidence
Static → simulated → fixture → benchClaims stop at the highest executed level
04 / Artifact register
01Architecture and contractsin development
Current public state

Work is in development, but no downloadable artifact has been released from this page.

02Protocol fixturesin development
Current public state

Work is in development, but no downloadable artifact has been released from this page.

03Package and API documentationplanned
Current public state

This is a named deliverable in the plan; no public file is attached yet.

04Named device HIL reportsgated
Current public state

This artifact requires its named validation and explicit release before a public file or supporting claim appears here.

This register describes the current public claim boundary. “Planned” and “gated” entries are not downloadable deliverables.

Follow the build

Interested before it becomes a product?

Send the workflow you want to solve. Early conversations should shape the useful part of the specification—not manufacture demand for a frozen idea.

Start a conversation