Skip to content

Resolve remote memory2 replays for Go2 - #3186

Closed
xiaoyaoqilan wants to merge 11 commits into
dimensionalOS:mainfrom
xiaoyaoqilan:codex/remote-replay-go2
Closed

Resolve remote memory2 replays for Go2#3186
xiaoyaoqilan wants to merge 11 commits into
dimensionalOS:mainfrom
xiaoyaoqilan:codex/remote-replay-go2

Conversation

@xiaoyaoqilan

Copy link
Copy Markdown
Contributor

Summary

  • add dimos-replay://owner/repository/object-id replay URIs
  • download remote memory2 databases on demand
  • verify content hashes, validate SQLite integrity, and cache verified recordings locally
  • let the existing replay flow select the downloaded database through DIMOS_REPLAY_DB
  • support the requested dimos --replay run unitree-go2 workflow

Motivation

This is PR 4 of the #3158 implementation stack. A recording uploaded in one location can be selected and replayed from another location without manually copying database files.

Stack dependency

Validation

  • remote URI parsing, download, hash checking, cache reuse, and invalid-database paths are covered by tests
  • targeted replay/Go2 tests passed
  • ruff check, format checks, and targeted mypy passed

@autofix-ci

autofix-ci Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Hi! I'm autofix logoautofix.ci, a bot that automatically fixes trivial issues such as code formatting in pull requests.

I would like to apply some automated changes to this pull request, but it looks like I don't have the necessary permissions to do so. To get this pull request into a mergeable state, please do one of the following two things:

  1. Allow edits by maintainers for your pull request, and then re-trigger CI (for example by pushing a new commit).
  2. Manually fix the issues identified for your pull request (see the GitHub Actions output for details on what I would like to change).

@codecov

codecov Bot commented Jul 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 77.92819% with 375 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
dimos/protocol/pubsub/impl/webrtc/mvp_cli.py 16.94% 195 Missing and 1 partial ⚠️
...s/protocol/pubsub/impl/webrtc/replay_repository.py 79.55% 59 Missing and 32 partials ⚠️
...rotocol/pubsub/impl/webrtc/replay_repository_s3.py 74.64% 23 Missing and 13 partials ⚠️
dimos/memory2/remote_replay.py 79.46% 15 Missing and 8 partials ⚠️
dimos/memory2/remote_dataset.py 87.36% 6 Missing and 6 partials ⚠️
...otocol/pubsub/impl/webrtc/replay_repository_cli.py 87.03% 5 Missing and 2 partials ⚠️
dimos/protocol/pubsub/impl/webrtc/mvp_metrics.py 88.46% 3 Missing and 3 partials ⚠️
...os/protocol/pubsub/impl/webrtc/providers/broker.py 80.00% 1 Missing and 1 partial ⚠️
.../pubsub/impl/webrtc/test_memory2_remote_dataset.py 98.97% 1 Missing ⚠️
dimos/robot/cli/dimos.py 0.00% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main    #3186      +/-   ##
==========================================
- Coverage   73.77%   73.65%   -0.13%     
==========================================
  Files        1109     1123      +14     
  Lines      104383   107618    +3235     
  Branches     9567    10099     +532     
==========================================
+ Hits        77013    79268    +2255     
- Misses      24695    25563     +868     
- Partials     2675     2787     +112     
Flag Coverage Δ
OS-ubuntu-24.04-arm 68.15% <77.92%> (+0.45%) ⬆️
OS-ubuntu-latest 70.17% <77.92%> (+0.40%) ⬆️
Py-3.10 70.17% <77.92%> (+0.40%) ⬆️
Py-3.11 70.17% <77.92%> (+0.40%) ⬆️
Py-3.12 ?
Py-3.13 70.17% <77.92%> (+0.40%) ⬆️
Py-3.14 68.15% <77.92%> (-1.62%) ⬇️
Py-3.14t 70.17% <77.92%> (+0.40%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
dimos/core/global_config.py 88.63% <100.00%> (+5.68%) ⬆️
dimos/core/test_global_config.py 100.00% <100.00%> (ø)
dimos/memory2/cli/app.py 83.33% <100.00%> (+13.33%) ⬆️
...otocol/pubsub/impl/webrtc/providers/video_track.py 24.39% <ø> (-2.28%) ⬇️
...os/protocol/pubsub/impl/webrtc/test_mvp_metrics.py 100.00% <100.00%> (ø)
.../protocol/pubsub/impl/webrtc/test_remote_replay.py 100.00% <100.00%> (ø)
...tocol/pubsub/impl/webrtc/test_replay_repository.py 100.00% <100.00%> (ø)
...l/pubsub/impl/webrtc/test_replay_repository_cli.py 100.00% <100.00%> (ø)
...ol/pubsub/impl/webrtc/test_replay_repository_s3.py 100.00% <100.00%> (ø)
dimos/robot/unitree/go2/connection.py 60.52% <100.00%> (+5.05%) ⬆️
... and 10 more

... and 31 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@xiaoyaoqilan

Copy link
Copy Markdown
Contributor Author

Superseded by #3201. The implementation is consolidated into the dimos/hosted_data package and unified dimos data CLI.

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