Skip to content

Fix measured E5 milestone ordering in TaskSpec - #886

Draft
yuecideng wants to merge 1 commit into
codex/action-engine-v36-main-syncfrom
codex/e5-ordered-milestone-evidence
Draft

yuecideng wants to merge 1 commit into
codex/action-engine-v36-main-syncfrom
codex/e5-ordered-milestone-evidence

Conversation

@yuecideng

Copy link
Copy Markdown
Contributor

Description

Record E5 acquisition and placement as two ordered measured TaskSpec snapshots. Previously both observations were written into one snapshot, so an after milestone could remain unavailable even when the physical Pick, coordinated transport, Place, release, and Park calls completed. The change keeps each native observation and its source evidence; it only gives the TaskSpec evaluator the actual order in which they occurred.

This is an independent correctness fix for the PR #729 branch. The broader GenSim _task_program migration and its offline bundle conversion remain separate.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Validation

  • Focused TaskSpec and acceptance-evidence tests cover ordered acquisition/placement observations and their rejection paths. Test additions were reviewed for necessity; no tutorial tests were added.
  • A qualified E5 native source completed 3/3 calls and 959 control steps before and after the fix. The unpatched evaluator reported the ordered milestone unavailable; the fixed evaluator reported strict TaskSpec satisfied from two measured snapshots.
  • On fixed PR Integrate Task Engine runtime policies and robot profiles #729 and fixed migration checkouts, the frozen E5 source ran seeds 0, 1, and 2 with 3/3 calls, 959 steps, strict TaskSpec satisfaction, and matching actions, state records, videos, and rendered semantic graphs. The migration acceptance tool separately verifies the native contact revision epoch identity when required; no motion, physics, control, or TaskSpec threshold changed in this PR.
  • black ., focused tests, python docs/scripts/check_api_docs.py (3399/3399), and project-context validation passed on the PR Integrate Task Engine runtime policies and robot profiles #729 fix branch.

Screenshots

Not applicable; the rendered semantic graph and TaskSpec status were checked in an offline browser.

Checklist

  • I have run the black . command to format the code base.
  • I reviewed and updated the affected GenSim acceptance context.
  • Public API coverage was checked; no public API changed.
  • I verified behavioral coverage and reviewed the necessity of added tests.
  • Dependencies are unchanged.

Emit separate TaskSpec observations for native two-hand acquisition and terminal supported placement only when their exact records and control-step boundaries agree. Keep missing or reversed evidence unavailable and leave the shared TaskSpec after rule unchanged.
@yuecideng yuecideng added bug Incorrect existing behavior or a fix restoring the intended behavior. gen-sim Scene Engine generation and editing, scene export and SimReady pipelines. task-program Task Program language, semantics, compiler, runtime and integration contracts. labels Oct 27, 2026

This branch has not been deployed

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

Labels

bug Incorrect existing behavior or a fix restoring the intended behavior. gen-sim Scene Engine generation and editing, scene export and SimReady pipelines. task-program Task Program language, semantics, compiler, runtime and integration contracts.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant