docs(plan): tighten task ordering and smoke checks

This commit is contained in:
Logic
2026-04-23 16:55:24 +08:00
parent 636290d36a
commit 3eb1a83940

View File

@@ -49,6 +49,7 @@
- Modify: `roboimi/utils/constants.py` (later in implementation) - Modify: `roboimi/utils/constants.py` (later in implementation)
- Modify: `roboimi/assets/robots/diana_med.py` (later in implementation) - Modify: `roboimi/assets/robots/diana_med.py` (later in implementation)
- Modify: `roboimi/envs/double_pos_ctrl_env.py` (later in implementation) - Modify: `roboimi/envs/double_pos_ctrl_env.py` (later in implementation)
- Create: `roboimi/envs/double_air_insert_env.py` (minimal stub in this task)
- [ ] **Step 1: Write failing tests for task config and sampling helpers** - [ ] **Step 1: Write failing tests for task config and sampling helpers**
@@ -81,6 +82,7 @@ Implement only enough to make the new tests pass:
- add new task config entry - add new task config entry
- add the new placement sampler - add the new placement sampler
- add the new robot asset class - add the new robot asset class
- create a minimal importable `double_air_insert_env.py` stub and class/function surface needed for factory dispatch tests
- add the factory dispatch branch / headless wiring - add the factory dispatch branch / headless wiring
- update eval reset dispatch for the new task - update eval reset dispatch for the new task
@@ -95,7 +97,7 @@ Expected:
- [ ] **Step 7: Commit Task 1** - [ ] **Step 7: Commit Task 1**
Run: Run:
`git add tests/test_air_insert_env.py tests/test_eval_vla_headless.py tests/test_robot_asset_paths.py roboimi/utils/act_ex_utils.py roboimi/utils/constants.py roboimi/assets/robots/diana_med.py roboimi/envs/double_pos_ctrl_env.py roboimi/demos/vla_scripts/eval_vla.py && git commit -m "feat(env): register sim air insert ring bar task"` `git add tests/test_air_insert_env.py tests/test_eval_vla_headless.py tests/test_robot_asset_paths.py roboimi/utils/act_ex_utils.py roboimi/utils/constants.py roboimi/assets/robots/diana_med.py roboimi/envs/double_pos_ctrl_env.py roboimi/envs/double_air_insert_env.py roboimi/demos/vla_scripts/eval_vla.py && git commit -m "feat(env): register sim air insert ring bar task"`
--- ---
@@ -215,9 +217,9 @@ Add tests covering:
Keep the tests unit-level; do not require a full MuJoCo rollout for every assertion. Keep the tests unit-level; do not require a full MuJoCo rollout for every assertion.
- [ ] **Step 2: Write a small failing integration/smoke test for stepping the new task path** - [ ] **Step 2: Write a real failing headless smoke test for the new task path**
If practical with mocks/fakes, add a smoke test that verifies the policy can be used with the new environment interface without shape/dispatch mismatches. Add a deterministic integration/smoke test that instantiates `make_sim_env('sim_air_insert_ring_bar', headless=True)`, resets with sampled named task state, and steps a few actions or scripted-policy outputs. Use the real task XML and task-specific environment wiring so broken includes, joint names, or dispatch mismatches are caught.
- [ ] **Step 3: Run the scripted-policy tests and verify they fail** - [ ] **Step 3: Run the scripted-policy tests and verify they fail**
@@ -255,6 +257,16 @@ Run:
Expected: Expected:
- PASS with 0 failures - PASS with 0 failures
- [ ] **Step 6b: Run the mandatory real headless smoke check**
Run a focused smoke command that instantiates the real task, resets with sampled state, and steps a few actions using the new scripted policy or a deterministic action sequence.
Example command (adjust module/test helper if needed):
`/home/droid/.conda/envs/roboimi/bin/python -m unittest tests.test_air_insert_env.AirInsertEnvSmokeTest -v`
Expected:
- PASS, proving the real XML/assets/env wiring instantiate and step correctly in headless mode
- [ ] **Step 7: Commit Task 4** - [ ] **Step 7: Commit Task 4**
Run: Run: