anhtld commited on
Commit
877aa4c
·
verified ·
1 Parent(s): 7ea4e4a

Update env_clip rollout report

Browse files
Files changed (1) hide show
  1. workspace/reports/2026-07-03.md +22 -8
workspace/reports/2026-07-03.md CHANGED
@@ -457,6 +457,14 @@
457
  - setting: one validation chart, K=2, `--disable-action-clipping --execution-action-transform env_clip --execution-action-scale 1.0`
458
  - result: base and both generated candidates have known action-bound labels with zero violations (`base_action_clip_max_abs=0.0`, generated max excess `[0.0, 0.0]`). Base progress is `0.0505`; generated candidate progress is `[0.1141, 0.0396]`; OutcomePTR@2 is `1.0000` because one generated candidate improves measured utility over base.
459
  - interpretation: `env_clip` fixes the import/runtime blocker and provides an action-bound-clean smoke without the smooth magnitude compression of tanh. Full validation/test/train-calibration arrays are submitted before any method claim.
 
 
 
 
 
 
 
 
460
 
461
  ## Failed Jobs And Log Excerpts
462
 
@@ -511,13 +519,16 @@ Interpretation: residual CTT beats local-atlas on mean positive distance while s
511
  | validation + base-context-observation scaled0.215 | 3 | 207 | 0.1594 | 0.0676 | 0.1208 | 0.6667 | 0.2754 | 0.5459 | 0.0531 | fail: scale/support/selected |
512
  | validation + base-context-observation tanh | 3 | 207 | 0.2754 | 0.2126 | 0.3671 | 0.6667 | 0.4251 | 0.3092 | 0.1546 | fail: selected/support/selector |
513
  | validation + base-context-observation per-dim trainmax | 3 | 207 | 0.2754 | 0.0918 | 0.1691 | 0.6667 | 0.3043 | 0.4976 | 0.0773 | fail: support/generated_bounds/selected |
 
514
  | train calibration + base-context-observation tanh | 3 | 432 | 0.3056 | 0.2245 | 0.3634 | 0.6597 | 0.3773 | 0.3333 | 0.1389 | calibration only: selected/support/selector |
 
515
  | test | 3 | 144 | 0.2847 | 0.2222 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2847 | fail: selected/support/selector |
516
  | test + base-context-observation | 3 | 144 | 0.2917 | 0.2708 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2431 | fail: selected/support/selector |
517
  | test + base-context-observation no-clipping | 3 | 144 | 0.2500 | 0.2500 | 0.5000 | 0.7292 | 0.5417 | 0.2708 | 0.2500 | fail: action_bounds/support/selector |
518
  | test + base-context-observation scaled0.215 | 3 | 144 | 0.2292 | 0.0903 | 0.1667 | 0.7292 | 0.3750 | 0.5625 | 0.0764 | fail: scale/support/selected |
519
  | test + base-context-observation tanh | 3 | 144 | 0.3333 | 0.2500 | 0.3819 | 0.7292 | 0.4167 | 0.3681 | 0.1319 | fail: selected/support/selector |
520
  | test + base-context-observation per-dim trainmax | 3 | 144 | 0.3333 | 0.1181 | 0.2222 | 0.7292 | 0.3611 | 0.5139 | 0.1042 | fail: support/generated_bounds/selected |
 
521
  | test + dominance auto | 3 | 144 | 0.2847 | 0.2500 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2917 | fail: selected/support/selector |
522
  | test + dominance tau0 | 3 | 144 | 0.2847 | 0.2778 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2778 | fail: selected/support/selector |
523
  | test + base-context-observation tau0 | 3 | 144 | 0.2917 | 0.3056 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2639 | fail: selected/support/selector |
@@ -525,6 +536,7 @@ Interpretation: residual CTT beats local-atlas on mean positive distance while s
525
  | test + base-context-observation train dominance auto | 3 | 144 | 0.2917 | 0.3056 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2639 | fail: selected/support/selector |
526
  | test + base-context-observation train learned dominance | 3 | 144 | 0.2917 | 0.3125 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2569 | fail: selected/support/selector |
527
  | test + base-context-observation train nonlinear dominance | 3 | 144 | 0.2917 | 0.3056 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2569 | fail: selected/support/selector |
 
