Auriga Technical Report: A Task-Agnostic Agent Harness for Zero-Shot Embodied Manipulation
Abstract
Vision-language models can interpret instructions and plan manipulation tasks, yet struggle when acting directly as robot policies. On RoboDojo, a large planning-execution gap separates high-level task decisions from physical execution: removing arm execution raises GPT-6 Astra's success rate from 22.5% under the reference control interface to 76.2%. We present Auriga, a task-agnostic agent harness that closes 68.3% of this gap in zero-shot manipulation without target-task trials or resets. In Auriga, the model makes all task decisions over an explicit task belief and acts through either direct tool calls or synthesized multi-step Python programs, while the harness supplies calibrated 3D measurements, finger-referenced dual-arm control, and a single admission gateway to the robot. Before motion, the model inspects a visual trajectory preview while simulation is paused; during execution, the harness checks declared stage tolerances and grasp bounds, stopping the robot on divergence and returning the measured discrepancy for in-place recovery. Developed across 13 cross-task capability iterations and frozen for evaluation, Auriga ranks first on the RoboDojo leaderboard with a 57.7% success rate (64.0 Score), more than doubling the reference harness on the same model, and remains first under scene randomization while learned policies drop by up to 33.9%. On RoboCasa365, the same frozen harness reaches a 73.2% success rate, outperforming VLA-assisted agents by up to 23.1% on composite tasks. Project page: https://auriga.stelledge.com/ Code: https://github.com/lose4578/Auriga
Figures & tables
| Before evaluation | Available to the test agent | |||||
|---|---|---|---|---|---|---|
| Method / setting | Task exploration | Cross-trial refinement | Task code / skills | Trial-derived memory | Demo-derived artifacts | Demo references |
| GPT-6 Astra (zero-shot) [ 60 ] | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| GPT-6 Astra (image-demo ICL) [ 60 ] | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| GPT-Policy (video ICL) [ 5 ] | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| GPT-GEAR (full-context ICL) [ 64 ] | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ |
| SenseNova (RoboDojo ICL) [ 42 ] | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ |
| Average | Generalization | Precision | Long-Horizon | Memory | Open | |||||||
| Method | SR | Score | SR | Score | SR | Score | SR | Score | SR | Score | SR | Score |
| Direct object motion (privileged) | 76.2 | 79.6 | 81.7 | 83.3 | 65.0 | 72.0 | 70.0 | 75.4 | 96.7 | 96.7 | 67.5 | 70.6 |
| RoboProbe [ 60 ] | 22.5 | 28.5 | 31.7 | 34.1 | 2.5 | 8.5 | 7.5 | 22.1 | 40.8 § | 45.8 § | 30.0 | 32.1 |
| Auriga | 59.2 | 64.6 | 43.3 | 46.2 | 50.0 | 55.6 | 45.0 | 59.5 | 90.0 | 90.5 | 67.5 | 71.2 |
| Capability | Role | Representative tools | World | Details |
|---|---|---|---|---|
| Measure | Return images, robot state, object estimates, and geometric or state quantities with their reliability | robot_observe , geometry_query , stereo_guide | – | Sec. 5.1 |
| Act | Preview and execute multi-stage action sequences for one or both arms, or let simulated time pass | robot_action , robot_wait | Secs. 4.1 , 4.2 and 5.2 | |
| Compute | Run programs for loops, search, and numerical work; their physical requests are reviewed by the model | program_run | Sec. 4.1 | |
| Recall | Revise the task belief, retrieve earlier interactions, and record or query operation lessons | task_plan , history_* , operation_memory | – | Secs. 3.3 and 5.1 |
| Average | Generalization | Precision | Long-Horizon | Memory | Open | ||||||||
| Method | Type | Score | SR | Score | SR | Score | SR | Score | SR | Score | SR | Score | SR |
| Learned policies: WAM or VLA, alone or with an agent | |||||||||||||
| Rex-M1 Preview | VLA | 33.79 | 27.44 | 34.05 | 26.05 | 32.82 | 23.83 | 46.89 | 33.00 | 48.53 | 48.22 | 6.67 | 6.08 |
| Simate-beta | VLA | 33.95 | 27.96 | 35.09 | 27.95 | 34.35 | 26.92 | 57.84 | 43.42 | 33.33 | 33.00 | 9.12 | 8.50 |
| Awomo-0.5 | WAM | 35.34 | 29.64 | 30.31 | 23.84 | 39.65 | 33.50 | 40.36 | 26.75 | 42.27 | 41.22 | 24.09 | 22.92 |
| PhysicalRSI | Agent + VLA | 36.27 | 31.38 | 21.30 | 15.62 | 38.05 | 32.50 | 46.37 | 37.33 | 46.74 | 46.56 | 28.88 | 24.92 |
| Composite | ||||||
| Method | Type | Overall | Atomic-Seen | Seen | Unseen | All |
| Pretraining kitchens: learned WAM or VLA policies | ||||||
| VLA | 14.8 | 34.6 | 6.1 | 1.1 | 3.6 | |
| VLA | 16.9 | 39.6 | 7.1 | 1.2 | 4.2 | |
| WorldDreamer | WAM | 35.3 | 66.3 | 26.7 | 9.0 | 17.9 |
| Target kitchens: VLA policy and agent methods | ||||||
| Variant | Plane intersection | Triangulation | Calibration and object estimates | Successes | Score | First grasps held (%) |
|---|---|---|---|---|---|---|
| No geometry tools | 30/50 | 67.1 | 65.3 | |||
| No triangulation | ✓ | 40/50 | 84.0 | 85.7 | ||
| Full | ✓ | ✓ | ✓ | 46/50 | 94.9 | – |
| Variant | Clearance review | Divergence stop | Successes | Score | Stops per episode |
|---|---|---|---|---|---|
| No clearance review | ✓ | 31/50 | 69.1 | 1.20 | |
| No divergence stop | ✓ | 34/50 | 75.1 | 0.00 | |
| Full | ✓ | ✓ | 36/50 | 79.8 | – |
| Variant | Preview | Checkpoints | Successes | Score | Pauses per episode |
|---|---|---|---|---|---|
| No preview | placed by the model | 36/50 | 74.7 | 0.96 | |
| Pause after every gripper action | ✓ | after every gripper action | 37/50 | 78.7 | 13.82 |
| Full | ✓ | placed by the model | 42/50 | 88.5 | – |
| Variant | Finger-referenced goals | Shared timeline | Successes | Score | Planning failures per episode |
|---|---|---|---|---|---|
| One arm at a time | ✓ | 35/50 | 74.8 | 1.14 | |
| Wrist-flange goals | ✓ | 37/50 | 77.1 | 3.42 | |
| Full | ✓ | ✓ | 39/50 | 83.9 | – |
| Variant | Programs | Physical actions from programs | Review and receipts | Successes | Score | Model calls per episode |
|---|---|---|---|---|---|---|
| Programs cannot act | ✓ | ✓ | 19/30 | 73.0 | 67.1 | |
| No programs | ✓ | 19/30 | 75.3 | 66.0 | ||
| Code as policy | ✓ | ✓ | 20/30 | 77.2 | 71.8 | |
| Full | ✓ | ✓ | ✓ | 30/30 | 100.0 | 46.2 |
| Task completion | Model calls / ep. | Physical execution | ||||||
|---|---|---|---|---|---|---|---|---|
| System | Successes | SR (%) | Exclusive | Mean | Median | Batches / ep. | Steps /ep. | Steps / batch |
| RoboProbe [ 60 ] | 3/15 | 20.0 | 0 | 36.6 | 38 | 33.4 | 365.1 | 10.9 |
| Auriga | 14/15 | 93.3 | 11 | 25.4 | 24 | 3.1 | 336.2 | 107.3 |
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| Dimension | Tasks | What it covers | Task identifiers |
|---|---|---|---|
| Generalization | 12 | Manipulation across varied objects and layouts, including randomized scene variants | stack_bowls , push_T , pack_objects_into_box , fold_clothes , hang_mugs , sweep_blocks , pour_liquid_into_cup , make_toast , arrange_largest_number , sort_nesting_dolls_by_size , store_laptop_and_headphones , stack_blocks |
| Precision | 8 | Fine-grained manipulation under tight spatial constraints | fasten_screws , plug_in_charger , insert_tubes , pour_balls_into_vase , play_Xylophone , deposit_coin , insert_key , build_tower |
| Long-Horizon | 8 | Multi-step tasks that require completing several subgoals | put_bottles_into_dustbin , fill_pen_holder , classify_objects , play_tic_tac_toe , fill_egg_holder , organize_table , make_kong , play_stacking_toy |
| Memory | 6 | Tracking state, recalling a sequence, or matching after a delay | cover_blocks , match_and_pick_from_conveyor , swap_blocks , swap_T , press_by_number , imitate_sorting_sequence |
| Open | 8 | Open-ended tasks and manipulation conditioned on language or images | align_blocks , general_pickup , stack_blocks_by_language , solve_equation , classify_objects_by_language , pick_from_conveyor_by_image , store_tools_in_toolbox , pour_by_language |
| Table | Tasks |
|---|---|
| Tab. 6 | Generalization: stack_blocks , stack_bowls , push_T ; Long-Horizon: play_tic_tac_toe ; Memory: cover_blocks , press_by_number , imitate_sorting_sequence ; Open: align_blocks , stack_blocks_by_language , classify_objects_by_language |
| Tab. 7 | Generalization: stack_bowls , sort_nesting_dolls_by_size ; Precision: fasten_screws , insert_tubes ; Long-Horizon: classify_objects , play_stacking_toy ; Memory: cover_blocks , swap_T ; Open: classify_objects_by_language , align_blocks |
| Tab. 8 | Generalization: fold_clothes , arrange_largest_number , sort_nesting_dolls_by_size ; Precision: fasten_screws ; Long-Horizon: classify_objects ; Memory: swap_T , cover_blocks , imitate_sorting_sequence ; Open: pick_from_conveyor_by_image , classify_objects_by_language |
| Tab. 9 | Generalization: fold_clothes , arrange_largest_number ; Precision: fasten_screws , play_Xylophone ; Long-Horizon: classify_objects , play_tic_tac_toe ; Memory: press_by_number , cover_blocks ; Open: classify_objects_by_language , align_blocks |
| Tab. 10 | Generalization: sort_nesting_dolls_by_size , pack_objects_into_box ; Precision: fasten_screws ; Long-Horizon: play_stacking_toy , play_tic_tac_toe , classify_objects ; Memory: press_by_number , imitate_sorting_sequence ; Open: pick_from_conveyor_by_image , classify_objects_by_language |
| Method | Type | Overall | Atomic-Seen | Composite-Seen | Composite-Unseen |
|---|---|---|---|---|---|
| VLA | 14.8 | 34.6 | 6.1 | 1.1 | |
| VLA | 16.9 | 39.6 | 7.1 | 1.2 | |
| WorldDreamer | WAM | 35.3 | 66.3 | 26.7 | 9.0 |
| Xiaomi-Robotics-1 | VLA | 57.4 | 80.2 | 57.1 | 32.1 |
| Dimension | Episodes | Model | Input | Cached | Output | Steps | Time |
|---|---|---|---|---|---|---|---|
| calls | (M) | (%) | (k) | used (%) | (min) | ||
| Generalization | 1,800 | 54.2 | 6.57 | 84.8 | 21.9 | 79.6 | 21.6 |
| Precision | 1,200 | 50.2 | 6.02 | 85.9 | 19.5 | 86.9 | 20.2 |
| Long-Horizon | 1,199 | 54.5 | 6.70 | 85.2 | 21.8 | 88.8 | 23.0 |
| Memory | 900 | 30.0 | 3.11 | 85.5 | 9.0 | 68.9 | 11.3 |
| Open | 1,200 | 40.7 | 4.67 | 86.1 | 15.4 | 71.8 | 14.9 |
| SR (%) | Score | ||||||
|---|---|---|---|---|---|---|---|
| Method | Standard | Random | Change | Rel. change | Standard | Random | Change |
| PhysicalRSI | 25.67 | 5.56 | 20.1 | 78% | 31.57 | 11.04 | 20.5 |
| VPP2 | 46.44 | 12.56 | 33.9 | 73% | 52.14 | 20.63 | 31.5 |
| Awomo-0.5 | 30.89 | 16.78 | 14.1 | 46% | 37.70 | 22.92 | 14.8 |
| Rex-M1 Preview | 34.78 | 17.33 | 17.5 | 50% | 42.64 | 25.46 | 17.2 |
| GO-3 Nano Preview | 43.00 | 24.33 | 18.7 | 43% | 45.93 | 26.97 | 19.0 |
| Auriga | SR (%) of the four other agent methods | |||||
|---|---|---|---|---|---|---|
| Task | SR | Score | PyRUA- Lean | HexaShell- Preview | EmbodiedEvo | RoboProbe |
| Generalization | ||||||
| stack_bowls | 91.3 | 92.5 | 70.0 | 86.0 | 56.0 | 62.0 |
| push_T | 86.0 | 86.0 | 86.0 | 96.0 | 86.0 | 60.0 |
| pack_objects_into_box | 14.7 | 27.3 | 30.0 | 16.0 | 0.0 | 0.0 |
| fold_clothes | 69.3 | 74.5 | 52.0 | 40.0 | 82.0 | 72.0 |
| Step | Recorded state and feedback | Decision or verified outcome |
|---|---|---|
| 72 | Both blocks are lifted; the belief records retention as supported and the exchange as pending . | Preserve both initial outlines; place pink first and inspect its release. |
| 169 | Pink has been released at blue’s initial pose; blue remains to be transferred. | Keep the completed placement and move blue with the right arm. |
| 278 | The transfer motion completes, but the final aperture is zero and the image shows blue on the table. | Mark blue retention as contradicted ; preserve pink as supported ; switch recovery to the left arm. |
| 332 | The left-arm re-grasp and slow lift complete; the right arm returns. | Use a short, slow placement at the saved target, followed by release and withdrawal. |
| 380 | The evaluator reports task success within the 400-step budget. | Both object goals are satisfied after the local recovery. |
| Mechanism | Interface | Episodes | Count and unit |
|---|---|---|---|
| Task-belief updates | task_plan | 15/15 | 25 updates |
| Geometric queries | geometry_query | 15/15 | 17 calls |
| Preview evaluations | robot_action | 15/15 | 106 evaluations |
| Generated action plans | robot_action | 15/15 | 74 plans |
| Multi-stage plans | move , gripper , observe | 15/15 | 73 plans |
| Plans involving both arms | arm | 15/15 | 54 plans |
| Candidate | Native steps | Status |
|---|---|---|
| Initial correction | 95 | Rejected: insufficient budget |
| Revised route | 57 | Rejected: insufficient budget |
| Coordinated approach and return | 54 | Planned |
| Final plan with explicit release | 55 | Planned |
| Executed correction to task success | 51 | Success at step 396 |