Skip to content

feat(action-engine): add SeedGraph contracts and capabilities - #533

Open
skywhite1024 wants to merge 1 commit into
ljd/gen-sim-refactor-01-scene-enginefrom
ljd/gen-sim-refactor-02-seedgraph-contracts
Open

feat(action-engine): add SeedGraph contracts and capabilities#533
skywhite1024 wants to merge 1 commit into
ljd/gen-sim-refactor-01-scene-enginefrom
ljd/gen-sim-refactor-02-seedgraph-contracts

Conversation

@skywhite1024

@skywhite1024 skywhite1024 commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Description

Stack

Add 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

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

Validation

  • Focused contracts/config coverage - 30 passed
  • Stack-tip GenSim regression - 706 passed, 9 warnings
  • Black 26.3.1 - 855 Python files unchanged at the stack tip
  • git diff --check - passed

Checklist

  • Code passes Black 26.3.1.
  • Tests cover the affected behavior.
  • Stack-level architecture documentation is included by layer 7.
  • No new third-party dependency is required.

@skywhite1024 skywhite1024 added agent Features related to agentic system atomic action atomic action related functionality enhancement New feature or request labels Aug 20, 2026
@greptile-apps

greptile-apps Bot commented Aug 20, 2026

Copy link
Copy Markdown

Greptile Summary

This PR introduces the Action Engine's SeedGraph contracts, semantic and atomic capability registries, runtime policy configuration, motion/orientation contracts, and task ontology.

  • Adds strict validation and hashing for task specifications, SeedGraphs, execution programs, and action contracts.
  • Adds deterministic semantic-operator expansion and atomic capability metadata.
  • Adds versioned runtime-policy defaults, migration paths, and typed motion modifiers.
  • Adds focused tests for runtime policy, task contracts, and motion policy.

Confidence Score: 4/5

The 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

Important Files Changed

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]
Loading

Fix all with Greploop Fix All in Codex Fix All in Claude Code

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

Comment on lines +623 to +625
return default_runtime_policy(
str(agent_config.get("robot_profile", "dual_ur10"))
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 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.

Fix in Codex Fix in Claude Code

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

Labels

agent Features related to agentic system atomic action atomic action related functionality enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant