Repository navigation
Conversation
Co-authored-by: matafela <chenjian@dexforce.com>
Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: yuecideng <dengyueci@qq.com>
Co-authored-by: acrlw <13927622+acrlw@users.noreply.github.com>
Co-authored-by: acrlw <13927622+acrlw@users.noreply.github.com>
Signed-off-by: yuecideng <dengyueci@qq.com>
Publish the self-contained graph viewer with packaged fonts and assets. Cache digest-bound display translations without changing task instructions, execution reports, or acceptance criteria. Validate Task Engine and affected integration/package contracts; retain explicit placeholders for imported assets without source previews.
Keep supported-region footprint, contact-gap and release-window checks even when an E5 contact timeline is installed. Reject stable support as a substitute for the region contract. Carry and revalidate per-environment containment availability so an ambiguous cavity row does not erase other final or milestone observations. Preserve legacy audit behavior and remove the unused batch-wide exception. Add positive, negative and mixed-batch regressions. Validate 1145 focused tests, with 2 GPU tests skipped; offline re-evaluation preserves the nine frozen historical verdicts.
| and event.get("invocation_revision") == call["invocation_revision"] | ||
| ) | ||
|
|
||
| start, end = phase("lift"), phase("move") |
There was a problem hiding this comment.
Held continuations cannot qualify
For an E5 hold followed by an E5 on-placement using step_result, the transport call emits only move, hold, release, and retreat. This observer requires a lift event, so phase("lift") raises even when transport and release succeed. Both acquisition and placement evidence become unavailable, preventing strict TaskSpec acceptance.
Read grip evidence from the continuation's own move window, or bind it to the preceding acquisition, instead of requiring another lift.
Prompt To Fix With AI
This is a comment left during a code review.
Path: embodichain/gen_sim/task_engine/_task_program/coordinated_placement_evidence.py
Line: 229
Comment:
**Held continuations cannot qualify**
For an E5 hold followed by an E5 on-placement using `step_result`, the transport call emits only `move`, `hold`, `release`, and `retreat`. This observer requires a `lift` event, so `phase("lift")` raises even when transport and release succeed. Both acquisition and placement evidence become unavailable, preventing strict TaskSpec acceptance.
Read grip evidence from the continuation's own move window, or bind it to the preceding acquisition, instead of requiring another lift.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Keep the single-axis dimension explicit in the pour-evidence fixture. This preserves the six reference rotations while supporting both SciPy 1.15.3 and 1.17.1. Reproduce the old failure with isolated SciPy 1.17.1, then validate 649 Task Engine tests with 2 skipped and all 15 pour-evidence cases on SciPy 1.15.3. Production code and dependency declarations are unchanged.
Keep v36 shared APIs, packaging, benchmarks and measured acceptance. Preserve the five qualified v42 task fixes, scope drawer orientation policy per invocation, and provide the Pick monitor required by Place recovery. Verified task1171-task1190 with twenty new MiMo run-all trials; keep strict satisfied, failed and unavailable results separate.
Integrate ljd/action_engine_refactor_v36 at 0582321 while preserving the SciPy 1.17 Euler-batch fixture correction. The merged production tree completed 26 of 27 initial full MiMo fresh programs; the one authorized Franka task1171 repeat completed 15/15 calls with a strict certificate. Latest per-task program completion is Franka 20/20 and UR10 7/7, with 14 strict certificates in total, not 27. Human video physical review remains separate. Source and input hashes remained unchanged throughout the campaign. Validate 852 focused tests with 2 skipped, 42 context tests, formatting and API-doc gates. Preserve all failed attempts, frozen receipts and local videos outside the Git publication.
Synchronize main at 2f8aa96 after committing the qualified v36 merge. Preserve GenSim runtime, evidence and bilingual graph publication code unchanged. Resolve the relocated Atomic Skill support-test conflict by retaining main example paths without restoring previously removed unused groups or source-string assertions. Initialize the full-pose mode in the rotated-TCP fake-solver fixture and mark that pure CPU check no_sim. Validate 1504 affected tests, 44 skipped, 2 deselected; 42 context tests; Black 26.10.1 and 3436/3436 documented public exports. Three independent bounded static reviews found no unresolved actionable issue. Full fresh MiMo task regression will run against this pinned local commit before any PR publication.
| transfer_boundary = ( | ||
| group["id"] in e4_placement_groups | ||
| and node["call"].get("kind") == "hand_over" | ||
| ) | ||
| if not terminal_boundary and not transfer_boundary: | ||
| continue |
There was a problem hiding this comment.
Final placements stay unverified
When an E5 on-placement is the last group, it cannot pass its ordered milestones—even with valid grip, release, and support evidence. task_spec_from_candidate requires s1.acquired before s1, but evaluate_runtime_evidence first exposes both observations in the same group-end snapshot. _evaluate_milestones checks s1 starting at the next snapshot, which does not exist. Strict acceptance therefore remains unavailable.
Emit separate snapshots for the measured acquisition and placement boundaries.
Prompt To Fix With AI
This is a comment left during a code review.
Path: embodichain/gen_sim/task_engine/_task_program/task_spec_runtime.py
Line: 2509-2514
Comment:
**Final placements stay unverified**
When an E5 on-placement is the last group, it cannot pass its ordered milestones—even with valid grip, release, and support evidence. `task_spec_from_candidate` requires `s1.acquired` before `s1`, but `evaluate_runtime_evidence` first exposes both observations in the same group-end snapshot. `_evaluate_milestones` checks `s1` starting at the next snapshot, which does not exist. Strict acceptance therefore remains unavailable.
Emit separate snapshots for the measured acquisition and placement boundaries.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Merge main f3a399e and retain both architecture view node sets. Validate the clean merge with focused software checks and fresh Franka task1173 / UR10 task1177 calls. Keep the existing uncommitted DLS candidate out of this merge.
Main 同步与抽样验证已推送 merge 提交
验证:
最新合并源码的完整 MiMo fresh 抽样(当前 baseline 的 new3 场景、历史实际提示词、seed=0、单环境):
UR10 task1177 沿用历史 未运行完整 Sphinx 构建;本地没有 actionlint,相关 workflow 测试已包含在定向检查中。GitHub 已重新触发 CI,发布时尚未全部完成,不能将本地检查写作新 CI 全绿。 CI 后续状态:lint、Documentation tests 和 offline tools 已通过。 |
Publication Update (2026-10-25): v36 And Main Synchronization
This section supersedes earlier current-head and qualification claims below.
The earlier notes are retained unchanged as historical provenance.
Published source head:
53b833c03c26c0891d808cc9c6129e2d409f1de9.This is a fast-forward update from
eb8871ae3, containing:542c5caa9: the locally qualified v36 merge.53b833c03: main2f8aa96b84382d5525b9a19afbc1eb520bbc0f61plus theresolved example-test conflict and full-pose TCP test-fixture compatibility.
No production override was needed for that main merge.
occurrence-local drawer contracts, and explicit UR10 native-Pick exploration
remain in the GenSim adapter. The explicit UR10 ordinary-Pick experiment treats
scene-mesh clearance as diagnostic, not certified. IK, command/velocity,
tracking, effect and TaskSpec checks remain enabled. This publication check
step makes no additional runtime or acceptance changes.
Current Native Qualification: Known Failures Remain
The frozen source head above ran 27 new full fresh public MiMo calls
(
mimo-v2.6-pro, seed 0, one environment), with the same task inputs,scene assets and declared configurations as the preceding v36 campaign.
There was no old model-response/bundle replay or manual retry in this campaign.
Historical scene revisions, per-case UR10 native-Pick opt-ins and the separately
authorized UR10 1176 physical reference were retained exactly as in the prior
campaign; this is not qualification on unmodified original scenes.
Franka tasks 1171, 1172, 1174, 1182 and 1186 did not reproduce program
completion. They remain unresolved and are explicitly retained for this PR
update; they are not reported as fixed or successful. The earlier latest-per-task
comparison was Franka 20/20 programs and 12/20 strict certificates, and UR10
7/7 programs and 2/7 strict certificates. That comparison includes the separately
authorized second attempt for Franka 1171; the new 27 calls are all first attempts.
For 1171/1172/1174, normalized graph/program/config declarations and compared
physical inputs agree with the prior runs. Main's effective full-pose IK
regularization changed, but this is a candidate variable, not an established
root cause. Fresh generated declarations differ for 1182/1186. No gate was
weakened to convert any of these outcomes into a pass.
All 27 saved videos decode completely. Human physical video acceptance is still
unreviewed; program completion is not a substitute for it or for strict
status=satisfiedpluscertificate_ready=true. Source, external-input andscene fingerprints remain unchanged. Original prompts, failures, model receipts,
videos, and start/end/duration evidence remain in local ignored artifacts.
Latest Main / Conflict And CI Assessment
During regression, main advanced to
8cb2b53537e8c83b42a79c166e2777336ca0a2d0. It is not an ancestor of thepublished source head. An isolated automatic merge of that exact main with this
head completed without conflicts; its resulting tree is
64224e6b10ae5bd7c9c6dd214947562ac68b77e6.This prospective integration was validated without changing or committing the
already measured source branch.
After publication, GitHub generated merge commit
61fc7c2e5ff7f2ae5bead56cee502806ee8b1ee9with parents main8cb2b5353and source
53b833c03. Its tree exactly matches the locally tested tree above.GitHub now reports the PR mergeable (checks pending), not conflicting.
The latest main additions are expansion APIs and tutorial robot selection.
The reviewed defaults/import paths do not automatically enable a new GenSim
solver or acceptance path. No further main merge/rebase is performed here merely
to make the branch up to date; the observed branch rules do not require it.
Future main updates can still require renewed conflict/CI checks.
Validation performed for this publication:
non-simulation/non-GPU/non-slow GenSim, TaskSpec, Task Program, expansion,
robot catalog, package-data/examples and CI-contract selection. This is not
the full repository suite or another native qualification.
1.17.1: 2759 passed, 25 deselected, extending the previous fixture check
to the v36 additions. This is not a claim that every CI dependency is identical.
SciPy 1.17.1 on the exact source head. The single-axis
(6, 1)fixture fixis preserved. No production or dependency workaround was added.
motion/default-configuration CPU probes 15 passed across both trees.
credentials or new oversized publication blobs are included.
separate evidence from the new prospective-merge CPU selection.
passes with architecture/API/robotics/security lenses. No newly confirmed
actionable code defect remained. Known native non-reproductions remain an
explicit qualification limit, not a zero-risk claim.
were added for publication. Mapped context remains accurate, so this step
requires no source/context edits.
actionlintwas unavailable; a full wheel build, full Sphinx build and fullhardware matrix were not run locally. Packaging staging/contract tests were
included in the selected CPU checks.
Remote CI must run against the new head and GitHub's current integration
commit. Old-head green checks do not certify this update. The push triggers new
checks; their success is not asserted here. This publication performs no force
push, PR merge, remote approval, or review event.
CI Compatibility Follow-Up (2026-10-24)
Current published head:
eb8871ae300db415a0ed7ef9df31e6978108c12f.The previous head's fast lane failed 15 pour-evidence tests at their shared
fixture, before observer execution: SciPy 1.17.1 requires an explicit
single-axis batch dimension, while the local SciPy 1.15.3 accepted shape (6,).
Commit
eb8871ae3changes only that test input to shape (6, 1). Production code,acceptance thresholds, dependency declarations and all existing test cases
remain unchanged.
Validation:
all 15 previously failing pour-evidence cases.
The earlier publication and native-evidence notes below remain historical;
this follow-up performs no new physics execution or task-generation requests.
Previous Publication Update (2026-10-24)
Published head:
f1b750199d6df102f994057bc05a8544af4808ba. This is a fast-forward update from3e002eea4, including the three previously saved convergence/acceptance commits,the bilingual graph viewer (
26d59250a), and the placement-evidence fixes(
f1b750199). The validation and head references in this section supersede theolder publication notes retained below.
Changes
GenSim while retaining shared hooks and default behavior. Run region selection
after collision qualification and before ranking/top-K.
embodichain.task_specforwarding namespace. Useembodichain.gen_sim.task_spec; retain existingworld_yaw_freebehavior.Changed execution declarations require regenerated bundles, not reused identities.
legacy/current observer audits, keeping execution and strict acceptance separate.
paths. Package and embed styles, JavaScript, fonts and licenses for offline use.
Model-generated text is digest-bound, cached display metadata only; failures
retain source text. Pure render/write/visualize APIs stay offline.
without source images; do not substitute unrelated images as evidence.
replace an E1 supported-region footprint/contact-gap/release-window contract;
a cavity-unknown environment row no longer invalidates other final or milestone
rows. Matchers recompute row availability and reject forged masks.
Validation And Review
configured-integration, Atomic Action and settling selection. GPU tests remain
skipped; this is not the full repository suite.
documented. Commit diff whitespace checks passed.
unavailable historical records, graph interaction, video, JSON/SVG export,
injection resistance and no external requests. Package resources were exercised
through real setuptools staging; no complete wheel build is claimed here.
(3 failed, 2 passed) and passes after the repair (5 passed).
Mixed-row tests retain known success/failure and preserve unknown as unavailable.
agentic/acceptance and security/resource boundaries. Two independent follow-up
passes verified the P2 fixes. Test necessity was reviewed; no unresolved
actionable finding remains in this publication increment.
Historical Evidence Boundary
The nine saved native episodes for tasks 1171, 1172 and 1181-1187 were re-evaluated
offline against the pre-fix and repaired evaluators using the same saved
measurements and runtime receipts. Every final-goal status, milestone status and
certificate flag was unchanged; all recorded input hashes were unchanged.
This preserves the existing seven strict certificates, task1184 unavailable and
task1186 failed results. It does not turn nine completed programs into nine
strict successes. The older native qualification table below describes a
different, earlier frozen qualification epoch and is retained as historical
provenance, not the current observer result.
No new physics, GPU task execution, motion commands or task-generation model
requests were used for the P2 repair verification. The graph translation smoke
test was a separate display-only model request. Historical specs, videos,
receipts and failures were not rewritten. Local evidence artifacts are retained
outside the Git publication.
Remote CI has been triggered for the new head and must complete independently;
old-head CI success does not certify this head. No force push, main merge, PR
merge, or remote approval/review event was performed.
Historical Publication Notes (Through
3e002eea4)Description
Integrate GenSim with the regular Task Program and Atomic Skill runtime using
invocation-scoped policies, measured manipulation evidence, bounded recovery,
and explicit motion contracts. Keep shared Lab defaults separate from GenSim's
fixed-grid, sequential-seed motion adapter.
This update includes main
658377f65and the qualified v36 task fixes atb2a8b115f, merged asbe90d1833. Publication head3e002eea4adds only focusedtest cleanup; production code is unchanged from the nine-task native replay.
transport, and bounded grasp/placement/articulation recovery.
report experimental completion separately from strict TaskSpec acceptance.
shared robot defaults; preserve Press withdrawal targets during post-hold.
dependency preflight without replacing an existing bundle's embodiment.
retaining the shared full-episode audience camera.
ContainerAffordanceBindingby makingthe added
release_clearancefield keyword-only.Refs #531
Type of change
Compatibility and dependencies
embodichain.gen_sim.simready_pipeline.*move toembodichain.gen_sim.asset_engine.*, without an old-namespace shim. Theembodichain simreadyCLI name and flags remain available.ArticulatedGenerationClientmoves fromscene_engine.clients.articulated_generationtoasset_engine.clients.articulated_generationunderembodichain.gen_sim.shapely,yourdfpy>=0.0.60and
python-fcl>=0.7.0.11. This publication did not modify the host environment.the main branch's benchmark extension resolve correctly. Packaging retains
Task Engine YAML/HTML and Asset Engine JSON resources.
Auto-selected Contact/Composition profiles may enable experimental release
observer revision 2. Generated relative-placement post-policies can use the
existing experimental 0.10 m position tolerance. These are not shared Lab
defaults or substitutes for strict TaskSpec certification.
motion contracts. Changed declarations require regeneration and validation;
old receipts do not certify changed inputs.
Validation
focused software selection spanning GenSim, Task Program simulation and
language/runtime integration, Atomic Skills, affected motion/object modules,
supported-end grasps, package-data/installed-wheel checks, CI contracts and
project-context checks. This is not the full repository/GPU suite.
git diff --checkpassed. Existing contextaccurately describes the merged behavior; the final test-only cleanup needs
no production-context change.
issue. Test necessity was reviewed across all 80 changed test files in
the full proposed PR, including extensions to existing tests and fixtures.
combine duplicate AxisAlign and articulation-descriptor cases while retaining
their distinct assertions, and use independent fixed scene-category inputs
rather than deriving the oracle from the production set.
the older description's no-longer-current claim of fewer than 10,000 added
test lines; no safety coverage was deleted to meet an artificial line count.
actionlintwas unavailable locally; nofull Sphinx build or additional full GPU suite was run in this publication step.
Frozen native regression
The merged production commit
be90d1833reran the same nine previouslyqualified bundles with Franka, seed 0 and one environment, serially through
the existing resource supervision. There were zero new model requests.
All 183/183 compiled calls completed, every segment's validation mask was
accepted, and all source/bundle/external-input hashes remained unchanged.
Strict outcomes were read from the separate TaskSpec reports and match the
pre-merge reference outcomes.
This establishes 9/9 complete experimental programs and 3/9 strict
certificates, not nine strictly successful tasks. Task1172 uses the previously
qualified 195 mm drawer asset; the same-named original baseline asset is not an
equivalent input. These runs do not establish fresh-provider generation,
cross-seed/scene generalization, or complete UR10/Tianji native qualification.
The final
3e002eea4changes only four test files. All 1144 recorded productionsource files still match the native replay epoch, so no further native replay
was required for that cleanup. Local receipts and videos are retained but are
not uploaded as repository outputs.
Publication hygiene
e130ee3b5to3e002eea4; no force push or history rewrite.658377f65and v36b2a8b115fare ancestors of the published head.outputs/,credentials or oversized new blobs were introduced by this update.
evidence for the new publication.
Screenshots
No new screenshots are attached. This is a runtime/integration and test update;
native recordings and offline evidence remain local artifacts.
Checklist
black .with Black 26.3.1.additional context edit was needed for the final test-only cleanup.