Skip to content

ToolsEnabled Sim 0.1.11 (beta)

Pre-release
Pre-release

Choose a tag to compare

@ToolsEnabled-Inc ToolsEnabled-Inc released this 14 Oct 01:47

ToolsEnabled Sim 0.1.11 (beta) fixes what a fresh user hit in the 2026-10-13 re-test of 0.1.10: the delivery rule now names the robot's stop point instead of the zone center (a held crate rides 0.75 m ahead of the robot, so a robot sent to the center released its crate outside the zone), and replay, the MCP shim and the live launcher explain a wrong path, a stopped hub and a missing driver label in plain words. Code paths for physics, recording and replay are unchanged; recorded trajectory bytes are identical to 0.1.10. MIT licensed.

What changed

  • Delivery rule and deliveryAreas. deliveryRule, returned by sim.status and sim.observe and carried by the sim.observe, sim.status and robot.release tool descriptions, used to say "Aim for the zone center". robot.goto moves the robot, and a held crate rides 0.75 m ahead of it, so a coordinator who sent amber to zone A's center (5, -3.5) released the crate at x=5.72, outside the delivery area (max x 5.70), and delivered nothing. The rule now says to stop the robot 0.75 m short of the zone center, and every deliveryAreas entry gains carryOffset (0.75) and robotStops: the robot waypoint for a robot arriving facing east, west, south or north (zone A, arriving facing east: x 4.25, y -3.5). The /sim map pane lists each zone's facing-east stop. README "Try it" prompt 2, docs/MCP.md, docs/LIVE.md, the skill and the deliver command say the same. Tool names, schemas and hints are unchanged; the golden tool-list fixtures carry the new description.
  • Replay on a wrong path. node tools/replay.mjs on a path that is not a run directory now says what it needs (a run directory containing trajectory.jsonl and actions.jsonl, such as ./runs/demo or a hub's run-NNNN folder) and which file is missing, instead of a raw ENOENT.
  • Chromium for capture and the render tests. README "Render offline" says to set SIM_CHROMIUM_EXECUTABLE to the real browser binary, for example /opt/google/chrome/chrome or a chrome-headless-shell binary, not a wrapper script such as /usr/bin/google-chrome: the replay test runs the printed capture command with only Node's directory on PATH, where a wrapper script fails before the browser starts.
  • Live launcher without driverLabel. The refusal says to add driverLabel to each assignment and points at the example in docs/LIVE.md. README says the demo's work-record.json has none, so it needs the field before tools/live.mjs accepts it.
  • MCP shim after the hub stopped. Pointed at a connection file that no longer exists, the shim names the file and says that a stopped hub removes its connection files, so start the hub again and configure the plugin with the new file. Every other refusal keeps its one-line "Invalid SIM_CONNECTION file." message.
  • Unchanged: physics, recording and replay code, the MCP tool list's names, schemas and hints, the Claude Code plugin and its /sim mod, dependency versions and vendored bytes (Rapier 0.17.3, MuJoCo 3.14.0, Three.js 0.180.0, playwright-core 1.62.0), the Codex manifest from 0.1.10.

Get started

  1. Download toolsenabled-sim-0.1.11.zip and toolsenabled-sim-0.1.11.zip.sha256, then run sha256sum -c toolsenabled-sim-0.1.11.zip.sha256.
  2. With Node.js 22 or later, run unzip toolsenabled-sim-0.1.11.zip, cd sim, node tools/demo.mjs --output ./runs/demo, then node tools/replay.mjs ./runs/demo. For MuJoCo: node tools/demo.mjs --output ./runs/demo-mujoco --engine mujoco, then node tools/replay.mjs ./runs/demo-mujoco.
  3. To try the Claude Code plugin, follow the README's "Try it" section. To connect your own agents, see docs/LIVE.md and docs/CLAUDE-INSTALL.md (marketplace commands, one CLAUDE_CONFIG_DIR per robot agent, per-agent private connection options).

Tested on this exact release (source commit 5fb932e9f9958e50a12f5b4529eac372673a6e0d, tag v0.1.11; ZIP SHA-256 0667bfe157d1564d9da4c0afb30a98544cbbc8cabf462fc2cc43c81cb1cc9d3c; Linux, Node.js 22.19.0, Claude Code 2.1.296)

  • 132 of 132 Node tests pass headless on source and on the extracted ZIP (129 in 0.1.10), including actual Chromium rendering and the printed capture command run exactly as printed in a POSIX shell. New: the advertised robot stop delivers cargo-a to zone A and the zone center does not (checked in the simulation, not only in the text), the shim's message after a hub shutdown, and the launcher's refusal; the replay path test and the delivery-rule tests check the new messages. All 14 packaging/scanner tests and the DeepSeek configuration test pass on source and on the extracted ZIP. The 44 plugin hook tests and strict Claude validation pass on source and on the extracted ZIP; strict validation also passes on plugin.json and the marketplace catalog.
  • The ZIP rebuilds byte for byte three times from this clean commit, twice in the release clone and once in a fresh clone with dependencies from the lockfile's offline cache: 5,451,485 bytes, 142 files under one sim/ wrapper.
  • From the extracted ZIP, the scripted demo delivers three crates with no collisions and replays byte-identically over 600 ticks on both engines. Trajectory SHA-256: Rapier 453aa41446485c2865437652a7c4a6256fb395b8ccf52dc7ae6ec35f4c8e53a5; MuJoCo 278254654043d0aa09299940eddb56eef083a0377fd0597868ba2cb10b7ea9d6, the same as 0.1.10.
  • Over the coordinator's MCP connection, the fresh-user defect reproduces on the old guidance and is fixed by the new one: robot.goto to zone A's center (5, -3.5) releases cargo-a at x=5.72492 (0 of 3 delivered, score 0); robot.goto to the advertised stop (4.25, -3.5) releases it at x=4.974931 (1 of 3 delivered, score 100, 0 collisions).
  • A local Claude Code marketplace add and install of the extracted ZIP with the coordinator's connection file lists toolsenabled-sim 0.1.11, and claude mcp list shows its server Connected.
  • Codex was not run for this release. Real model-driven sessions, native Desktop installation and installation from Codex's /plugins browser remain separate integration qualifications.

Known limits

  • Linux was tested. Native Windows is unsupported because Sim relies on POSIX file ownership checks. Native Claude Desktop installation and production bundle signing need separate qualification; no MCPB is attached.
  • A Sim action starts only from your own prompt, at the terminal or through Remote Control. A headless claude -p run, a scheduled or relayed message, another session or another plugin cannot start one.
  • A Git-backed install takes the repository's default branch at its current commit. Use the verified extracted ZIP for this exact release and offline dependencies. Catalog registration alone does not establish pane or MCP readiness.
  • After a storage failure, the stopped run's recording can end in a partial record; replay cannot verify that run. Start a new hub, with a new run root or once the storage is fixed, to continue.
  • The pinned Rapier compatibility initializer prints an upstream notice on stderr once per process. Recorded physics bytes and MCP stdout are unaffected.
  • Seven dependency files exceed 256 KiB; THIRD-PARTY.md lists the shipped files and licenses. No browser binary ships. Identical rendered frames require the same Chromium build and renderer.
  • The handoff scanner cannot inspect keys hidden in raw deflate data without a recognizable header.
  • One-tick live runs at the default recording cap have a practical ceiling of about 30,000 ticks; larger scenes or heavier traffic can stop sooner. The planner does not predict other robots' future paths; the coordinator schedules crossing traffic.
  • Driver labels are supplied by the operator. Processes running as the same OS user can read private files and act as that user. See SECURITY.md. Security policy: https://toolsenabled.ai/security/; support: support@toolsenabled.ai.

ToolsEnabled is not affiliated with or endorsed by Anthropic, OpenAI, DeepSeek, Cursor, Google DeepMind or any other AI provider.