Uh oh!
There was an error while loading. Please reload this page.
feat(task-engine): add TaskSpec and semantic task-graph contracts - #533
feat(task-engine): add TaskSpec and semantic task-graph contracts#533skywhite1024 wants to merge 2 commits 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
7c9fc2dCompare7c9fc2d to
06b6301Compare…refactor-02-seedgraph-contracts
Description
Stack
ljd/gen-sim-refactor-01-scene-engineReplace the direct-AtomicAction SeedGraph foundation with immutable Task Engine contracts built around the canonical Semantic Skill call format.
Architecture boundary
TaskSpec,SuccessSpec, andSemanticTaskGraphvalues.semantic_task_graph/v1; each node contains exactly one call decoded and re-encoded by the public Expert Program semantic-call codec.Unsupported task semantics remain expressible in
TaskSpec; #535 planning will return a structuredunsupported_semantic_capabilityresult when the canonical catalog cannot execute them.Refs #531
Type of change
Validation
pytest -q tests/gen_sim/task_engine tests/gym/envs/expert_program/test_decoder.py- 79 passedpytest -q tests/docs/test_check_api_docs.py- 8 passedgit diff --check- passedsphinx-buildis unavailable in the validation environmentChecklist