feat(action-engine): add SeedGraph contracts and capabilities - #533
feat(action-engine): add SeedGraph contracts and capabilities#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.
Description
Stack
ljd/gen-sim-refactor-01-scene-engineAdd the strict Action Engine protocol foundation: TaskSpec and SeedGraph schemas, E1-E9 task contracts, motion-policy validation, capability descriptors and registration, runtime defaults, stable hashing, and coordinate-free validation.
The minimal Task Engine ontology is included here because Action Engine task contracts consume it directly; higher-level interpretation remains in the next layer.
Refs #531
Type of change
Validation
git diff --check- passedChecklist