Auto-sync: 2026-06-30 03:27:59 (part 3)
Browse files
scripts/build_paper_analysis.py
CHANGED
|
@@ -393,6 +393,14 @@ METHODS = [
|
|
| 393 |
"k4_composemasked_dropnmnoop_grid035040045_safe_margin0p20_noopbonus0p03_oraclek8trace_summary.json"
|
| 394 |
),
|
| 395 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 396 |
MethodSpec(
|
| 397 |
key="residual_k4_composemasked_dropnmnoop_grid035040045_noopbonus003_nmbonus001",
|
| 398 |
label="K4 composed compatible tangents, no-op bonus 0.03, singleton near-miss bonus 0.01",
|
|
|
|
| 393 |
"k4_composemasked_dropnmnoop_grid035040045_safe_margin0p20_noopbonus0p03_oraclek8trace_summary.json"
|
| 394 |
),
|
| 395 |
),
|
| 396 |
+
MethodSpec(
|
| 397 |
+
key="residual_k4_composemasked_dropnmnoop_grid035040045_noopbonus003_nmchallenger002",
|
| 398 |
+
label="K4 compatible tangents, no-op bonus 0.03, near-miss challenger gate 0.02",
|
| 399 |
+
summary_path=(
|
| 400 |
+
"h16_policy_ckpt_near_miss_policy_bc5_bestpt_retrieval_residual_"
|
| 401 |
+
"k4_composemasked_dropnmnoop_grid035040045_safe_margin0p20_noopbonus0p03_nmchallenger0p02_summary.json"
|
| 402 |
+
),
|
| 403 |
+
),
|
| 404 |
MethodSpec(
|
| 405 |
key="residual_k4_composemasked_dropnmnoop_grid035040045_noopbonus003_nmbonus001",
|
| 406 |
label="K4 composed compatible tangents, no-op bonus 0.03, singleton near-miss bonus 0.01",
|
scripts/build_paper_table_status.py
CHANGED
|
@@ -745,6 +745,16 @@ SPECS = [
|
|
| 745 |
story_role="diagnostic branch trace for deployable selector calibration over the local tangent chart",
|
| 746 |
pending_job="14953960/14953961",
|
| 747 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 748 |
ResultSpec(
|
| 749 |
key="retrieval_residual_k4_composemasked_dropnmnoop_grid035040045_noopbonus003_nmbonus001",
|
| 750 |
label="K4 composed compatible residual retrieval, no-op bonus 0.03, singleton near-miss bonus 0.01",
|
|
|
|
| 745 |
story_role="diagnostic branch trace for deployable selector calibration over the local tangent chart",
|
| 746 |
pending_job="14953960/14953961",
|
| 747 |
),
|
| 748 |
+
ResultSpec(
|
| 749 |
+
key="retrieval_residual_k4_composemasked_dropnmnoop_grid035040045_noopbonus003_nmchallenger002",
|
| 750 |
+
label="K4 compatible residual retrieval, near-miss challenger gate 0.02",
|
| 751 |
+
path="h16_policy_ckpt_near_miss_policy_bc5_bestpt_retrieval_residual_k4_composemasked_dropnmnoop_grid035040045_safe_margin0p20_noopbonus0p03_nmchallenger0p02_summary.json",
|
| 752 |
+
clean_deployment="yes",
|
| 753 |
+
same_state_proposals="no",
|
| 754 |
+
expert_proposal="no",
|
| 755 |
+
story_role="trace-motivated two-stage selector calibration over the compatible local tangent chart",
|
| 756 |
+
pending_job="14954280/14954281",
|
| 757 |
+
),
|
| 758 |
ResultSpec(
|
| 759 |
key="retrieval_residual_k4_composemasked_dropnmnoop_grid035040045_noopbonus003_nmbonus001",
|
| 760 |
label="K4 composed compatible residual retrieval, no-op bonus 0.03, singleton near-miss bonus 0.01",
|
scripts/eval_maniskill_policy_rollout.py
CHANGED
|
@@ -234,6 +234,19 @@ def main(argv: list[str] | None = None) -> int:
|
|
| 234 |
"'compose_mean_by_type' also adds pairwise sums of type-consensus tangents; "
|
| 235 |
"'field_softmax' forms a field-weighted tangent barycenter before final scoring.",
|
| 236 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
parser.add_argument(
|
| 238 |
"--lattice-exclude-types",
|
| 239 |
default="",
|
|
@@ -272,6 +285,11 @@ def main(argv: list[str] | None = None) -> int:
|
|
| 272 |
lattice_exclude_types = tuple(
|
| 273 |
item.strip() for item in args.lattice_exclude_types.split(",") if item.strip()
|
| 274 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 275 |
candidate_type_bonuses: dict[str, float] = {}
|
| 276 |
try:
|
| 277 |
for item in args.candidate_type_bonuses.split(","):
|
|
@@ -339,6 +357,8 @@ def main(argv: list[str] | None = None) -> int:
|
|
| 339 |
retrieval_residual_anchor=args.retrieval_residual_anchor,
|
| 340 |
retrieval_residual_direction=args.retrieval_residual_direction,
|
| 341 |
retrieval_residual_reduce=args.retrieval_residual_reduce,
|
|
|
|
|
|
|
| 342 |
lattice_exclude_types=lattice_exclude_types,
|
| 343 |
candidate_type_bonuses=candidate_type_bonuses,
|
| 344 |
candidate_type_bonus_components=args.candidate_type_bonus_components,
|
|
|
|
| 234 |
"'compose_mean_by_type' also adds pairwise sums of type-consensus tangents; "
|
| 235 |
"'field_softmax' forms a field-weighted tangent barycenter before final scoring.",
|
| 236 |
)
|
| 237 |
+
parser.add_argument(
|
| 238 |
+
"--retrieval-residual-challenger-types",
|
| 239 |
+
default="",
|
| 240 |
+
help="Optional comma-separated residual candidate types that may override the "
|
| 241 |
+
"primary retrieval-residual selection in a second-stage challenger gate.",
|
| 242 |
+
)
|
| 243 |
+
parser.add_argument(
|
| 244 |
+
"--retrieval-residual-challenger-margin",
|
| 245 |
+
type=float,
|
| 246 |
+
default=0.0,
|
| 247 |
+
help="Required field-potential margin for a challenger candidate to override the "
|
| 248 |
+
"primary retrieval-residual selection.",
|
| 249 |
+
)
|
| 250 |
parser.add_argument(
|
| 251 |
"--lattice-exclude-types",
|
| 252 |
default="",
|
|
|
|
| 285 |
lattice_exclude_types = tuple(
|
| 286 |
item.strip() for item in args.lattice_exclude_types.split(",") if item.strip()
|
| 287 |
)
|
| 288 |
+
retrieval_residual_challenger_types = tuple(
|
| 289 |
+
item.strip()
|
| 290 |
+
for item in args.retrieval_residual_challenger_types.split(",")
|
| 291 |
+
if item.strip()
|
| 292 |
+
)
|
| 293 |
candidate_type_bonuses: dict[str, float] = {}
|
| 294 |
try:
|
| 295 |
for item in args.candidate_type_bonuses.split(","):
|
|
|
|
| 357 |
retrieval_residual_anchor=args.retrieval_residual_anchor,
|
| 358 |
retrieval_residual_direction=args.retrieval_residual_direction,
|
| 359 |
retrieval_residual_reduce=args.retrieval_residual_reduce,
|
| 360 |
+
retrieval_residual_challenger_types=retrieval_residual_challenger_types,
|
| 361 |
+
retrieval_residual_challenger_margin=args.retrieval_residual_challenger_margin,
|
| 362 |
lattice_exclude_types=lattice_exclude_types,
|
| 363 |
candidate_type_bonuses=candidate_type_bonuses,
|
| 364 |
candidate_type_bonus_components=args.candidate_type_bonus_components,
|
scripts/slurm/eval_maniskill_policy_rollout.sbatch
CHANGED
|
@@ -70,6 +70,11 @@ fi
|
|
| 70 |
RETRIEVAL_RESIDUAL_ANCHOR="${RETRIEVAL_RESIDUAL_ANCHOR:-expert}"
|
| 71 |
RETRIEVAL_RESIDUAL_DIRECTION="${RETRIEVAL_RESIDUAL_DIRECTION:-candidate_minus_anchor}"
|
| 72 |
RETRIEVAL_RESIDUAL_REDUCE="${RETRIEVAL_RESIDUAL_REDUCE:-none}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
LATTICE_EXCLUDE_TYPES="${LATTICE_EXCLUDE_TYPES:-}"
|
| 74 |
if [[ -n "${LATTICE_EXCLUDE_TYPES_COLON:-}" ]]; then
|
| 75 |
LATTICE_EXCLUDE_TYPES="${LATTICE_EXCLUDE_TYPES_COLON//:/,}"
|
|
@@ -148,6 +153,8 @@ apptainer exec --nv \
|
|
| 148 |
--retrieval-residual-anchor "$RETRIEVAL_RESIDUAL_ANCHOR" \
|
| 149 |
--retrieval-residual-direction "$RETRIEVAL_RESIDUAL_DIRECTION" \
|
| 150 |
--retrieval-residual-reduce "$RETRIEVAL_RESIDUAL_REDUCE" \
|
|
|
|
|
|
|
| 151 |
--lattice-exclude-types "$LATTICE_EXCLUDE_TYPES" \
|
| 152 |
--candidate-type-bonuses "$CANDIDATE_TYPE_BONUSES" \
|
| 153 |
--candidate-oracle-rollouts "$CANDIDATE_ORACLE_ROLLOUTS" \
|
|
|
|
| 70 |
RETRIEVAL_RESIDUAL_ANCHOR="${RETRIEVAL_RESIDUAL_ANCHOR:-expert}"
|
| 71 |
RETRIEVAL_RESIDUAL_DIRECTION="${RETRIEVAL_RESIDUAL_DIRECTION:-candidate_minus_anchor}"
|
| 72 |
RETRIEVAL_RESIDUAL_REDUCE="${RETRIEVAL_RESIDUAL_REDUCE:-none}"
|
| 73 |
+
RETRIEVAL_RESIDUAL_CHALLENGER_TYPES="${RETRIEVAL_RESIDUAL_CHALLENGER_TYPES:-}"
|
| 74 |
+
if [[ -n "${RETRIEVAL_RESIDUAL_CHALLENGER_TYPES_COLON:-}" ]]; then
|
| 75 |
+
RETRIEVAL_RESIDUAL_CHALLENGER_TYPES="${RETRIEVAL_RESIDUAL_CHALLENGER_TYPES_COLON//:/,}"
|
| 76 |
+
fi
|
| 77 |
+
RETRIEVAL_RESIDUAL_CHALLENGER_MARGIN="${RETRIEVAL_RESIDUAL_CHALLENGER_MARGIN:-0.0}"
|
| 78 |
LATTICE_EXCLUDE_TYPES="${LATTICE_EXCLUDE_TYPES:-}"
|
| 79 |
if [[ -n "${LATTICE_EXCLUDE_TYPES_COLON:-}" ]]; then
|
| 80 |
LATTICE_EXCLUDE_TYPES="${LATTICE_EXCLUDE_TYPES_COLON//:/,}"
|
|
|
|
| 153 |
--retrieval-residual-anchor "$RETRIEVAL_RESIDUAL_ANCHOR" \
|
| 154 |
--retrieval-residual-direction "$RETRIEVAL_RESIDUAL_DIRECTION" \
|
| 155 |
--retrieval-residual-reduce "$RETRIEVAL_RESIDUAL_REDUCE" \
|
| 156 |
+
--retrieval-residual-challenger-types "$RETRIEVAL_RESIDUAL_CHALLENGER_TYPES" \
|
| 157 |
+
--retrieval-residual-challenger-margin "$RETRIEVAL_RESIDUAL_CHALLENGER_MARGIN" \
|
| 158 |
--lattice-exclude-types "$LATTICE_EXCLUDE_TYPES" \
|
| 159 |
--candidate-type-bonuses "$CANDIDATE_TYPE_BONUSES" \
|
| 160 |
--candidate-oracle-rollouts "$CANDIDATE_ORACLE_ROLLOUTS" \
|
scripts/slurm/summarize_h16_policy_ckpt.sbatch
CHANGED
|
@@ -101,6 +101,12 @@ for result_path in sorted(base_dir.glob(f"seed_*/{out_name}")):
|
|
| 101 |
"retrieval_residual_direction", "candidate_minus_anchor"
|
| 102 |
),
|
| 103 |
"retrieval_residual_reduce": data.get("retrieval_residual_reduce", "none"),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
"lattice_exclude_types": data.get("lattice_exclude_types", []),
|
| 105 |
"candidate_type_bonuses": data.get("candidate_type_bonuses", {}),
|
| 106 |
"candidate_type_bonus_components": data.get(
|
|
@@ -382,7 +388,7 @@ for row in rows:
|
|
| 382 |
scales = row.get("retrieval_residual_scales") or []
|
| 383 |
scale_grid = ",".join(f"{float(scale):.2f}" for scale in scales) if scales else "none"
|
| 384 |
lines.append(
|
| 385 |
-
"| {seed} | {mode} | {k} | {policy_cand} | {retrieval} | {metric} | {anchor} | {direction} | {reduce} | {min_success:.2f} | {type_success_bonus:.3f} | {consensus_penalty:.3f} | {min_source_progress:.2f} | {source_progress_bonus:.3f} | {source_score_bonus:.3f} | {scale:.2f} | {scale_grid} | {margin:.3f} | {sigma:.2f} | {steps} | {trust:.2f} | "
|
| 386 |
"{success:.2%} | {progress:.2%} | {oracle:.2%} | {candidate_oracle} | {oracle_gain} | {mse:.3f} |".format(
|
| 387 |
seed=row["seed"],
|
| 388 |
mode=row.get("selection_mode") or "policy",
|
|
@@ -394,6 +400,13 @@ for row in rows:
|
|
| 394 |
direction=row.get("retrieval_residual_direction")
|
| 395 |
or "candidate_minus_anchor",
|
| 396 |
reduce=row.get("retrieval_residual_reduce") or "none",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 397 |
min_success=row.get("retrieval_type_min_success") or 0.0,
|
| 398 |
type_success_bonus=row.get("retrieval_type_success_bonus_scale") or 0.0,
|
| 399 |
consensus_penalty=row.get("retrieval_residual_consensus_penalty_scale")
|
|
|
|
| 101 |
"retrieval_residual_direction", "candidate_minus_anchor"
|
| 102 |
),
|
| 103 |
"retrieval_residual_reduce": data.get("retrieval_residual_reduce", "none"),
|
| 104 |
+
"retrieval_residual_challenger_types": data.get(
|
| 105 |
+
"retrieval_residual_challenger_types", []
|
| 106 |
+
),
|
| 107 |
+
"retrieval_residual_challenger_margin": data.get(
|
| 108 |
+
"retrieval_residual_challenger_margin", 0.0
|
| 109 |
+
),
|
| 110 |
"lattice_exclude_types": data.get("lattice_exclude_types", []),
|
| 111 |
"candidate_type_bonuses": data.get("candidate_type_bonuses", {}),
|
| 112 |
"candidate_type_bonus_components": data.get(
|
|
|
|
| 388 |
scales = row.get("retrieval_residual_scales") or []
|
| 389 |
scale_grid = ",".join(f"{float(scale):.2f}" for scale in scales) if scales else "none"
|
| 390 |
lines.append(
|
| 391 |
+
"| {seed} | {mode} | {k} | {policy_cand} | {retrieval} | {metric} | {anchor} | {direction} | {reduce}{challenger} | {min_success:.2f} | {type_success_bonus:.3f} | {consensus_penalty:.3f} | {min_source_progress:.2f} | {source_progress_bonus:.3f} | {source_score_bonus:.3f} | {scale:.2f} | {scale_grid} | {margin:.3f} | {sigma:.2f} | {steps} | {trust:.2f} | "
|
| 392 |
"{success:.2%} | {progress:.2%} | {oracle:.2%} | {candidate_oracle} | {oracle_gain} | {mse:.3f} |".format(
|
| 393 |
seed=row["seed"],
|
| 394 |
mode=row.get("selection_mode") or "policy",
|
|
|
|
| 400 |
direction=row.get("retrieval_residual_direction")
|
| 401 |
or "candidate_minus_anchor",
|
| 402 |
reduce=row.get("retrieval_residual_reduce") or "none",
|
| 403 |
+
challenger=(
|
| 404 |
+
" + challenger "
|
| 405 |
+
+ ",".join(row.get("retrieval_residual_challenger_types") or [])
|
| 406 |
+
+ f"@{row.get('retrieval_residual_challenger_margin') or 0.0:.2f}"
|
| 407 |
+
if row.get("retrieval_residual_challenger_types")
|
| 408 |
+
else ""
|
| 409 |
+
),
|
| 410 |
min_success=row.get("retrieval_type_min_success") or 0.0,
|
| 411 |
type_success_bonus=row.get("retrieval_type_success_bonus_scale") or 0.0,
|
| 412 |
consensus_penalty=row.get("retrieval_residual_consensus_penalty_scale")
|