dimensionalOS / dimensionalOS/dimos
unitree-go2-vlm-stream-test passes unexpected `g` argument to VlmStreamTester
Nobody has claimed this yet.
- 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:
- the Go2 hardware connection has no configured IP address, and
VlmStreamTesteris instantiated with an unexpected keyword argumentg.
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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