Skip to content

Ruthwik/hosted teleop#2173

Draft
ruthwikdasyam wants to merge 24 commits into
mainfrom
ruthwik/hosted-teleop
Draft

Ruthwik/hosted teleop#2173
ruthwikdasyam wants to merge 24 commits into
mainfrom
ruthwik/hosted-teleop

Conversation

@ruthwikdasyam
Copy link
Copy Markdown
Contributor

Problem

Closes DIM-XXX

Solution

How to Test

Contributor License Agreement

  • I have read and approved the CLA.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

❌ 4 Tests Failed:

Tests completed Failed Passed Skipped
1825 4 1821 28
View the top 3 failed test(s) by shortest run time
dimos.robot.test_all_blueprints::test_blueprint_is_valid[teleop-hosted-xarm7]
Stack Traces | 0.017s run time
blueprint_name = 'teleop-hosted-xarm7'

    @pytest.mark.parametrize("blueprint_name", UBUNTU_BLUEPRINTS)
    def test_blueprint_is_valid(blueprint_name: str) -> None:
        """Validate blueprints that should import on the ubuntu-latest runner."""
>       _check_blueprint(blueprint_name)

blueprint_name = 'teleop-hosted-xarm7'

dimos/robot/test_all_blueprints.py:99: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/robot/test_all_blueprints.py:75: in _check_blueprint
    blueprint = get_blueprint_by_name(blueprint_name)
        blueprint_name = 'teleop-hosted-xarm7'
        message    = 'Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/'
dimos/robot/get_all_blueprints.py:47: in get_blueprint_by_name
    module = __import__(module_path, fromlist=[attr])
        attr       = 'teleop_hosted_xarm7'
        module_path = 'dimos.teleop.quest_hosted.blueprints'
        name       = 'teleop-hosted-xarm7'
.../teleop/quest_hosted/blueprints.py:22: in <module>
    from dimos.control.blueprints.teleop import coordinator_teleop_xarm7
        DIMOS_PROJECT_ROOT = PosixPath('.../work/dimos/dimos')
        Path       = <class 'pathlib.Path'>
        __builtins__ = <builtins>
        __cached__ = '.../work/dimos/dimos/dimos/teleop/quest_hosted/__pycache__/blueprints.cpython-312.pyc'
        __doc__    = 'Hosted teleop blueprints (WebRTC transport).'
        __file__   = '.../work/dimos/dimos/.../teleop/quest_hosted/blueprints.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7f0981d94320>
        __name__   = 'dimos.teleop.quest_hosted.blueprints'
        __package__ = 'dimos.teleop.quest_hosted'
        __spec__   = ModuleSpec(name='dimos.teleop.quest_hosted.blueprints', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f0981d94320>, origin='.../work/dimos/dimos/.../teleop/quest_hosted/blueprints.py')
        datetime   = <class 'datetime.datetime'>
