{
  "run_id": "pact_phase1b_ot_eval_20260521",
  "timestamp": "2026-05-22T00:45:40+00:00",
  "sampler_policy": "PAct official defaults; this script does not pass --ss_steps, --slat_steps, --ss_cfg_strength, or --slat_cfg_strength.",
  "indices": [
    0
  ],
  "dataset_validation": {
    "dataset_root": "/data/250010098/PAct-Transporter/datasets/pact_eval100_2_1_coverage_20260521",
    "num_records": 100,
    "unique_sample_ids": 100,
    "by_source": {
      "ArtVIP": 25,
      "GAPartNet": 25,
      "GRScenes": 25,
      "PartNetMobility": 25
    },
    "by_category": {
      "Clock": 4,
      "Dispenser": 4,
      "architectural_fixtures": 11,
      "electronics": 5,
      "household_fixtures": 13,
      "household_items": 6,
      "large_furniture": 4,
      "major_appliances": 22,
      "small_appliances": 16,
      "small_furniture": 9,
      "storage": 6
    },
    "by_problem_tag": {
      "cross_source_domain_gap": 75,
      "hard_motion": 74,
      "internal_or_occluded_part_risk": 48,
      "known_quality_or_conversion_issue": 40,
      "many_parts": 56,
      "mixed_joint_types": 37,
      "non_pm_generalization": 75,
      "part_decomposition": 100,
      "prismatic_motion": 46,
      "revolute_motion": 91,
      "single_view_conditioning": 100,
      "thin_structure": 9,
      "unseen_category": 15
    },
    "parsed_sdf_count": 100,
    "preview_count": 100,
    "issues": [],
    "ok": true
  },
  "sample_summaries": [
    {
      "sample_name": "000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6",
      "benchmark_index": 0,
      "sample_id": "ArtVIP/major_appliances/model_refrigerator_6",
      "source_dataset": "ArtVIP",
      "category": "major_appliances",
      "object_id": "major_appliances/model_refrigerator_6",
      "gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/major_appliances/model_refrigerator_6/model_refrigerator_6.sdf",
      "num_parts": 7,
      "movable_parts": 6,
      "part_names": [
        "door",
        "door",
        "base",
        "drawer",
        "drawer",
        "e_srawer4_43",
        "drawer"
      ],
      "view": {
        "phi_deg": 65.0,
        "theta_deg": 0.0,
        "radius": 3.4090164184570315,
        "score": 1005844,
        "visible_movable": 1,
        "total_pixels": 4204
      },
      "visible_pixels": {
        "1": 2987,
        "2": 0,
        "3": 66136,
        "4": 0,
        "5": 0,
        "6": 0,
        "7": 0
      },
      "processed_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/pact_inputs/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6_synthetic_processed.png",
      "partcolor_debug_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/pact_inputs/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6_synthetic_partcolor_debug.png",
      "texture_render": {
        "visual_meshes": 58,
        "texture_like_meshes": 2,
        "status": "textured_visual_render"
      },
      "mask_exr": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/pact_inputs/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6_synthetic_mask.exr",
      "mask_preview": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/pact_inputs/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6_synthetic_mask_segments_3.png",
      "reference_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/pact_inputs/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/reference_object.json"
    }
  ],
  "run_status": [
    {
      "variant": "official_pact",
      "ok": true,
      "runtime_seconds": 108.35219597816467,
      "tail": "██████▊| 2464/2500 [00:03<00:00, 623.86it/s, loss=0.00654]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▊| 2465/2500 [00:03<00:00, 623.86it/s, loss=0.0166] \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▊| 2466/2500 [00:03<00:00, 623.86it/s, loss=0.00441]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▊| 2467/2500 [00:03<00:00, 623.86it/s, loss=0.00566]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▊| 2468/2500 [00:03<00:00, 623.86it/s, loss=0.00805]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2469/2500 [00:03<00:00, 623.86it/s, loss=0.00353]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2470/2500 [00:03<00:00, 623.86it/s, loss=0.00431]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2471/2500 [00:03<00:00, 623.86it/s, loss=0.00251]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2472/2500 [00:03<00:00, 623.86it/s, loss=0.00259]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2473/2500 [00:03<00:00, 623.86it/s, loss=0.0084] \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2474/2500 [00:03<00:00, 623.86it/s, loss=0.00235]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2475/2500 [00:03<00:00, 623.86it/s, loss=0.00261]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2476/2500 [00:03<00:00, 623.86it/s, loss=0.0166] \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2477/2500 [00:03<00:00, 623.86it/s, loss=0.00297]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2478/2500 [00:03<00:00, 623.86it/s, loss=0.003]  \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2479/2500 [00:04<00:00, 623.86it/s, loss=0.00312]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2480/2500 [00:04<00:00, 623.86it/s, loss=0.0136] \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2481/2500 [00:04<00:00, 623.86it/s, loss=0.00523]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2482/2500 [00:04<00:00, 623.86it/s, loss=0.00341]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2483/2500 [00:04<00:00, 623.86it/s, loss=0.0043] \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2484/2500 [00:04<00:00, 623.86it/s, loss=0.00216]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2485/2500 [00:04<00:00, 623.86it/s, loss=0.00565]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2486/2500 [00:04<00:00, 623.86it/s, loss=0.00512]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2487/2500 [00:04<00:00, 623.86it/s, loss=0.00215]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2488/2500 [00:04<00:00, 623.86it/s, loss=0.0139] \u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2489/2500 [00:04<00:00, 623.86it/s, loss=0.00264]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2490/2500 [00:04<00:00, 623.86it/s, loss=0.00272]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2491/2500 [00:04<00:00, 623.86it/s, loss=0.0084] \u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2492/2500 [00:04<00:00, 623.86it/s, loss=0.00883]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2493/2500 [00:04<00:00, 623.86it/s, loss=0.0088] \u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2494/2500 [00:04<00:00, 623.86it/s, loss=0.00242]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2495/2500 [00:04<00:00, 623.86it/s, loss=0.00344]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2496/2500 [00:04<00:00, 623.86it/s, loss=0.0044] \u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2497/2500 [00:04<00:00, 623.86it/s, loss=0.00462]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2498/2500 [00:04<00:00, 623.86it/s, loss=0.00286]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2499/2500 [00:04<00:00, 623.86it/s, loss=0.00234]\u001b[A\nTexture baking (opt): optimizing: 100%|██████████| 2500/2500 [00:04<00:00, 620.11it/s, loss=0.00234]\n\n100%|██████████| 1/1 [00:44<00:00, 44.21s/it]\n100%|██████████| 1/1 [00:44<00:00, 44.21s/it]\nis_postprocessing_arti_info: True\nis_postprocessing_arti_info: True\n\n"
    },
    {
      "variant": "phase2_rgb_edge_dropout",
      "ok": true,
      "runtime_seconds": 113.73391056060791,
      "tail": "██████▊| 2466/2500 [00:03<00:00, 642.59it/s, loss=0.00142]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▊| 2467/2500 [00:03<00:00, 642.59it/s, loss=0.00123]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▊| 2468/2500 [00:03<00:00, 642.59it/s, loss=0.00147]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2469/2500 [00:03<00:00, 642.59it/s, loss=0.0015] \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2470/2500 [00:03<00:00, 642.59it/s, loss=0.00165]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2471/2500 [00:03<00:00, 642.59it/s, loss=0.00161]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2472/2500 [00:03<00:00, 642.59it/s, loss=0.00101]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2473/2500 [00:03<00:00, 642.59it/s, loss=0.00119]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2474/2500 [00:03<00:00, 642.59it/s, loss=0.00167]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2475/2500 [00:03<00:00, 642.59it/s, loss=0.00087]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2476/2500 [00:03<00:00, 642.59it/s, loss=0.00151]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2477/2500 [00:03<00:00, 642.59it/s, loss=0.000926]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2478/2500 [00:03<00:00, 642.59it/s, loss=0.00153] \u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2479/2500 [00:03<00:00, 642.59it/s, loss=0.00111]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2480/2500 [00:03<00:00, 642.59it/s, loss=0.00138]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2481/2500 [00:03<00:00, 642.59it/s, loss=0.00143]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2482/2500 [00:03<00:00, 642.59it/s, loss=0.00158]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2483/2500 [00:03<00:00, 642.59it/s, loss=0.00131]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2484/2500 [00:03<00:00, 642.59it/s, loss=0.00152]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2485/2500 [00:03<00:00, 642.59it/s, loss=0.00122]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2486/2500 [00:03<00:00, 642.59it/s, loss=0.00175]\u001b[A\n\nTexture baking (opt): optimizing:  99%|█████████▉| 2487/2500 [00:03<00:00, 642.59it/s, loss=0.00151]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2488/2500 [00:03<00:00, 642.59it/s, loss=0.00161]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2489/2500 [00:03<00:00, 642.59it/s, loss=0.0017] \u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2490/2500 [00:03<00:00, 642.59it/s, loss=0.00165]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2491/2500 [00:03<00:00, 642.59it/s, loss=0.00119]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2492/2500 [00:03<00:00, 642.59it/s, loss=0.00149]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2493/2500 [00:03<00:00, 642.59it/s, loss=0.0017] \u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2494/2500 [00:03<00:00, 642.59it/s, loss=0.00177]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2495/2500 [00:03<00:00, 642.59it/s, loss=0.0016] \u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2496/2500 [00:03<00:00, 642.59it/s, loss=0.00141]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2497/2500 [00:03<00:00, 642.59it/s, loss=0.00157]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2498/2500 [00:03<00:00, 642.59it/s, loss=0.00159]\u001b[A\n\nTexture baking (opt): optimizing: 100%|█████████▉| 2499/2500 [00:03<00:00, 642.59it/s, loss=0.00167]\u001b[A\nTexture baking (opt): optimizing: 100%|██████████| 2500/2500 [00:03<00:00, 637.19it/s, loss=0.00167]\n\n100%|██████████| 1/1 [00:44<00:00, 44.77s/it]\n100%|██████████| 1/1 [00:44<00:00, 44.77s/it]\nis_postprocessing_arti_info: True\nis_postprocessing_arti_info: True\n[OT inference] diagnostics written: /data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/variants/phase2_rgb_edge_dropout/ot_diagnostics.json\n\n"
    }
  ],
  "variant_results": [
    {
      "variant": {
        "name": "official_pact",
        "label": "Official PAct",
        "kind": "official",
        "note": "Released PAct cache, no OT wrapper."
      },
      "records": [
        {
          "sample_name": "000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6",
          "benchmark_index": 0,
          "sample_id": "ArtVIP/major_appliances/model_refrigerator_6",
          "source_dataset": "ArtVIP",
          "category": "major_appliances",
          "object_id": "major_appliances/model_refrigerator_6",
          "num_parts": 7,
          "movable_parts": 6,
          "variant": "official_pact",
          "variant_label": "Official PAct",
          "variant_note": "Released PAct cache, no OT wrapper.",
          "pact_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/variants/official_pact/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/exported_arti_objects/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6@000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6_synthetic_processed.@ng/object.json",
          "pact_exploded_png": null,
          "metric_groups": {
            "pipeline_availability": {
              "inference_success": {
                "value": 1,
                "status": "measured",
                "note": ""
              },
              "object_json_valid": {
                "value": 1,
                "status": "measured",
                "note": ""
              },
              "glb_export_success": {
                "value": 0,
                "status": "not_provided",
                "note": "This smoke run exports articulated object JSON/PLY, not textured GLB."
              },
              "part_asset_completeness": {
                "value": 1.0,
                "status": "measured",
                "note": ""
              },
              "runtime_seconds": {
                "value": 108.35219597816467,
                "status": "measured",
                "note": ""
              },
              "peak_gpu_memory_mb": {
                "value": null,
                "status": "not_provided",
                "note": "Not sampled in this run."
              },
              "reproducible_seed_match": {
                "value": 1,
                "status": "measured",
                "note": ""
              }
            },
            "geometry": {
              "chamfer_l2": {
                "value": null,
                "status": "not_provided",
                "note": "PLY-level Chamfer hook present; omitted in smoke run for speed."
              },
              "fscore_tau_0_01": {
                "value": null,
                "status": "not_provided",
                "note": "Requires dense surface sampling."
              },
              "normal_consistency": {
                "value": null,
                "status": "not_provided",
                "note": "Requires dense surface sampling."
              },
              "scale_consistency": {
                "value": 0.5954394086101369,
                "status": "measured",
                "note": ""
              },
              "mesh_manifold_sanity": {
                "value": null,
                "status": "not_provided",
                "note": "Requires mesh repair/manifold pass."
              },
              "texture_or_material_coverage": {
                "value": 0.0,
                "status": "not_provided",
                "note": "PAct smoke export is untextured PLY."
              }
            },
            "part_decomposition": {
              "part_count_mae": {
                "value": 5,
                "status": "measured",
                "note": ""
              },
              "part_count_accuracy": {
                "value": 0.2857142857142857,
                "status": "measured",
                "note": ""
              },
              "part_segmentation_miou_if_masks_available": {
                "value": null,
                "status": "requires_gt",
                "note": "2D mask GT is conditioning input; not a predicted mask output."
              },
              "semantic_part_accuracy": {
                "value": null,
                "status": "not_provided",
                "note": "PAct output names are not semantic labels in this export."
              },
              "parent_child_accuracy": {
                "value": 1.0,
                "status": "measured",
                "note": ""
              },
              "tree_edit_distance": {
                "value": 5,
                "status": "measured",
                "note": ""
              },
              "orphan_duplicate_part_rate": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              }
            },
            "kinematics": {
              "joint_count_mae": {
                "value": 5,
                "status": "measured",
                "note": ""
              },
              "joint_precision": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_recall": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_f1": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_type_accuracy": {
                "value": 0.16666666666666666,
                "status": "measured",
                "note": ""
              },
              "axis_angular_error_deg": {
                "value": 90.0,
                "status": "measured",
                "note": ""
              },
              "origin_distance_error": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_limit_error": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "kinematic_tree_validity": {
                "value": 1,
                "status": "measured",
                "note": ""
              }
            },
            "motion_consistency": {
              "detachment_distance": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              },
              "collision_rate": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              },
              "self_collision_rate": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              },
              "closed_state_assembly_error": {
                "value": 0.4045605913898631,
                "status": "measured",
                "note": ""
              },
              "open_state_plausibility": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "trajectory_smoothness": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              }
            },
            "ot_routing_diagnostics": {
              "ot_modules_active": {
                "value": 0,
                "status": "not_applicable",
                "note": "Raw PAct baseline; no OT module."
              },
              "ot_gate_mean": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_plan_marginal_error": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_assignment_entropy": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_edge_delta": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_mask_prior_beta": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_mask_dropout_delta": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_virtual_mass": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "part_patch_compactness": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              }
            },
            "robustness_breakdown": {
              "macro_score_by_source_dataset": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; see report.aggregate.by_source."
              },
              "macro_score_by_category": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; sample count is 5."
              },
              "macro_score_by_problem_tag": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; sample count is 5."
              },
              "worst_10pct_score": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; sample count is 5."
              },
              "failure_cluster_count": {
                "value": null,
                "status": "not_provided",
                "note": "Requires larger batch clustering."
              }
            },
            "debug": {
              "pred_part_count": 2,
              "gt_part_count": 7,
              "pred_joint_count": 1,
              "gt_joint_count": 6,
              "matches": [
                {
                  "type_mismatch": 0.0,
                  "axis_error_deg": 90.0,
                  "origin_error": 0.8769604899593412,
                  "limit_error": 7.125690041649774,
                  "accepted": false
                }
              ],
              "pred_tree": {
                "root_count": 1,
                "duplicate_ids": 0,
                "dangling_parent_count": 0,
                "cycle_node_count": 0,
                "valid": 1
              },
              "ref_tree": {
                "root_count": 1,
                "duplicate_ids": 0,
                "dangling_parent_count": 0,
                "cycle_node_count": 0,
                "valid": 1
              }
            }
          },
          "group_scores": {
            "pipeline_availability": 100.0,
            "geometry": 59.54394086101369,
            "part_decomposition": 28.57142857142857,
            "kinematics": 0.0,
            "motion_consistency": 0.0,
            "ot_routing_diagnostics": 0.0
          },
          "weighted_score": 25.943028256250276,
          "vlm_card": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/variant_cards/official_pact/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6.png",
          "interactive_3d": {
            "source_textured_glb": "viewer_assets/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/source_textured.glb",
            "gt_parts_glb": "viewer_assets/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/gt_parts.glb",
            "pact_glb": "viewer_assets/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/official_pact/pact_parts.glb"
          }
        }
      ],
      "aggregate": {
        "mean_weighted_score": 25.943028256250276,
        "mean_joint_f1": 0.0,
        "mean_part_count_mae": 5.0,
        "success_rate": 1.0
      },
      "diagnostics": null
    },
    {
      "variant": {
        "name": "phase2_rgb_edge_dropout",
        "label": "Phase2 RGB edge + dropout",
        "kind": "ot",
        "ckpt": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_20260522_stage1_rgb_edge_dropout/ckpts/model_step0000060.pt",
        "wrapper": [
          "--ot-block-selector",
          "first",
          "--ot-sinkhorn-iters",
          "10",
          "--ot-mask-prior-beta",
          "0.2",
          "--ot-edge-source",
          "rgb",
          "--ot-edge-lambda",
          "0.4"
        ],
        "note": "Mask-prior dropout training plus RGB edge-regularized OT at inference."
      },
      "records": [
        {
          "sample_name": "000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6",
          "benchmark_index": 0,
          "sample_id": "ArtVIP/major_appliances/model_refrigerator_6",
          "source_dataset": "ArtVIP",
          "category": "major_appliances",
          "object_id": "major_appliances/model_refrigerator_6",
          "num_parts": 7,
          "movable_parts": 6,
          "variant": "phase2_rgb_edge_dropout",
          "variant_label": "Phase2 RGB edge + dropout",
          "variant_note": "Mask-prior dropout training plus RGB edge-regularized OT at inference.",
          "pact_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/variants/phase2_rgb_edge_dropout/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/exported_arti_objects/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6@000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6_synthetic_processed.@ng/object.json",
          "pact_exploded_png": null,
          "metric_groups": {
            "pipeline_availability": {
              "inference_success": {
                "value": 1,
                "status": "measured",
                "note": ""
              },
              "object_json_valid": {
                "value": 1,
                "status": "measured",
                "note": ""
              },
              "glb_export_success": {
                "value": 0,
                "status": "not_provided",
                "note": "This smoke run exports articulated object JSON/PLY, not textured GLB."
              },
              "part_asset_completeness": {
                "value": 1.0,
                "status": "measured",
                "note": ""
              },
              "runtime_seconds": {
                "value": 113.73391056060791,
                "status": "measured",
                "note": ""
              },
              "peak_gpu_memory_mb": {
                "value": null,
                "status": "not_provided",
                "note": "Not sampled in this run."
              },
              "reproducible_seed_match": {
                "value": 1,
                "status": "measured",
                "note": ""
              }
            },
            "geometry": {
              "chamfer_l2": {
                "value": null,
                "status": "not_provided",
                "note": "PLY-level Chamfer hook present; omitted in smoke run for speed."
              },
              "fscore_tau_0_01": {
                "value": null,
                "status": "not_provided",
                "note": "Requires dense surface sampling."
              },
              "normal_consistency": {
                "value": null,
                "status": "not_provided",
                "note": "Requires dense surface sampling."
              },
              "scale_consistency": {
                "value": 0.5908435828136581,
                "status": "measured",
                "note": ""
              },
              "mesh_manifold_sanity": {
                "value": null,
                "status": "not_provided",
                "note": "Requires mesh repair/manifold pass."
              },
              "texture_or_material_coverage": {
                "value": 0.0,
                "status": "not_provided",
                "note": "PAct smoke export is untextured PLY."
              }
            },
            "part_decomposition": {
              "part_count_mae": {
                "value": 5,
                "status": "measured",
                "note": ""
              },
              "part_count_accuracy": {
                "value": 0.2857142857142857,
                "status": "measured",
                "note": ""
              },
              "part_segmentation_miou_if_masks_available": {
                "value": null,
                "status": "requires_gt",
                "note": "2D mask GT is conditioning input; not a predicted mask output."
              },
              "semantic_part_accuracy": {
                "value": null,
                "status": "not_provided",
                "note": "PAct output names are not semantic labels in this export."
              },
              "parent_child_accuracy": {
                "value": 1.0,
                "status": "measured",
                "note": ""
              },
              "tree_edit_distance": {
                "value": 5,
                "status": "measured",
                "note": ""
              },
              "orphan_duplicate_part_rate": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              }
            },
            "kinematics": {
              "joint_count_mae": {
                "value": 5,
                "status": "measured",
                "note": ""
              },
              "joint_precision": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_recall": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_f1": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_type_accuracy": {
                "value": 0.16666666666666666,
                "status": "measured",
                "note": ""
              },
              "axis_angular_error_deg": {
                "value": 90.0,
                "status": "measured",
                "note": ""
              },
              "origin_distance_error": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "joint_limit_error": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "kinematic_tree_validity": {
                "value": 1,
                "status": "measured",
                "note": ""
              }
            },
            "motion_consistency": {
              "detachment_distance": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              },
              "collision_rate": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              },
              "self_collision_rate": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              },
              "closed_state_assembly_error": {
                "value": 0.4091564171863419,
                "status": "measured",
                "note": ""
              },
              "open_state_plausibility": {
                "value": 0.0,
                "status": "measured",
                "note": ""
              },
              "trajectory_smoothness": {
                "value": null,
                "status": "requires_simulation",
                "note": ""
              }
            },
            "ot_routing_diagnostics": {
              "ot_modules_active": {
                "value": 0,
                "status": "not_applicable",
                "note": "Raw PAct baseline; no OT module."
              },
              "ot_gate_mean": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_plan_marginal_error": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_assignment_entropy": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_edge_delta": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_mask_prior_beta": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_mask_dropout_delta": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "ot_virtual_mass": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              },
              "part_patch_compactness": {
                "value": null,
                "status": "not_applicable",
                "note": ""
              }
            },
            "robustness_breakdown": {
              "macro_score_by_source_dataset": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; see report.aggregate.by_source."
              },
              "macro_score_by_category": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; sample count is 5."
              },
              "macro_score_by_problem_tag": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; sample count is 5."
              },
              "worst_10pct_score": {
                "value": null,
                "status": "not_applicable",
                "note": "Aggregate-only metric; sample count is 5."
              },
              "failure_cluster_count": {
                "value": null,
                "status": "not_provided",
                "note": "Requires larger batch clustering."
              }
            },
            "debug": {
              "pred_part_count": 2,
              "gt_part_count": 7,
              "pred_joint_count": 1,
              "gt_joint_count": 6,
              "matches": [
                {
                  "type_mismatch": 0.0,
                  "axis_error_deg": 90.0,
                  "origin_error": 0.7842255661893928,
                  "limit_error": 23.416242180932,
                  "accepted": false
                }
              ],
              "pred_tree": {
                "root_count": 1,
                "duplicate_ids": 0,
                "dangling_parent_count": 0,
                "cycle_node_count": 0,
                "valid": 1
              },
              "ref_tree": {
                "root_count": 1,
                "duplicate_ids": 0,
                "dangling_parent_count": 0,
                "cycle_node_count": 0,
                "valid": 1
              }
            }
          },
          "group_scores": {
            "pipeline_availability": 100.0,
            "geometry": 59.08435828136581,
            "part_decomposition": 28.57142857142857,
            "kinematics": 0.0,
            "motion_consistency": 0.0,
            "ot_routing_diagnostics": 0.0
          },
          "weighted_score": 25.87046258577956,
          "vlm_card": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/variant_cards/phase2_rgb_edge_dropout/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6.png",
          "interactive_3d": {
            "source_textured_glb": "viewer_assets/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/source_textured.glb",
            "gt_parts_glb": "viewer_assets/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/gt_parts.glb",
            "pact_glb": "viewer_assets/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6/phase2_rgb_edge_dropout/pact_parts.glb"
          }
        }
      ],
      "aggregate": {
        "mean_weighted_score": 25.87046258577956,
        "mean_joint_f1": 0.0,
        "mean_part_count_mae": 5.0,
        "success_rate": 1.0
      },
      "diagnostics": {
        "wrapper_args": {
          "pact_root": "/data/250010098/PAct",
          "ot_stage1_ckpt": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_20260522_stage1_rgb_edge_dropout/ckpts/model_step0000060.pt",
          "ot_block_selector": "first",
          "ot_sinkhorn_iters": 10,
          "ot_epsilon": 0.1,
          "ot_gate_lambda": 2.5,
          "ot_gate_floor": 0.02,
          "ot_mask_prior_beta": 0.2,
          "ot_edge_lambda": 0.4,
          "ot_edge_gamma": 8.0,
          "ot_edge_source": "rgb",
          "ot_virtual_tokens": 0,
          "ot_virtual_mass": 0.0,
          "ot_detach_plan": false,
          "ot_diagnostics_path": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_phase2_texture_smoke_20260522/variants/phase2_rgb_edge_dropout/ot_diagnostics.json"
        },
        "pipelines": [
          {
            "ot_modules_active": 1.0,
            "ot_edge_delta": 0.0012585013173520565,
            "ot_edge_gamma": 8.0,
            "ot_edge_lambda": 0.4,
            "ot_edge_source_rgb": 1.0,
            "ot_gate_max": 1.0,
            "ot_gate_mean": 0.35888671875,
            "ot_gate_min": 0.022491455078125,
            "ot_mask_prior_beta": 0.2,
            "ot_plan_mass": 1.0,
            "ot_virtual_mass": 0.0,
            "ot_virtual_tokens": 0.0
          }
        ]
      }
    }
  ]
}
