Skip to content

feat: connect BEHAVIOR R1 Pro navigation and manipulation - #4198

Closed
TomCC7 wants to merge 1 commit into
feat/behavior-integrationfrom
feat/behavior-r1pro
Closed

TomCC7 wants to merge 1 commit into
feat/behavior-integrationfrom
feat/behavior-r1pro

Conversation

@TomCC7

@TomCC7 TomCC7 commented Sep 17, 2026

Copy link
Copy Markdown
Member

What changes

Connect BEHAVIOR's 2026 R1 Pro to KronkNav and the existing DimOS manipulation stack in one behavior-r1pro blueprint. The robot loads the selected training task's prescribed start pose, navigates using three RGB-D cameras, and executes planned motions through the existing ControlCoordinator.

  • Use the pinned evaluator's R1 Pro robot/controllers and the simulator's matching URDF, while reusing the hardware integration's joint names and planning groups.
  • Feed measured base pose and grippers into the planning model; expose only arm/torso groups for execution. Select the existing RRT-Connect planner so measured unbounded base translation stays outside the arm search space.
  • Add a repeatable navigate → stop → move each arm → cancel/hold demo, with measured FK and tracking thresholds and JSON reports.
  • Provide the native Isaac viewport and Viser manipulation controls; document scene/task browsing and development limits.

Integration fixes

The live proof also required robot self-filtering with fixed-link geometry and cached Open3D distance queries, removal of MLS's 64-candidate start-snap cap, serialized manipulation shutdown, and Zenoh 1.10.1's upstream loopback-discovery fix. The Nix pre-commit invocation now uses Git filtering so it excludes ignored simulator assets.

Validation

  • 53 focused Python tests; 94 MLS planner tests; 140 native-module tests.
  • Mypy: 16 affected Python source files. All repository pre-commit hooks pass with the host Rust compiler aligned to Clippy (RUSTC=/usr/bin/rustc, RUSTDOC=/usr/bin/rustdoc) and Nix flakes enabled.
  • Fresh unattended GPU proof on RTX 3090 / driver 590.48.01: navigation moved 0.661 m with 0.140 m goal error and a stationary finish; both arms tracked within 0.002 rad; cancellation hold drift was 0.000013 rad. FK stayed within about 5.3 mm.
  • Fresh native-viewer repeat passed: 0.655 m displacement, 0.146 m goal error, both arms within 0.001 rad, and 0.0000024 rad cancellation hold drift. Verified the Isaac viewport and Viser HTTP server.
  • R1 Pro scene-only sensor proof passed in Rs_int: three RGB-D cameras, joints/TF, both arms/grippers, 0.090 m base-command motion and 0.157 m native-action motion, stable height and expired-command hold. Spawn validation now requires floor support after settling and avoids querying cloth objects in the rigid-contact table.
  • Native mapper/planner replay delivers maps and paths without a republish or startup delay after the Zenoh patch.

Scope

This is development integration using simulator ground-truth localization, not an official benchmark score. The arm proof checks robot self-collision; the navigation map is not yet connected to the manipulation collision world. It does not prove clutter-safe pick-and-place.

Stacked above #4194 (feat/behavior-integration).

Agent: Codex (GPT-6)

@TomCC7
TomCC7 added this pull request to stack #4160 September 17, 2026 00:38
@codecov

codecov Bot commented Sep 17, 2026

Copy link
Copy Markdown

❌ 7 Tests Failed:

Tests completed Failed Passed Skipped
5773 7 5766 45
View the top 3 failed test(s) by shortest run time
dimos.codebase_checks.test_docs_branding::test_docs_use_current_branding
Stack Traces | 0.038s run time
def test_docs_use_current_branding() -> None:
        """Fail if any file under docs/ spells the brand "DimOS" instead of "dimOS"."""
        hits = find_old_branding()
        if hits:
            listing = "\n".join(
                f"  - {p.relative_to(DIMOS_PROJECT_ROOT)}:{lineno}: {line.strip()}"
                for p, lineno, line in hits
            )
