Repository navigation
Conversation
yuecideng
marked this pull request as ready for review
November 14, 2026 09:51
Order permission queries after the latest sensor sample on the caller's CUDA stream without resampling or advancing histories. Cover pending forbidden contacts and dropped evidence in standalone and history sampling paths. Validation: 75 targeted tests passed; Black 26.10.1, public API documentation coverage and agent context checks passed.
Share Default CPU numeric observations within bounded command-gather scopes, reconstruct immutable standard targets, and transfer fresh internal command ownership while preserving public snapshots and validation. Keep native multi-chunk grasp geometry and reductions resident on CUDA within each query, preserving samples, thresholds, stream ordering and independent results. Add focused regression coverage and a reproducible runtime comparison driver. Validation: 201 focused tests including CUDA and 42 context tests passed; Black 26.10.1, API docs 4924/4924 and diff checks passed. Sources match the final benchmark manifest. Forward/reverse sensor-free UR5 execution versus main 0119171 (seconds): small main 10.34-10.45, off 9.07-9.31, on 8.31-9.08; medium main 49.24-57.12, off 47.19-50.90, on 48.66-49.57; large main 251.77-260.14, off 189.57-196.42, on 192.07-200.29. All 492 program attempts accepted. Default CPU physics retains legacy CUDA grasp classification; these shared-host single-seed results are not physical qualification.
Restore the existing Default CUDA backend policy. Remove the newly introduced public selector and its ordinary-reporting test variant, retaining CPU contact permission coverage and documenting Direct GPU static-identity limits. Validation: 53 configuration/contact tests including CUDA and 42 context tests passed. Black 26.10.1, API docs and diff checks passed.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Downstream manipulation expansion currently has to replace motion generation globally, override private host startup/execution, and reach into marker internals for ghost playback. Add native interfaces while keeping task assets, calibration, sampling ranges and physical thresholds task-owned.
Explicit
MotionPolicy.phase_pathsandMotionGenOptions.waypoint_modescompose free-space joint paths and Cartesian contact phases on the original grid. Ordinary callers retain their semantics, failure masks and native recovery.GymExpansionHostExtensionsexposes collection rendering, scene proposals, recipe transforms, measured validators and row plan factories. The host retains preparation, clocks, T+1 capture, attachment archival and persistence.TaskProgramSameGridExpansionFactory.from_native_planreuses existing operators and Atomic reconstruction for measured-plan affordance/trajectory adaptation.MeasuredExpansionValidatorpresents one lifecycle for independent geometry and full native contacts, including sustained finger contact and drift checks. Unknown actors, missing impulses and dropped evidence fail closed. Tasks supply permissions and thresholds.MeasuredTrajectory, the reference recorder andpreview_expansion_comparisonprovide shared-time pause/switch controls and physics-free solid/ghost playback.MarkerFramePublisherretains resources and publishes visible robot/object groups together using actual visibility. Playback uses the native render-state owner and restores the borrowed scene and physics state.pose_nms_scopesupplies nested context-local memory budgets without replacing backend functions. Explicit call arguments override the scope; selection arithmetic/order remain unchanged.Retain the opt-in single-process/single-World
workload_count × batch_sizeexecutor, rolling refill and native session/receipt accounting, compatible planning/acceptance batching, CUDA fixes, owned snapshots, content-verified episode reads and portable per-episode LeRobot export.embodichain expansion preview --job JOBfreezes parameter lower/upper/center and stratified interior points, runs the native Task Program/acceptance pipeline, then automatically opens the full-model ghost viewer. Physical intervals, scene-atlas request domains and explicit signed joint/via-point draws keep original limits and validation; finite sampling does not claim continuous or all-corner coverage. Failed/unrun/reused/fallback cases remain explicit under aggregate budgets.--input(alias--inpu) replays existing job/preview results without collection; job-mode--outputowns a new directory. Native rendering uses loopback HTTP JPEG; WebRTC remains TODO.Configured/cohort defaults remain compatible. Rolling execution is an explicit
WorkloadSourceintegration; this does not switch the configured CLI scheduler automatically. No downstream tasks, private assets, calibrated poses or workflow processes are included. Dependency:greenlet>=3.2,<4; DexSim pin unchanged.Validation
Result-preview integration: 339 focused configuration/operator/Task Program/episode/preview/context tests passed. Native end-to-end distribution verification used 13 varying dimensions and center/lower/upper/interior points: all 14 unique trajectories passed unchanged acceptance, without trajectory fallback or reused affordance branches. Browser filtering 14→4→2→1→0, coverage reporting and zero-physics replay passed. A no-motion-profile job also collected and opened successfully; row identity is now archived and ambiguous legacy diagnostics stay unavailable. The default example preflights 30 unique attempts. Black, API docs, context, JavaScript and link checks passed; verification services closed.
Final VCS-built installed wheel (
ab04d972b5b75042434498db9a889b4edd03b6fe): all five original downstream tasks completed 10/10, 50/50 total, under their original attempt/time/physical acceptance budgets. A task-owned thin adapter retains the original process scheduler and task parameters while using the new public phase/host/acceptance/transform/export/NMS ports. Both old global-motion installation sites and the NMS function replacement are removed from that adapter.Independently audited all 50 accepted episodes: native receipts/content hashes, real LeRobot SDK round trips, T+1, protected samples, scene ranges, motion/FK limits, measured terminal/contact criteria and the original 71-sample bimanual hold/drift requirement. Parameters match the original benchmark inputs byte-for-byte. Runs use
PYTHONHASHSEED=0and the original CPU physics configurations; this is not five-task GPU qualification or a throughput comparison.All five real X11 viewers passed pause, same-time selection, resume, exit, zero playback physics steps and scene/target restoration. Four use the preceding feature wheel and bottle relay uses the final wheel; final comparison/publisher/renderer bytes are identical. Screenshots are real rendered frames. The native SDK emits Vulkan present validation warnings under Xvfb; picture, input and restoration were checked independently.
Final installed-wheel real four-row rolling execution passed safe rejection/hold, refill, queued groups and four confirmed receipts in one World. Real two-row tests passed explicit phase parity, ordinary-call preservation and selected-row acceptance isolation.
386 affected-module tests passed (2 skipped, 7 deselected); 36 NMS checks passed (4 deselected), including real CPU/GPU behavior and context isolation. Reused existing coverage and added only measured row/phase, comparison ownership/identity and NMS scope coverage.
53 documentation/context tests passed; all 4,942 public exports are documented. Sphinx dummy succeeds with the same existing 888 warnings as the base; normalized warning sets are unchanged. Repository-pinned Black and whitespace checks pass.
Incomplete intermediate runs remain separate, including an earlier feature-wheel handover quota failure. The final five-task matrix met every quota; this does not establish repeated-run determinism, full-suite coverage or a universal throughput improvement. Remote CI remains subject to runner availability.
Type of change
Screenshots
Native-window screenshots and interaction evidence are retained in the local qualification report. Private task assets/data are not included in this repository.
Checklist
python docs/scripts/check_api_docs.py.