<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="hbf-platform" tests="167" failures="0" time="29.209" timestamp="2026-07-21T14:52:02.936401+00:00">
  <testcase classname="test_fingerprint.TestStaleContract" name="test_dataset_version_change_detected" time="0.0001"/>
  <testcase classname="test_fingerprint.TestStaleContract" name="test_numeric_change_marks_outdated_and_blocks_export" time="0.0000"/>
  <testcase classname="test_fingerprint.TestStaleContract" name="test_unchanged_scenario_is_current" time="0.0000"/>
  <testcase classname="test_hashing.TestCanonicalHashing" name="test_determinism_across_dict_insertion_order" time="0.0000"/>
  <testcase classname="test_hashing.TestCanonicalHashing" name="test_fractional_shortest_round_trip" time="0.0000"/>
  <testcase classname="test_hashing.TestCanonicalHashing" name="test_integral_floats_have_no_decimal_point" time="0.0000"/>
  <testcase classname="test_hashing.TestCanonicalHashing" name="test_key_ordering_is_sorted" time="0.0000"/>
  <testcase classname="test_hashing.TestCanonicalHashing" name="test_locked_vectors" time="0.0005"/>
  <testcase classname="test_hashing.TestCanonicalHashing" name="test_non_finite_rejected" time="0.0000"/>
  <testcase classname="test_hashing.TestCanonicalHashing" name="test_unicode_is_literal" time="0.0000"/>
  <testcase classname="test_reproducibility.TestReproducibility" name="test_datacite_required_fields" time="0.0000"/>
  <testcase classname="test_reproducibility.TestReproducibility" name="test_manifest_hash_stable" time="0.0001"/>
  <testcase classname="test_reproducibility.TestReproducibility" name="test_regenerate_detects_tamper" time="0.0000"/>
  <testcase classname="test_reproducibility.TestReproducibility" name="test_regenerate_matches" time="0.0000"/>
  <testcase classname="test_reproducibility.TestReproducibility" name="test_rocrate_shape" time="0.0000"/>
  <testcase classname="test_run_envelope.TestRunEnvelope" name="test_envelope_shape_matches_blueprint" time="0.0001"/>
  <testcase classname="test_run_envelope.TestRunEnvelope" name="test_equations_order_independent" time="0.0001"/>
  <testcase classname="test_run_envelope.TestRunEnvelope" name="test_input_fingerprint_ignores_outputs_but_run_hash_does_not" time="0.0001"/>
  <testcase classname="test_run_spec.TestFusionRun" name="test_monoenergetic_requires_energy" time="0.0000"/>
  <testcase classname="test_run_spec.TestFusionRun" name="test_run_envelope_labelled_and_hashed" time="0.0006"/>
  <testcase classname="test_run_spec.TestFusionRun" name="test_same_inputs_same_hash" time="0.0005"/>
  <testcase classname="test_spectra.TestAlphaSpectrum" name="test_bin_edges_length_rule" time="0.0000"/>
  <testcase classname="test_spectra.TestAlphaSpectrum" name="test_identity_hash_changes_with_bins" time="0.0003"/>
  <testcase classname="test_spectra.TestAlphaSpectrum" name="test_identity_hash_stable" time="0.0003"/>
  <testcase classname="test_spectra.TestAlphaSpectrum" name="test_invalid_spectrum_rejected" time="0.0000"/>
  <testcase classname="test_spectra.TestAlphaSpectrum" name="test_monoenergetic_mean_equals_energy" time="0.0000"/>
  <testcase classname="test_spectra.TestAlphaSpectrum" name="test_support_within_range" time="0.0000"/>
  <testcase classname="test_spectra.TestAlphaSpectrum" name="test_weights_normalized" time="0.0000"/>
  <testcase classname="test_spectra.TestNuclearProxies" name="test_cross_section_nonnegative_and_resonant" time="0.0001"/>
  <testcase classname="test_spectra.TestNuclearProxies" name="test_reactivity_positive_and_increasing" time="0.0002"/>
  <testcase classname="test_canonical_identity.TestCanonicalIdentity" name="test_deterministic" time="0.0024"/>
  <testcase classname="test_canonical_identity.TestCanonicalIdentity" name="test_input_fingerprint_is_input_only" time="0.0021"/>
  <testcase classname="test_canonical_identity.TestCanonicalIdentity" name="test_published_run_matches_research_hub" time="0.0010"/>
  <testcase classname="test_dcval.TestDCVAL01Conservation" name="test_l0_conserves" time="0.0000"/>
  <testcase classname="test_dcval.TestDCVAL01Conservation" name="test_l1_conserves_across_many_configs" time="0.0001"/>
  <testcase classname="test_dcval.TestDCVAL01Conservation" name="test_l1_with_thermal_subsystem_conserves" time="0.0000"/>
  <testcase classname="test_dcval.TestDCVAL02Bounds" name="test_efficiency_in_unit_interval" time="0.0000"/>
  <testcase classname="test_dcval.TestDCVAL02Bounds" name="test_recovered_never_exceeds_energy" time="0.0000"/>
  <testcase classname="test_dcval.TestDCVAL03Analytic" name="test_monoenergetic_perfect_stage" time="0.0000"/>
  <testcase classname="test_dcval.TestDCVAL03Analytic" name="test_monoenergetic_single_stage" time="0.0000"/>
  <testcase classname="test_dcval.TestDCVAL03Analytic" name="test_two_bin_single_and_double_stage" time="0.0000"/>
  <testcase classname="test_dcval.TestDCVAL04Optimizer" name="test_differential_evolution_deterministic" time="0.1404"/>
  <testcase classname="test_dcval.TestDCVAL04Optimizer" name="test_dp_matches_bruteforce_small_grid" time="0.0020"/>
  <testcase classname="test_dcval.TestDCVAL05Discretization" name="test_optimum_converges_with_refinement" time="0.0549"/>
  <testcase classname="test_dcval.TestDCVAL06MonotonicBound" name="test_ideal_optimum_non_decreasing_in_stages" time="0.0745"/>
  <testcase classname="test_dcval.TestDCVAL07Literature" name="test_uniform_spectrum_n_over_n_plus_1" time="1.2327"/>
  <testcase classname="test_dcval.TestDCVAL08IndependentImpl" name="test_matches_kernel" time="0.0002"/>
  <testcase classname="test_dcval.TestDCVAL09StaleSafety" name="test_spectrum_change_detected" time="0.0001"/>
  <testcase classname="test_dcval.TestDCVAL09StaleSafety" name="test_stage_change_changes_fingerprint" time="0.0005"/>
  <testcase classname="test_dcval.TestDCVAL09StaleSafety" name="test_stalecheck_blocks_export" time="0.0002"/>
  <testcase classname="test_trajectory.TestAxialTrajectory" name="test_analytic_turning_point" time="0.0215"/>
  <testcase classname="test_trajectory.TestAxialTrajectory" name="test_collection_response_curve" time="0.0330"/>
  <testcase classname="test_trajectory.TestAxialTrajectory" name="test_energy_conserved" time="0.0041"/>
  <testcase classname="test_trajectory.TestAxialTrajectory" name="test_high_energy_collected_low_reflected" time="0.0148"/>
  <testcase classname="test_trajectory.TestAxialTrajectory" name="test_l2_l0_consistency_stage_bound" time="0.0217"/>
  <testcase classname="test_trajectory.TestAxisymmetricIntegrator" name="test_analytic_energy_conserved" time="0.0215"/>
  <testcase classname="test_trajectory.TestAxisymmetricIntegrator" name="test_grid_field_energy_bounded" time="0.0589"/>
  <testcase classname="test_trajectory.TestAxisymmetricIntegrator" name="test_step_size_convergence_analytic" time="0.0268"/>
  <testcase classname="test_trajectory.TestDCL2Gating" name="test_institutional_reviewed_runs_and_conserves" time="0.0174"/>
  <testcase classname="test_trajectory.TestDCL2Gating" name="test_public_use_blocked" time="0.0000"/>
  <testcase classname="test_equations_reviews.TestEquationsReviews" name="test_equation_content_hash_changes_with_math" time="0.0001"/>
  <testcase classname="test_equations_reviews.TestEquationsReviews" name="test_promotion_requires_named_approve_review" time="0.0000"/>
  <testcase classname="test_equations_reviews.TestEquationsReviews" name="test_reject_cannot_promote" time="0.0000"/>
  <testcase classname="test_equations_reviews.TestEquationsReviews" name="test_review_signature_stable_and_bound" time="0.0001"/>
  <testcase classname="test_maturity.TestMaturityLadder" name="test_curator_reviewed_requires_review" time="0.0000"/>
  <testcase classname="test_maturity.TestMaturityLadder" name="test_full_promotion_path" time="0.0000"/>
  <testcase classname="test_maturity.TestMaturityLadder" name="test_only_single_forward_steps" time="0.0000"/>
  <testcase classname="test_maturity.TestMaturityLadder" name="test_promotion_requires_evidence" time="0.0000"/>
  <testcase classname="test_maturity.TestMaturityLadder" name="test_retire_from_any_active_state" time="0.0000"/>
  <testcase classname="test_torus.TestField" name="test_field_line_stays_near_flux_surface" time="0.0135"/>
  <testcase classname="test_torus.TestField" name="test_field_line_winds_toroidally" time="0.0099"/>
  <testcase classname="test_torus.TestField" name="test_one_over_r_law" time="0.0000"/>
  <testcase classname="test_torus.TestField" name="test_poloidal_component_present" time="0.0000"/>
  <testcase classname="test_torus.TestField" name="test_q_edge_formula" time="0.0000"/>
  <testcase classname="test_torus.TestField" name="test_toroidal_direction" time="0.0000"/>
  <testcase classname="test_torus.TestSolver" name="test_canonical_identity_pinned" time="0.0000"/>
  <testcase classname="test_torus.TestSolver" name="test_channels_nonnegative_and_partition" time="0.0000"/>
  <testcase classname="test_torus.TestSolver" name="test_equations_include_field_model" time="0.0000"/>
  <testcase classname="test_torus.TestSolver" name="test_l0_has_no_stopping_and_distinct_identity" time="0.8784"/>
  <testcase classname="test_torus.TestSolver" name="test_ledger_closes" time="0.0000"/>
  <testcase classname="test_torus.TestSolver" name="test_no_directconvert_channel" time="0.0000"/>
  <testcase classname="test_torus.TestSolver" name="test_seed_determinism" time="1.8474"/>
  <testcase classname="test_torus.TestSolver" name="test_torus_volume_element" time="0.0010"/>
  <testcase classname="test_torus.TestSolver" name="test_unique_particle_ids" time="0.0002"/>
  <testcase classname="test_torus.TestSolver" name="test_visualization_is_real_data" time="0.0003"/>
  <testcase classname="test_torus.TestSpec" name="test_bad_level_rejected" time="0.0000"/>
  <testcase classname="test_torus.TestSpec" name="test_default_valid" time="0.0000"/>
  <testcase classname="test_torus.TestSpec" name="test_fingerprint_sensitive" time="0.0001"/>
  <testcase classname="test_torus.TestSpec" name="test_minor_ge_major_rejected" time="0.0000"/>
  <testcase classname="test_baseline.TestBaseline" name="test_deterministic" time="0.0146"/>
  <testcase classname="test_baseline.TestBaseline" name="test_features_have_declared_units_and_scale" time="0.0064"/>
  <testcase classname="test_baseline.TestBaseline" name="test_pipeline_version_hash_changes_with_config" time="0.0001"/>
  <testcase classname="test_baseline.TestBaseline" name="test_qc_block_forces_abstention" time="0.0008"/>
  <testcase classname="test_baseline.TestBaseline" name="test_synthetic_benchmark_precision_recall" time="0.0343"/>
  <testcase classname="test_qc.TestQC" name="test_good_image_passes" time="0.0343"/>
  <testcase classname="test_qc.TestQC" name="test_missing_calibration_blocks_inference" time="0.0012"/>
  <testcase classname="test_qc.TestQC" name="test_saturated_image_blocks" time="0.0009"/>
  <testcase classname="test_qc.TestQC" name="test_uniform_image_blocks_on_focus" time="0.0010"/>
  <testcase classname="test_splits.TestSplits" name="test_benchmark_leakage_detected" time="0.0000"/>
  <testcase classname="test_splits.TestSplits" name="test_disjoint_plate_split" time="0.0001"/>
  <testcase classname="test_splits.TestSplits" name="test_locked_benchmark_requires_token" time="0.0000"/>
  <testcase classname="test_splits.TestSplits" name="test_tile_level_ids_refused" time="0.0000"/>
  <testcase classname="test_synthetic.TestSynthetic" name="test_deterministic_with_seed" time="0.0009"/>
  <testcase classname="test_synthetic.TestSynthetic" name="test_non_overlap_count_matches_request" time="0.0094"/>
  <testcase classname="test_synthetic.TestSynthetic" name="test_synthetic_flag_everywhere" time="0.0009"/>
  <testcase classname="test_tiling.TestTiling" name="test_every_point_owned_by_exactly_one_tile" time="0.0117"/>
  <testcase classname="test_tiling.TestTiling" name="test_invalid_overlap_rejected" time="0.0000"/>
  <testcase classname="test_tiling.TestTiling" name="test_manifest_deterministic_hash" time="0.0014"/>
  <testcase classname="test_training.TestCardsActiveLearningONNX" name="test_active_learning_selects_uncertain" time="0.0002"/>
  <testcase classname="test_training.TestCardsActiveLearningONNX" name="test_model_card_approvable" time="0.0001"/>
  <testcase classname="test_training.TestCardsActiveLearningONNX" name="test_onnx_conformance_gate" time="0.0001"/>
  <testcase classname="test_training.TestRegistryPromotion" name="test_lineage_hash_and_registration" time="0.0001"/>
  <testcase classname="test_training.TestRegistryPromotion" name="test_promotion_gate" time="0.0001"/>
  <testcase classname="test_training.TestTraining" name="test_plate_holdout_quality" time="0.1649"/>
  <testcase classname="test_training.TestTraining" name="test_raw_count_reported_separately" time="0.1576"/>
  <testcase classname="test_training.TestTraining" name="test_training_deterministic" time="0.1859"/>
  <testcase classname="test_canonical_reactor.TestCanonicalReactor" name="test_bridge_default_reproduces_canonical" time="1.1976"/>
  <testcase classname="test_canonical_reactor.TestCanonicalReactor" name="test_sample_matches_research_hub" time="1.2439"/>
  <testcase classname="test_pusher.TestBoris" name="test_gyroradius_and_energy" time="0.0129"/>
  <testcase classname="test_pusher.TestBoris" name="test_no_field_is_straight_line" time="0.0003"/>
  <testcase classname="test_reactor_hotfix.TestDirectConvertFixedStages" name="test_changing_stages_changes_recovery" time="2.3793"/>
  <testcase classname="test_reactor_hotfix.TestDirectConvertFixedStages" name="test_stages_are_configured_not_per_particle" time="1.7294"/>
  <testcase classname="test_reactor_hotfix.TestEquationProvenance" name="test_cited_sources_resolve_in_hub" time="0.0020"/>
  <testcase classname="test_reactor_hotfix.TestEquationProvenance" name="test_equation_ids_present_in_detail_page" time="0.0016"/>
  <testcase classname="test_reactor_hotfix.TestEquationProvenance" name="test_run_equations_all_registered" time="1.1895"/>
  <testcase classname="test_reactor_hotfix.TestInvalidInputsRejected" name="test_blank_temperature_rejected" time="0.0012"/>
  <testcase classname="test_reactor_hotfix.TestInvalidInputsRejected" name="test_grid_wrong_shape_rejected" time="0.0001"/>
  <testcase classname="test_reactor_hotfix.TestInvalidInputsRejected" name="test_nan_seed_rejected" time="0.0001"/>
  <testcase classname="test_reactor_hotfix.TestInvalidInputsRejected" name="test_out_of_range_rejected" time="0.0000"/>
  <testcase classname="test_reactor_hotfix.TestInvalidInputsRejected" name="test_string_field_rejected" time="0.0000"/>
  <testcase classname="test_reactor_hotfix.TestInvalidInputsRejected" name="test_valid_default_ok" time="1.1792"/>
  <testcase classname="test_reactor_hotfix.TestModelLevelsDiffer" name="test_l0_not_equal_l1" time="2.1316"/>
  <testcase classname="test_reactor_hotfix.TestUniqueParticleIds" name="test_particle_ids_unique_per_alpha" time="1.1830"/>
  <testcase classname="test_reactor_hotfix.TestVisualizationPayload" name="test_payload_is_real_data" time="1.1031"/>
  <testcase classname="test_reactor_runspec.TestRunSpec" name="test_bad_grid_rejected" time="0.0000"/>
  <testcase classname="test_reactor_runspec.TestRunSpec" name="test_bad_temperature_rejected" time="0.0000"/>
  <testcase classname="test_reactor_runspec.TestRunSpec" name="test_fingerprint_deterministic_and_input_sensitive" time="0.0001"/>
  <testcase classname="test_reactor_runspec.TestRunSpec" name="test_valid_default" time="0.0000"/>
  <testcase classname="test_solver.TestSolver" name="test_alpha_energy_conserved" time="0.1584"/>
  <testcase classname="test_solver.TestSolver" name="test_detector_plane_intersection" time="0.0001"/>
  <testcase classname="test_solver.TestSolver" name="test_different_seed_changes_identity" time="0.2747"/>
  <testcase classname="test_solver.TestSolver" name="test_frames_and_events_emitted" time="0.1510"/>
  <testcase classname="test_solver.TestSolver" name="test_positive_state" time="0.0002"/>
  <testcase classname="test_solver.TestSolver" name="test_seed_determinism" time="0.2935"/>
  <testcase classname="test_vrlab.TestCanonicalLab" name="test_deterministic" time="2.2914"/>
  <testcase classname="test_vrlab.TestCanonicalLab" name="test_l0_and_custom_stages_get_distinct_identities" time="3.2215"/>
  <testcase classname="test_vrlab.TestCanonicalLab" name="test_pinned_identity_and_lineage" time="1.0916"/>
  <testcase classname="test_vrlab.TestEnergyChain" name="test_chain_closes_exactly" time="0.0000"/>
  <testcase classname="test_vrlab.TestEnergyChain" name="test_gross_equals_ledger_channel" time="0.0000"/>
  <testcase classname="test_vrlab.TestEnergyChain" name="test_l0_usable_at_least_l1" time="1.0125"/>
  <testcase classname="test_vrlab.TestEnergyChain" name="test_no_negative_channels" time="0.0000"/>
  <testcase classname="test_vrlab.TestEnergyChain" name="test_stage_table_sums_to_ledger" time="0.0000"/>
  <testcase classname="test_vrlab.TestLabSpec" name="test_bad_geometry_rejected" time="0.0000"/>
  <testcase classname="test_vrlab.TestLabSpec" name="test_bad_stages_rejected" time="0.0000"/>
  <testcase classname="test_vrlab.TestLabSpec" name="test_default_valid" time="0.0000"/>
  <testcase classname="test_vrlab.TestLabSpec" name="test_fingerprint_input_sensitive" time="0.0001"/>
  <testcase classname="test_vrlab.TestLabSpec" name="test_planned_fidelity_rejected" time="0.0000"/>
  <testcase classname="test_vrlab.TestLabSpec" name="test_plasma_radius_bounded_by_vessel" time="0.0000"/>
  <testcase classname="test_vrlab.TestManifest" name="test_components_have_stable_ids_and_positions" time="1.1440"/>
  <testcase classname="test_vrlab.TestSensors" name="test_all_sensors_synthetic_and_stamped" time="0.0000"/>
  <testcase classname="test_vrlab.TestSensors" name="test_alpha_counts_match_frames" time="0.0000"/>
  <testcase classname="test_vrlab.TestSensors" name="test_calorimeter_matches_ledger" time="0.0000"/>
  <testcase classname="test_vrlab.TestSensors" name="test_dc_current_charge_matches_dc_events_exactly" time="0.0000"/>
  <testcase classname="test_vrlab.TestSensors" name="test_dc_voltages_match_config" time="0.0000"/>
  <testcase classname="test_vrlab.TestSensors" name="test_deterministic_noise" time="1.1021"/>
  <testcase classname="test_vrlab.TestSensors" name="test_faraday_charge_within_declared_noise" time="0.0000"/>
  <testcase classname="test_vrlab.TestSensors" name="test_vacuum_declared_assumed" time="0.0000"/>
</testsuite>