Auto-sync: 2026-06-29 11:36:27 (part 2)
Browse files
scripts/build_paper_analysis.py
CHANGED
|
@@ -331,6 +331,22 @@ METHODS = [
|
|
| 331 |
"k4_compose_grid035040045_safe_margin0p20_noopbonus0p03_summary.json"
|
| 332 |
),
|
| 333 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 334 |
MethodSpec(
|
| 335 |
key="repair_nearmiss_k4_grid025035050_margin020",
|
| 336 |
label="K4 near-miss-to-expert repair tangent, scales 0.25/0.35/0.50, margin 0.20",
|
|
|
|
| 331 |
"k4_compose_grid035040045_safe_margin0p20_noopbonus0p03_summary.json"
|
| 332 |
),
|
| 333 |
),
|
| 334 |
+
MethodSpec(
|
| 335 |
+
key="residual_k4_composemasked_grid035040045",
|
| 336 |
+
label="K4 composed type-consensus tangents, masked, scales 0.35/0.40/0.45",
|
| 337 |
+
summary_path=(
|
| 338 |
+
"h16_policy_ckpt_near_miss_policy_bc5_bestpt_retrieval_residual_"
|
| 339 |
+
"k4_composemasked_grid035040045_safe_margin0p20_summary.json"
|
| 340 |
+
),
|
| 341 |
+
),
|
| 342 |
+
MethodSpec(
|
| 343 |
+
key="residual_k4_composemasked_grid035040045_noopbonus003",
|
| 344 |
+
label="K4 composed type-consensus tangents, masked, scales 0.35/0.40/0.45, no-op bonus 0.03",
|
| 345 |
+
summary_path=(
|
| 346 |
+
"h16_policy_ckpt_near_miss_policy_bc5_bestpt_retrieval_residual_"
|
| 347 |
+
"k4_composemasked_grid035040045_safe_margin0p20_noopbonus0p03_summary.json"
|
| 348 |
+
),
|
| 349 |
+
),
|
| 350 |
MethodSpec(
|
| 351 |
key="repair_nearmiss_k4_grid025035050_margin020",
|
| 352 |
label="K4 near-miss-to-expert repair tangent, scales 0.25/0.35/0.50, margin 0.20",
|
scripts/build_paper_table_status.py
CHANGED
|
@@ -675,6 +675,26 @@ SPECS = [
|
|
| 675 |
story_role="local tangent composition on the current best typed prior",
|
| 676 |
pending_job="14905957/14905964",
|
| 677 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 678 |
ResultSpec(
|
| 679 |
key="retrieval_repair_nearmiss_k4_grid025035050_margin020",
|
| 680 |
label="K4 near-miss-to-expert repair tangent, scales 0.25/0.35/0.50, margin 0.20",
|
|
|
|
| 675 |
story_role="local tangent composition on the current best typed prior",
|
| 676 |
pending_job="14905957/14905964",
|
| 677 |
),
|
| 678 |
+
ResultSpec(
|
| 679 |
+
key="retrieval_residual_k4_composemasked_grid035040045",
|
| 680 |
+
label="K4 composed type-consensus residual retrieval, masked, scales 0.35/0.40/0.45, margin 0.20",
|
| 681 |
+
path="h16_policy_ckpt_near_miss_policy_bc5_bestpt_retrieval_residual_k4_composemasked_grid035040045_safe_margin0p20_summary.json",
|
| 682 |
+
clean_deployment="yes",
|
| 683 |
+
same_state_proposals="no",
|
| 684 |
+
expert_proposal="no",
|
| 685 |
+
story_role="local tangent composition with anti-goal composite masks",
|
| 686 |
+
pending_job="14911979/14911982",
|
| 687 |
+
),
|
| 688 |
+
ResultSpec(
|
| 689 |
+
key="retrieval_residual_k4_composemasked_grid035040045_noopbonus003",
|
| 690 |
+
label="K4 composed type-consensus residual retrieval, masked, scales 0.35/0.40/0.45, margin 0.20, no-op bonus 0.03",
|
| 691 |
+
path="h16_policy_ckpt_near_miss_policy_bc5_bestpt_retrieval_residual_k4_composemasked_grid035040045_safe_margin0p20_noopbonus0p03_summary.json",
|
| 692 |
+
clean_deployment="yes",
|
| 693 |
+
same_state_proposals="no",
|
| 694 |
+
expert_proposal="no",
|
| 695 |
+
story_role="local tangent composition with anti-goal composite masks on the current best typed prior",
|
| 696 |
+
pending_job="14911980/14911983",
|
| 697 |
+
),
|
| 698 |
ResultSpec(
|
| 699 |
key="retrieval_repair_nearmiss_k4_grid025035050_margin020",
|
| 700 |
label="K4 near-miss-to-expert repair tangent, scales 0.25/0.35/0.50, margin 0.20",
|
tests/test_maniskill_policy_rollout.py
CHANGED
|
@@ -19,6 +19,7 @@ from dovla_cil.eval.maniskill_policy_rollout import (
|
|
| 19 |
_adapt_action_dim,
|
| 20 |
_attach_retrieved_residual_candidates,
|
| 21 |
_effective_lattice_candidate_count,
|
|
|
|
| 22 |
_load_state_archive,
|
| 23 |
_numeric_action_values,
|
| 24 |
_reduce_residual_candidates_by_type,
|
|
@@ -353,6 +354,39 @@ def test_lattice_mode_respects_candidate_mask() -> None:
|
|
| 353 |
assert index.tolist() == [1]
|
| 354 |
|
| 355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 356 |
def test_lattice_mode_can_prepend_policy_baseline_for_margin_abstention() -> None:
|
| 357 |
import torch
|
| 358 |
|
|
|
|
| 19 |
_adapt_action_dim,
|
| 20 |
_attach_retrieved_residual_candidates,
|
| 21 |
_effective_lattice_candidate_count,
|
| 22 |
+
_lattice_candidate_mask,
|
| 23 |
_load_state_archive,
|
| 24 |
_numeric_action_values,
|
| 25 |
_reduce_residual_candidates_by_type,
|
|
|
|
| 354 |
assert index.tolist() == [1]
|
| 355 |
|
| 356 |
|
| 357 |
+
def test_lattice_candidate_mask_excludes_composite_candidate_parts() -> None:
|
| 358 |
+
import torch
|
| 359 |
+
|
| 360 |
+
case = _RolloutCase(
|
| 361 |
+
group_id="g",
|
| 362 |
+
task_id="PickCube-v1",
|
| 363 |
+
source_dataset=Path("."),
|
| 364 |
+
state={},
|
| 365 |
+
observation={"features": [0.0]},
|
| 366 |
+
instruction="pick",
|
| 367 |
+
oracle_score=1.0,
|
| 368 |
+
oracle_success=True,
|
| 369 |
+
expert_score=1.0,
|
| 370 |
+
expert_success=True,
|
| 371 |
+
best_action_values=[[0.0]],
|
| 372 |
+
candidate_action_values=[[[0.0]], [[0.2]], [[0.4]]],
|
| 373 |
+
candidate_types=[
|
| 374 |
+
"policy_residual",
|
| 375 |
+
"residual_no_op+residual_random_negative",
|
| 376 |
+
"residual_no_op+residual_wrong_gripper",
|
| 377 |
+
],
|
| 378 |
+
)
|
| 379 |
+
|
| 380 |
+
mask = _lattice_candidate_mask(
|
| 381 |
+
[case],
|
| 382 |
+
torch=torch,
|
| 383 |
+
device="cpu",
|
| 384 |
+
exclude_types=("residual_random_negative",),
|
| 385 |
+
)
|
| 386 |
+
|
| 387 |
+
assert mask.tolist() == [[True, False, True]]
|
| 388 |
+
|
| 389 |
+
|
| 390 |
def test_lattice_mode_can_prepend_policy_baseline_for_margin_abstention() -> None:
|
| 391 |
import torch
|
| 392 |
|