Skip to content

feat(a1z): a1z learning workflow - #3318

Draft
TomCC7 wants to merge 1 commit into
feat/experimental-lerobot-policyfrom
cc/advx/a1z-learning
Draft

feat(a1z): a1z learning workflow#3318
TomCC7 wants to merge 1 commit into
feat/experimental-lerobot-policyfrom
cc/advx/a1z-learning

Conversation

@TomCC7

@TomCC7 TomCC7 commented Aug 1, 2026

Copy link
Copy Markdown
Member

Contribution path

Problem

PR #3315 ports the shared LeRobot policy infrastructure, but the A1Z-specific teach, replay, dataset preparation, and policy-running workflow from #3138 is still missing.

Solution

  • Add safe A1Z episode loading, validation, smoothing, time scaling, and replay trajectory generation.
  • Add A1Z teach, replay, and policy blueprint factories with lazy optional LeRobot imports.
  • Add the teach, replay, and run-policy CLI commands.
  • Add episode undo support and a Galaxea A1Z data-preparation profile.
  • Publish camera metadata immediately and make recorder shutdown deterministic with rate-limited warnings.
  • Document the A1Z learning workflow and add focused unit coverage.

How to test

  • Focused A1Z, camera, episode monitor, data-preparation, and recorder tests pass.
  • Blueprint validation and generation checks pass.
  • Documentation link checks pass.
  • Mypy passes for the changed implementation.
  • Pre-commit passes.

AI assistance

Implemented and reviewed with OpenAI Codex.

Checklist

  • CLA signed, if required
  • Tests added or updated
  • Documentation added or updated

@TomCC7 TomCC7 changed the title feat(a1z): add learning workflow feat(a1z): a1z learning workflow Aug 1, 2026
@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

Codecov Report

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

Files with missing lines Patch % Lines
dimos/robot/manipulators/a1z/cli.py 10.18% 237 Missing and 1 partial ⚠️
dimos/robot/manipulators/a1z/teach_replay.py 81.41% 15 Missing and 14 partials ⚠️
dimos/memory2/module.py 80.95% 3 Missing and 1 partial ⚠️
dimos/imitation/dataprep/core.py 60.00% 0 Missing and 2 partials ⚠️
...imos/robot/manipulators/a1z/blueprints/learning.py 94.44% 2 Missing ⚠️
@@                         Coverage Diff                          @@
##           feat/experimental-lerobot-policy    #3318      +/-   ##
====================================================================
- Coverage                             75.23%   75.19%   -0.05%     
====================================================================
  Files                                  1146     1152       +6     
  Lines                                110632   111379     +747     
  Branches                               9936    10006      +70     
====================================================================
+ Hits                                  83237    83753     +516     
- Misses                                24544    24750     +206     
- Partials                               2851     2876      +25     
Flag Coverage Δ
OS-ubuntu-24.04-arm 69.26% <63.43%> (+0.14%) ⬆️
OS-ubuntu-latest 71.17% <63.43%> (-0.01%) ⬇️
Py-3.10 71.17% <63.43%> (-0.01%) ⬇️
Py-3.11 71.17% <63.43%> (-0.02%) ⬇️
Py-3.12 71.16% <63.43%> (-0.02%) ⬇️
Py-3.13 71.17% <63.43%> (-0.01%) ⬇️
Py-3.14 71.17% <63.43%> (-0.02%) ⬇️
Py-3.14t 71.17% <63.43%> (-0.02%) ⬇️
SelfHosted-Large 29.05% <22.87%> (-0.04%) ⬇️
SelfHosted-Linux 35.77% <22.87%> (-0.09%) ⬇️

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

Files with missing lines Coverage Δ
dimos/hardware/sensors/camera/module.py 82.60% <100.00%> (+22.31%) ⬆️
dimos/hardware/sensors/camera/test_module.py 100.00% <100.00%> (ø)
dimos/imitation/collection/episode_monitor.py 90.08% <100.00%> (+2.23%) ⬆️
dimos/imitation/collection/test_episode_monitor.py 99.15% <100.00%> (+0.27%) ⬆️
dimos/imitation/dataprep/test_config_profiles.py 100.00% <100.00%> (ø)
dimos/imitation/dataprep/test_core.py 99.39% <100.00%> (+0.01%) ⬆️
dimos/memory2/test_recorder.py 100.00% <100.00%> (ø)
dimos/robot/manipulators/a1z/test_setup.py 100.00% <100.00%> (ø)
dimos/robot/manipulators/a1z/test_teach_replay.py 100.00% <100.00%> (ø)
dimos/imitation/dataprep/core.py 86.59% <60.00%> (-0.71%) ⬇️
... and 4 more

... and 4 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.

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