528
  | test + utility-energy checkpoint seed0 | 1 | 144 | 0.2847 | 0.2708 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2917 | fail: selected/support/selector |
529
  | test + utility-energy checkpoint seed1 | 1 | 144 | 0.2847 | 0.2847 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2847 | fail: selected/support/selector |
530
  | test + utility-energy checkpoint seed2 | 1 | 144 | 0.2847 | 0.2361 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.3056 | fail: selected/support/selector |
@@ -534,11 +546,11 @@ Interpretation: residual CTT beats local-atlas on mean positive distance while s
534
  | test + base-context-observation tanh learned context-tangent success dominance | 3 | 144 | 0.3333 | 0.3542 | 0.3819 | 0.7292 | 0.4167 | 0.3681 | 0.1528 | fail: support/selector |
535
  | test + base-context-observation tanh train learned context-success dominance | 3 | 144 | 0.3333 | 0.3819 | 0.3819 | 0.7292 | 0.4167 | 0.3681 | 0.1250 | fail: support/selector |
536
 
537
- Interpretation: the test proposal oracle exceeds 50% support for the clipped visual-stat row, and visual-stat CTT plus validation-calibrated learned context dominance gives the best clipped-convention held-out selected success (`0.3264`). The cleaner clipped-convention train-calibrated selector reaches `0.3125`, which still improves over base but does not beat the validation-calibrated diagnostic. Nonlinear train-calibrated selectors do not improve this number. The object-layout proxy pass does not survive measured validation rollout and is worse than the RGB-stat row on proposal oracle/selected success. No-clipping preserves measurable support but exposes widespread action-bound violations; global scaled replay fixes base bound validity but collapses proposal support. The bounded tanh convention eliminates action-bound violations on validation/test, while per-dimension train-max replay fixes base validity but further collapses proposal support and still leaves generated action-bound violations. With train-clean context-success dominance, bounded tanh reaches `0.3819` selected success on held-out test and matches the measured proposal oracle in micro success, but the row-level selector gap remains `0.1250`, its proposal oracle is also only `0.3819`, and the support gap to the hidden chart oracle remains `0.3681`. The current best bounded-action story is therefore a useful selector diagnostic and a transport/support failure. The next paper-critical work is richer learned visual-language/object-centric chart representation and a decoder/action convention that preserves proposal support, not another deterministic proxy descriptor.
538
 
539
  Safety metric status: regenerated measured rollout reports now expose `base_safety_label_known`, `generated_safety_label_coverage_at_8`, and `selected_safety_label_known_at_8`. For the visual-stat, object-layout, held-out test, and train-calibration rollout rows generated before the action-bound hook, each coverage number is `0.0000`; the legacy validation aggregate without `candidate_outcomes` reports `n/a`. For action-bound smoke/no-clipping/scaled artifacts, coverage is `1.0000` because `safety_violation_source=action_bounds`. These are action-space validity labels only, not collision/contact labels.
540
 
541
- Action-bound audit status: new rollout artifacts now log action-bound safety labels. The first smoke has 100% known labels and 100% action-bound violation for base/generated candidates. The full chart DB audit shows base-action violation rate 1.0000 in train/val/test and branch-level violation rate about 0.308. The no-clipping refresh has 100% known labels and about 0.98 generated action-bound violation rate. The scaled0.215 refresh has 100% known labels and base action-bound violation rate `0.0000`, but generated violation rate remains `0.1920` on validation and `0.1997` on test while proposal support collapses. The tanh bounded-decoder refresh has 100% known labels and zero base/generated/selected action-bound violations on full validation/test, but support and selector gaps remain large. The per-dimension train-max refresh also has 100% known labels and base action-bound violation rate `0.0000`, but generated violation rate remains `0.2742` on validation and `0.3030` on test while support collapses further than tanh. Collision/contact safety remains unmeasured.
542
 
543
  ## Leakage Audit Status
544
 
@@ -599,6 +611,8 @@ Action-bound audit status: new rollout artifacts now log action-bound safety lab
599
  - Added bounded-decoder tanh support to the rollout artifact path, plus full validation/test tanh aggregate tables and bounded-tanh dominance diagnostics. The draft treats tanh as an action-bound-clean diagnostic convention with lower support than clipped/no-clipping visual-stat rows, not as a final deployment method.
600
  - Added the train-calibrated bounded-tanh dominance table via `\input{../runs/ctt_base_context_obs_learned_dominance_context_success_tanh_train_to_test/table}` and updated the text: train-clean bounded dominance matches the proposal oracle in micro selected success, but the row-level selector gap remains nonzero and support remains too weak.
601
  - Added per-dimension train-max validation/test aggregate tables via `\input{../runs/ctt_base_context_obs_val_perdim_trainmax_rollout_comparison/table}` and `\input{../runs/ctt_base_context_obs_test_perdim_trainmax_rollout_comparison/table}`. The draft treats per-dimension train-max scaling as a negative diagnostic: it fixes base action-bound validity, but proposal support collapses and generated action-bound violations remain.
 
 
602
  - Verification after the bounded-tanh/dominance paper patch:
603
  - `.venv/bin/python -m py_compile scripts/eval_ctt_generated_rollout.py tests/test_ctt.py scripts/eval_dominance_selector.py scripts/eval_learned_dominance_selector.py`
604
  - `.venv/bin/python -m pytest tests/test_ctt.py tests/test_metrics.py tests/test_cil_metrics.py tests/test_dominance_selector.py tests/test_chart_features.py -q`: 36 passed.
@@ -667,10 +681,10 @@ Action-bound audit status: new rollout artifacts now log action-bound safety lab
667
 
668
  ## Next Actions
669
 
670
- 1. Fix the action representation/decoder, not with a global scalar: scaled0.215 fixes base bounds but collapses generated support.
671
- 2. Stop treating deterministic object-layout as a likely win: it passed proxy but failed measured support relative to RGB-stat.
672
- 3. Replace deterministic RGB/object descriptors with learned visual-language or task/object tokens that distinguish target, distractor, gripper/contact region, and task stage.
673
- 4. Evaluate explicit `env_clip` as the next bounded action convention: it should test whether the clipped-convention support can be made action-bound-clean without the support collapse seen under tanh and per-dimension train-max scaling.
674
- 5. Train utility/dominance on richer outcome-vector features only after support improves; under bounded tanh, current train-clean context-success dominance matches proposal-oracle micro success but leaves a nonzero row-level selector gap.
675
- 6. Rerun measured support/selection once under exactly one declared deployment action convention after the decoder/action representation fix; tanh is action-bound-clean but currently sacrifices too much proposal support.
676
  7. Add actual collision/contact labels after action-bound validity is resolved.
 
457
  - setting: one validation chart, K=2, `--disable-action-clipping --execution-action-transform env_clip --execution-action-scale 1.0`
458
  - result: base and both generated candidates have known action-bound labels with zero violations (`base_action_clip_max_abs=0.0`, generated max excess `[0.0, 0.0]`). Base progress is `0.0505`; generated candidate progress is `[0.1141, 0.0396]`; OutcomePTR@2 is `1.0000` because one generated candidate improves measured utility over base.
459
  - interpretation: `env_clip` fixes the import/runtime blocker and provides an action-bound-clean smoke without the smooth magnitude compression of tanh. Full validation/test/train-calibration arrays are submitted before any method claim.