>           raise AssertionError(f'Found "DimOS" in docs/:\n{listing}\n\nThe brand is spelled "dimOS".')
E           AssertionError: Found "DimOS" in docs/:
E             - docs/adr/0002-isolated-runtime-dependencies.md:3: Each isolated runtime syncs its own lockfile, installs the matching host DimOS code
E             - docs/adr/0002-isolated-runtime-dependencies.md:7: their implementation and DimOS transport/message imports; the isolated environment
E             - docs/adr/0002-isolated-runtime-dependencies.md:11: DimOS version. All isolated callers use the same preparation path.
E             - .../capabilities/simulation/behavior.md:3: BEHAVIOR runs an R1 Pro mobile manipulator in an isolated Python process. DimOS owns
E             - .../capabilities/simulation/behavior.md:8: DimOS host (NumPy 2, Rerun)
E             - .../capabilities/simulation/behavior.md:41: current DimOS checkout (or exactly the installed host version) with `--no-deps`.
E             - .../capabilities/simulation/behavior.md:111: The manipulation layer reuses DimOS's R1 Pro planning groups, joint names,
E             - .../capabilities/simulation/behavior.md:117: Planning uses DimOS's selected-joint RRT-Connect with RoboPlan collision queries.
E             - .../capabilities/simulation/behavior.md:211: | navigation | Existing DimOS planner/follower reaches selected goal within 0.3 m in 120 s |
E             - .../capabilities/simulation/behavior.md:229: without DimOS or OmniGibson imports; with a clean environment and only `libxml2`
E           
E           The brand is spelled "dimOS".

hits       = [(PosixPath('.../docs/adr/0002-isolated-runtime-dependencies.md'), 3, 'Each isolated runtime...simulation/behavior.md'), 41, 'current DimOS checkout (or exactly the installed host version) with `--no-deps`.'), ...]
listing    = '  - docs/adr/0002-isolated-runtime-dependencies.md:3: Each isolated runtime syncs its own lockfile, installs the matc...abilities/simulation/behavior.md:229: without DimOS or OmniGibson imports; with a clean environment and only `libxml2`'

dimos/codebase_checks/test_docs_branding.py:43: AssertionError
dimos.codebase_checks.test_no_init_files::test_no_init_files
Stack Traces | 0.084s run time
def test_no_init_files():
        dimos_dir = DIMOS_PROJECT_ROOT / "dimos"
        init_files = sorted(dimos_dir.rglob("__init__.py"))
        # The root dimos/__init__.py is allowed for the porcelain lazy import.
        init_files = [f for f in init_files if f != dimos_dir / "__init__.py"]
        if init_files:
            listing = "\n".join(f"  - {f.relative_to(dimos_dir)}" for f in init_files)
>           raise AssertionError(
                f"Found __init__.py files in dimos/:\n{listing}\n\n"
                "__init__.py files are not allowed because they lead to unnecessary "
                "extraneous imports. Everything should be imported straight from the "
                "source module."
            )