.../control/blueprints/teleop.py:185: in <module>
    *_mujoco_if_sim(str(XARM7_SIM_PATH), _xarm7_teleop_cfg.dof),
        Blueprint  = <class 'dimos.core.coordination.blueprints.Blueprint'>
        Buttons    = <class 'dimos.teleop.quest.quest_types.Buttons'>
        ControlCoordinator = <class 'dimos.control.coordinator.ControlCoordinator'>
        JointState = <class 'dimos.msgs.sensor_msgs.JointState.JointState'>
        LCMTransport = <class 'dimos.core.transport.LCMTransport'>
        MujocoSimModule = <class 'dimos.simulation.engines.mujoco_sim_module.MujocoSimModule'>
        PIPER_FK_MODEL = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f09851ecfd0>
        PIPER_SIM_PATH = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502d2d0>
        PoseStamped = <class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>
        XARM6_FK_MODEL = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502d850>
        XARM6_SIM_PATH = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502d050>
        XARM7_FK_MODEL = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502f1d0>
        XARM7_SIM_PATH = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502ef50>
        __builtins__ = <builtins>
        __cached__ = '.../work/dimos/dimos/dimos/control/blueprints/__pycache__/teleop.cpython-312.pyc'
        __doc__    = 'Advanced control coordinator blueprints: servo, velocity, cartesian IK, and teleop IK.\n\nTeleop blueprints switch be...Cartesian IK (Piper, real-only)\n    dimos run coordinator-teleop-dual               # TeleopIK dual arm (real-only)\n'
        __file__   = '.../work/dimos/dimos/.../control/blueprints/teleop.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7f0981d944a0>
        __name__   = 'dimos.control.blueprints.teleop'
        __package__ = 'dimos.control.blueprints'
        __spec__   = ModuleSpec(name='dimos.control.blueprints.teleop', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f0981d944a0>, origin='.../work/dimos/dimos/.../control/blueprints/teleop.py')
        _catalog_piper = <function piper at 0x7f09851742c0>
        _catalog_xarm6 = <function xarm6 at 0x7f0985175da0>
        _catalog_xarm7 = <function xarm7 at 0x7f09851763e0>
        _is_sim    = ''
        _mock_6dof_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f09815733e0>
        _mujoco_if_sim = <function _mujoco_if_sim at 0x7f09819d5d00>
        _piper_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981572710>
        _piper_teleop_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981572990>
        _xarm6_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981572670>
        _xarm6_teleop_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f09815728f0>
        _xarm7_teleop_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981572850>
        annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216)
        autoconnect = <function autoconnect at 0x7f0a99d536a0>
        coordinator_cartesian_ik_mock = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] Blueprint object at 0x7f0981d9cec0>
        coordinator_cartesian_ik_piper = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] Blueprint object at 0x7f0981d9d160>
        coordinator_combined_xarm6 = Blueprint(blueprints=(BlueprintAtom(kwargs={'hardware': [HardwareComponent(hardware_id='arm', hardware_type=<HardwareT...lobal_config_overrides=mappingproxy({}), remapping_map=mappingproxy({}), requirement_checks=(), configurator_checks=())
        coordinator_servo_xarm6 = Blueprint(blueprints=(BlueprintAtom(kwargs={'hardware': [HardwareComponent(hardware_id='arm', hardware_type=<HardwareT...lobal_config_overrides=mappingproxy({}), remapping_map=mappingproxy({}), requirement_checks=(), configurator_checks=())
        coordinator_velocity_xarm6 = Blueprint(blueprints=(BlueprintAtom(kwargs={'hardware': [HardwareComponent(hardware_id='arm', hardware_type=<HardwareT...lobal_config_overrides=mappingproxy({}), remapping_map=mappingproxy({}), requirement_checks=(), configurator_checks=())
        global_config = GlobalConfig(robot_ip=None, robot_ips=None, xarm7_ip=None, xarm6_ip=None, can_port=None, simulation='', replay=False, ...e, obstacle_avoidance=True, detection_model='moondream', listen_host='127.0.0.1', dimsim_scene='apt', dimsim_port=8090)
        make_gripper_joints = <function make_gripper_joints at 0x7f09e651cb80>
dimos/utils/data.py:324: in __str__
    return str(self._ensure_downloaded())
        self       = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502ef50>
dimos/utils/data.py:302: in _ensure_downloaded
    cache = get_data(filename)
        cache      = None
        filename   = 'xarm7/scene.xml'
        self       = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502ef50>
dimos/utils/data.py:259: in get_data
    archive_path = _decompress_archive(_pull_lfs_archive(archive_name))
        archive_name = 'xarm7'
        data_dir   = PosixPath('.../work/dimos/dimos/data')
        file_path  = PosixPath('.../work/dimos/dimos/data/xarm7/scene.xml')
        name       = 'xarm7/scene.xml'
        nested_path = PosixPath('scene.xml')
        path_parts = ('xarm7', 'scene.xml')
dimos/utils/data.py:186: in _pull_lfs_archive
    _check_git_lfs_available()
        filename   = 'xarm7'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def _check_git_lfs_available() -> bool:
        missing = []
    
        # Check if git is available
        try:
            subprocess.run(["git", "--version"], capture_output=True, check=True, text=True)
        except (subprocess.CalledProcessError, FileNotFoundError):
            missing.append("git")
    
        # Check if git-lfs is available
        try:
            subprocess.run(["git-lfs", "version"], capture_output=True, check=True, text=True)
        except (subprocess.CalledProcessError, FileNotFoundError):
            missing.append("git-lfs")
    
        if missing:
>           raise RuntimeError(
                f"Missing required tools: {', '.join(missing)}.\n\n"
                "Git LFS installation instructions: https://git-lfs.github.io/"
            )
E           RuntimeError: Missing required tools: git-lfs.
E           
E           Git LFS installation instructions: https://git-lfs.github.io/

missing    = ['git-lfs']

dimos/utils/data.py:135: RuntimeError
dimos.robot.test_all_blueprints::test_blueprint_is_valid[teleop-hosted-go2]
Stack Traces | 0.067s run time
blueprint_name = 'teleop-hosted-go2'

    @pytest.mark.parametrize("blueprint_name", UBUNTU_BLUEPRINTS)
    def test_blueprint_is_valid(blueprint_name: str) -> None:
        """Validate blueprints that should import on the ubuntu-latest runner."""
>       _check_blueprint(blueprint_name)

blueprint_name = 'teleop-hosted-go2'

dimos/robot/test_all_blueprints.py:99: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/robot/test_all_blueprints.py:75: in _check_blueprint
    blueprint = get_blueprint_by_name(blueprint_name)
        blueprint_name = 'teleop-hosted-go2'
        message    = 'Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/'
dimos/robot/get_all_blueprints.py:47: in get_blueprint_by_name
    module = __import__(module_path, fromlist=[attr])
        attr       = 'teleop_hosted_go2'
        module_path = 'dimos.teleop.quest_hosted.blueprints'
        name       = 'teleop-hosted-go2'
.../teleop/quest_hosted/blueprints.py:22: in <module>
    from dimos.control.blueprints.teleop import coordinator_teleop_xarm7
        DIMOS_PROJECT_ROOT = PosixPath('.../work/dimos/dimos')
        Path       = <class 'pathlib.Path'>
        __builtins__ = <builtins>
        __cached__ = '.../work/dimos/dimos/dimos/teleop/quest_hosted/__pycache__/blueprints.cpython-312.pyc'
        __doc__    = 'Hosted teleop blueprints (WebRTC transport).'
        __file__   = '.../work/dimos/dimos/.../teleop/quest_hosted/blueprints.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7f0981d2e9c0>
        __name__   = 'dimos.teleop.quest_hosted.blueprints'
        __package__ = 'dimos.teleop.quest_hosted'
        __spec__   = ModuleSpec(name='dimos.teleop.quest_hosted.blueprints', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f0981d2e9c0>, origin='.../work/dimos/dimos/.../teleop/quest_hosted/blueprints.py')
        datetime   = <class 'datetime.datetime'>
.../control/blueprints/teleop.py:185: in <module>
    *_mujoco_if_sim(str(XARM7_SIM_PATH), _xarm7_teleop_cfg.dof),
        Blueprint  = <class 'dimos.core.coordination.blueprints.Blueprint'>
        Buttons    = <class 'dimos.teleop.quest.quest_types.Buttons'>
        ControlCoordinator = <class 'dimos.control.coordinator.ControlCoordinator'>
        JointState = <class 'dimos.msgs.sensor_msgs.JointState.JointState'>
        LCMTransport = <class 'dimos.core.transport.LCMTransport'>
        MujocoSimModule = <class 'dimos.simulation.engines.mujoco_sim_module.MujocoSimModule'>
        PIPER_FK_MODEL = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f09851ecfd0>
        PIPER_SIM_PATH = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502d2d0>
        PoseStamped = <class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>
        XARM6_FK_MODEL = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502d850>
        XARM6_SIM_PATH = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502d050>
        XARM7_FK_MODEL = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502f1d0>
        XARM7_SIM_PATH = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502ef50>
        __builtins__ = <builtins>
        __cached__ = '.../work/dimos/dimos/dimos/control/blueprints/__pycache__/teleop.cpython-312.pyc'
        __doc__    = 'Advanced control coordinator blueprints: servo, velocity, cartesian IK, and teleop IK.\n\nTeleop blueprints switch be...Cartesian IK (Piper, real-only)\n    dimos run coordinator-teleop-dual               # TeleopIK dual arm (real-only)\n'
        __file__   = '.../work/dimos/dimos/.../control/blueprints/teleop.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7f0981d2f740>
        __name__   = 'dimos.control.blueprints.teleop'
        __package__ = 'dimos.control.blueprints'
        __spec__   = ModuleSpec(name='dimos.control.blueprints.teleop', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f0981d2f740>, origin='.../work/dimos/dimos/.../control/blueprints/teleop.py')
        _catalog_piper = <function piper at 0x7f09851742c0>
        _catalog_xarm6 = <function xarm6 at 0x7f0985175da0>
        _catalog_xarm7 = <function xarm7 at 0x7f09851763e0>
        _is_sim    = ''
        _mock_6dof_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981931b80>
        _mujoco_if_sim = <function _mujoco_if_sim at 0x7f0981d10cc0>
        _piper_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981d539d0>
        _piper_teleop_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981930c80>
        _xarm6_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981d53ac0>
        _xarm6_teleop_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981930d20>
        _xarm7_teleop_cfg = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] RobotConfig object at 0x7f0981930960>
        annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216)
        autoconnect = <function autoconnect at 0x7f0a99d536a0>
        coordinator_cartesian_ik_mock = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] Blueprint object at 0x7f0981958350>
        coordinator_cartesian_ik_piper = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] Blueprint object at 0x7f0981958da0>
        coordinator_combined_xarm6 = Blueprint(blueprints=(BlueprintAtom(kwargs={'hardware': [HardwareComponent(hardware_id='arm', hardware_type=<HardwareT...lobal_config_overrides=mappingproxy({}), remapping_map=mappingproxy({}), requirement_checks=(), configurator_checks=())
        coordinator_servo_xarm6 = Blueprint(blueprints=(BlueprintAtom(kwargs={'hardware': [HardwareComponent(hardware_id='arm', hardware_type=<HardwareT...lobal_config_overrides=mappingproxy({}), remapping_map=mappingproxy({}), requirement_checks=(), configurator_checks=())
        coordinator_velocity_xarm6 = Blueprint(blueprints=(BlueprintAtom(kwargs={'hardware': [HardwareComponent(hardware_id='arm', hardware_type=<HardwareT...lobal_config_overrides=mappingproxy({}), remapping_map=mappingproxy({}), requirement_checks=(), configurator_checks=())
        global_config = GlobalConfig(robot_ip=None, robot_ips=None, xarm7_ip=None, xarm6_ip=None, can_port=None, simulation='', replay=False, ...e, obstacle_avoidance=True, detection_model='moondream', listen_host='127.0.0.1', dimsim_scene='apt', dimsim_port=8090)
        make_gripper_joints = <function make_gripper_joints at 0x7f09e651cb80>
dimos/utils/data.py:324: in __str__
    return str(self._ensure_downloaded())
        self       = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502ef50>
dimos/utils/data.py:302: in _ensure_downloaded
    cache = get_data(filename)
        cache      = None
        filename   = 'xarm7/scene.xml'
        self       = <[RuntimeError('Missing required tools: git-lfs.\n\nGit LFS installation instructions: https://git-lfs.github.io/') raised in repr()] LfsPath object at 0x7f098502ef50>
dimos/utils/data.py:259: in get_data
    archive_path = _decompress_archive(_pull_lfs_archive(archive_name))
        archive_name = 'xarm7'
        data_dir   = PosixPath('.../work/dimos/dimos/data')
        file_path  = PosixPath('.../work/dimos/dimos/data/xarm7/scene.xml')
        name       = 'xarm7/scene.xml'
        nested_path = PosixPath('scene.xml')
        path_parts = ('xarm7', 'scene.xml')
dimos/utils/data.py:186: in _pull_lfs_archive
    _check_git_lfs_available()
        filename   = 'xarm7'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def _check_git_lfs_available() -> bool:
        missing = []
    
        # Check if git is available
        try:
            subprocess.run(["git", "--version"], capture_output=True, check=True, text=True)
        except (subprocess.CalledProcessError, FileNotFoundError):
            missing.append("git")
    
        # Check if git-lfs is available
        try:
            subprocess.run(["git-lfs", "version"], capture_output=True, check=True, text=True)
        except (subprocess.CalledProcessError, FileNotFoundError):
            missing.append("git-lfs")
    
        if missing:
>           raise RuntimeError(
                f"Missing required tools: {', '.join(missing)}.\n\n"
                "Git LFS installation instructions: https://git-lfs.github.io/"
            )
E           RuntimeError: Missing required tools: git-lfs.
E           
E           Git LFS installation instructions: https://git-lfs.github.io/

missing    = ['git-lfs']

dimos/utils/data.py:135: RuntimeError
dimos.project.test_get_logger::test_no_get_logger
Stack Traces | 0.374s run time
def test_no_get_logger():
        """
        Fail if any file uses `= logging.getLogger` outside the whitelist.
        """
        violations = find_get_logger_usages()
        if violations:
            report_lines = [
                f"Found {len(violations)} forbidden use(s) of `logging.getLogger`. "
                "Use `setup_logger` instead:",
                "",
                "    from dimos.utils.logging_config import setup_logger",
                "",
                "    logger = setup_logger()",
                "",
                "If the usage is legitimate (e.g. standalone script, logging "
                "infrastructure, or third-party logger suppression), add it to the "
                "WHITELIST in dimos/project/test_get_logger.py.",
                "",
            ]
            for path, lineno, text in violations:
                report_lines.append(f"  {path}:{lineno}: {text.strip()}")
>           raise AssertionError("\n".join(report_lines))
E           AssertionError: Found 1 forbidden use(s) of `logging.getLogger`. Use `setup_logger` instead:
E           
E               from dimos.utils.logging_config import setup_logger
E           
E               logger = setup_logger()
E           
E           If the usage is legitimate (e.g. standalone script, logging infrastructure, or third-party logger suppression), add it to the WHITELIST in dimos/project/test_get_logger.py.
E           
E             .../teleop/quest_hosted/dev_broker.py:91: logger = logging.getLogger("dev_broker")

lineno     = 91
path       = '.../teleop/quest_hosted/dev_broker.py'
report_lines = ['Found 1 forbidden use(s) of `logging.getLogger`. Use `setup_logger` instead:', '', '    from dimos.utils.logging_config import setup_logger', '', '    logger = setup_logger()', '', ...]
text       = 'logger = logging.getLogger("dev_broker")'
violations = [('.../teleop/quest_hosted/dev_broker.py', 91, 'logger = logging.getLogger("dev_broker")')]

dimos/project/test_get_logger.py:124: AssertionError
dimos.robot.test_all_blueprints_generation::test_all_blueprints_is_current
Stack Traces | 3.41s run time
def test_all_blueprints_is_current() -> None:
        root = DIMOS_PROJECT_ROOT / "dimos"
        all_blueprints, all_modules = _scan_for_blueprints(root)
    
        common = set(all_blueprints.keys()) & set(all_modules.keys())
        assert not common, (
            f"Names must be unique across blueprints and modules, "
            f"but these appear in both: {sorted(common)}"
        )
    
        generated_content = _generate_all_blueprints_content(all_blueprints, all_modules)
    
        file_path = root / "robot" / "all_blueprints.py"
    
        if "CI" in os.environ:
            if not file_path.exists():
                pytest.fail(f"all_blueprints.py does not exist at {file_path}")
    
            current_content = file_path.read_text()
            if current_content != generated_content:
                diff = difflib.unified_diff(
                    current_content.splitlines(keepends=True),
                    generated_content.splitlines(keepends=True),
                    fromfile="all_blueprints.py (current)",
                    tofile="all_blueprints.py (generated)",
                )
                diff_str = "".join(diff)
>               pytest.fail(
                    f"all_blueprints.py is out of date. Run "
                    f"`pytest dimos/robot/test_all_blueprints_generation.py` locally to update.\n\n"
                    f"Diff:\n{diff_str}"
                )
E               Failed: all_blueprints.py is out of date. Run `pytest dimos/robot/test_all_blueprints_generation.py` locally to update.
E               
E               Diff:
E               --- all_blueprints.py (current)
E               +++ all_blueprints.py (generated)
E               @@ -210,9 +210,9 @@
E                    "spatial-memory": "dimos.perception.spatial_perception.SpatialMemory",
E                    "speak-skill": "dimos.agents.skills.speak_skill.SpeakSkill",
E                    "tare-planner": "dimos.navigation.nav_stack.modules.tare_planner.tare_planner.TarePlanner",
E               +    "teleop-benchmark-module": "dimos.teleop.utils.benchmark.TeleopBenchmarkModule",
E               +    "teleop-recorder": "dimos.teleop.quest.blueprints.TeleopRecorder",
E                    "temporal-memory": "dimos.perception.experimental.temporal_memory.temporal_memory.TemporalMemory",
E               -    "teleop-benchmark": "dimos.teleop.utils.benchmark.TeleopBenchmarkModule",
E               -    "teleop-recorder": "dimos.teleop.quest.blueprints.TeleopRecorder",
E                    "terrain-analysis": "dimos.navigation.nav_stack.modules.terrain_analysis.terrain_analysis.TerrainAnalysis",
E                    "terrain-map-ext": "dimos.navigation.nav_stack.modules.terrain_map_ext.terrain_map_ext.TerrainMapExt",
E                    "twist-teleop-module": "dimos.teleop.quest.quest_extensions.TwistTeleopModule",

all_blueprints = {'alfred-nav': 'dimos.robot.diy.alfred.blueprints.alfred_nav:alfred_nav', 'coordinator-basic': 'dimos.control.blueprin...sian_ik_mock', 'coordinator-cartesian-ik-piper': 'dimos.control.blueprints.teleop:coordinator_cartesian_ik_piper', ...}
all_modules = {'alfred-high-level': 'dimos.robot.diy.alfred.effector_high_level.AlfredHighLevel', 'arm-teleop-module': 'dimos.teleop..._navigation.BBoxNavigationModule', 'b1-connection-module': 'dimos.robot.unitree.b1.connection.B1ConnectionModule', ...}
common     = set()
current_content = '# Copyright 2025-2026 Dimensional Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you m...ebsocket_vis_module.WebsocketVisModule",\n    "zed-camera": "dimos.hardware.sensors.camera.zed.camera.ZEDCamera",\n}\n'
diff       = <generator object unified_diff at 0x7ff23d8f4040>
diff_str   = '--- all_blueprints.py (current)\n+++ all_blueprints.py (generated)\n@@ -210,9 +210,9 @@\n     "spatial-memory": "dimo...errain_map_ext.TerrainMapExt",\n     "twist-teleop-module": "dimos.teleop.quest.quest_extensions.TwistTeleopModule",\n'
file_path  = PosixPath('.../dimos/robot/all_blueprints.py')
generated_content = '# Copyright 2025-2026 Dimensional Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you m...ebsocket_vis_module.WebsocketVisModule",\n    "zed-camera": "dimos.hardware.sensors.camera.zed.camera.ZEDCamera",\n}\n'
root       = PosixPath('.../dimos/dimos/dimos')

dimos/robot/test_all_blueprints_generation.py:66: Failed

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant