Skip to content

Materialize asset-bound Task Program deployments - #814

Open
yuecideng wants to merge 2 commits into
mainfrom
codex/asset-generalization-materialization
Open

yuecideng wants to merge 2 commits into
mainfrom
codex/asset-generalization-materialization

Conversation

@yuecideng

@yuecideng yuecideng commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Description

Build standalone physical and semantic deployment configurations from verified asset selections. Preserve logical roles, derive fresh registration identities, adapt supported relative placement frames and reject stale geometry calibrations. Explicit local resources resolve from their declaring component; dataset identifiers retain registry semantics.

Generated asset references retain their output-directory owner through bundling. Local resources include only their dependency closure, use content-addressed paths and participate in deployment identity. Validation requires complete selected-asset and local-resource inventories even when restoring an artifact without the optional manifest digest. Background bodies inherit the production loader's static default.

Refs #810. This is layer 4/5 of the currently authorized asset-generalization implementation. PR6 online generation is deferred; no generation service is invoked by this stack.

Stack

Validation

  • 61 focused materialization/provider tests passed, including template path shadowing, resource-byte identity changes, resource relocation, nested URDF/OBJ/MTL dependencies, static background defaults and missing manifest entries. Seven new regression cases failed before the fixes and passed afterward.
  • 40 agent-context tests passed. The final dependent stack passed 437 focused tests covering matching, configuration composition, compilation, acceptance and recording lifecycle, packaged deployments and context tooling.
  • Black 26.3.1 (black .), the public API documentation coverage gate, context validation and changed-file syntax/header/export checks passed.

Tests use repository-pinned DexSim 0.5.1rc1 and matching Warp 1.17.0. The installed-package subprocess check passed in a temporary isolated virtual environment because that test replaces PYTHONPATH and otherwise selects the workstation's broken editable DexSim build. No shared environment installation was modified.

Context guidance now describes resource ownership, content identity and complete inventories; physical component ownership and existing API reference entries remain applicable. These fixes were validated with CPU tests and static preflight; native simulation was not rerun.

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have run the black . command to format the code base.
  • I reviewed affected documentation and agent context, updated it where needed, or explained why no update was needed.
  • Public API changes are reflected in the API docs (python docs/scripts/check_api_docs.py).
  • I have added tests that prove the feature works.
  • Dependencies reviewed; no new package requirements.

@yuecideng
yuecideng added this pull request to stack #816 October 18, 2026 12:08
@yuecideng yuecideng added enhancement New feature or request assets Related to simulation assets (robot, CAD, material, etc) task A task written in openai gym format for imitation learning or reinforcement learning labels Oct 18, 2026
@yuecideng yuecideng changed the title feat(task-program): materialize asset-bound scene deployments Materialize asset-bound Task Program deployments Oct 18, 2026
@yuecideng
yuecideng force-pushed the codex/asset-generalization-materialization branch from b186307 to 810501f Compare October 18, 2026 12:16
@yuecideng
yuecideng force-pushed the codex/asset-generalization-materialization branch from 810501f to 9dcbc33 Compare October 18, 2026 15:49
@yuecideng
yuecideng force-pushed the codex/asset-generalization-materialization branch from 9dcbc33 to faf197a Compare October 18, 2026 16:04
Base automatically changed from codex/asset-generalization-matching to main October 18, 2026 19:14
@yuecideng
yuecideng force-pushed the codex/asset-generalization-materialization branch from faf197a to 8ae0d63 Compare October 18, 2026 19:15
@yuecideng
yuecideng marked this pull request as ready for review October 19, 2026 04:37
@greptile-apps

greptile-apps Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge, with a non-blocking issue affecting textures on local Collada robot meshes.

Fix All in CodexFindings

  1. P2 Collada textures disappear ▶
Fix with agent prompt
### Issue 1
embodichain/lab/task_program/integrations/asset_materialization.py:136-138
Local robots that use textured Collada meshes lose their images during bundling. `_check_dependencies` returns only the `.dae` file, and `_resource_files` skips its contents because it only parses `.urdf` and `.xml`. The new selective copy therefore leaves out images named by Collada `init_from`, which the old directory copy preserved.

Follow those image references when building the copy list so deployed robots keep their textures.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

Adds standalone deployments from verified asset selections, with fresh registration IDs and adapted relative placement frames.

  • Selected asset roles become a standalone task deployment.
  • Materialized deployments carry their assets and a checkable file manifest.
  • Explicit local resource paths resolve from their declaring component.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
    A[Task template] --> C[Materialize deployment]
    B[Verified asset selection] --> C
    C --> D[Adapt physical and semantic bindings]
    D --> E[Bundle local files]
    E --> F[Write configs and manifest]
    F --> G[Check with production loader]
    G --> H[Validate before environment creation]
Loading

Reviews (2) · Last reviewed commit: "fix(assets): bind deployments to verifie..." · Reviewed by Greptile

Comment thread embodichain/lab/task_program/integrations/asset_materialization.py Outdated
Comment thread embodichain/lab/task_program/integrations/asset_materialization.py Outdated
Comment thread embodichain/lab/task_program/integrations/asset_materialization.py
Comment on lines +136 to +138
files.update(_check_dependencies(root, path))
if path.suffix.lower() not in {".urdf", ".xml"}:
continue

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Collada textures disappear

Local robots that use textured Collada meshes lose their images during bundling. _check_dependencies returns only the .dae file, and _resource_files skips its contents because it only parses .urdf and .xml. The new selective copy therefore leaves out images named by Collada init_from, which the old directory copy preserved.

Follow those image references when building the copy list so deployed robots keep their textures.

Prompt To Fix With AI
This is a comment left during a code review.
Path: embodichain/lab/task_program/integrations/asset_materialization.py
Line: 136-138

Comment:
**Collada textures disappear**

Local robots that use textured Collada meshes lose their images during bundling. `_check_dependencies` returns only the `.dae` file, and `_resource_files` skips its contents because it only parses `.urdf` and `.xml`. The new selective copy therefore leaves out images named by Collada `init_from`, which the old directory copy preserved.

Follow those image references when building the copy list so deployed robots keep their textures.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Codex Fix in Claude Code

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

assets Related to simulation assets (robot, CAD, material, etc) enhancement New feature or request 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