E           AssertionError: Found __init__.py files in dimos/:
E             - .../example/python/.venv/lib/python3.12....../site-packages/_yaml/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/annotated_doc/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/annotated_types/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/annotation_protocol/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/beartype/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/_cave/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/_check/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/code/__init__.py
E             - .../example/python/.venv/lib/python3.12.../code/_pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_pep/pep484/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_pep/pep484585/__init__.py
E             - .../example/python/.venv/lib/python3.12.../code/snip/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/convert/__init__.py
E             - .../example/python/.venv/lib/python3.12.../convert/_reduce/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_reduce/_nonpep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_nonpep/api/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_reduce/_pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_pep/pep484/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_pep/pep484585/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/error/__init__.py
E             - .../example/python/.venv/lib/python3.12.../error/_nonpep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../error/_pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_pep/pep484/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_pep/pep484585/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/forward/__init__.py
E             - .../example/python/.venv/lib/python3.12.../forward/reference/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/logic/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/metadata/__init__.py
E             - .../example/python/.venv/lib/python3.12.../metadata/hint/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_check/signature/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/_conf/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_conf/decorplace/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/_data/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/api/__init__.py
E             - .../example/python/.venv/lib/python3.12.../api/external/__init__.py
E             - .../example/python/.venv/lib/python3.12.../api/standard/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/cls/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/code/__init__.py
E             - .../example/python/.venv/lib/python3.12.../code/pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/conf/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/error/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/func/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/hint/__init__.py
E             - .../example/python/.venv/lib/python3.12.../hint/sign/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/kind/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/os/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_data/typing/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/_decor/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_decor/_nontype/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_nontype/_wrap/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_decor/_type/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_type/_pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/_util/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/api/__init__.py
E             - .../example/python/.venv/lib/python3.12.../api/external/__init__.py
E             - .../example/python/.venv/lib/python3.12.../api/standard/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/ast/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/bear/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/cache/__init__.py
E             - .../example/python/.venv/lib/python3.12.../cache/map/__init__.py
E             - .../example/python/.venv/lib/python3.12.../cache/pool/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/cls/__init__.py
E             - .../example/python/.venv/lib/python3.12.../cls/pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/error/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/func/__init__.py
E             - .../example/python/.venv/lib/python3.12.../func/arg/__init__.py
E             - .../example/python/.venv/lib/python3.12.../func/pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/hint/__init__.py
E             - .../example/python/.venv/lib/python3.12.../hint/nonpep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../nonpep/api/__init__.py
E             - .../example/python/.venv/lib/python3.12.../hint/pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pep/proposal/__init__.py
E             - .../example/python/.venv/lib/python3.12.../proposal/pep484/__init__.py
E             - .../example/python/.venv/lib/python3.12.../proposal/pep484585/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pep484585/generic/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/kind/__init__.py
E             - .../example/python/.venv/lib/python3.12.../kind/integer/__init__.py
E             - .../example/python/.venv/lib/python3.12.../kind/maplike/__init__.py
E             - .../example/python/.venv/lib/python3.12.../kind/sequence/__init__.py
E             - .../example/python/.venv/lib/python3.12.../kind/setlike/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/module/__init__.py
E             - .../example/python/.venv/lib/python3.12.../module/pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/os/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/path/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/py/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_util/text/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/bite/__init__.py
E             - .../example/python/.venv/lib/python3.12.../bite/collection/__init__.py
E             - .../example/python/.venv/lib/python3.12.../bite/kind/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/cave/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/claw/__init__.py
E             - .../example/python/.venv/lib/python3.12.../claw/_ast/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_ast/_kind/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_ast/_pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_ast/_scope/__init__.py
E             - .../example/python/.venv/lib/python3.12.../claw/_importlib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../claw/_package/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/door/__init__.py
E             - .../example/python/.venv/lib/python3.12.../door/_cls/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_cls/pep/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pep/pep484/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pep/pep484585/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_cls/util/__init__.py
E             - .../example/python/.venv/lib/python3.12.../door/_func/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/peps/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/plug/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/roar/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/typing/__init__.py
E             - .../example/python/.venv/lib/python3.12.../beartype/vale/__init__.py
E             - .../example/python/.venv/lib/python3.12.../vale/_core/__init__.py
E             - .../example/python/.venv/lib/python3.12.../vale/_is/__init__.py
E             - .../example/python/.venv/lib/python3.12.../vale/_util/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/dimos_lcm/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/actionlib_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/builtin_interfaces/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/diagnostic_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/foxglove_bridge/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/foxglove_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../generated/python_lcm_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../python_lcm_msgs/lcm_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/actionlib_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/builtin_interfaces/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/diagnostic_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/foxglove_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/geometry_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/imitation_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/nav_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/sensor_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/shape_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/std_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/stereo_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/tf2_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/trajectory_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/vision_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lcm_msgs/visualization_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/geometry_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/imitation_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/nav_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/sensor_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/shape_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/std_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/stereo_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/tf2_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/trajectory_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/vision_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dimos_lcm/visualization_msgs/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/dotenv/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/filelock/__init__.py
E             - .../example/python/.venv/lib/python3.12.../filelock/_soft_rw/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/foxglove_websocket/__init__.py
E             - .../example/python/.venv/lib/python3.12.../foxglove_websocket/examples/__init__.py
E             - .../example/python/.venv/lib/python3.12.../foxglove_websocket/server/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/lcm/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/markdown_it/__init__.py
E             - .../example/python/.venv/lib/python3.12.../markdown_it/cli/__init__.py
E             - .../example/python/.venv/lib/python3.12.../markdown_it/common/__init__.py
E             - .../example/python/.venv/lib/python3.12.../markdown_it/helpers/__init__.py
E             - .../example/python/.venv/lib/python3.12.../markdown_it/presets/__init__.py
E             - .../example/python/.venv/lib/python3.12.../markdown_it/rules_block/__init__.py
E             - .../example/python/.venv/lib/python3.12.../markdown_it/rules_core/__init__.py
E             - .../example/python/.venv/lib/python3.12.../markdown_it/rules_inline/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/mdurl/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/numpy/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/_core/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/_pyinstaller/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_pyinstaller/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/_typing/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/_utils/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/char/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/core/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/ctypeslib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/f2py/__init__.py
E             - .../example/python/.venv/lib/python3.12.../f2py/_backends/__init__.py
E             - .../example/python/.venv/lib/python3.12.../f2py/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/fft/__init__.py
E             - .../example/python/.venv/lib/python3.12.../fft/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/lib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lib/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/linalg/__init__.py
E             - .../example/python/.venv/lib/python3.12.../linalg/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/ma/__init__.py
E             - .../example/python/.venv/lib/python3.12.../ma/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/matrixlib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../matrixlib/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/polynomial/__init__.py
E             - .../example/python/.venv/lib/python3.12.../polynomial/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/random/__init__.py
E             - .../example/python/.venv/lib/python3.12.../random/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../tests/data/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/rec/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/strings/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/testing/__init__.py
E             - .../example/python/.venv/lib/python3.12.../testing/_private/__init__.py
E             - .../example/python/.venv/lib/python3.12.../testing/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../numpy/typing/__init__.py
E             - .../example/python/.venv/lib/python3.12.../typing/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/plum/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/psutil/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/pydantic/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pydantic/_internal/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pydantic/deprecated/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pydantic/experimental/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pydantic/plugin/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pydantic/v1/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/pydantic_core/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/pydantic_settings/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pydantic_settings/sources/__init__.py
E             - .../example/python/.venv/lib/python3.12.../sources/providers/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/pygments/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pygments/filters/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pygments/formatters/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pygments/lexers/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pygments/styles/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/reactivex/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/abc/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/disposable/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/internal/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/observable/__init__.py
E             - .../example/python/.venv/lib/python3.12.../observable/mixins/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/observer/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/operators/__init__.py
E             - .../example/python/.venv/lib/python3.12.../operators/connectable/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/scheduler/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scheduler/eventloop/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scheduler/mainloop/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/subject/__init__.py
E             - .../example/python/.venv/lib/python3.12.../reactivex/testing/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/rich/__init__.py
E             - .../example/python/.venv/lib/python3.12.../rich/_unicode_data/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/scipy/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_external/array_api_compat/__init__.py
E             - .../example/python/.venv/lib/python3.12.../array_api_compat/common/__init__.py
E             - .../example/python/.venv/lib/python3.12.../array_api_compat/cupy/__init__.py
E             - .../example/python/.venv/lib/python3.12.../array_api_compat/dask/__init__.py
E             - .../example/python/.venv/lib/python3.12.../dask/array/__init__.py
E             - .../example/python/.venv/lib/python3.12.../array_api_compat/numpy/__init__.py
E             - .../example/python/.venv/lib/python3.12.../array_api_compat/torch/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_external/array_api_extra/__init__.py
E             - .../example/python/.venv/lib/python3.12.../array_api_extra/_lib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_lib/_utils/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_external/cobyqa/__init__.py
E             - .../example/python/.venv/lib/python3.12.../cobyqa/subsolvers/__init__.py
E             - .../example/python/.venv/lib/python3.12.../cobyqa/utils/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_external/pyprima/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pyprima/cobyla/__init__.py
E             - .../example/python/.venv/lib/python3.12.../pyprima/common/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/_lib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_lib/_uarray/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_lib/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/cluster/__init__.py
E             - .../example/python/.venv/lib/python3.12.../cluster/hierarchy/__init__.py
E             - .../example/python/.venv/lib/python3.12.../hierarchy/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../cluster/vq/__init__.py
E             - .../example/python/.venv/lib/python3.12.../vq/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/constants/__init__.py
E             - .../example/python/.venv/lib/python3.12.../constants/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/datasets/__init__.py
E             - .../example/python/.venv/lib/python3.12.../datasets/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/differentiate/__init__.py
E             - .../example/python/.venv/lib/python3.12.../differentiate/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/fft/__init__.py
E             - .../example/python/.venv/lib/python3.12.../fft/_duccfft/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_duccfft/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../fft/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/fftpack/__init__.py
E             - .../example/python/.venv/lib/python3.12.../fftpack/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/integrate/__init__.py
E             - .../example/python/.venv/lib/python3.12.../integrate/_ivp/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_ivp/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../integrate/_rules/__init__.py
E             - .../example/python/.venv/lib/python3.12.../integrate/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/interpolate/__init__.py
E             - .../example/python/.venv/lib/python3.12.../interpolate/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/io/__init__.py
E             - .../example/python/.venv/lib/python3.12.../io/_fast_matrix_market/__init__.py
E             - .../example/python/.venv/lib/python3.12.../io/_harwell_boeing/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_harwell_boeing/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../io/arff/__init__.py
E             - .../example/python/.venv/lib/python3.12.../arff/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../io/matlab/__init__.py
E             - .../example/python/.venv/lib/python3.12.../matlab/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../io/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/linalg/__init__.py
E             - .../example/python/.venv/lib/python3.12.../linalg/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/misc/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/ndimage/__init__.py
E             - .../example/python/.venv/lib/python3.12.../ndimage/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/odr/__init__.py
E             - .../example/python/.venv/lib/python3.12.../odr/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/optimize/__init__.py
E             - .../example/python/.venv/lib/python3.12.../optimize/_highspy/__init__.py
E             - .../example/python/.venv/lib/python3.12.../optimize/_lsq/__init__.py
E             - .../example/python/.venv/lib/python3.12.../optimize/_shgo_lib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../optimize/_trlib/__init__.py
E             - .../example/python/.venv/lib/python3.12.../optimize/_trustregion_constr/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_trustregion_constr/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../optimize/cython_optimize/__init__.py
E             - .../example/python/.venv/lib/python3.12.../optimize/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/signal/__init__.py
E             - .../example/python/.venv/lib/python3.12.../signal/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../signal/windows/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/sparse/__init__.py
E             - .../example/python/.venv/lib/python3.12.../sparse/csgraph/__init__.py
E             - .../example/python/.venv/lib/python3.12.../csgraph/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../sparse/linalg/__init__.py
E             - .../example/python/.venv/lib/python3.12.../linalg/_dsolve/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_dsolve/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../linalg/_eigen/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_eigen/arpack/__init__.py
E             - .../example/python/.venv/lib/python3.12.../arpack/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_eigen/lobpcg/__init__.py
E             - .../example/python/.venv/lib/python3.12.../lobpcg/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_eigen/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../linalg/_isolve/__init__.py
E             - .../example/python/.venv/lib/python3.12.../_isolve/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../linalg/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../sparse/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/spatial/__init__.py
E             - .../example/python/.venv/lib/python3.12.../spatial/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../spatial/transform/__init__.py
E             - .../example/python/.venv/lib/python3.12.../transform/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/special/__init__.py
E             - .../example/python/.venv/lib/python3.12.../special/_precompute/__init__.py
E             - .../example/python/.venv/lib/python3.12.../special/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../tests/data/__init__.py
E             - .../example/python/.venv/lib/python3.12.../scipy/stats/__init__.py
E             - .../example/python/.venv/lib/python3.12.../stats/_levy_stable/__init__.py
E             - .../example/python/.venv/lib/python3.12.../stats/_rcont/__init__.py
E             - .../example/python/.venv/lib/python3.12.../stats/_unuran/__init__.py
E             - .../example/python/.venv/lib/python3.12.../stats/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/shellingham/__init__.py
E             - .../example/python/.venv/lib/python3.12.../shellingham/posix/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/sortedcontainers/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/structlog/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/tlz/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/toolz/__init__.py
E             - .../example/python/.venv/lib/python3.12.../toolz/curried/__init__.py
E             - .../example/python/.venv/lib/python3.12.../toolz/sandbox/__init__.py
E             - .../example/python/.venv/lib/python3.12.../sandbox/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../toolz/tests/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/typer/__init__.py
E             - .../example/python/.venv/lib/python3.12.../typer/_click/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/typing_inspection/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/websockets/__init__.py
E             - .../example/python/.venv/lib/python3.12.../websockets/asyncio/__init__.py
E             - .../example/python/.venv/lib/python3.12.../websockets/extensions/__init__.py
E             - .../example/python/.venv/lib/python3.12.../websockets/legacy/__init__.py
E             - .../example/python/.venv/lib/python3.12.../websockets/sync/__init__.py
E             - .../example/python/.venv/lib/python3.12.../websockets/trio/__init__.py
E             - .../example/python/.venv/lib/python3.12.../site-packages/yaml/__init__.py
E             - .../example/python/.venv/lib/python3.12....../site-packages/zenoh/__init__.py
E           
E           __init__.py files are not allowed because they lead to unnecessary extraneous imports. Everything should be imported straight from the source module.

