feat(gen-sim): add task contracts and scene authoring boundary - #533
feat(gen-sim): add task contracts and scene authoring boundary#533skywhite1024 wants to merge 1 commit into
Conversation
Greptile SummaryThis PR introduces the Action Engine's SeedGraph contracts, semantic and atomic capability registries, runtime policy configuration, motion/orientation contracts, and task ontology.
Confidence Score: 4/5The profile normalization defect should be fixed before merging because supported snapshot-less and legacy agent configurations can fail during policy loading. Agent runtime-policy loading bypasses the singular-to-dual profile aliases used elsewhere, so the package's own ur10 default is rejected by fallback and legacy migration paths. Files Needing Attention: embodichain/gen_sim/action_engine/config/runtime_policy.py
|
| Filename | Overview |
|---|---|
| embodichain/gen_sim/action_engine/config/runtime_policy.py | Adds strict runtime-policy loading and migrations, but agent loading fails for supported singular robot profile names on fallback and legacy paths. |
| embodichain/gen_sim/action_engine/domain/v2.py | Adds comprehensive SeedGraph v3 validation for topology, contracts, ownership transitions, cleanup barriers, and resource conflicts. |
| embodichain/gen_sim/action_engine/capabilities/atomic.py | Defines atomic capability metadata and serializable state/resource contracts; no independently publishable defect was established on a current caller path. |
| embodichain/gen_sim/action_engine/capabilities/builtins.py | Adds semantic operator expansion and phase templates for placement, arrangement, orientation, and coordinated transport. |
| embodichain/gen_sim/action_engine/domain/programs.py | Adds strict coordinate-free TaskAgent and ExecutionProgram validation and hashing. |
| embodichain/gen_sim/task_engine/ontology.py | Adds the canonical task ontology consumed by the new Action Engine task contracts. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
TS[Task specification] --> OP[Semantic operator expansion]
OP --> SG[SeedGraph with action contracts]
SG --> VP[SeedGraph validation]
VP --> EP[Execution program]
RP[Runtime policy snapshot] --> MR[Motion policy resolution]
EP --> MR
MR --> AA[Atomic action execution]
Prompt To Fix All With AI
### Issue 1
embodichain/gen_sim/action_engine/config/runtime_policy.py:623-625
**Profile aliases bypassed during loading**
When a snapshot-less or legacy agent uses a supported singular profile such as `ur10`, `ur5`, `ur3`, or `franka`, `resolve_agent_runtime_policy` forwards it without the alias normalization used by motion-policy resolution, causing `default_runtime_policy` to raise `ValueError` instead of loading the corresponding `dual_*` defaults.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "feat(action-engine): add SeedGraph contr..." | Re-trigger Greptile
| return default_runtime_policy( | ||
| str(agent_config.get("robot_profile", "dual_ur10")) | ||
| ) |
There was a problem hiding this comment.
Profile aliases bypassed during loading
When a snapshot-less or legacy agent uses a supported singular profile such as ur10, ur5, ur3, or franka, resolve_agent_runtime_policy forwards it without the alias normalization used by motion-policy resolution, causing default_runtime_policy to raise ValueError instead of loading the corresponding dual_* defaults.
Prompt To Fix With AI
This is a comment left during a code review.
Path: embodichain/gen_sim/action_engine/config/runtime_policy.py
Line: 623-625
Comment:
**Profile aliases bypassed during loading**
When a snapshot-less or legacy agent uses a supported singular profile such as `ur10`, `ur5`, `ur3`, or `franka`, `resolve_agent_runtime_policy` forwards it without the alias normalization used by motion-policy resolution, causing `default_runtime_policy` to raise `ValueError` instead of loading the corresponding `dual_*` defaults.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.30992ce to
7c9fc2d
Compare
7c9fc2d to
06b6301
Compare
b65d3a2 to
ac26744
Compare
Stack
mainDescription
This PR establishes the cross-engine foundation for the rebuilt GenSim stack. It adds the scene-independent Task Engine contracts and ontology, structured instruction validation, and the narrow Scene Engine analyze/materialize authoring boundary still required after the mainline Scene Engine updates.
It supersedes the remaining non-mainline contract surface from #532 without carrying the duplicated Scene Engine implementation.
Type of change
Validation
black --check --diff --color ./python docs/scripts/check_api_docs.pypytest tests/gen_sim/scene_engine/test_pipeline_api.py tests/gen_sim/task_engine/test_interpretation.py -q(6 passed)Checklist