dimensionalOS / dimensionalOS/dimos

unitree-go2-vlm-stream-test passes unexpected `g` argument to VlmStreamTester

Open Beginner friendly
#4,134 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

Summary

unitree-go2-vlm-stream-test fails during startup for two independent reasons:

  1. the Go2 hardware connection has no configured IP address, and
  2. VlmStreamTester is instantiated with an unexpected keyword argument g.

The missing Go2 IP belongs to the existing hardware/startup-gating issue, but the invalid g argument is a separate reproducible blueprint/configuration bug.

Reproduction

cd ~/dimensional/dimos

uv run pytest \
  'dimos/robot/test_blueprint_startup.py::test_blueprint_starts[unitree-go2-vlm-stream-test]' \
  -m '' \
  -vv -s --tb=long

Actual behavior

The startup failure contains two sub-exceptions.

The first is:

TypeError: VlmStreamTester.__init__() got an unexpected keyword argument 'g'

The module deployment fails while constructing VlmStreamTester:

RuntimeError: Failed to deploy module: TypeError:
VlmStreamTester.__init__() got an unexpected keyword argument 'g'

The second failure is the expected hardware/config prerequisite:

AssertionError: IP address must be provided

from the Go2 connection path.

Because module deployment occurs concurrently, both failures are collected into the same ExceptionGroup.

Expected behavior

VlmStreamTester should only receive constructor arguments that are supported by its __init__ signature.

If the global config object g is intended to be available to the module, it should be handled through the supported module/config mechanism rather than passed as an unsupported constructor keyword.

The blueprint should not fail module deployment with:

VlmStreamTester.__init__() got an unexpected keyword argument 'g'

Notes

The missing Go2 IP is not the issue reported here and should remain grouped under the existing startup smoke-test hardware/config gating ticket.

This ticket is specifically for the independently reproducible invalid g keyword argument supplied to VlmStreamTester.

The failure was reproduced in isolation after first appearing in the full macOS CI run, so it does not appear to be caused by test ordering or state leakage.

Suggested labels

bug


---

## QA provenance clarification

This issue was discovered during a macOS release QA pass using an **additional local runtime startup harness** that launched registered blueprints and checked whether they remained alive through startup.

The local QA harness was:

```text
dimos/robot/test_blueprint_startup.py
```

That file was **not tracked on `main`** and was not an existing DimOS CI test.

The underlying failure documented in this issue was subsequently reproduced in isolation, so the bug itself remains valid. This clarification is only to correct the original issue wording where it may have implied that `test_blueprint_startup.py` was already part of the repository or CI.

Runtime startup coverage itself is being discussed separately in #4130.

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.

Research direction

Start with the reproduced command for dimos/robot/test_blueprint_startup.py::test_blueprint_starts[unitree-go2-vlm-stream-test], then locate the unitree-go2-vlm-stream-test blueprint and VlmStreamTester.init. Check where the unsupported g argument is supplied and how module configuration is passed. Done means the blueprint no longer raises the unexpected-keyword TypeError; keep the separate Go2 IP prerequisite out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
robotics
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.