Skip to content

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

Description

@mustafab0

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions