{
  "run_id": "pact_min_evidence_span2_hard5_20260522",
  "title": "PAct Min-Evidence Span2 Hard-5 Official Defaults",
  "portal_summary": "PAct official-default hard-5 run with cardinality sentinels expanded to 2x2 mask-grid cells to test stronger upstream latent evidence.",
  "portal_tags": [
    "PAct",
    "Eval100",
    "easy-cases",
    "metrics"
  ],
  "timestamp": "2026-05-22T22:09:10+00:00",
  "selection_policy": "manual benchmark_index selection: 0, 4, 26, 73, 97",
  "seed": 20260521,
  "pact_steps": "PAct defaults (ss_steps=25, slat_steps=25)",
  "pact_output_overrides": {
    "export_textured_glb": false,
    "fast_output": true
  },
  "input_conditioning": {
    "sentinel_cell_span": 2
  },
  "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_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,
      "texture_render": {
        "visual_meshes": 58,
        "texture_like_meshes": 2,
        "status": "textured_visual_render"
      },
      "partcolor_debug_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_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",
      "pact_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/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": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/00__exploded_part.png",
      "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": 72.910080909729,
            "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.5686412420034407,
            "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": 0,
            "status": "measured",
            "note": ""
          },
          "part_count_accuracy": {
            "value": 1.0,
            "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": 0,
            "status": "measured",
            "note": ""
          },
          "orphan_duplicate_part_rate": {
            "value": 0.0,
            "status": "measured",
            "note": ""
          }
        },
        "kinematics": {
          "joint_count_mae": {
            "value": 1,
            "status": "measured",
            "note": ""
          },
          "joint_precision": {
            "value": 0.4,
            "status": "measured",
            "note": ""
          },
          "joint_recall": {
            "value": 0.3333333333333333,
            "status": "measured",
            "note": ""
          },
          "joint_f1": {
            "value": 0.3636363636363636,
            "status": "measured",
            "note": ""
          },
          "joint_type_accuracy": {
            "value": 0.6666666666666666,
            "status": "measured",
            "note": ""
          },
          "axis_angular_error_deg": {
            "value": 4.9038912462580395,
            "status": "measured",
            "note": ""
          },
          "origin_distance_error": {
            "value": 0.7002002690916835,
            "status": "measured",
            "note": ""
          },
          "joint_limit_error": {
            "value": 0.4090285524725914,
            "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.4313587579965593,
            "status": "measured",
            "note": ""
          },
          "open_state_plausibility": {
            "value": 0.3636363636363636,
            "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": 7,
          "gt_part_count": 7,
          "pred_joint_count": 5,
          "gt_joint_count": 6,
          "matches": [
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 90.0,
              "origin_error": 0.7487234221571033,
              "limit_error": 3.566188753974006,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 55.67033244669975,
              "origin_error": 1.0162103103133702,
              "limit_error": 357.9056048976068,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 2.044269035565249,
              "origin_error": 0.594233812816865,
              "limit_error": 0.4102758392691612,
              "accepted": true
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.4986246198528633,
              "limit_error": 7.65175849199295,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 7.763513456950831,
              "origin_error": 0.806166725366502,
              "limit_error": 0.4077812656760216,
              "accepted": true
            }
          ],
          "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": 56.864124200344065,
        "part_decomposition": 100.0,
        "kinematics": 36.36363636363636,
        "motion_consistency": 36.36363636363636,
        "ot_routing_diagnostics": 0.0
      },
      "weighted_score": 55.868498079480155,
      "vlm_card": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/vlm_cards/000_ArtVIP_major_appliances_major_appliances_model_refrigerator_6.png",
      "vlm": {
        "ok": false,
        "text": "",
        "error": "skipped"
      }
    },
    {
      "sample_name": "004_GAPartNet_small_appliances_small_appliances_103101",
      "benchmark_index": 4,
      "sample_id": "GAPartNet/small_appliances/103101",
      "source_dataset": "GAPartNet",
      "category": "small_appliances",
      "object_id": "small_appliances/103101",
      "num_parts": 12,
      "movable_parts": 11,
      "texture_render": {
        "visual_meshes": 256,
        "texture_like_meshes": 0,
        "status": "textured_visual_render"
      },
      "partcolor_debug_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_inputs/004_GAPartNet_small_appliances_small_appliances_103101/004_GAPartNet_small_appliances_small_appliances_103101_synthetic_partcolor_debug.png",
      "pact_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/exported_arti_objects/004_GAPartNet_small_appliances_small_appliances_103101@004_GAPartNet_small_appliances_small_appliances_103101_synthetic_processed.@ng/object.json",
      "pact_exploded_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/01__exploded_part.png",
      "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": 72.910080909729,
            "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.7244036348923542,
            "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": 3,
            "status": "measured",
            "note": ""
          },
          "part_count_accuracy": {
            "value": 0.75,
            "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": 3,
            "status": "measured",
            "note": ""
          },
          "orphan_duplicate_part_rate": {
            "value": 0.0,
            "status": "measured",
            "note": ""
          }
        },
        "kinematics": {
          "joint_count_mae": {
            "value": 3,
            "status": "measured",
            "note": ""
          },
          "joint_precision": {
            "value": 0.875,
            "status": "measured",
            "note": ""
          },
          "joint_recall": {
            "value": 0.6363636363636364,
            "status": "measured",
            "note": ""
          },
          "joint_f1": {
            "value": 0.7368421052631579,
            "status": "measured",
            "note": ""
          },
          "joint_type_accuracy": {
            "value": 0.7272727272727273,
            "status": "measured",
            "note": ""
          },
          "axis_angular_error_deg": {
            "value": 8.906973389229117,
            "status": "measured",
            "note": ""
          },
          "origin_distance_error": {
            "value": 0.1392905631457751,
            "status": "measured",
            "note": ""
          },
          "joint_limit_error": {
            "value": 108.25120206974732,
            "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.27559636510764585,
            "status": "measured",
            "note": ""
          },
          "open_state_plausibility": {
            "value": 0.7368421052631579,
            "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": 9,
          "gt_part_count": 12,
          "pred_joint_count": 8,
          "gt_joint_count": 11,
          "matches": [
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 18.116002475009534,
              "origin_error": 0.0,
              "limit_error": 0.26183035159111023,
              "accepted": true
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 14.051168830338819,
              "origin_error": 0.0,
              "limit_error": 0.2406863489151001,
              "accepted": true
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 10.36268725159973,
              "origin_error": 0.0,
              "limit_error": 0.1779531308412552,
              "accepted": true
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 1.7380523388112459,
              "origin_error": 0.2735442957697023,
              "limit_error": 354.3074341116953,
              "accepted": true
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 32.18335880719997,
              "origin_error": 0.0,
              "limit_error": 0.15553799951076508,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 13.393073970921845,
              "origin_error": 0.0,
              "limit_error": 0.20990226352214814,
              "accepted": true
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.3759560831689568,
              "limit_error": 44.30593753366069,
              "accepted": true
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 4.687828857922644,
              "origin_error": 0.3255335630817665,
              "limit_error": 358.25467074800565,
              "accepted": true
            }
          ],
          "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": 72.44036348923541,
        "part_decomposition": 75.0,
        "kinematics": 73.68421052631578,
        "motion_consistency": 73.68421052631578,
        "ot_routing_diagnostics": 0.0
      },
      "weighted_score": 68.77867235148591,
      "vlm_card": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/vlm_cards/004_GAPartNet_small_appliances_small_appliances_103101.png",
      "vlm": {
        "ok": false,
        "text": "",
        "error": "skipped"
      }
    },
    {
      "sample_name": "026_GAPartNet_electronics_electronics_104000",
      "benchmark_index": 26,
      "sample_id": "GAPartNet/electronics/104000",
      "source_dataset": "GAPartNet",
      "category": "electronics",
      "object_id": "electronics/104000",
      "num_parts": 21,
      "movable_parts": 20,
      "texture_render": {
        "visual_meshes": 158,
        "texture_like_meshes": 29,
        "status": "textured_visual_render"
      },
      "partcolor_debug_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_inputs/026_GAPartNet_electronics_electronics_104000/026_GAPartNet_electronics_electronics_104000_synthetic_partcolor_debug.png",
      "pact_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/exported_arti_objects/026_GAPartNet_electronics_electronics_104000@026_GAPartNet_electronics_electronics_104000_synthetic_processed.@ng/object.json",
      "pact_exploded_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/02__exploded_part.png",
      "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": 72.910080909729,
            "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.7048978118145095,
            "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": 1,
            "status": "measured",
            "note": ""
          },
          "part_count_accuracy": {
            "value": 0.9523809523809523,
            "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": 1,
            "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.13333333333333333,
            "status": "measured",
            "note": ""
          },
          "joint_recall": {
            "value": 0.1,
            "status": "measured",
            "note": ""
          },
          "joint_f1": {
            "value": 0.1142857142857143,
            "status": "measured",
            "note": ""
          },
          "joint_type_accuracy": {
            "value": 0.3,
            "status": "measured",
            "note": ""
          },
          "axis_angular_error_deg": {
            "value": 8.527734909226503,
            "status": "measured",
            "note": ""
          },
          "origin_distance_error": {
            "value": 0.1765979573407778,
            "status": "measured",
            "note": ""
          },
          "joint_limit_error": {
            "value": 179.83888289745335,
            "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.2951021881854905,
            "status": "measured",
            "note": ""
          },
          "open_state_plausibility": {
            "value": 0.1142857142857143,
            "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": 20,
          "gt_part_count": 21,
          "pred_joint_count": 15,
          "gt_joint_count": 20,
          "matches": [
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.594471574611599,
              "limit_error": 87.53090557861329,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 36.1588415381623,
              "origin_error": 0.0,
              "limit_error": 0.06985882264375687,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.6754627803800637,
              "limit_error": 70.08390155029296,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.6845901136542677,
              "limit_error": 53.28553500366211,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.5844697100087739,
              "limit_error": 79.25790515136718,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 88.75619286000574,
              "origin_error": 0.0,
              "limit_error": 0.4279503781795502,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 88.82729340026744,
              "origin_error": 0.0,
              "limit_error": 0.391377236366272,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 83.33413052112883,
              "origin_error": 0.0,
              "limit_error": 0.35442414474487305,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 14.206493991546308,
              "origin_error": 0.0,
              "limit_error": 0.09664481538534164,
              "accepted": true
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.552464094844724,
              "limit_error": 71.07889447021485,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 5.374636226712673,
              "origin_error": 0.0633726500400473,
              "limit_error": 359.998,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 10.652945671269194,
              "origin_error": 0.15786532165079237,
              "limit_error": 359.998,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 65.35087474711183,
              "origin_error": 0.20840804694369044,
              "limit_error": 359.998,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 55.69723947672081,
              "origin_error": 0.2124122582188036,
              "limit_error": 359.998,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 2.8489758269066976,
              "origin_error": 0.3531959146815556,
              "limit_error": 359.58112097952136,
              "accepted": true
            }
          ],
          "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": 70.48978118145095,
        "part_decomposition": 95.23809523809523,
        "kinematics": 11.428571428571429,
        "motion_consistency": 11.428571428571429,
        "ot_routing_diagnostics": 0.0
      },
      "weighted_score": 46.51843662764764,
      "vlm_card": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/vlm_cards/026_GAPartNet_electronics_electronics_104000.png",
      "vlm": {
        "ok": false,
        "text": "",
        "error": "skipped"
      }
    },
    {
      "sample_name": "073_PartNetMobility_electronics_electronics_3811",
      "benchmark_index": 73,
      "sample_id": "PartNetMobility/electronics/3811",
      "source_dataset": "PartNetMobility",
      "category": "electronics",
      "object_id": "electronics/3811",
      "num_parts": 31,
      "movable_parts": 30,
      "texture_render": {
        "visual_meshes": 286,
        "texture_like_meshes": 70,
        "status": "textured_visual_render"
      },
      "partcolor_debug_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_inputs/073_PartNetMobility_electronics_electronics_3811/073_PartNetMobility_electronics_electronics_3811_synthetic_partcolor_debug.png",
      "pact_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/exported_arti_objects/073_PartNetMobility_electronics_electronics_3811@073_PartNetMobility_electronics_electronics_3811_synthetic_processed.@ng/object.json",
      "pact_exploded_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/03__exploded_part.png",
      "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": 72.910080909729,
            "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.5991728421739015,
            "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": 0,
            "status": "measured",
            "note": ""
          },
          "part_count_accuracy": {
            "value": 1.0,
            "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": 0,
            "status": "measured",
            "note": ""
          },
          "orphan_duplicate_part_rate": {
            "value": 0.0,
            "status": "measured",
            "note": ""
          }
        },
        "kinematics": {
          "joint_count_mae": {
            "value": 10,
            "status": "measured",
            "note": ""
          },
          "joint_precision": {
            "value": 0.1,
            "status": "measured",
            "note": ""
          },
          "joint_recall": {
            "value": 0.06666666666666667,
            "status": "measured",
            "note": ""
          },
          "joint_f1": {
            "value": 0.08,
            "status": "measured",
            "note": ""
          },
          "joint_type_accuracy": {
            "value": 0.16666666666666666,
            "status": "measured",
            "note": ""
          },
          "axis_angular_error_deg": {
            "value": 20.225395923935842,
            "status": "measured",
            "note": ""
          },
          "origin_distance_error": {
            "value": 0.0,
            "status": "measured",
            "note": ""
          },
          "joint_limit_error": {
            "value": 1.0252033945918084,
            "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.40082715782609846,
            "status": "measured",
            "note": ""
          },
          "open_state_plausibility": {
            "value": 0.08,
            "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": 31,
          "gt_part_count": 31,
          "pred_joint_count": 20,
          "gt_joint_count": 30,
          "matches": [
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.2215051066043078,
              "limit_error": 11.287471916198731,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 16.640580912975967,
              "origin_error": 0.0,
              "limit_error": 1.2036358559131624,
              "accepted": true
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 1.280453767588814,
              "origin_error": 0.1649997906169374,
              "limit_error": 359.11,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 0.0,
              "origin_error": 0.23208366263238897,
              "limit_error": 15.828502311706544,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 3.7907951982715455,
              "origin_error": 0.18123290312471463,
              "limit_error": 359.11,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.4011916701241844,
              "limit_error": 43.33262524414062,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.4468866782740864,
              "limit_error": 18.704226348876954,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.6264661902933223,
              "limit_error": 85.23078265380859,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.6306386592279544,
              "limit_error": 86.81886401367187,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.6362336925124105,
              "limit_error": 85.29901232910156,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.628077467792126,
              "limit_error": 81.0297099609375,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.6285169492653314,
              "limit_error": 84.09974780273437,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.601493311583193,
              "limit_error": 83.69178662109375,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.32528692675787696,
              "limit_error": 96.32860455322266,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.3686049597635958,
              "limit_error": 73.87251934814454,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 32.241606005055445,
              "origin_error": 0.0,
              "limit_error": 0.8997389267757535,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 29.993704044077234,
              "origin_error": 0.601474587746633,
              "limit_error": 22.04489436340332,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 43.43473516807506,
              "origin_error": 0.0,
              "limit_error": 0.11208159136772156,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 40.69131839639688,
              "origin_error": 0.0,
              "limit_error": 0.0461243015229702,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 23.810210934895718,
              "origin_error": 0.0,
              "limit_error": 0.8467709332704544,
              "accepted": true
            }
          ],
          "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.917284217390154,
        "part_decomposition": 100.0,
        "kinematics": 8.0,
        "motion_consistency": 8.0,
        "ot_routing_diagnostics": 0.0
      },
      "weighted_score": 44.40799224485107,
      "vlm_card": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/vlm_cards/073_PartNetMobility_electronics_electronics_3811.png",
      "vlm": {
        "ok": false,
        "text": "",
        "error": "skipped"
      }
    },
    {
      "sample_name": "097_PartNetMobility_major_appliances_major_appliances_PartNetMobility_7179",
      "benchmark_index": 97,
      "sample_id": "PartNetMobility/major_appliances/PartNetMobility_7179",
      "source_dataset": "PartNetMobility",
      "category": "major_appliances",
      "object_id": "major_appliances/PartNetMobility_7179",
      "num_parts": 6,
      "movable_parts": 5,
      "texture_render": {
        "visual_meshes": 99,
        "texture_like_meshes": 25,
        "status": "textured_visual_render"
      },
      "partcolor_debug_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_inputs/097_PartNetMobility_major_appliances_major_appliances_PartNetMobility_7179/097_PartNetMobility_major_appliances_major_appliances_PartNetMobility_7179_synthetic_partcolor_debug.png",
      "pact_object_json": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/exported_arti_objects/097_PartNetMobility_major_appliances_major_appliances_PartNetMobility_7179@097_PartNetMobility_major_appliances_major_appliances_PartNetMobility_7179_synthetic_processed.@ng/object.json",
      "pact_exploded_png": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/pact_outputs/seed42_slatcfg7.0_sscfg7.0_sssteps25_slatsteps25_artioutmean_feature_regression_steps/04__exploded_part.png",
      "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": 72.910080909729,
            "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.6578835143547167,
            "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": 1,
            "status": "measured",
            "note": ""
          },
          "part_count_accuracy": {
            "value": 0.8333333333333334,
            "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": 1,
            "status": "measured",
            "note": ""
          },
          "orphan_duplicate_part_rate": {
            "value": 0.0,
            "status": "measured",
            "note": ""
          }
        },
        "kinematics": {
          "joint_count_mae": {
            "value": 2,
            "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.4,
            "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.3421164856452833,
            "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": 5,
          "gt_part_count": 6,
          "pred_joint_count": 3,
          "gt_joint_count": 5,
          "matches": [
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 90.0,
              "origin_error": 0.5923758450889791,
              "limit_error": 60.34116046031448,
              "accepted": false
            },
            {
              "type_mismatch": 0.0,
              "axis_error_deg": 90.0,
              "origin_error": 0.583503870557132,
              "limit_error": 57.96612866322068,
              "accepted": false
            },
            {
              "type_mismatch": 1.0,
              "axis_error_deg": 15.409640151173345,
              "origin_error": 0.17416853936176677,
              "limit_error": 359.472,
              "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": 65.78835143547167,
        "part_decomposition": 83.33333333333334,
        "kinematics": 0.0,
        "motion_consistency": 0.0,
        "ot_routing_diagnostics": 0.0
      },
      "weighted_score": 38.457809875776235,
      "vlm_card": "/data/250010098/PAct-Transporter/reports/20260513_pact_transporter_exploration/runs/pact_min_evidence_span2_hard5_20260522/vlm_cards/097_PartNetMobility_major_appliances_major_appliances_PartNetMobility_7179.png",
      "vlm": {
        "ok": false,
        "text": "",
        "error": "skipped"
      }
    }
  ],
  "aggregate": {
    "mean_weighted_score": 50.8062818358482,
    "by_source": {
      "ArtVIP": 55.868498079480155,
      "GAPartNet": 57.64855448956678,
      "PartNetMobility": 41.432901060313654
    },
    "mean_joint_f1": 0.25895283663704716,
    "mean_part_count_mae": 1.0
  }
}
