Skip to content

feat(eval): implement LeRobot evaluation plugin with CI gating#207

Merged
MiaoDX merged 2 commits intomainfrom
dev-0416
Apr 16, 2026
Merged

feat(eval): implement LeRobot evaluation plugin with CI gating#207
MiaoDX merged 2 commits intomainfrom
dev-0416

Conversation

@MiaoDX
Copy link
Copy Markdown
Owner

@MiaoDX MiaoDX commented Apr 16, 2026

Summary

This PR implements the LeRobot evaluation plugin as planned in .planning/lerobot-eval-plugin/PLAN.md.

What's new

  • PolicyAdapter protocol + LeRobotPolicyAdapter for loading real LeRobot checkpoints
  • lerobot_env.py with create_native_env(), headless config patching, and MuJoCo rendering injection
  • evaluate_lerobot_policy() entry point with action shape validation and repo_id inference
  • Updated examples/lerobot_eval_harness.py with --checkpoint-path, --repo-id, and --assert-threshold CLI
  • 51 new tests across 4 test files
  • README and roadmap docs updated

Verification

  • pytest: 495 passed, 9 skipped, 94.11% coverage
  • ruff check .: clean
  • mypy src/: clean

🤖 Generated with Claude Code

MiaoDX and others added 2 commits April 16, 2026 15:32
- Reject eval.py wrapping; use make_env() + existing evaluate_policy()
- Add PolicyAdapter Protocol and lerobot_policy_adapter.py
- Extract shared lerobot_env.py from g1_native example
- Keep generic API intact; add evaluate_lerobot_policy() as additive layer
- Broaden policy interface to dict+array observations
- Add 3 new test modules and action shape validation
- Add torch to [lerobot] optional deps
- Include ASCII data flow diagram and failure mode table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add PolicyAdapter protocol and LeRobotPolicyAdapter for checkpoint loading
- Extract shared LeRobot env utilities into lerobot_env.py
- Add evaluate_lerobot_policy() entry point with action shape validation
- Update examples/lerobot_eval_harness.py with --checkpoint-path and --repo-id CLI
- Add tests for policy adapter, env creation, eval plugin, and harness example
- Update README with LeRobot CI evaluation section
- Add torch/lerobot to mypy ignore_missing_imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@MiaoDX MiaoDX merged commit 295b41c into main Apr 16, 2026
6 of 10 checks passed
@MiaoDX MiaoDX deleted the dev-0416 branch April 16, 2026 10:56
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