Skip to main content

inspect-robots-dropbear

An Inspect Robots policy adapter for Dropbear-hosted DreamZero-YAM. Discovery and construction are offline; the first trial reset opens one lazy Dropbear connection, and later trials reuse that connection while starting fresh logical episodes.

Licensed under Apache 2.0. It supports Python 3.11 through 3.14 and requires the immutable dropbear[dreamzero]==0.1.0a10 SDK release.

Using it against a Dropbear-hosted model needs an API key and an entitlement for that model; the adapter itself is open.

Worked examples live in examples/: a complete evaluation and a skeleton embodiment showing the observation and action contract.

Install and discover

uv add inspect-robots-dropbear

Confirm the expected Dropbear SDK is active before starting an evaluation:

python -c 'import dropbear; assert dropbear.__version__ == "0.1.0a10"'

Verify that the entry point is available without opening a cloud session:

inspect-robots list policies

The output must contain dropbear. Keep your existing registered task and embodiment; do not replace or rename either. Change only the policy selection in your existing evaluation command:

--policy dropbear -P model=dreamzero-yam

The default is YAM's qualified async_latest mode. Use sampling=async_8 for the explicit compatibility/rollback path and sampling=upstream_eval only for an open-loop dataset evaluation. The server keeps inference single-flight and latest-only. The SDK preserves two committed steps and applies its fixed absolute-target motion smoother only to the aligned async_latest suffix; the adapter exposes no custom buffering, horizon, or smoothing knobs.

-P control_hz=<hz> sets the rate the chunk is executed at, defaulting to DreamZero-YAM's native 30 Hz and accepting any whole rate from 5 to 30. The whole chunk is executed at whatever rate you choose, so it stretches in time rather than being resampled: 24 actions span 0.8 s at 30 Hz and 1.6 s at 15 Hz, with nothing dropped or interpolated.

Nothing enforces this rate. Inspect's rollout adds no wall-clock pacing, so the real rate is however fast your embodiment's step() returns; control_hz is what the action scheduler plans against. Set it to the rate you actually achieve. The adapter measures the gap between policy steps, records it as step_interval_ms in the sidecar, and warns once if the measured rate diverges from the commanded one by more than 25%.

The first connection has a 1,800-second startup budget by default so DreamZero-YAM can finish loading and warmup. Set -P startup_timeout_s=<seconds> to another finite positive value when a target needs a different startup budget. This does not change timeout_s, the existing per-step action deadline, which remains 60 seconds by default.

Observation and simulator contract

The existing task and embodiment must provide all of the following on every policy step:

  • top_cam, left_cam, and right_cam uint8 images, each with a real monotonic capture time;
  • finite packed joint_pos state with shape (14,) in YAM left-arm, left-gripper, right-arm, right-gripper order; and
  • Inspect's integer extra["env_step"], starting at zero and advancing once per delivered action.

The adapter declares a 14-dimensional raw absolute-joint action at the commanded rate. It returns exactly one action per Inspect act() call while Dropbear owns DreamZero's managed action buffering. Simulator compatibility means matching those camera, state, action, clock, and rate contracts; it does not by itself establish physics parity, task success, or physical-robot safety.

Artifact ownership and joining

Inspect remains canonical for the EvalLog, aggregate scores, post-approval commanded-action JSONL, stored frames, Rerun recording, operator judgement, and trial termination/error state. The adapter adds one atomic diagnostics sidecar and records its relative path at TrialRecord.metadata["dropbear_telemetry"]:

dropbear/<run_id>/<sanitized-scene-id>-e<epoch>.jsonl

Schema-v2 sidecar rows contain serving identity, source control tick, source camera capture-to-execution age, timing, accurate maximum overlapping-target revision, chunk/merge disposition, and the same Inspect environment step. Join them to the EvalLog, action JSONL, or Rerun timeline using env_step; use join_key (<cache_generation>:<logical_action_index>) for Dropbear chunk diagnostics. Sidecars do not duplicate action vectors, images, credentials, authorization material, certificates, or endpoints.

Deterministic cleanup

Evaluation owners must call policy.close() in finally after the run, even when Inspect reports an error or cancellation. Then verify that the just-used session is gone:

dropbear sessions list

Do not stop unrelated sessions. The adapter also registers a bounded process-exit fallback, but it is not a substitute for explicit close.

Physical YAM boundary

This integration does not authorize an unattended physical run. For any physical YAM test, you own and must supply the embodiment package for your arm, validated limits, an attended operator gate, a working e-stop, and a rehearsed termination procedure. This adapter calls neither the embodiment nor hardware directly, and compatibility or serving evidence must not be reported as physical safety or effectiveness evidence.

Download files

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

Source Distribution

inspect_robots_dropbear-0.1.9.tar.gz (112.1 kB view details)

Uploaded Source

Built Distribution

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

inspect_robots_dropbear-0.1.9-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file inspect_robots_dropbear-0.1.9.tar.gz.

File metadata

  • Download URL: inspect_robots_dropbear-0.1.9.tar.gz
  • Upload date:
  • Size: 112.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for inspect_robots_dropbear-0.1.9.tar.gz
Algorithm Hash digest
SHA256 b0981cac04a86577c0129abd7f6b11b9b8c8f5f5ef55e91cb8c51afd53f9d937
MD5 f27e764cc3e6f77c68eed2adcdc7bcb1
BLAKE2b-256 2a710e38604f7ce93a64401818b1b895277cc2e992fd91f0888156d714e95405

See more details on using hashes here.

File details

Details for the file inspect_robots_dropbear-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: inspect_robots_dropbear-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for inspect_robots_dropbear-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e36cd00db0d5f17709d633b0d46e50219c3b412e08d228b80d0fbdb7c1d8b6d9
MD5 4a79c86b00f273bd2ed2fd13c91cd38c
BLAKE2b-256 3196bffd246f6867d86ce2569d8f511409b92ae1462f60730d04020f50cfb8ec

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.17

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

This release

0.1.9 This release

2 files

0.1.8

2 files

0.1.7

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page