460
+ - Patched full `env_clip` arrays and aggregate/dominance job completed:
461
+ - Slurm arrays `15133037_[0-2]`, `15133038_[0-2]`, and `15133039_[0-2]` all completed with exit code `0:0`; aggregate/dominance job `15133183` also completed with exit code `0:0`.
462
+ - validation artifact: `runs/ctt_base_context_obs_val_envclip_rollout_comparison`, 207 rows, base success `0.2754`, selected success `0.2222`, proposal-oracle success `0.4155`, hidden oracle success `0.6667`, OutcomePTR@8 `0.5024`, success support gap `0.2657`, success selector gap `0.1932`.
463
+ - held-out test artifact: `runs/ctt_base_context_obs_test_envclip_rollout_comparison`, 144 rows, base success `0.2917`, selected success `0.2361`, proposal-oracle success `0.4792`, hidden oracle success `0.7292`, OutcomePTR@8 `0.5069`, success support gap `0.2917`, success selector gap `0.2431`.
464
+ - train-calibration artifact: `runs/ctt_base_context_obs_train_cal_envclip_rollout_comparison`, 432 rows, base success `0.2778`, selected success `0.2546`, proposal-oracle success `0.4722`, hidden oracle success `0.6597`, OutcomePTR@8 `0.4907`, success support gap `0.2315`, success selector gap `0.2176`.
465
+ - all three aggregates have 100% known action-bound labels and zero base/generated/selected action-bound violations.
466
+ - train-clean env-clip dominance variants completed. The best selected-success row is `runs/ctt_base_context_obs_learned_dominance_basic_envclip_train_to_test`: held-out selected success `0.3194`, coverage `0.2222`, proposal-oracle success `0.4792`, success selector gap `0.2153`.
467
+ - interpretation: `env_clip` is the strongest bounded-action support diagnostic so far and removes the action-bound validity confound, but the selector still fails to exploit the proposal oracle. This is evidence for the action-convention fix plus a remaining dominance problem, not a final deployment claim.
468
 
469
  ## Failed Jobs And Log Excerpts
470
 
 
519
  | validation + base-context-observation scaled0.215 | 3 | 207 | 0.1594 | 0.0676 | 0.1208 | 0.6667 | 0.2754 | 0.5459 | 0.0531 | fail: scale/support/selected |
520
  | validation + base-context-observation tanh | 3 | 207 | 0.2754 | 0.2126 | 0.3671 | 0.6667 | 0.4251 | 0.3092 | 0.1546 | fail: selected/support/selector |
521
  | validation + base-context-observation per-dim trainmax | 3 | 207 | 0.2754 | 0.0918 | 0.1691 | 0.6667 | 0.3043 | 0.4976 | 0.0773 | fail: support/generated_bounds/selected |
522
+ | validation + base-context-observation env_clip | 3 | 207 | 0.2754 | 0.2222 | 0.4155 | 0.6667 | 0.5024 | 0.2657 | 0.1932 | fail: selected/support/selector |
523
  | train calibration + base-context-observation tanh | 3 | 432 | 0.3056 | 0.2245 | 0.3634 | 0.6597 | 0.3773 | 0.3333 | 0.1389 | calibration only: selected/support/selector |
524
+ | train calibration + base-context-observation env_clip | 3 | 432 | 0.2778 | 0.2546 | 0.4722 | 0.6597 | 0.4907 | 0.2315 | 0.2176 | calibration only: selected/support/selector |
525
  | test | 3 | 144 | 0.2847 | 0.2222 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2847 | fail: selected/support/selector |
526
  | test + base-context-observation | 3 | 144 | 0.2917 | 0.2708 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2431 | fail: selected/support/selector |
527
  | test + base-context-observation no-clipping | 3 | 144 | 0.2500 | 0.2500 | 0.5000 | 0.7292 | 0.5417 | 0.2708 | 0.2500 | fail: action_bounds/support/selector |
528
  | test + base-context-observation scaled0.215 | 3 | 144 | 0.2292 | 0.0903 | 0.1667 | 0.7292 | 0.3750 | 0.5625 | 0.0764 | fail: scale/support/selected |
529
  | test + base-context-observation tanh | 3 | 144 | 0.3333 | 0.2500 | 0.3819 | 0.7292 | 0.4167 | 0.3681 | 0.1319 | fail: selected/support/selector |
530
  | test + base-context-observation per-dim trainmax | 3 | 144 | 0.3333 | 0.1181 | 0.2222 | 0.7292 | 0.3611 | 0.5139 | 0.1042 | fail: support/generated_bounds/selected |
531
+ | test + base-context-observation env_clip | 3 | 144 | 0.2917 | 0.2361 | 0.4792 | 0.7292 | 0.5069 | 0.2917 | 0.2431 | fail: selected/support/selector |
532
  | test + dominance auto | 3 | 144 | 0.2847 | 0.2500 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2917 | fail: selected/support/selector |
533
  | test + dominance tau0 | 3 | 144 | 0.2847 | 0.2778 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2778 | fail: selected/support/selector |
534
  | test + base-context-observation tau0 | 3 | 144 | 0.2917 | 0.3056 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2639 | fail: selected/support/selector |
 
