dimensionalOS / dimensionalOS/dimos

Dimos(simulation=...) is applied after the blueprint import that reads it

Open
#4,100 0 comments 0 reactions 1 assignee View on GitHub

@paul-nechifor is already working on this.

Since Sep 12, 2026.

api bug
Dominant language
Python
Stars
4.5k
Forks
808
Avg merge
3d 5h
Merged PRs (30d)
233

Description

Dimos(simulation="mujoco").run("xarm-grasp") composes the hardware stack and then tries to reach an xArm and a RealSense that are not attached.

  1. run() resolves the target first and applies the constructor's overrides second (dimos/porcelain/dimos.py, resolve at line 78, global_config.update at line 81).
  2. Resolving a name imports the blueprint module, and blueprints settle the arm-versus-sim split at import time: SIMULATED = bool(global_config.simulation) in xarm/blueprints/grasp.py:59, and several module-scope branches in unitree_g1_groot_wbc.py and unitree_g1_teleop.py.
  3. The import therefore reads the default and the override lands too late. The CLI already applies global config before resolving names

Found by greptile on #3873 rather than by anything failing in use, so nothing is blocked.


Synced from DIM-1668 by stash

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.