dimos_dir  = PosixPath('.../dimos/dimos/dimos')
init_files = [PosixPath('.../dimos/dimos/dimos/.../example/python/.venv/lib/python3.12/site-...dimos/.../example/python/.venv/lib/python3.12.../beartype/_cave/__init__.py'), ...]
listing    = '  - .../example/python/.venv/lib/python3.12....../site-packages/_yaml/__init__.py\n  - experimenta...yaml/__init__.py\n  - .../example/python/.venv/lib/python3.12....../site-packages/zenoh/__init__.py'

dimos/codebase_checks/test_no_init_files.py:25: AssertionError
dimos.codebase_checks.test_inline_heavy_imports::test_heavy_imports_are_inline
Stack Traces | 3.44s run time
def test_heavy_imports_are_inline() -> None:
        """Fail if any file imports cv2/open3d/rerun at module level."""
>       hits = find_eager_heavy_imports()


dimos/codebase_checks/test_inline_heavy_imports.py:85: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/codebase_checks/test_inline_heavy_imports.py:73: in find_eager_heavy_imports
    tree = ast.parse(path.read_text(encoding="utf-8"), filename=str(path))
        hits       = {}
        module     = None
        node       = <ast.Load object at 0x7eff9e52f580>
        path       = PosixPath('.../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py')
        tree       = <ast.Module object at 0x7efd65e02440>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

source = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]\n'
filename = '.../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py'
mode = 'exec'

    def parse(source, filename='<unknown>', mode='exec', *,
              type_comments=False, feature_version=None):
        """
        Parse the source into an AST node.
        Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).
        Pass type_comments=True to get back type comments where the syntax allows.
        """
        flags = PyCF_ONLY_AST
        if type_comments:
            flags |= PyCF_TYPE_COMMENTS
        if isinstance(feature_version, tuple):
            major, minor = feature_version  # Should be a 2-tuple.
            assert major == 3
            feature_version = minor
        elif feature_version is None:
            feature_version = -1
        # Else it should be an int giving the minor version for 3.x.
>       return compile(source, filename, mode, flags,
                       _feature_version=feature_version)
E         File ".../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py", line 15
E           type NDArray[ScalarT: np.generic] = np.ndarray[_AnyShape, np.dtype[ScalarT]]
E                ^^^^^^^
E       SyntaxError: invalid syntax

feature_version = -1
filename   = '.../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py'
flags      = 1024
mode       = 'exec'
source     = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]\n'
type_comments = False

../...../_temp/uv-python-dir/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/ast.py:50: SyntaxError
dimos.codebase_checks.test_import_from_source::test_import_from_source
Stack Traces | 5.36s run time
def test_import_from_source() -> None:
        """Fail if any name is imported from a module that only re-imported it."""
