Skip to content

feat(task-program): configure planner from execution policy - #728

Merged
yuecideng merged 3 commits into
mainfrom
codex/task-program-motion-config
Sep 29, 2026
Merged

yuecideng merged 3 commits into
mainfrom
codex/task-program-motion-config

Conversation

@yuecideng

Copy link
Copy Markdown
Contributor

Description

This PR adds Task Program execution-policy configuration for motion planner backends.

Execution policies can now declare a closed planner selection and typed planner options:

planner:
  type: toppra
  config: {}

The declaration is validated during configuration loading, included in the configured integration identity, and passed to the live simulation factory. Runtime-owned robot_uid, simulation instance IDs, and cuRobo collision objects are filled from the selected environment and scene. Existing deployments retain TOPPRA by default; the reference motion-generation policy now declares it explicitly.

The change keeps planner configuration in the Task Program execution policy while leaving program.yaml provider-independent and keeping physical collision objects owned by the live scene.

Validation

  • black --check --diff --color ./ — passed
  • python docs/scripts/check_api_docs.py — passed (2387/2387)
  • python .agents/skills/project-dev-context/scripts/context.py check — passed
  • python -m py_compile on changed Python files — passed
  • Focused pytest collection was attempted:
    • tests/gym/envs/task_program/test_configured_integration.py
    • tests/gym/envs/task_program/test_simulation_environment.py
    • blocked during collection by the local environment (torch missing; installed SciPy/Scikit-learn binary signature mismatch), with no test assertions executed.

Dependencies: none.

@yuecideng yuecideng added enhancement New feature or request motion gen Things related to motion generation for robot task A task written in openai gym format for imitation learning or reinforcement learning labels Sep 29, 2026
@greptile-apps

greptile-apps Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Adds planner selection to execution policy configuration.

The PR appears safe to merge based on the reviewed changes and the resolved prior findings.

Summary

The PR lets execution policies select a typed motion planner, includes that selection in configured integration identity, and passes it to the live simulation factory. The latest changes make explicit null cuRobo nested options fail at the mapping check and add regression tests.

Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Policy[Execution policy planner declaration] --> Decode[Validate typed options]
  Decode --> Identity[Configured integration identity]
  Decode --> Factory[Live simulation factory]
  Factory --> Runtime[Bind robot and simulation]
  Runtime --> Scene[Attach cuRobo scene objects if selected]
  Scene --> Generator[Motion generator]
Loading

Reviews (3) · Last reviewed commit: "fix(task-program): reject null planner s..."

Comment thread embodichain/lab/task_program/integrations/_configured_composition.py Outdated
Comment thread embodichain/lab/task_program/integrations/simulation/environment.py Outdated
@yuecideng
yuecideng merged commit 7e56e32 into main Sep 29, 2026
7 of 8 checks passed
@yuecideng
yuecideng deleted the codex/task-program-motion-config branch September 29, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request motion gen Things related to motion generation for robot task A task written in openai gym format for imitation learning or reinforcement learning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant