Skip to content

feat: add contract-generated harness skill#222

Merged
MiaoDX merged 11 commits into
mainfrom
ship/contract-harness-ci-demos
May 21, 2026
Merged

feat: add contract-generated harness skill#222
MiaoDX merged 11 commits into
mainfrom
ship/contract-harness-ci-demos

Conversation

@MiaoDX
Copy link
Copy Markdown
Owner

@MiaoDX MiaoDX commented May 21, 2026

Summary

This PR ships the contract-first harness work and keeps the CI demo surfaces working with the new generated project harness skill path.

  • Adds Python-authored harness contract generation under src/roboharness/contract/.
  • Generates the agent-skill/roboharness-harness/ artifact set from the contract.
  • Adds bounded visual review package support for MuJoCo/G1 proof surfaces.
  • Localizes MuJoCo approval and contract logic around the maintained grasp wedge.
  • Keeps G1/SONIC demo imports and native LeRobot typing compatible after optional demo dependencies are installed.

Test Coverage

  • Contract generator, visual review, CLI, MuJoCo wedge, G1 WBC review, and LeRobot adapter paths are covered by new or existing tests.
  • Repository coverage after full suite: 91.88%.

Pre-Landing Review

No blocking issues found in the ship checklist pass. No SQL/DB writes, shell execution, frontend files, or prompt files are changed in this diff.

Demo Compatibility

All previous CI demo surfaces were verified locally:

  • MuJoCo grasp report
  • G1 WBC reach report
  • LeRobot G1 locomotion report
  • Native LeRobot GR00T report
  • Native LeRobot SONIC report
  • SONIC locomotion report
  • SONIC tracking report

Native LeRobot demos were validated in a Python 3.12 CI-like environment. Local Python 3.13 cannot import unitree_sdk2py because of a CycloneDDS runtime symbol boundary, while CI uses Python 3.12.

Verification Results

  • uv run python scripts/validate_demo_matrix.py
  • PYTHONPATH=src python3 -m roboharness.cli contract check agent-skill/roboharness-harness/contract.py --output-dir agent-skill/roboharness-harness
  • uv run ruff check .
  • uv run ruff format --check .
  • uv run mypy src/
  • MUJOCO_GL=osmesa uv run pytest -q -> 570 passed, 3 skipped, coverage 91.88%

Test plan

  • Demo matrix validates all 7 demos
  • Generated harness skill contract is current
  • Ruff check passes
  • Ruff format check passes
  • Mypy passes
  • Full pytest suite passes with MuJoCo headless rendering

Generated with Codex.

MiaoDX and others added 11 commits May 19, 2026 13:05
Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Move root planning history into docs/plans, align bootstrap guidance with the repo's editable uv install path, refresh stale CI status notes, and remove the old G1 locomotion compatibility import path.

Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: Codex <codex@users.noreply.github.com>
Keep the policy input variable explicitly dynamic so mypy stays green when real Torch types are installed.

Co-authored-by: Codex <codex@users.noreply.github.com>
@MiaoDX MiaoDX merged commit f3234b2 into main May 21, 2026
11 checks passed
@MiaoDX MiaoDX deleted the ship/contract-harness-ci-demos branch May 21, 2026 02:00
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