Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
736 commits
Select commit Hold shift + click to select a range
c19745d
feat(task-engine): add visual grounding fallback and multi-object tas…
skywhite1024 Sep 24, 2026
e8282c5
Add aloha mini (#683)
matafela Sep 24, 2026
a7a3f2a
fix(gen-sim): recover failed Place IK with bounded local search
skywhite1024 Sep 24, 2026
6e9ad7c
fix(gen-sim): recover failed Place IK with bounded local search
skywhite1024 Sep 24, 2026
a13579c
Support PickUp on articulated Rubik's cube asset (#632)
Yuan-Xinyi Sep 24, 2026
cdfc780
Add automatic download and evaluation of pretrained policies (#678)
acrlw Sep 24, 2026
60345e6
Add X-Y camera tracking to native locomotion evaluation (#674)
acrlw Sep 24, 2026
c38dc20
feat(task-engine): support horizontal E4 handover grasps
skywhite1024 Sep 24, 2026
572d1e3
feat(task-engine): support horizontal E4 handover grasps
skywhite1024 Sep 24, 2026
5d82ebe
Use FEP as the default Franka IK solver (#687)
yuecideng Sep 24, 2026
d1f32ea
Bump version to v0.3.0 (#688)
yuecideng Sep 24, 2026
ce9bd8b
Fix release docs checkout trust (#690)
yuecideng Sep 24, 2026
c0d3ac2
fix(task-engine): scope grasp filters and validate supported placements
skywhite1024 Sep 24, 2026
bc88576
fix(task-engine): scope grasp filters and validate supported placements
skywhite1024 Sep 24, 2026
11309c7
fix(task-engine): preserve prior support during E2 upright placement
skywhite1024 Sep 25, 2026
749bb08
fix(task-engine): preserve prior support during E2 upright placement
skywhite1024 Sep 25, 2026
3a4c71f
Refresh UR robot renders and add Aloha Mini image (#691)
yuecideng Sep 25, 2026
516dc61
feat(task-engine): add adaptive grasp selection for pickup and handover
skywhite1024 Sep 25, 2026
61a8bd9
feat(task-engine): add adaptive grasp selection for pickup and handover
skywhite1024 Sep 25, 2026
50ffb9f
feat(task-engine): support articulation roots as spatial placement re…
skywhite1024 Sep 25, 2026
9d3ea13
feat(task-engine): support articulation roots as spatial placement re…
skywhite1024 Sep 25, 2026
0efa3a4
feat(task-engine): isolate E5 grasp geometry and support held-object …
skywhite1024 Sep 26, 2026
d21c1d4
feat(task-engine): isolate E5 grasp geometry and support held-object …
skywhite1024 Sep 26, 2026
954426b
feat(task-engine): audit semantic scene grounding with evidence-backe…
skywhite1024 Sep 26, 2026
177f9e6
feat(task-engine): audit semantic scene grounding with evidence-backe…
skywhite1024 Sep 26, 2026
44dc15b
Fix robot link physics default merging (#693)
yuecideng Sep 26, 2026
452b435
fix(task-engine): scope Cartesian planning policy to Place actions
skywhite1024 Sep 26, 2026
5de8a8e
fix(task-engine): scope Cartesian planning policy to Place actions
skywhite1024 Sep 26, 2026
ee023a2
Define joint and EEF action contracts for datasets (#680)
yuecideng Sep 26, 2026
0b34287
feat(gym): allow configured sensors to be disabled (#697)
yuecideng Sep 26, 2026
870c288
fix(gym): separate policy and controller action traces (#695)
yuecideng Sep 27, 2026
2d10482
Add whole-scene USD export and preview (#589)
MuziWong Sep 27, 2026
bd01a6a
Fix dynamic replay of position-velocity expert actions (#699)
yuecideng Sep 27, 2026
befccb9
Add independent physical objective evaluation (#657)
yuecideng Sep 27, 2026
9d47ca0
fix(task-engine): scope adaptive grasp by Pick purpose and retry hand…
skywhite1024 Sep 27, 2026
3f64db6
fix(task-engine): scope adaptive grasp by Pick purpose and retry hand…
skywhite1024 Sep 27, 2026
7f40c15
Remove legacy Gym Action Bank subsystem (#694)
yuecideng Sep 27, 2026
c3cf26a
Allow overriding the asset download prefix with EMBODICHAIN_DOWNLOAD_…
liyifreddy Sep 28, 2026
c96d778
Warn when randomize_camera_extrinsics gets ranges the camera mode ign…
liyifreddy Sep 28, 2026
5abdcac
fix(sim): prefer DexSim joint descriptors (#707)
yuecideng Sep 28, 2026
3d2a087
Add tianji marvin | Fix solver tcp inversion (#686)
matafela Sep 28, 2026
449ceb3
Fix randomization for arena-frame camera poses (#711)
yuecideng Sep 28, 2026
a55f4ff
fix(task-engine): validate opposing pad contact normals for E5 grasps
skywhite1024 Sep 28, 2026
ec8964e
fix(task-engine): validate opposing pad contact normals for E5 grasps
skywhite1024 Sep 28, 2026
57e25fe
fix(scene-engine): clarify articulation endpoint and hinge generation…
skywhite1024 Sep 28, 2026
04590d6
fix(scene-engine): clarify articulation endpoint and hinge generation…
skywhite1024 Sep 28, 2026
55a6be0
Fix generic action contracts for locomotion policies (#698)
yuecideng Sep 29, 2026
3491150
Fix register_info_to_env for num_envs > 1 (#718)
liyifreddy Sep 29, 2026
c6fae23
feat(task-engine): support E5 coordinated placement on rigid supports
skywhite1024 Sep 29, 2026
63d7cfd
feat(task-engine): support E5 coordinated placement on rigid supports
skywhite1024 Sep 29, 2026
7672690
Support Press with motion_gen and canonicalize atomic benchmark start…
yangchen73 Sep 29, 2026
c9ec09f
docs(robot): refresh Tianji Marvin documentation (#722)
yuecideng Sep 29, 2026
faca33c
refactor(task-engine): scope motion and pouring policies per invocation
skywhite1024 Sep 29, 2026
dbacb9c
refactor(task-engine): scope motion and pouring policies per invocation
skywhite1024 Sep 29, 2026
7a3c4cd
feat(motion): add source-neutral generation foundation (#681)
yuecideng Sep 29, 2026
f86c73a
fix(task-engine): capture initial execution plan without redundant pl…
skywhite1024 Sep 29, 2026
33db609
fix(task-engine): capture initial execution plan without redundant pl…
skywhite1024 Sep 29, 2026
b1c2c9f
perf(task-engine): prefilter misaligned grasp candidates before IK
skywhite1024 Sep 29, 2026
3861fe5
perf(task-engine): prefilter misaligned grasp candidates before IK
skywhite1024 Sep 29, 2026
87ac246
feat(collection): unify episode targets across runners (#727)
yuecideng Sep 29, 2026
5c9ce33
feat(task-program): configure planner from execution policy (#728)
yuecideng Sep 29, 2026
376faa6
fix(task-engine): add bounded E6 articulation planning recovery
skywhite1024 Sep 29, 2026
36f4f3a
fix(task-engine): add bounded E6 articulation planning recovery
skywhite1024 Sep 29, 2026
d94b372
feat(task-engine): add contact-verified E9 button pressing
skywhite1024 Sep 30, 2026
fedd16d
feat(task-engine): add contact-verified E9 button pressing
skywhite1024 Sep 30, 2026
3644ed9
fix(task-engine): lower E9 contact press threshold to 0.05 mm
skywhite1024 Sep 30, 2026
e6b675d
fix(task-engine): lower E9 contact press threshold to 0.05 mm
skywhite1024 Sep 30, 2026
bcdae3f
feat(task-engine): support ordered multi-drawer E6 tasks
skywhite1024 Sep 30, 2026
17693c6
feat(task-engine): support ordered multi-drawer E6 tasks
skywhite1024 Sep 30, 2026
0792759
Merge branch 'ljd/action_engine_refactor_v36' into ljd/action_engine_…
skywhite1024 Sep 30, 2026
f386f2d
Merge branch 'ljd/action_engine_refactor_v36' into ljd/action_engine_…
skywhite1024 Sep 30, 2026
5905485
fix(task-engine): separate E9 park clearance from press retreat
skywhite1024 Sep 30, 2026
9b003b1
fix(task-engine): sync main and resolve PR integration conflicts
skywhite1024 Sep 30, 2026
c3fdb77
fix(task-engine): sync main and resolve PR integration conflicts
skywhite1024 Sep 30, 2026
b10d195
fix(demo): follow expansion request return contract
yuecideng Sep 30, 2026
897986f
fix(demo): follow expansion request return contract
yuecideng Sep 30, 2026
40eeb60
Improve async LeRobot persistence throughput and memory bounds (#730)
yuecideng Sep 30, 2026
2e8caf3
fix(task-engine): align phase-one defaults and sanitize retries
yuecideng Sep 30, 2026
35a56b5
fix(task-engine): align phase-one defaults and sanitize retries
yuecideng Sep 30, 2026
b94fe09
feat(task-engine): add calibrated E8 knob twisting with contact verif…
skywhite1024 Oct 1, 2026
60a09e6
docs(architecture): document GenSim TaskSpec target design
yuecideng Oct 2, 2026
b08b77a
docs(architecture): document GenSim TaskSpec target design
yuecideng Oct 2, 2026
0f51be8
docs(architecture): clarify design baseline revision
yuecideng Oct 2, 2026
d6da94f
docs(architecture): clarify design baseline revision
yuecideng Oct 2, 2026
a3c55dc
fix(task-engine): add bounded drawer placement candidate planning
skywhite1024 Oct 2, 2026
8f6fe46
fix(task-engine): make placement planning state-aware and resource-safe
skywhite1024 Oct 2, 2026
355eed6
feat(gen-sim): move articulation generation into asset engine
yuecideng Oct 2, 2026
85446f1
feat(gen-sim): move articulation generation into asset engine
yuecideng Oct 2, 2026
1a858a7
refactor(gen-sim): rename simready pipeline to asset engine
yuecideng Oct 2, 2026
937e16b
refactor(gen-sim): rename simready pipeline to asset engine
yuecideng Oct 2, 2026
a7260d6
docs(architecture): regenerate asset engine snapshot
yuecideng Oct 2, 2026
ae76bf3
docs(architecture): regenerate asset engine snapshot
yuecideng Oct 2, 2026
00eab5b
fix(task-engine): add invocation-scoped adaptive velocity retiming
skywhite1024 Oct 2, 2026
957c31a
refactor(gen-sim): remove simready pipeline compatibility package
yuecideng Oct 2, 2026
21cf339
refactor(gen-sim): remove simready pipeline compatibility package
yuecideng Oct 2, 2026
46a58d3
feat(gen-sim): simplify reusable TaskSpec contract
yuecideng Oct 3, 2026
d68736e
feat(gen-sim): simplify reusable TaskSpec contract
yuecideng Oct 3, 2026
ad9eaad
fix(docs): represent TaskSpec in architecture snapshot
yuecideng Oct 3, 2026
9ba5876
fix(docs): represent TaskSpec in architecture snapshot
yuecideng Oct 3, 2026
22f9f67
fix(docs): regenerate TaskSpec architecture snapshot
yuecideng Oct 3, 2026
aed5ac2
fix(docs): regenerate TaskSpec architecture snapshot
yuecideng Oct 3, 2026
146cd76
chore(docs): refresh architecture snapshot revision
yuecideng Oct 3, 2026
a13c404
chore(docs): refresh architecture snapshot revision
yuecideng Oct 3, 2026
5116652
wip(task-engine): checkpoint E8 adaptation before coarse regression
skywhite1024 Oct 3, 2026
a4fe3ea
fix(task-engine): validate held alignment and release cleanup recover…
skywhite1024 Oct 3, 2026
a1308c5
fix(ci): resolve PR 729 test blockers
yuecideng Oct 3, 2026
adc660c
fix(ci): resolve PR 729 test blockers
yuecideng Oct 3, 2026
042cd8b
fix(task-engine): avoid assuming E2 objects are initially fallen
skywhite1024 Oct 3, 2026
1852317
feat(rendering): add scoped denoising pipeline config (#666)
yuecideng Oct 3, 2026
bb28b86
refactor(gen-sim): move TaskSpec protocol under GenSim
yuecideng Oct 3, 2026
f1bf08e
refactor(gen-sim): move TaskSpec protocol under GenSim
yuecideng Oct 3, 2026
36d1789
feat(atomic-actions): extend handover coordination and slide targets …
yuecideng Oct 4, 2026
946db59
refactor(gen-sim): simplify task spec and staged e2 tests
yuecideng Oct 4, 2026
f5457c0
refactor(gen-sim): simplify task spec and staged e2 tests
yuecideng Oct 4, 2026
068b3ed
test(gen-sim): trim redundant compatibility coverage
yuecideng Oct 4, 2026
f973503
test(gen-sim): trim redundant compatibility coverage
yuecideng Oct 4, 2026
ffa8522
feat(task-engine): add semantic graph PNG visualization
yuecideng Oct 4, 2026
ac35a34
feat(task-engine): add semantic graph PNG visualization
yuecideng Oct 4, 2026
48a6cbb
Merge origin/main into codex/action-engine-v36-main-sync
yuecideng Oct 4, 2026
986deb7
Merge origin/main into codex/action-engine-v36-main-sync
yuecideng Oct 4, 2026
c1cbed5
feat(task-engine): unify semantic graph control lanes
yuecideng Oct 4, 2026
5dc9ff3
feat(task-engine): unify semantic graph control lanes
yuecideng Oct 4, 2026
a9a5b0e
merge(main): resolve PR 729 atomic action conflicts
yuecideng Oct 5, 2026
e69917b
merge(main): resolve PR 729 atomic action conflicts
yuecideng Oct 5, 2026
962aafa
fix(docs): cover task spec compatibility package
yuecideng Oct 5, 2026
318628f
fix(docs): cover task spec compatibility package
yuecideng Oct 5, 2026
8079388
test(release): align DexSim version with main
yuecideng Oct 5, 2026
d8c1b05
test(release): align DexSim version with main
yuecideng Oct 5, 2026
06570bd
fix(gen-sim): make drawer planner cleanup idempotent
yuecideng Oct 5, 2026
102fb9b
fix(gen-sim): make drawer planner cleanup idempotent
yuecideng Oct 5, 2026
f0d7de2
chore(task-engine): snapshot experimental pick roll recovery
skywhite1024 Oct 5, 2026
6eba9bc
wip(gen-sim): save E8 geometry and twist runtime progress
skywhite1024 Oct 5, 2026
cf85e5c
fix(gen-sim): repair task generation and execution contracts
yuecideng Oct 7, 2026
7bdaae3
fix(gen-sim): repair task generation and execution contracts
yuecideng Oct 7, 2026
f12dcb5
fix(gen-sim): retain grasp drive through handover
yuecideng Oct 7, 2026
f9ea9b3
fix(gen-sim): retain grasp drive through handover
yuecideng Oct 7, 2026
c888210
test(gen-sim): bind Place policy mocks to simulation instances
yuecideng Oct 7, 2026
f6e9590
test(gen-sim): bind Place policy mocks to simulation instances
yuecideng Oct 7, 2026
623d002
fix(task-engine): harden Pick, alignment, and Park planning recovery
skywhite1024 Oct 8, 2026
745879f
merge: checkpoint TaskSpec integration with v38 bundle contracts
skywhite1024 Oct 9, 2026
8ea7b62
feat(task-engine): complete TaskSpec coverage and interactive semanti…
skywhite1024 Oct 9, 2026
4401199
feat(task-engine): generalize E8 semantics, feedback, and mass handling
skywhite1024 Oct 9, 2026
6c7dcfc
feat(task-engine): add elapsed timing and compact run logs
skywhite1024 Oct 10, 2026
7707811
fix(task-engine): verify E1 placement goals and milestones
skywhite1024 Oct 10, 2026
35dce8a
wip
skywhite1024 Oct 10, 2026
77e079c
fix(task-engine): prioritize near-end E4 grasps and enable Pick recov…
skywhite1024 Oct 10, 2026
f77bb5d
merge(gen-sim): integrate v36 E8/E9 into v38
skywhite1024 Oct 11, 2026
fd6154b
fix(task-engine): recover stalled E8 twists with bounded grasp-axis s…
skywhite1024 Oct 11, 2026
a1075e1
fix(task-engine): verify E6 milestones from measured runtime evidence
skywhite1024 Oct 11, 2026
0f9d953
wip
skywhite1024 Oct 12, 2026
c2d06ff
wip
skywhite1024 Oct 12, 2026
2fe4440
wip
skywhite1024 Oct 13, 2026
4a5149e
wip
skywhite1024 Oct 13, 2026
659c028
wip
skywhite1024 Oct 13, 2026
88578dc
feat(task-engine): verify grasp and placement with native contact evi…
skywhite1024 Oct 13, 2026
66337c6
feat(gen-sim): validate held resources and preserve part references
skywhite1024 Oct 14, 2026
ce5035a
perf(gen-sim): scope CPU planning thread budgets
skywhite1024 Oct 14, 2026
00227d2
feat(gen-sim): prioritize qualified Place waypoint recovery
skywhite1024 Oct 14, 2026
afc1ff5
feat(gen-sim): qualify bound-scene held transport paths
skywhite1024 Oct 14, 2026
547565b
feat(gen-sim): qualify supported tabletop landing regions
skywhite1024 Oct 14, 2026
4280579
feat(gen-sim): audit bounded grasp continuation searches
skywhite1024 Oct 14, 2026
033ff9c
feat(gen-sim): enable native grasp evidence and publish receipts
skywhite1024 Oct 14, 2026
0305ea5
feat(task-program): expose opt-in robot base observations
skywhite1024 Oct 14, 2026
a49a2a8
docs(gen-sim): document qualification and recovery boundaries
skywhite1024 Oct 14, 2026
50b6066
fix(gen-sim): preserve descriptor convex collision parts
skywhite1024 Oct 14, 2026
1f0b90f
fix(gen-sim): distinguish global and episode arenas
skywhite1024 Oct 14, 2026
ea250fd
feat(gen-sim): bind native support samples to release windows
skywhite1024 Oct 14, 2026
05a2f33
feat(gen-sim): qualify explicit E1 support at historical and final bo…
skywhite1024 Oct 14, 2026
3485534
fix(gen-sim): keep strong support qualification after cleanup
skywhite1024 Oct 14, 2026
c921e58
fix(gen-sim): qualify native rigid pick closing order
skywhite1024 Oct 14, 2026
00c94c0
fix(gen-sim): screen native contact envelopes before pad rest
skywhite1024 Oct 15, 2026
112efec
test(gen-sim): initialize factory capability fixtures
skywhite1024 Oct 15, 2026
5df6e13
fix(gen-sim): reject support before verified terminal release
skywhite1024 Oct 15, 2026
f748452
fix(gen-sim): preserve call-local staging authority in mixed routes
skywhite1024 Oct 15, 2026
f3dd551
feat(gen-sim): report qualified E-group outcomes without changing run…
skywhite1024 Oct 15, 2026
d921114
fix(gen-sim): keep control execution policy invariant across E compos…
skywhite1024 Oct 15, 2026
bf3fb92
fix(gen-sim): respect held resources in E1 composition
skywhite1024 Oct 15, 2026
7036ccb
wip
skywhite1024 Oct 15, 2026
700b82a
test(gen-sim): record bounded E1 qualification baseline
skywhite1024 Oct 15, 2026
87908b8
fix(gen-sim): verify registered pickup acquisition and lift
skywhite1024 Oct 15, 2026
c5b2e9f
fix(gen-sim): retain release-phase support evidence
skywhite1024 Oct 15, 2026
7cc66cb
fix(gen-sim): scope inside rotations to preceding calls
skywhite1024 Oct 15, 2026
0bb0a7b
fix(gen-sim): bind held-command continuity to exact invocations
skywhite1024 Oct 15, 2026
dc39665
fix(gen-sim): observe native handover evidence in TaskSpec
skywhite1024 Oct 15, 2026
b803b94
fix(gen-sim): certify native coordinated holds in TaskSpec
skywhite1024 Oct 15, 2026
e62f9c0
fix(gen-sim): qualify collision-aware handover exchange stations
skywhite1024 Oct 15, 2026
9b11d36
fix(graspkit): derive supported ends from qualified grasp geometry
skywhite1024 Oct 15, 2026
19b0c29
fix(gen-sim): preserve E8 replay scale and compute device
skywhite1024 Oct 16, 2026
aae6d8d
fix(curobo): align exact validation with SDK cost contracts
skywhite1024 Oct 16, 2026
30cc08e
fix(gen-sim): qualify grasp contact and bounded place paths
skywhite1024 Oct 16, 2026
0d5e38e
fix(gen-sim): align pour planning with retained grasp contracts
skywhite1024 Oct 16, 2026
72cd0e8
feat(gen-sim): add explicit receiver-region pour staging
skywhite1024 Oct 17, 2026
7e1d372
fix(gen-sim): qualify native pick proposals and closing geometry
skywhite1024 Oct 18, 2026
18a0cc2
wip
skywhite1024 Oct 19, 2026
557e7d7
fix(gen-sim): qualify task1171 pick and place execution
skywhite1024 Oct 19, 2026
cd4c7db
fix(gen-sim): verify handover placement evidence
skywhite1024 Oct 19, 2026
c48ef93
chore(gen-sim): checkpoint task1172 drawer and pick experiments
skywhite1024 Oct 19, 2026
c6c8f9a
fix(gen-sim): bound handover grasp and place recovery
skywhite1024 Oct 19, 2026
416eb8b
fix(gen-sim): route post-handover place through payload transport
skywhite1024 Oct 19, 2026
b837da7
feat(task-engine): integrate explicit CLI experiment profiles
skywhite1024 Oct 20, 2026
8ea353a
feat(task-engine): add frozen physical selection and measured manipul…
skywhite1024 Oct 20, 2026
fb93adf
wip(task-engine): checkpoint automatic profiles and control composition
skywhite1024 Oct 20, 2026
ae8cf4f
Merge branch 'ljd/action_engine_refactor_v36' into ljd/action_engine_…
skywhite1024 Oct 20, 2026
0ea7588
fix(task-engine): recover retained Pour paths and expose E9 press ove…
skywhite1024 Oct 20, 2026
5fadd81
feat(task-engine): add dual-UR10 and Tianji Marvin robot profiles
skywhite1024 Oct 20, 2026
67b236d
fix(task-engine): correct Marvin mounting and arm collision screening
skywhite1024 Oct 20, 2026
7835957
feat(task-engine): integrate runtime policies and robot profiles
skywhite1024 Oct 20, 2026
11394d5
merge(main): reconcile Task Engine contracts and extension layout
skywhite1024 Oct 20, 2026
db7fd92
docs(api): preserve merged directive and section boundaries
skywhite1024 Oct 20, 2026
68dff94
fix(scene-engine): dispatch merged export options only once
skywhite1024 Oct 20, 2026
4785eca
docs(architecture): regenerate integrated Task Engine snapshot
skywhite1024 Oct 20, 2026
9fbaf5b
fix(task-program): separate cached analysis from execution identity
skywhite1024 Oct 21, 2026
c84a843
feat(atomic-actions): declare held hand target source explicitly
skywhite1024 Oct 21, 2026
addfea0
fix(gen-sim): migrate sampled motion and grasp retention contracts
skywhite1024 Oct 21, 2026
5730624
docs(architecture): pin compatibility candidate source snapshot
skywhite1024 Oct 21, 2026
86d9e58
feat(task-engine): enrich offline semantic graph reports
skywhite1024 Oct 21, 2026
341dbe4
merge(gen-sim): restore compatibility migration into v40
skywhite1024 Oct 21, 2026
a1be5a7
refactor(gen-sim): prune MVP code paths and redundant tests
skywhite1024 Oct 22, 2026
e47486e
feat(task-engine): add offline semantic graph visualization and run r…
skywhite1024 Oct 22, 2026
0a67702
fix(task-engine): preflight robot dependencies and require measured c…
skywhite1024 Oct 22, 2026
01e5b58
refactor(task-engine): remove control-specific close-up recordings
skywhite1024 Oct 22, 2026
25bcfbc
refactor(gen-sim): localize sequential seeded IK interpolation
skywhite1024 Oct 22, 2026
fa7b7c9
merge(gen-sim): synchronize main while preserving execution contracts
skywhite1024 Oct 22, 2026
ce36b11
fix(task-program): preserve container binding positional compatibility
skywhite1024 Oct 22, 2026
e130ee3
test(ci): align wheel fixture with asset engine namespace
skywhite1024 Oct 22, 2026
d8b118b
fix(task-engine): improve grasping, placement, and articulation recovery
skywhite1024 Oct 23, 2026
b2a8b11
fix(gen-sim): calibrate light pouring grips and preserve press withdr…
skywhite1024 Oct 23, 2026
f6fff55
Merge origin/main into codex/action-engine-v36-main-sync
skywhite1024 Oct 23, 2026
be90d18
Merge qualified v36 task fixes into main-sync branch
skywhite1024 Oct 23, 2026
9c524e2
fix(task-engine): validate E6 park clearance after nominal withdrawal
skywhite1024 Oct 23, 2026
3e002ee
test: consolidate PR regression coverage
skywhite1024 Oct 23, 2026
8b4c2b8
refactor(gen-sim): isolate hand-target and grasp-region policies
skywhite1024 Oct 23, 2026
13189b3
fix(task-engine): preserve explicit vertical goals through drawer pla…
skywhite1024 Oct 23, 2026
ea6b7b0
refactor: localize grasp-region hooks and remove legacy TaskSpec alias
skywhite1024 Oct 23, 2026
c590e13
fix(task-engine): compose drawer controls and bound press recovery
skywhite1024 Oct 23, 2026
a78ab6b
fix(gen-sim): qualify coarse controls and observed placement composition
skywhite1024 Oct 24, 2026
b55edef
feat(gen-sim): add measured acceptance evidence and same-episode audits
skywhite1024 Oct 24, 2026
26d5925
feat(gen-sim): integrate bilingual semantic graph viewer
skywhite1024 Oct 24, 2026
f1b7501
fix(gen-sim): preserve placement contracts and row-local evidence
skywhite1024 Oct 24, 2026
9444cea
fix(gen-sim): bind embedded controls and retry bound semantic witnesses
skywhite1024 Oct 24, 2026
eb8871a
test(gen-sim): support explicit Euler batches in SciPy 1.17
skywhite1024 Oct 24, 2026
578f0ff
fix(gen-sim): merge v36 and preserve validated task execution
skywhite1024 Oct 24, 2026
a3b23f2
fix(gen-sim): qualify UR10 wrist and light-grip execution
skywhite1024 Oct 24, 2026
32949c5
feat(gen-sim): add explicit UR10 native pick exploration
skywhite1024 Oct 24, 2026
21eab31
fix(gen-sim): qualify UR10 articulation posture and park recovery
skywhite1024 Oct 24, 2026
c700018
fix(gen-sim): qualify UR10 E8 envelopes and boundary rounding
skywhite1024 Oct 25, 2026
0582321
fix(gen-sim): preserve logical policies with frozen physics
skywhite1024 Oct 25, 2026
542c5ca
Merge qualified v36 progress into main-sync branch
skywhite1024 Oct 25, 2026
53b833c
Merge latest main while preserving qualified GenSim contracts
skywhite1024 Oct 25, 2026
67b1b2b
chore: merge latest main into task engine branch
skywhite1024 Oct 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,7 @@ jobs:
dist_info = f"embodichain-{version}.dist-info/"
required = {
"embodichain/VERSION",
"embodichain/gen_sim/simready_pipeline/configs/gen_config.json",
"embodichain/gen_sim/asset_engine/configs/gen_config.json",
"embodichain_tasks/__init__.py",
"embodichain_tasks/configs/tasks/manipulation/tableware/pour_water/env.yaml",
"embodichain_robots/__init__.py",
Expand Down
37 changes: 30 additions & 7 deletions agent_context/MAP.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -421,25 +421,48 @@ topics:
status: active
- id: gen-sim
title: Gen Sim
aliases: [gen sim, Scene Engine, SimReady, scene generation, scene editing, scene-randomization,
grouped scene randomization, GPU场景扩增, 批量场景扩增, 组内扩增, 组内场景扩增, intra-group augmentation, 分组场景随机化, 场景生成, 场景编辑, 生成式仿真]
keywords: [generate_scene_from_image, edit_scene, SceneExporter, scene-export/v1, SceneRandomizationCfg,
randomize_scene, prepare_scene_baseline, scene-randomization, load_layouts, preview_layouts, ingest_one_asset,
ParserManager, SessionProcessRegistry, Gradio]
aliases: [gen sim, Scene Engine, SimReady, Asset Engine, scene generation, scene editing,
articulation generation, articulated asset, task spec, TaskSpec, task template,
scene-randomization, grouped scene randomization, GPU场景扩增, 批量场景扩增,
组内扩增, 组内场景扩增, intra-group augmentation, 分组场景随机化,
资产引擎, 资产引擎关节生成, 任务规范, 任务规格, 关节资产, 场景生成, 场景编辑, 生成式仿真]
keywords: [generate_scene_from_image, edit_scene, SceneExporter, scene-export/v1, ingest_one_asset,
ParserManager, SessionProcessRegistry, Gradio, articulation, articulated, asset engine,
articulation asset generation, TaskTemplate, SceneInstance, ActionWitness,
ExpansionManifest, ValidationCertificate, task_spec, semantic_hash, predicate evaluator,
task spec cache, TaskSpecCache, ArticulatedGenerationClient, articulated_usdc_utils, SceneRandomizationCfg,
randomize_scene, prepare_scene_baseline, scene-randomization, load_layouts, preview_layouts]
paths: [topics/gen-sim/gen-sim.md]
source_of_truth:
- embodichain/gen_sim/scene_engine/cli/start.py
- embodichain/gen_sim/scene_engine/pipeline/generate.py
- embodichain/gen_sim/scene_engine/pipeline/edit.py
- embodichain/gen_sim/scene_engine/pipeline/utils/scene_exporter.py
- embodichain/gen_sim/scene_engine/pipeline/utils/scene_importer.py
- embodichain/gen_sim/asset_engine/pipeline/ingest.py
- embodichain/gen_sim/asset_engine/pipeline/articulation.py
- embodichain/gen_sim/asset_engine/clients/
- embodichain/gen_sim/asset_engine/utils/articulated_usdc_utils.py
- embodichain/gen_sim/scene_engine/randomization/
- embodichain/gen_sim/simready_pipeline/pipeline/ingest.py
- embodichain/gen_sim/gradio_ui/app_processes.py
- embodichain/gen_sim/task_spec/
- embodichain/gen_sim/gradio_ui/app_env.py
watch_paths: [embodichain/gen_sim/, embodichain/cli/main.py, tests/gen_sim/]
watch_paths: [embodichain/gen_sim/, embodichain/gen_sim/task_spec/, embodichain/cli/main.py, tests/gen_sim/]
related_topics: [simulation-system, data-assets, env-framework]
status: active
- id: task-spec
title: TaskSpec Protocol
aliases: [TaskSpec, task spec, task specification, 任务规范, 任务规格]
keywords: [TaskSpec, TaskSpecCache, task_spec/v0.1, milestones, semantic_hash,
predicate evaluator, task spec cache]
paths: [topics/gen-sim/gen-sim.md]
source_of_truth:
- embodichain/gen_sim/task_spec/
- embodichain/gen_sim/task_engine/task_spec.py
watch_paths: [embodichain/gen_sim/task_spec/, embodichain/gen_sim/task_engine/task_spec.py,
tests/gen_sim/task_spec/, tests/gen_sim/task_engine/test_agent.py]
related_topics: [gen-sim, task-programs, motion-planning]
status: active
- id: data-assets
title: Data Assets
aliases: [data assets, data path, asset download, 数据资产, 资产下载, 数据路径]
Expand Down
27 changes: 25 additions & 2 deletions agent_context/topics/atomic-actions/atomic-actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,31 @@ that commits or invalidates observed effects.
verified grasp. Its goal optionally frees only the final world yaw; default
goals remain exact. Heading alternatives are checked as complete motion paths,
with accepted rows retained independently and selected offsets in diagnostics.
Held-object transport and Pour keep the binding's configured grasp command; a
contact-blocked measured aperture does not retain closing effort.
MoveHeldObject and Pour retain the resolved endpoint's grasp command, including
invocation overrides, rather than a contact-blocked measured aperture. Place
retains that command only for held rows, keeps measured posture for free rows,
and switches to the open command at release. The protected `_held_hand_qpos`
hook lets a transport specialization own a different hand target without
changing observations, attachments, failed-row holds or physical effect gates.

Existing-hold `HandOver` resolves its internal exchange object pose and receiving
grasp together through `_resolve_existing_hold_receive`. The default retains
the original root-midpoint construction and grasp selection. A specialization
must return a consistent pair: source transport and the receiving attachment
are derived from that same pose; the hook never commits effects or steps physics.

Grasp generation retains the original mesh-axis partition. Antipodal's optional
`pg_grasp.GraspRegionSelector` may select only angle/NMS/collision-qualified fallback
rows before ranking and top-K, and only when the requested region is empty.
The default keeps existing custom-service signatures and viable-region RNG
behavior. Application-specific region interpretation belongs to the provider;
it cannot recover IK, trajectory, closing or acquisition failure.

Pick projects downstream targets through the protected lazy
`_iter_downstream_eef_targets` hook before choosing between TCP-roll variants.
The default preserves object-target ordering, normalization, lift-seeded IK and
RNG behavior. Specializations may supply candidate-dependent target geometry;
they do not own IK, roll selection, execution or physical verification.

`SlideGoal.joint_target` optionally supplies a public `SlideJointTarget` with an
absolute prismatic coordinate and a calibrated axis sign. Slide resolves the
Expand Down
8 changes: 8 additions & 0 deletions agent_context/topics/atomic-actions/execution.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,14 @@ Held-object guards and phase-effect gates are observational:
Pick gates attachment before lift. Place gates detachment before retract.
HandOver owns independent source/destination transfer boundaries.

An established held-object relation does not determine the hand's actuator
target. Shared HandOver preserves the measured source-hand posture for an
existing hold. Its protected `_existing_hold_hand_qpos` hook lets an application
specialization retain a bound closing command instead. Contact can keep a
position-controlled hand short of that target; replacing it with measured angles
removes closing drive. Target specialization does not replace the shared
measured attachment, transfer and release verification.

## Row-local state

Vector environments share a synchronized call and command cursor, but success,
Expand Down
99 changes: 99 additions & 0 deletions agent_context/topics/gen-sim/acceptance-evidence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# TaskSpec Acceptance Evidence

## Semantic Boundaries

TaskSpec declares the requested result; recorded execution supplies evidence.
Neither command completion nor video appearance alone changes the contract.
Missing evidence is unavailable, not an invented success or a measured failure.

- Events, including action-only pouring, retain their exact historical window.
Returning the vessel or moving the receiver afterwards does not erase the event.
- Stage states are measured at the compiled group's seeded end-step slot.
- Final states are observed before reset, not copied from an earlier milestone.
- New E3 instruction interpretation requires explicit `pour_goal_mode`. `motion`
verifies alignment, tilt, restoration and release, never liquid transfer.
An omitted mode enters bounded interpretation repair. Legacy authored candidates
retain their original optional-field semantics; migration creates a new spec.

## Observation Owners

`task_engine/_task_program/` owns these application-level observations:

| Concern | Owner |
|---|---|
| Native tilt/restore occurrence | `pour_evidence.py` |
| Placement/release geometry | `placement_evidence.py`, `task_spec_runtime.py` |
| Bounded contact observations on Gym's clock | `acceptance_observation.py` |
| Coordinated acquisition and dual release | `coordinated_placement_evidence.py` |
| Stable native reference support | `stable_support_evidence.py` |
| Same-episode comparison and terminal snapshots | `acceptance_audit.py` |

These observers do not step physics, send commands or replace Task Program.
Runtime profile, assets and execution safety policies remain separate owners.

## Relation Evidence

TaskSpec planar placement uses the union of real native triangle projections.
A convex hull can invent occupied material across payload concavities. Actual
reference holes remain excluded; no blanket geometric buffer fills them.
The execution-side planar gate retains its previous default; exact silhouette
selection is local to the semantic observer.

A rejected floor projection does not prove violation of a sloping container
cavity. When released payload geometry overlaps a raised reference and only
the floor footprint fails, containment remains unavailable until a qualified
three-dimensional cavity observer exists. Clear misses, penetration and excessive
support gaps remain failures. Diagnostics retain the native projected areas.
Current planar containment records carry a per-environment `available` mask;
matchers recompute it from the measured geometry and release flags. An ambiguous
row remains unavailable without erasing other rows' final or stage observations.

An E5 composition may collect a native contact timeline through a sensor
registered in both SimulationManager and Gym's sensor dictionary. The existing
physics-substep lifecycle supplies samples; all native substeps in each control interval
are retained with source/topology revisions and explicit capacity/loss reporting.
Single-ended filtering preserves other counterparts rather than hiding them.

Stable support is distinct from COM projection inside an instantaneous contact
hull. Its v2 observer requires a complete post-release window and maximum relative
pose drift within the actual decoded placement preset's bounds. An upward load
path may traverse known dynamic rigid cargo, but must exist within one native
substep, not a union of contacts at different times. Each control interval needs
a measured root path; every substep excludes external positive-impulse contacts
of the entire coupled cargo component, including frictional side contacts.
The reference itself may rest on a table. The legacy COM classifier is
retained for audit. This is sampled native support evidence, not a continuous
friction-cone or hardware force-closure certificate.
Zero active contacts cannot distinguish native sleep from absent support and
remain unavailable unless an independent observation proves a violation.
Support by a named carrier, whole-footprint containment in a region, and an
explicit anchor over a region are different contracts, never automatic fallbacks.
Installing an E5 contact timeline does not replace an E1 `supported_region`'s
full footprint, contact-gap and exact release-window requirements with support alone.

Coordinated transport observation currently qualifies one environment and an
explicit configured `on` placement. It binds two distinct resource slots and
disjoint pad actors, actual two-hand contact in the lift window, an exact
successful dual release receipt and measured independent open-hand joints.
Standalone coordinated-hold observation keeps its original contract.
For an explicit E5 `on` relation, the formal placement evidence is native stable
support by the named reference. Planar footprint and gap are diagnostics only;
full coverage cannot certify a released payload hovering above the reference.

## Audit And Qualification

The runner evaluates legacy and current observers before reset in one episode.
The legacy result is audit-only and cannot override the current selected verdict.
State guards cover the control clock, step counts, robot qpos, rigid poses and
articulation poses/qpos. Runtime/program/spec digests bind both reports.

Native meshes and exact terminal poses are saved separately. Existing trajectory
exports can omit the seeded final slot; never substitute the previous slot.
Preserve historical specs, videos, receipts and failures. Explicit semantic
migrations record parent/new hashes and cannot masquerade as same-spec repairs.

Calibration separates human episode-level observations from independently labelled
per-predicate evidence. Synthetic negatives remain a separate test stratum; they
do not establish a real-world false-positive rate. Freeze source and input hashes
before full native regression and report program completion and strict acceptance
separately.
Loading
Loading