536
  | test + base-context-observation train dominance auto | 3 | 144 | 0.2917 | 0.3056 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2639 | fail: selected/support/selector |
537
  | test + base-context-observation train learned dominance | 3 | 144 | 0.2917 | 0.3125 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2569 | fail: selected/support/selector |
538
  | test + base-context-observation train nonlinear dominance | 3 | 144 | 0.2917 | 0.3056 | 0.5139 | 0.7292 | 0.5347 | 0.2639 | 0.2569 | fail: selected/support/selector |
539
+ | test + base-context-observation env_clip train learned dominance | 3 | 144 | 0.2917 | 0.3194 | 0.4792 | 0.7292 | 0.5069 | 0.2917 | 0.2153 | fail: selected/support/selector |
540
  | test + utility-energy checkpoint seed0 | 1 | 144 | 0.2847 | 0.2708 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2917 | fail: selected/support/selector |
541
  | test + utility-energy checkpoint seed1 | 1 | 144 | 0.2847 | 0.2847 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.2847 | fail: selected/support/selector |
542
  | test + utility-energy checkpoint seed2 | 1 | 144 | 0.2847 | 0.2361 | 0.5069 | 0.7292 | 0.5278 | 0.2639 | 0.3056 | fail: selected/support/selector |
 
546
  | test + base-context-observation tanh learned context-tangent success dominance | 3 | 144 | 0.3333 | 0.3542 | 0.3819 | 0.7292 | 0.4167 | 0.3681 | 0.1528 | fail: support/selector |
547
  | test + base-context-observation tanh train learned context-success dominance | 3 | 144 | 0.3333 | 0.3819 | 0.3819 | 0.7292 | 0.4167 | 0.3681 | 0.1250 | fail: support/selector |
548
 
549
+ Interpretation: the test proposal oracle exceeds 50% support for the clipped visual-stat row, and visual-stat CTT plus validation-calibrated learned context dominance gives the best clipped-convention held-out selected success (`0.3264`). The cleaner clipped-convention train-calibrated selector reaches `0.3125`, which still improves over base but does not beat the validation-calibrated diagnostic. Nonlinear train-calibrated selectors do not improve this number. The object-layout proxy pass does not survive measured validation rollout and is worse than the RGB-stat row on proposal oracle/selected success. No-clipping preserves measurable support but exposes widespread action-bound violations; global scaled replay fixes base bound validity but collapses proposal support. The bounded tanh convention eliminates action-bound violations on validation/test, while per-dimension train-max replay fixes base validity but further collapses proposal support and still leaves generated action-bound violations. With train-clean context-success dominance, bounded tanh reaches `0.3819` selected success on held-out test and matches the measured proposal oracle in micro success, but the row-level selector gap remains `0.1250`, its proposal oracle is also only `0.3819`, and the support gap to the hidden chart oracle remains `0.3681`. The explicit `env_clip` convention is action-bound-clean and preserves more bounded proposal support than tanh or per-dimension scaling, reaching `0.4792` held-out proposal-oracle success, but score-only selection is below base and the best train-clean env-clip dominance row reaches only `0.3194` selected success. The current bounded-action story is therefore an action-convention fix plus a selector/dominance failure. The next paper-critical work is richer learned visual-language/object-centric chart representation and a learned decoder/selector that exploits the preserved proposal support, not another deterministic proxy descriptor.
550
 
551
  Safety metric status: regenerated measured rollout reports now expose `base_safety_label_known`, `generated_safety_label_coverage_at_8`, and `selected_safety_label_known_at_8`. For the visual-stat, object-layout, held-out test, and train-calibration rollout rows generated before the action-bound hook, each coverage number is `0.0000`; the legacy validation aggregate without `candidate_outcomes` reports `n/a`. For action-bound smoke/no-clipping/scaled artifacts, coverage is `1.0000` because `safety_violation_source=action_bounds`. These are action-space validity labels only, not collision/contact labels.
552
 
