[
  "tests/test_acceptance_mlp.py::TestAcceptanceMLP::test_smoke_train_produces_valid_artifact",
  "tests/test_acceptance_mlp.py::TestAcceptanceMLP::test_validate_strategy_runs_with_artifact",
  "tests/test_adaptive_lag_correlation.py::test_distinct_peak_respects_the_configured_exclusion_radius",
  "tests/test_adaptive_lag_correlation.py::test_equal_scores_choose_smallest_lag_and_report_zero_separation",
  "tests/test_adaptive_lag_correlation.py::test_estimates_are_invariant_to_future_mutation",
  "tests/test_adaptive_lag_correlation.py::test_estimates_lag_that_changes_over_time",
  "tests/test_adaptive_lag_correlation.py::test_invalid_configuration_and_non_monotonic_index_are_rejected",
  "tests/test_adaptive_lag_correlation.py::test_missing_observations_are_dropped_pairwise_and_minimum_is_enforced",
  "tests/test_adaptive_lag_correlation.py::test_pine_estimator_short_circuits_an_empty_candidate_spectrum",
  "tests/test_adaptive_lag_correlation.py::test_recovers_known_positive_source_lead_and_spectrum",
  "tests/test_adaptive_lag_correlation.py::test_regular_grid_forward_fills_only_source_from_prior_observations",
  "tests/test_adaptive_lag_correlation.py::test_reports_a_distant_local_peak_separately_from_adjacent_runner_up",
  "tests/test_adaptive_lag_correlation.py::test_scores_within_tie_tolerance_report_zero_separation",
  "tests/test_adaptive_lag_correlation.py::test_selection_mode_is_explicit_for_negative_relationships",
  "tests/test_adaptive_lag_walkforward.py::test_adaptive_walkforward_beats_wrong_fixed_lag_after_regime_change",
  "tests/test_adaptive_lag_walkforward.py::test_fixed_lag_and_bootstrap_are_deterministic",
  "tests/test_adaptive_lag_walkforward.py::test_walkforward_uses_only_past_data_at_each_selection_time",
  "tests/test_compare_tv_commission.py::test_default_rate_matches_pine_and_validate_strategy",
  "tests/test_compare_tv_commission.py::test_extract_python_trades_stores_net_and_gross",
  "tests/test_compare_tv_commission.py::test_flat_trade_loses_round_trip_commission",
  "tests/test_compare_tv_commission.py::test_net_is_below_gross_by_roughly_round_trip_commission",
  "tests/test_compare_tv_commission.py::test_net_pnl_matches_validate_strategy_formula",
  "tests/test_compare_tv_commission.py::test_zero_commission_equals_gross",
  "tests/test_mlp_artifact.py::TestArtifactRoundTrip::test_load_is_cached_until_file_changes",
  "tests/test_mlp_artifact.py::TestArtifactRoundTrip::test_metadata_recorded",
  "tests/test_mlp_artifact.py::TestArtifactRoundTrip::test_roundtrip_bit_exact",
  "tests/test_mlp_artifact.py::TestFeatureCols::test_duplicates_are_intentional",
  "tests/test_mlp_artifact.py::TestFeatureCols::test_length_is_49",
  "tests/test_mlp_artifact.py::TestFeatureCols::test_length_is_50",
  "tests/test_mlp_artifact.py::TestFeatureCols::test_length_is_55",
  "tests/test_mlp_artifact.py::TestFeatureCols::test_no_duplicates",
  "tests/test_mlp_artifact.py::TestFeatureCols::test_order_matches_prepare_features",
  "tests/test_mlp_forward.py::TestForward::test_hand_computed_two_layer",
  "tests/test_mlp_forward.py::TestForward::test_matches_torch_reference",
  "tests/test_mlp_forward.py::TestForward::test_output_shape_and_range",
  "tests/test_mlp_forward.py::TestForward::test_zero_weights_give_zero_score",
  "tests/test_mlp_forward.py::TestTanh::test_clamps_to_exact_one_outside",
  "tests/test_mlp_forward.py::TestTanh::test_matches_numpy_inside_clamp",
  "tests/test_mlp_forward.py::TestTanh::test_scalar_input",
  "tests/test_mlp_input_structure.py::test_grouped_mask_rejects_unsupported_width_and_unknown_features",
  "tests/test_mlp_input_structure.py::test_grouped_mask_routes_each_first_layer_unit_to_one_signal_family",
  "tests/test_mlp_input_structure.py::test_grouped_training_uses_an_isolated_default_artifact_tag",
  "tests/test_mlp_input_structure.py::test_hybrid_direct_trainer_requires_an_isolated_output",
  "tests/test_mlp_input_structure.py::test_hybrid_grouped_mask_preserves_specialists_and_dense_cross_family_rows",
  "tests/test_mlp_input_structure.py::test_hybrid_grouped_metadata_audits_exact_v1_mask",
  "tests/test_mlp_input_structure.py::test_hybrid_orchestrator_rejects_shared_sweep_and_preset_paths",
  "tests/test_mlp_input_structure.py::test_hybrid_phase1_and_cma_masking_preserve_specialist_blocks",
  "tests/test_mlp_input_structure.py::test_masked_parameter_roundtrip_never_restores_blocked_connections",
  "tests/test_mlp_input_structure.py::test_random_sparse_mask_matches_grouped_row_sparsity_and_is_reproducible",
  "tests/test_mlp_input_structure.py::test_random_sparse_metadata_records_reproducible_mask_provenance",
  "tests/test_mlp_results_table.py::TestGlobalPairingHazard::test_evaluate_tf_ignores_tf_map_entirely_for_an_explicit_asset",
  "tests/test_mlp_results_table.py::TestGlobalPairingHazard::test_evaluate_tf_never_pairs_one_assets_data_with_anothers_winner",
  "tests/test_mlp_results_table.py::TestGlobalPairingHazard::test_mains_paired_reassignment_keeps_asset_and_tf_map_in_sync",
  "tests/test_mlp_results_table.py::TestTfMap::test_different_assets_never_collide",
  "tests/test_mlp_results_table.py::TestTfMap::test_path_embeds_the_requested_asset_and_period[12H-720]",
  "tests/test_mlp_results_table.py::TestTfMap::test_path_embeds_the_requested_asset_and_period[1D-1D]",
  "tests/test_mlp_results_table.py::TestTfMap::test_path_embeds_the_requested_asset_and_period[4H-240]",
  "tests/test_mlp_results_table.py::TestTfMap::test_path_embeds_the_requested_asset_and_period[6H-360]",
  "tests/test_mlp_results_table.py::TestTfMap::test_path_embeds_the_requested_asset_and_period[8H-480]",
  "tests/test_mlp_results_table.py::TestTfMap::test_returns_a_path_per_configured_timeframe",
  "tests/test_mlp_results_table.py::TestWinnerPath::test_default_asset_falls_back_to_module_global",
  "tests/test_mlp_results_table.py::TestWinnerPath::test_explicit_non_btc_asset_resolves_to_a_file_that_exists[12H]",
  "tests/test_mlp_results_table.py::TestWinnerPath::test_explicit_non_btc_asset_resolves_to_a_file_that_exists[1D]",
  "tests/test_mlp_results_table.py::TestWinnerPath::test_explicit_non_btc_asset_resolves_to_a_file_that_exists[4H]",
  "tests/test_mlp_results_table.py::TestWinnerPath::test_explicit_non_btc_asset_resolves_to_a_file_that_exists[6H]",
  "tests/test_mlp_results_table.py::TestWinnerPath::test_explicit_non_btc_asset_resolves_to_a_file_that_exists[8H]",
  "tests/test_mlp_score_peak_event_study.py::test_confirmed_pivots_are_not_available_before_right_confirmation",
  "tests/test_mlp_score_peak_event_study.py::test_controls_are_score_matched_same_region_and_exclude_event_horizons",
  "tests/test_mlp_score_peak_event_study.py::test_dedup_allows_the_first_event_after_the_inclusive_horizon",
  "tests/test_mlp_score_peak_event_study.py::test_event_rules_enforce_thresholds_spacing_and_deduplication",
  "tests/test_mlp_score_peak_event_study.py::test_forward_returns_and_mae_are_close_to_close_and_capped_at_horizon",
  "tests/test_mlp_score_structure.py::test_asymmetric_pivot_is_emitted_on_the_requested_right_hand_bar",
  "tests/test_mlp_score_structure.py::test_higher_low_is_available_only_after_the_right_hand_confirmation_bar",
  "tests/test_mlp_score_structure.py::test_lower_high_is_available_only_after_the_right_hand_confirmation_bar",
  "tests/test_mlp_score_structure.py::test_overlay_validates_array_lengths_and_respects_the_pine_time_gate",
  "tests/test_mlp_score_structure.py::test_score_structure_rejects_invalid_windows_and_ignores_plateaus_and_nan",
  "tests/test_mlp_score_structure.py::test_structure_overlay_gates_entries_and_closes_existing_positions",
  "tests/test_mlp_score_structure.py::test_structure_state_turns_bullish_on_higher_low_and_bearish_on_lower_high",
  "tests/test_mlp_score_structure_experiment.py::test_summary_normalizes_a_zero_trade_oos_sentinel",
  "tests/test_mlp_score_structure_experiment.py::test_wfo_requires_the_canonical_minimum_number_of_valid_folds",
  "tests/test_mlp_signals.py::TestFeatureWeightParams::test_config_weight_cols_is_subset",
  "tests/test_mlp_signals.py::TestFeatureWeightParams::test_matches_config_weight_cols_as_set",
  "tests/test_mlp_signals.py::TestFeatureWeightParams::test_one_param_per_feature",
  "tests/test_mlp_signals.py::TestLinearDegeneracy::test_score_correlation_and_identical_trades",
  "tests/test_mlp_signals.py::TestLinearDegeneracy::test_trailing_stop_path_equivalence",
  "tests/test_mlp_signals.py::TestParamValidation::test_mismatched_feature_cols_raises",
  "tests/test_mlp_signals.py::TestParamValidation::test_missing_weights_file_raises",
  "tests/test_mlp_signals.py::TestPineTimeGate::test_pre_start_crossunder_does_not_open_position",
  "tests/test_mlp_slow_regime_router.py::test_experiment_accepts_tradingview_unix_second_timestamps",
  "tests/test_mlp_slow_regime_router.py::test_residual_head_fit_keeps_the_shared_trunk_out_of_the_trainable_shape",
  "tests/test_mlp_slow_regime_router.py::test_slow_router_is_causal_and_honors_minimum_dwell",
  "tests/test_mlp_slow_regime_router.py::test_tiny_heads_reduce_to_shared_output_when_residuals_are_zero",
  "tests/test_mlp_sweep_sharding.py::test_internal_shard_preserves_candidate_order",
  "tests/test_mlp_sweep_sharding.py::test_partition_candidate_ranges_is_balanced_and_exact",
  "tests/test_mlp_sweep_sharding.py::test_pool_permission_error_uses_subprocess_shards",
  "tests/test_mlp_temporal_features.py::test_temporal_features_are_causal_ema_companions",
  "tests/test_mlp_trail_time_gate.py::test_trail_does_not_fire_after_endDate_when_time_gated",
  "tests/test_mlp_trail_time_gate.py::test_trail_still_fires_when_not_time_gated",
  "tests/test_pine_codegen.py::TestEmitWeightInit::test_no_array_from_over_1000_args",
  "tests/test_pine_codegen.py::TestEmitWeightInit::test_produces_pine_lines",
  "tests/test_pine_codegen.py::TestEmitWeightInit::test_round_trip_weights",
  "tests/test_pine_codegen.py::TestFloatFormatting::test_has_decimal_point_or_exponent",
  "tests/test_pine_codegen.py::TestFloatFormatting::test_round_trip_random_weights",
  "tests/test_pine_codegen.py::TestFloatFormatting::test_very_large",
  "tests/test_pine_codegen.py::TestFloatFormatting::test_very_small",
  "tests/test_pine_codegen.py::TestFloatFormatting::test_zero",
  "tests/test_pine_codegen.py::TestSentinelReplacement::test_rewrite_is_idempotent",
  "tests/test_pine_codegen.py::TestSentinelReplacement::test_sentinel_markers_present_after_rewrite",
  "tests/test_pine_codegen.py::TestSentinelReplacement::test_weight_arrays_in_block",
  "tests/test_pine_codegen.py::test_pine_exports_only_normalized_trailing_stop_diagnostics",
  "tests/test_tradingview_update.py::test_capture_parser_defaults_to_tradingview_chart",
  "tests/test_tradingview_update.py::test_copy_to_clipboard_returns_false_when_pbcopy_fails",
  "tests/test_tradingview_update.py::test_doctor_parser_defaults_to_static_checks",
  "tests/test_tradingview_update.py::test_inspect_command_outputs_json",
  "tests/test_tradingview_update.py::test_latest_file_returns_newest_path",
  "tests/test_tradingview_update.py::test_manual_update_parser_defaults_to_script_title_verification_later",
  "tests/test_tradingview_update.py::test_parse_indicator_title_positional_arg",
  "tests/test_tradingview_update.py::test_parse_multiline_named_title",
  "tests/test_tradingview_update.py::test_parse_requires_strategy_or_indicator",
  "tests/test_tradingview_update.py::test_parse_strategy_title_named_arg",
  "tests/test_tradingview_update.py::test_preflight_runs_duplicate_check_for_any_pine",
  "tests/test_tradingview_update.py::test_profile_status_parser_defaults_to_persistent_headless_check",
  "tests/test_tradingview_update.py::test_slugify_produces_filesystem_label",
  "tests/test_tradingview_update.py::test_status_parser_defaults_to_artifact_dir",
  "tests/test_tradingview_update.py::test_verify_text_content_reports_missing_and_rejected",
  "tests/test_tradingview_update.py::test_verify_text_content_requires_expected_and_rejects_errors",
  "tests/test_tradingview_update.py::test_verify_text_parser_collects_repeated_expectations",
  "tests/test_tradingview_update.py::test_write_source_copy_creates_timestamped_and_latest_files",
  "tests/test_train_mlp.py::test_aggregate_fold_score_modes",
  "tests/test_train_mlp.py::test_resolve_worker_count_auto_uses_fraction_and_workload_cap",
  "tests/test_train_mlp.py::test_resolve_worker_count_manual_overrides_auto_and_caps_to_workload",
  "tests/test_train_mlp.py::test_robust_objective_penalizes_drawdown_pnl_dd_trades_and_fragility",
  "tests/test_train_mlp.py::test_threshold_fragility_count_uses_nearest_threshold",
  "tests/test_treasury_curve_event_study.py::test_alignment_lags_yields_by_one_btc_day",
  "tests/test_treasury_curve_event_study.py::test_hypotheses_identify_curve_inversion_and_joint_sharp_drop",
  "tests/test_treasury_curve_event_study.py::test_load_yields_accepts_fred_observation_date",
  "tests/test_treasury_curve_event_study.py::test_study_reports_independent_baseline_and_signal_samples",
  "tests/test_tv_parity_tooling.py::test_compare_tv_trades_can_run_mlp_strategy",
  "tests/test_tv_parity_tooling.py::test_pine_time_gate_preserves_mlp_entry_smoothing",
  "tests/test_tv_parity_tooling.py::test_pine_time_gate_starts_flat_at_score_start",
  "tests/test_tv_parity_tooling.py::test_strategy_stem_supports_activation_and_mlp_files",
  "tests/test_tv_parity_tooling.py::test_tv_entry_marker_check_detects_export_mismatch",
  "tests/test_tv_parity_tooling.py::test_tv_score_column_prefers_available_export_score",
  "tests/test_tv_parity_tooling.py::test_validate_strategy_prints_canonical_metrics_section"
]