>       violations = find_reexport_imports()


dimos/codebase_checks/test_import_from_source.py:141: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/codebase_checks/test_import_from_source.py:113: in find_reexport_imports
    modules = _build_index()
dimos/codebase_checks/test_import_from_source.py:76: in _build_index
    for node in ast.parse("\n".join(lines), filename=str(mod.path)).body:
        alias      = <ast.alias object at 0x7f7572669660>
        lines      = ['from collections.abc import Buffer, Callable, Collection', 'from typing import TYPE_CHECKING, Any, Protocol, runtime_checkable', '', 'import numpy as np', '', 'if TYPE_CHECKING:', ...]
        mod        = <dimos.codebase_checks.test_import_from_source._Module object at 0x7f7571d8de50>
        modules    = {'dimos': <dimos.codebase_checks.test_import_from_source._Module object at 0x7f7573bb2190>, 'dimos.agents.agent_spec':...0>, 'dimos.agents.capabilities': <dimos.codebase_checks.test_import_from_source._Module object at 0x7f757300c050>, ...}
        node       = <ast.Assign object at 0x7f75731fb5e0>
        path       = PosixPath('.../dimos/web/websocket_vis_spec.py')
        src        = 'dimos.experimental.isolated_python.example.python..venv.lib.python3.12.site-packages.numpy._typing._array_like'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

source = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...: This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]'
filename = '.../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py'
mode = 'exec'

    def parse(source, filename='<unknown>', mode='exec', *,
              type_comments=False, feature_version=None):
        """
        Parse the source into an AST node.
        Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).
        Pass type_comments=True to get back type comments where the syntax allows.
        """
        flags = PyCF_ONLY_AST
        if type_comments:
            flags |= PyCF_TYPE_COMMENTS
        if isinstance(feature_version, tuple):
            major, minor = feature_version  # Should be a 2-tuple.
            assert major == 3
            feature_version = minor
        elif feature_version is None:
            feature_version = -1
        # Else it should be an int giving the minor version for 3.x.
