Skip to content

feat(gen-sim): add task contracts and scene authoring boundary - #533

Draft
skywhite1024 wants to merge 1 commit into
mainfrom
ljd/gen-sim-refactor-02-seedgraph-contracts
Draft

feat(gen-sim): add task contracts and scene authoring boundary#533
skywhite1024 wants to merge 1 commit into
mainfrom
ljd/gen-sim-refactor-02-seedgraph-contracts

Conversation

@skywhite1024

@skywhite1024 skywhite1024 commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Stack

Description

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

  • Bug fix
  • Enhancement
  • New feature
  • Breaking change
  • Documentation update

Validation

  • black --check --diff --color ./
  • python docs/scripts/check_api_docs.py
  • pytest tests/gen_sim/scene_engine/test_pipeline_api.py tests/gen_sim/task_engine/test_interpretation.py -q (6 passed)

Checklist

  • Code is formatted with Black 26.3.1
  • Public API documentation is aligned
  • Focused tests cover the new contracts and authoring boundary
  • This layer is independently importable and testable

@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

@skywhite1024
skywhite1024 marked this pull request as draft August 21, 2026 07:30
@skywhite1024
skywhite1024 force-pushed the ljd/gen-sim-refactor-02-seedgraph-contracts branch from 30992ce to 7c9fc2d Compare August 21, 2026 09:56
@skywhite1024
skywhite1024 force-pushed the ljd/gen-sim-refactor-02-seedgraph-contracts branch from 7c9fc2d to 06b6301 Compare August 21, 2026 10:11
@skywhite1024 skywhite1024 changed the title feat(action-engine): add SeedGraph contracts and capabilities feat(task-engine): add TaskSpec and semantic task-graph contracts Aug 21, 2026
@skywhite1024
skywhite1024 force-pushed the ljd/gen-sim-refactor-02-seedgraph-contracts branch from b65d3a2 to ac26744 Compare August 27, 2026 06:59
@skywhite1024 skywhite1024 changed the title feat(task-engine): add TaskSpec and semantic task-graph contracts feat(gen-sim): add task contracts and scene authoring boundary Aug 27, 2026
@skywhite1024
skywhite1024 changed the base branch from ljd/gen-sim-refactor-01-scene-engine to main August 27, 2026 07:01
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