Skip to content

refactor(atomic-actions): add typed tracking contracts - #501

Merged
yuecideng merged 29 commits into
mainfrom
refactor/typed-tracking-contract
Aug 24, 2026
Merged

refactor(atomic-actions): add typed tracking contracts#501
yuecideng merged 29 commits into
mainfrom
refactor/typed-tracking-contract

Conversation

@yuecideng

@yuecidengyuecideng commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Description

Stack

The execution session can now diagnose row-local divergence, success, staleness, and retry through a stable public contract shared by direct atomic actions and semantic runtimes.

Refs #471
Refs #474

Type of change

  • Breaking change (tracking callbacks are replaced by typed contracts)

Screenshots

Not applicable.

Validation

  • Focused coverage: tests/sim/atomic_actions/test_tracking.py, test_engine_per_env.py, test_runner.py, and semantic runtime/profile tests
  • Final affected-suite regression on the stack tip: 1215 passed, 2 skipped, 8 deselected
  • Changed Python files pass Black 26.3.1; the Sphinx build and rollout-report drift check pass at the stack tip

Checklist

  • Changed Python files pass Black 26.3.1.
  • Corresponding public/design documentation is included in this stack.
  • Tests cover the affected behavior.
  • No dependency update is required.

Make endpoint bindings, timed command frames, transports, routing, safe holds, and profile lowering controller-agnostic. Preserve joint trajectories as optional feedback artifacts and add staged, same-address invocation revision semantics for mobile and whole-body safety.
@yuecidengyuecideng added atomic action atomic action related functionality refactor breaking labels Aug 11, 2026
@yuecideng
yuecideng marked this pull request as ready for review August 11, 2026 16:46
CopilotAI lite review requested due to automatic review settings August 11, 2026 16:46
@greptile-apps

greptile-appsBot commented Aug 11, 2026

Copy link
Copy Markdown

Greptile Summary

This PR replaces implicit trajectory-error callbacks with typed, versioned tracking contracts shared by direct atomic actions and semantic skill runtimes.

  • Adds typed tracking channels, feedback providers, command projectors, metric evaluators, policies, and immutable evaluation results.
  • Integrates in-flight tracking and terminal acceptance into execution, bindings, action profiles, and semantic runtimes.
  • Updates public exports, documentation, tutorials, and focused execution and tracking tests.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains.

No blocking failure remains.

Important Files Changed

FilenameOverview
embodichain/lab/sim/atomic_actions/tracking.pyIntroduces typed tracking channels, states, policies, registries, built-in providers, projectors, evaluators, and immutable evaluation contracts.
embodichain/lab/sim/atomic_actions/execution.pyIntegrates typed in-flight evaluation, terminal acceptance, feedback failure handling, and tracking-route continuity into execution.
embodichain/lab/sim/atomic_actions/core.pyProjects endpoint commands into command-aligned tracking frames while validating channel coverage.
embodichain/lab/sim/atomic_actions/plans.pyExtends action plans with tracking sequences and validates consistent setpoint identities and routes across frames.
embodichain/lab/sim/skills/profiles.pyAdds tracking policies and typed endpoint tracking bindings to semantic skill profiles.
embodichain/lab/sim/skills/runtime.pyPropagates typed tracking behavior through semantic workflow execution and result reporting.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
A[Action invocation] --> B[Action plan]
B --> C[Timed command sequence]
B --> D[Timed tracking sequence]
C --> E[Command transport]
E --> F[Robot or simulator]
F --> G[Typed feedback provider]
D --> H[Tracking frame]
G --> I[Metric evaluator]
H --> I
I --> J{Tracking policy}
J -->|Accepted| K[Complete or verify effect]
J -->|Pending| L[Continue or settle]
J -->|Violation| M[Retry or replan]
Loading

Reviews (5): Last reviewed commit: "wip" | Re-trigger Greptile

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@skywhite1024
skywhite1024force-pushed the refactor/typed-tracking-contract branch from 6a42cd6 to 57e47f3CompareAugust 21, 2026 09:35
@skywhite1024
skywhite1024force-pushed the refactor/typed-tracking-contract branch from 57e47f3 to 6a42cd6CompareAugust 21, 2026 11:31
…dation' into refactor/typed-tracking-contract
# Conflicts:
#	embodichain/lab/sim/atomic_actions/__init__.py
#	embodichain/lab/sim/atomic_actions/core.py
#	embodichain/lab/sim/atomic_actions/engine.py
#	embodichain/lab/sim/atomic_actions/execution.py
#	embodichain/lab/sim/atomic_actions/runtime.py
#	embodichain/lab/sim/skills/runtime.py
#	tests/sim/atomic_actions/test_core.py
#	tests/sim/atomic_actions/test_engine_per_env.py
#	tests/sim/skills/test_profiles.py
#	tests/sim/skills/test_runtime.py
…dation' into refactor/typed-tracking-contract
# Conflicts:
#	embodichain_tasks/embodichain_tasks/tableware/open_drawer.py
#	tests/gym/envs/tasks/test_expert_program_repeated_pick_place.py
Base automatically changed from feat/expert-program-rollout-validation to mainAugust 24, 2026 15:18
@yuecideng
yuecideng merged commit 3cf6d34 into mainAug 24, 2026
4 of 5 checks passed
@yuecideng
yuecideng deleted the refactor/typed-tracking-contract branch August 24, 2026 16:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

atomic actionatomic action related functionalitybreakingrefactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@yuecideng