>       return compile(source, filename, mode, flags,
                       _feature_version=feature_version)
E         File ".../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py", line 15
E           type NDArray[ScalarT: np.generic] = np.ndarray[_AnyShape, np.dtype[ScalarT]]
E                ^^^^^^^
E       SyntaxError: invalid syntax

feature_version = -1
filename   = '.../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py'
flags      = 1024
mode       = 'exec'
source     = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...: This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]'
type_comments = False

../...../_temp/uv-python-dir/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/ast.py:50: SyntaxError
dimos.codebase_checks.test_no_all::test_no_all
Stack Traces | 13.2s run time
def test_no_all():
        """Fail if any file defines `__all__`."""
        dimos_dir = DIMOS_PROJECT_ROOT / "dimos"
>       hits = find_all_definitions()

dimos_dir  = PosixPath('.../dimos/dimos/dimos')

dimos/codebase_checks/test_no_all.py:48: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/codebase_checks/test_no_all.py:38: in find_all_definitions
    tree = ast.parse(path.read_text(encoding="utf-8"))
        dimos_dir  = PosixPath('.../dimos/dimos/dimos')
        hits       = [(PosixPath('.../dimos/dimos/dimos/experiment.../example/python/.venv/lib/python3.12/site....../example/python/.venv/lib/python3.12.../dimos_lcm/foxglove_bridge/__init__.py'), 11), ...]
        node       = <ast.Load object at 0x7f77aa2ff580>
        path       = PosixPath('.../dimos/dimos/dimos/experiment.../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py')
        tree       = <ast.Module object at 0x7f7573f27b20>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

source = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]\n'
filename = '<unknown>', mode = 'exec'

    def parse(source, filename='<unknown>', mode='exec', *,
              type_comments=False, feature_version=None):
        """
        Parse the source into an AST node.
        Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).
        Pass type_comments=True to get back type comments where the syntax allows.
        """
        flags = PyCF_ONLY_AST
        if type_comments:
            flags |= PyCF_TYPE_COMMENTS
        if isinstance(feature_version, tuple):
            major, minor = feature_version  # Should be a 2-tuple.
            assert major == 3
            feature_version = minor
        elif feature_version is None:
            feature_version = -1
        # Else it should be an int giving the minor version for 3.x.
>       return compile(source, filename, mode, flags,
                       _feature_version=feature_version)
E         File "<unknown>", line 15
E           type NDArray[ScalarT: np.generic] = np.ndarray[_AnyShape, np.dtype[ScalarT]]
E                ^^^^^^^
E       SyntaxError: invalid syntax

feature_version = -1
filename   = '<unknown>'
flags      = 1024
mode       = 'exec'
source     = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]\n'
type_comments = False

../...../_temp/uv-python-dir/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/ast.py:50: SyntaxError
dimos.codebase_checks.test_no_underscore_assign::test_no_underscore_assignment
Stack Traces | 13.2s run time
def test_no_underscore_assignment():
        """Fail if any file assigns to a bare `_`."""
        dimos_dir = DIMOS_PROJECT_ROOT / "dimos"
>       hits = find_underscore_assignments()

dimos_dir  = PosixPath('.../dimos/dimos/dimos')

dimos/codebase_checks/test_no_underscore_assign.py:52: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
dimos/codebase_checks/test_no_underscore_assign.py:42: in find_underscore_assignments
    tree = ast.parse(path.read_text(encoding="utf-8"))
        dimos_dir  = PosixPath('.../dimos/dimos/dimos')
        hits       = [(PosixPath('.../dimos/dimos/dimos/experimen.../example/python/.venv/lib/python3.12/site....../example/python/.venv/lib/python3.12.../_core/tests/test_getlimits.py'), 169), ...]
        node       = <ast.Load object at 0x7f7e1eb2f580>
        path       = PosixPath('.../dimos/dimos/dimos/experimen.../example/python/.venv/lib/python3.12.../numpy/_typing/_array_like.py')
        tree       = <ast.Module object at 0x7f7bef0f2f80>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

source = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]\n'
filename = '<unknown>', mode = 'exec'

    def parse(source, filename='<unknown>', mode='exec', *,
              type_comments=False, feature_version=None):
        """
        Parse the source into an AST node.
        Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).
        Pass type_comments=True to get back type comments where the syntax allows.
        """
        flags = PyCF_ONLY_AST
        if type_comments:
            flags |= PyCF_TYPE_COMMENTS
        if isinstance(feature_version, tuple):
            major, minor = feature_version  # Should be a 2-tuple.
            assert major == 3
            feature_version = minor
        elif feature_version is None:
            feature_version = -1
        # Else it should be an int giving the minor version for 3.x.
>       return compile(source, filename, mode, flags,
                       _feature_version=feature_version)
E         File "<unknown>", line 15
E           type NDArray[ScalarT: np.generic] = np.ndarray[_AnyShape, np.dtype[ScalarT]]
E                ^^^^^^^
E       SyntaxError: invalid syntax

feature_version = -1
filename   = '<unknown>'
flags      = 1024
mode       = 'exec'
source     = 'from collections.abc import Buffer, Callable, Collection\nfrom typing import TYPE_CHECKING, Any, Protocol, runtime_ch...This includes `builtins.bool`, but not `numpy.bool`.\ntype _ArrayLikeInt = _DualArrayLike[np.dtype[np.integer], int]\n'
type_comments = False

../...../_temp/uv-python-dir/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/ast.py:50: SyntaxError
dimos.codebase_checks.test_no_dunder_new::test_no_dunder_new
Stack Traces | 27s run time
def test_no_dunder_new() -> None:
        """Fail if any test file calls `__new__` to bypass `__init__`."""
        dimos_dir = DIMOS_PROJECT_ROOT / "dimos"
        hits = find_dunder_new_calls()
        if hits:
            listing = "\n".join(
                f"  - {p.relative_to(dimos_dir)}:{lineno}: {line.strip()}" for p, lineno, line in hits
            )
>           raise AssertionError(
                f"Found __new__ call(s) in test files:\n{listing}\n\n"
                "Tests must construct objects with the real constructor: __init__ is "
                "code under test too, and an object assembled by hand silently rots "
                "when the constructor changes. If __init__ does heavy work, mock the "
                "collaborators it needs instead of skipping it. Only if that is truly "
                "impossible, add the call to the WHITELIST in "
                "dimos/codebase_checks/test_no_dunder_new.py."
            )
E           AssertionError: Found __new__ call(s) in test files:
E             - .../example/python/.venv/lib/python3.12.../_core/tests/test_function_base.py:39: return float.__new__(cls, value)
E             - .../example/python/.venv/lib/python3.12.../_core/tests/test_umath.py:4688: self = np.ndarray.__new__(cls, shape, dtype=object)
E             - .../example/python/.venv/lib/python3.12.../f2py/tests/test_array_from_pyobj.py:185: obj = object.__new__(cls)
E             - .../example/python/.venv/lib/python3.12.../ma/tests/test_core.py:5671: masked2 = np.ma.MaskedArray.__new__(np.ma.core.MaskedConstant)
E             - .../example/python/.venv/lib/python3.12.../ma/tests/test_subclassing.py:61: obj = super().__new__(cls, **kwargs)
E             - .../example/python/.venv/lib/python3.12.../ma/tests/test_subclassing.py:70: _data = MaskedArray.__new__(cls, data=subarr, mask=mask)
E             - .../example/python/.venv/lib/python3.12.../matrixlib/tests/test_masked_matrix.py:26: _data = MaskedArray.__new__(cls, data=mat, mask=mask)
E           
E           Tests must construct objects with the real constructor: __init__ is code under test too, and an object assembled by hand silently rots when the constructor changes. If __init__ does heavy work, mock the collaborators it needs instead of skipping it. Only if that is truly impossible, add the call to the WHITELIST in dimos/codebase_checks/test_no_dunder_new.py.

dimos_dir  = PosixPath('.../dimos/dimos/dimos')
hits       = [(PosixPath('.../dimos/dimos/dimos/.../example/python/.venv/lib/python3.12/site....../ma/tests/test_subclassing.py'), 70, '        _data = MaskedArray.__new__(cls, data=subarr, mask=mask)'), ...]
listing    = '  - .../example/python/.venv/lib/python3.12.../_core/tests/test_function_ba...12.../matrixlib/tests/test_masked_matrix.py:26: _data = MaskedArray.__new__(cls, data=mat, mask=mask)'

dimos/codebase_checks/test_no_dunder_new.py:67: AssertionError

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

@TomCC7 TomCC7 closed this Sep 17, 2026
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