553
+ Action-bound audit status: new rollout artifacts now log action-bound safety labels. The first smoke has 100% known labels and 100% action-bound violation for base/generated candidates. The full chart DB audit shows base-action violation rate 1.0000 in train/val/test and branch-level violation rate about 0.308. The no-clipping refresh has 100% known labels and about 0.98 generated action-bound violation rate. The scaled0.215 refresh has 100% known labels and base action-bound violation rate `0.0000`, but generated violation rate remains `0.1920` on validation and `0.1997` on test while proposal support collapses. The tanh bounded-decoder refresh has 100% known labels and zero base/generated/selected action-bound violations on full validation/test, but support and selector gaps remain large. The per-dimension train-max refresh also has 100% known labels and base action-bound violation rate `0.0000`, but generated violation rate remains `0.2742` on validation and `0.3030` on test while support collapses further than tanh. The explicit `env_clip` refresh has 100% known labels and zero base/generated/selected action-bound violations on train-calibration, validation, and held-out test, while preserving substantially more proposal support than tanh or per-dimension scaling. Collision/contact safety remains unmeasured.
554
 
555
  ## Leakage Audit Status
556
 
 
611
  - Added bounded-decoder tanh support to the rollout artifact path, plus full validation/test tanh aggregate tables and bounded-tanh dominance diagnostics. The draft treats tanh as an action-bound-clean diagnostic convention with lower support than clipped/no-clipping visual-stat rows, not as a final deployment method.
612
  - Added the train-calibrated bounded-tanh dominance table via `\input{../runs/ctt_base_context_obs_learned_dominance_context_success_tanh_train_to_test/table}` and updated the text: train-clean bounded dominance matches the proposal oracle in micro selected success, but the row-level selector gap remains nonzero and support remains too weak.
613
  - Added per-dimension train-max validation/test aggregate tables via `\input{../runs/ctt_base_context_obs_val_perdim_trainmax_rollout_comparison/table}` and `\input{../runs/ctt_base_context_obs_test_perdim_trainmax_rollout_comparison/table}`. The draft treats per-dimension train-max scaling as a negative diagnostic: it fixes base action-bound validity, but proposal support collapses and generated action-bound violations remain.
614
+ - Added explicit `env_clip` validation/test aggregate tables via `\input{../runs/ctt_base_context_obs_val_envclip_rollout_comparison/table}` and `\input{../runs/ctt_base_context_obs_test_envclip_rollout_comparison/table}`. The draft treats `env_clip` as the strongest bounded-action support diagnostic so far: action-bound labels are complete and clean, proposal support is preserved better than tanh/per-dimension scaling, but score-only selected success remains below base.
615
+ - Added the train-calibrated `env_clip` learned-dominance table via `\input{../runs/ctt_base_context_obs_learned_dominance_basic_envclip_train_to_test/table}`. The draft states the split precisely: `env_clip` fixes the bounded-action support confound, while the current dominance features still leave a large selector gap.
616
  - Verification after the bounded-tanh/dominance paper patch:
617
  - `.venv/bin/python -m py_compile scripts/eval_ctt_generated_rollout.py tests/test_ctt.py scripts/eval_dominance_selector.py scripts/eval_learned_dominance_selector.py`
618
  - `.venv/bin/python -m pytest tests/test_ctt.py tests/test_metrics.py tests/test_cil_metrics.py tests/test_dominance_selector.py tests/test_chart_features.py -q`: 36 passed.
 
681
 
682
  ## Next Actions
683
 
684
+ 1. Treat `env_clip` as the current declared bounded-action diagnostic convention: it is action-bound-clean and support-preserving enough to expose the selector/dominance blocker.
685
+ 2. Replace deterministic RGB/object descriptors with learned visual-language or task/object tokens that distinguish target, distractor, gripper/contact region, and task stage.
686
+ 3. Train a dominance/utility selector that uses richer deployment-visible chart features under `env_clip`; the current basic ridge row reaches only `0.3194` selected success against a `0.4792` proposal oracle.
687
+ 4. Improve the decoder/action representation beyond post-hoc scalar or per-dimension scaling; both collapse support, while tanh trades support for validity.
688
+ 5. Stop treating deterministic object-layout as a likely win: it passed proxy but failed measured support relative to RGB-stat.
689
+ 6. Rerun measured support/selection once after the learned representation/selector fix under exactly one declared deployment action convention.
690
  7. Add actual collision/contact labels after action-bound validity is resolved.