From f789866d33fc2a0075b47be5ee3216c5eb76ea90 Mon Sep 17 00:00:00 2001 From: boris Date: Mon, 5 Oct 2026 06:28:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E5=BE=85=E4=BA=A4=E4=BB=98?= =?UTF-8?q?=E6=9D=83=E7=9B=8A=E9=A3=8E=E9=99=A9=E6=9B=B4=E6=AD=A3=E4=B8=8E?= =?UTF-8?q?=E6=9C=80=E7=BB=88=E9=AA=8C=E8=AF=81=E5=9B=9E=E6=89=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core-risk-final-full-linux-tests.log | 1101 +++++++++++++++++ .../core-risk-initial-failure.log | 809 ++++++++++++ .../core-risk-initial-live-scope.json | 31 + .../file-shas.json | 63 + .../live-test-resource-verification.json | 31 + .../operational-verification.json | 70 ++ .../runner-risk-final-full-linux-tests.log | 679 ++++++++++ .../validation-pg-receipt.json | 244 ++++ .../validation-receipt.json | 225 ++++ docs/registered-share-delivery-20261005.md | 10 + 10 files changed, 3263 insertions(+) create mode 100644 docs/evidence/registered-share-risk-20261005/core-risk-final-full-linux-tests.log create mode 100644 docs/evidence/registered-share-risk-20261005/core-risk-initial-failure.log create mode 100644 docs/evidence/registered-share-risk-20261005/core-risk-initial-live-scope.json create mode 100644 docs/evidence/registered-share-risk-20261005/file-shas.json create mode 100644 docs/evidence/registered-share-risk-20261005/live-test-resource-verification.json create mode 100644 docs/evidence/registered-share-risk-20261005/operational-verification.json create mode 100644 docs/evidence/registered-share-risk-20261005/runner-risk-final-full-linux-tests.log create mode 100644 docs/evidence/registered-share-risk-20261005/validation-pg-receipt.json create mode 100644 docs/evidence/registered-share-risk-20261005/validation-receipt.json diff --git a/docs/evidence/registered-share-risk-20261005/core-risk-final-full-linux-tests.log b/docs/evidence/registered-share-risk-20261005/core-risk-final-full-linux-tests.log new file mode 100644 index 0000000..b0ca331 --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/core-risk-final-full-linux-tests.log @@ -0,0 +1,1101 @@ + Compiling fidc-core v0.1.0 (/srv/fidc/programs/src/fidc-share-receivable-validation-20261005-1092cd0/crates/fidc-core) + Finished `test` profile [unoptimized] target(s) in 40.74s + Running unittests src/lib.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/fidc_core-dbea4d4f6cb5d2d7) + +running 789 tests +test broker::tests::aiquant_rules_keep_structured_buy_risk_while_using_aiquant_limit_price ... ok +test broker::tests::aiquant_sell_rule_still_blocks_real_allow_sell_false ... ok +test broker::tests::aiquant_sell_rule_uses_intraday_quote_when_daily_snapshot_is_stale_lower_limit ... ok +test broker::tests::aiquant_target_portfolio_smart_keeps_batch_semantics_after_failed_full_close_sell ... ok +test broker::tests::aiquant_target_value_delta_uses_scheduled_mark_price ... ok +test broker::tests::aiquant_target_portfolio_smart_rejects_deferred_buy_risk_at_order_stage ... ok +test broker::stock_pool::successor_protection_tests::deferred_etf_open_rechecks_inherited_locks_and_cooldown_before_any_order ... ok +test broker::tests::algorithm_clock::a_clock_slice_does_not_turn_window_twap_into_an_unlimited_instant_order ... ok +test broker::tests::algorithm_clock::algorithm_expiry_without_a_quote_does_not_reuse_old_liquidity ... ok +test broker::tests::algorithm_clock::an_explicit_ioc_or_fok_does_not_become_a_persistent_algorithm ... ok +test broker::tests::algorithm_clock::algorithm_sell_honors_t_plus_one_and_keeps_original_quantity_after_partial_fills ... ok +test broker::tests::algorithm_clock::control_only_phase_cannot_be_used_to_submit_an_order_or_leave_matching_disabled ... ok +test broker::tests::algorithm_clock::changing_the_later_daily_close_does_not_resize_an_algorithm_submitted_now ... ok +test broker::tests::algorithm_clock::non_matching_controls_amend_or_cancel_without_filling_a_crossing_quote ... ok +test broker::tests::algorithm_clock::global_vwap_matching_keeps_the_same_working_order_between_clock_ticks ... ok +test broker::tests::algorithm_clock::partial_algorithm_cancel_releases_reservation_and_never_executes_the_remainder ... ok +test broker::tests::algorithm_clock::separate_buy_cannot_spend_the_working_algorithms_cash_budget ... ok +test broker::tests::complete_daily_target_batch_uses_positive_target_count_for_slot_limit ... ok +test broker::tests::algorithm_clock::two_working_algorithms_reserve_only_real_cash_without_starving_the_first ... ok +test broker::tests::custom_valuation_missing_with_current_market_still_fails_closed ... ok +test broker::tests::daily_capacity_requires_a_timed_observation_instead_of_falling_back_to_total_volume ... ok +test broker::tests::daily_matching_does_not_require_intraday_quote_quantity ... ok +test broker::tests::algorithm_clock::twap_clock_preserves_quantity_prices_fees_budget_and_parent_order ... ok +test broker::tests::decision_buy_denial_allows_reducing_an_existing_buy ... ok +test broker::tests::algorithm_clock::vwap_clock_preserves_cash_costs_and_does_not_spend_future_volume ... ok +test broker::tests::decision_buy_denial_does_not_rewrite_existing_pending_order ... ok +test broker::tests::decision_buy_denial_rejects_increasing_amendments_without_mutation ... ok +test broker::tests::daily_session_volume_changes_only_audit_not_opening_fills ... ok +test broker::tests::decision_buy_denial_blocks_topup_but_allows_sell_and_does_not_leak ... ok +test broker::tests::each_execution_leg_rechecks_one_yuan_including_slippage_and_limit_price ... ok +test broker::tests::explicit_quote_price_models_do_not_replace_missing_prices_or_reuse_older_ones ... ok +test broker::tests::decision_buy_denial_uses_actual_next_open_target_delta ... ok +test broker::tests::failed_target_exit_blocks_replacement_entry_when_no_position_slot_is_released ... ok +test broker::tests::gtc_resting_order_keeps_its_session_and_original_dates_across_days ... ok +test broker::tests::deferred_etf_batch_failure_keeps_both_targets_and_prior_generation_progress ... ok +test broker::tests::failed_new_batch_does_not_erase_prior_success_or_double_charge_on_retry ... ok +test broker::tests::historical_slippage_rejects_missing_future_or_invalid_calibration_without_raw_price_fallback ... ok +test broker::tests::instantaneous_twap_without_limits_does_not_cap_quote_quantity ... ok +test broker::tests::intraday_execution_rejects_buy_at_upper_limit_price ... ok +test broker::tests::independent_target_entry_is_not_subject_to_replacement_slot_limit ... ok +test broker::tests::intraday_execution_rejects_sell_at_lower_limit_price ... ok +test broker::tests::later_execution_clocks_do_not_replenish_the_same_observed_volume ... ok +test broker::tests::minute_last_exact_time_does_not_fallback_to_older_liquid_quote ... ok +test broker::tests::market_share_buy_skips_quantity_that_rounds_below_one_lot ... ok +test broker::tests::minute_last_execution_uses_latest_quote_before_decision_time ... ok +test broker::tests::minute_last_prefilter_does_not_use_snapshot_minute_volume ... ok +test broker::tests::minute_last_quote_quantity_cap_depends_on_liquidity_limit ... ok +test broker::tests::minute_last_uses_volume_delta_when_level1_depth_missing ... ok +test broker::tests::minute_last_volume_limit_caps_quote_volume_delta_without_liquidity_limit ... ok +test broker::tests::minute_last_volume_limit_rejects_sub_lot_quote_volume ... ok +test broker::tests::minute_last_without_volume_or_liquidity_limit_does_not_cap_quote_quantity ... ok +test broker::tests::historical_slippage_does_not_read_later_daily_fields_for_open_or_minute_fills ... ok +test broker::tests::next_open_buy_limit_risk_rejects_open_upper_limit_even_when_close_is_clean ... ok +test broker::tests::next_open_buy_limit_risk_uses_open_not_close ... ok +test broker::tests::next_open_buy_risk_rejects_execution_date_st_even_if_signal_date_was_clean ... ok +test broker::tests::next_open_buy_risk_rejects_execution_date_delisted_even_without_market_snapshot ... ok +test broker::tests::next_open_buy_risk_uses_execution_date_not_signal_date ... ok +test broker::tests::next_open_sell_limit_risk_rejects_open_lower_limit_even_when_close_is_clean ... ok +test broker::tests::next_open_day_limit_remainder_matches_intraday_with_execution_day_ttl ... ok +test broker::tests::next_open_sell_limit_risk_uses_open_not_close ... ok +test broker::tests::next_open_sell_risk_rejects_execution_date_lower_limit_even_if_signal_date_was_clean ... ok +test broker::tests::next_open_sell_risk_uses_execution_date_not_signal_date ... ok +test broker::tests::next_open_target_portfolio_unpriced_symbol_does_not_abort_batch ... ok +test broker::tests::next_open_target_value_recomputes_quantity_from_execution_open ... ok +test broker::tests::next_open_target_value_valuation_uses_execution_open ... ok +test broker::tests::next_open_unpriced_active_snapshot_rejects_without_historical_fill ... ok +test broker::tests::open_order_upsert_replaces_in_place_and_preserves_queue_position ... ok +test broker::tests::next_open_unpriced_paused_snapshot_prefers_execution_day_pause_risk ... ok +test broker::tests::next_open_with_observations_uses_opening_volume_not_daily_totals_or_future_quotes ... ok +test broker::tests::pending_registered_shares_do_not_trigger_duplicate_target_buys ... ok +test broker::tests::post_close_phase_is_derived_from_actual_same_day_submission_time ... ok +test broker::tests::post_close_order_uses_close_without_slippage_and_waits_until_matching_window ... ok +test broker::tests::queued_order_retains_the_real_creation_clock_when_retried ... ok +test broker::tests::session_audit_does_not_infer_an_opening_suspension_from_future_zero_volume ... ok +test broker::tests::session_capacity_audit_never_caps_an_early_odd_lot_sell ... ok +test broker::tests::public_callback_unwind_does_not_leak_order_context_or_authoritative_prior_state ... ok +test broker::tests::scheduled_target_value_valuation_and_sizing_use_same_intraday_price ... ok +test broker::tests::stock_pool_after_sell_rejects_missing_quote_instead_of_reusing_daily_open ... ok +test broker::tests::stock_pool_after_sell_uses_fresh_quotes_and_actual_submission_clock ... ok +test broker::tests::stock_pool_delayed_sell_does_not_start_buys_after_the_configured_window ... ok +test broker::tests::stock_pool_delayed_take_profit_does_not_rebuy_the_same_generation_exit ... ok +test broker::tests::stock_pool_engine_drives_the_pending_buy_without_a_minute_strategy_callback ... ok +test broker::tests::stock_pool_new_signal_supersedes_the_unsubmitted_buy_phase ... ok +test broker::tests::stock_pool_pending_phase_cannot_cross_the_execution_session ... ok +test broker::tests::stock_pool_partial_sell_waits_for_the_whole_batch_and_never_reissues_buys ... ok +test broker::tests::strict_value_buy_budget_includes_commission_at_execution_price ... ok +test broker::tests::stock_pool_pending_sell_continues_buy_after_actual_fill_without_strategy_rerun ... ok +test broker::tests::successful_target_exit_releases_position_slot_for_replacement_entry ... ok +test broker::tests::target_percent_reduction_from_full_to_twenty_percent_sells_eighty_percent ... ok +test broker::tests::target_portfolio_smart_budgets_each_buy_before_cash_optimization ... ok +test broker::tests::target_portfolio_smart_custom_valuation_does_not_create_limit_orders ... ok +test broker::tests::target_portfolio_smart_defers_buy_risk_until_order_validation ... ok +test broker::tests::target_portfolio_smart_ignores_zero_weight_symbols_without_market_snapshot ... ok +test broker::tests::target_portfolio_smart_keeps_position_when_sell_snapshot_missing ... ok +test broker::tests::target_portfolio_smart_open_auction_uses_day_open_for_valuation ... ok +test broker::tests::target_portfolio_smart_records_buy_rejection_when_target_is_blacklisted ... ok +test broker::tests::target_portfolio_smart_pre_open_cash_does_not_spend_same_batch_sell_proceeds ... ok +test broker::tests::target_portfolio_smart_uses_prior_close_only_for_missing_day_valuation ... ok +test broker::tests::target_value_delta_below_order_step_is_audited_without_creating_zero_quantity_order ... ok +test broker::tests::target_value_reduction_from_full_to_twenty_percent_sells_eighty_percent ... ok +test broker::tests::target_value_batch_executes_reductions_before_increases_when_sell_cash_is_reusable ... ok +test broker::tests::target_value_zero_rejects_sell_when_market_snapshot_missing ... ok +test broker::tests::target_weight_buy_quantity_respects_per_symbol_budget_after_slippage_and_fees ... ok +test broker::tests::timed_target_value_zero_sells_full_position_at_requested_time_quote ... ok +test broker::tests::twap_earlier_fills_do_not_depend_on_later_quote_liquidity_or_count ... ok +test broker::tests::unchanged_targets_do_not_create_zero_quantity_orders ... ok +test broker::tests::unwinding_an_unpublished_simulator_transaction_restores_its_state ... ok +test broker::tests::failed_resting_order_batch_keeps_accepted_orders_and_unpublished_financial_state ... ok +test broker::tests::value_buy_process_uses_latest_quote_before_decision_time ... ok +test broker::tests::value_buy_rejects_when_slippage_clamps_execution_price_to_upper_limit ... ok +test corporate_book::tests::closing_register_cannot_be_replaced_by_later_holdings ... ok +test corporate_book::tests::dividend_receivable_survives_a_flat_position_without_becoming_spendable_cash ... ok +test corporate_book::tests::a_late_corporate_batch_failure_keeps_prior_cash_positions_and_notes ... ok +test corporate_book::tests::entitlement_survives_complete_sale_and_a_successor_unit_conversion ... ok +test corporate_book::tests::flat_position_retirement_does_not_change_issued_lot_state_or_next_purchase_origin ... ok +test corporate_book::tests::corporate_quantity_overflow_fails_without_saturation_or_a_negative_delta ... ok +test corporate_book::tests::explicitly_delayed_dividend_remains_receivable_until_actual_payment ... ok +test corporate_book::tests::manual_zero_skips_only_unused_allocation_facts_not_invalid_cash_evidence ... ok +test corporate_book::tests::missing_accounting_reference_is_atomic_not_a_silent_cash_only_success ... ok +test corporate_book::tests::invalid_delivery_negative_rates_and_unresolved_fractional_claims_are_atomic ... ok +test corporate_book::tests::missing_or_backward_cash_payment_date_never_updates_the_account ... ok +test corporate_book::tests::per_share_precision_is_retained_until_the_registered_cash_amount_is_rounded ... ok +test corporate_book::tests::missing_record_date_or_unobserved_closing_book_is_atomic ... ok +test corporate_book::tests::post_record_purchase_does_not_inherit_registered_shares ... ok +test corporate_book::tests::post_record_buy_cannot_receive_the_earlier_dividend ... ok +test corporate_book::tests::registered_shares_are_valued_but_not_delivered_or_sellable_before_the_original_date ... ok +test corporate_book::tests::sale_after_registration_preserves_cash_and_excludes_new_lots_from_cost_adjustment ... ok +test corporate_book::tests::successor_without_frozen_instrument_metadata_is_not_an_implicit_new_security ... ok +test corporate_book::tests::terminated_security_keeps_paid_cash_and_is_not_recreated_by_reinvestment ... ok +test corporate_book::tests::successor_conversion_cannot_discard_unresolved_share_entitlements ... ok +test corporate_book::tests::tiny_known_cash_rate_is_preserved_and_cannot_waive_payment_or_record_evidence ... ok +test corporate_book::tests::unresolved_delisting_cannot_zero_a_pending_share_asset ... ok +test cost::tests::cost_model_can_use_configurable_stamp_tax_change_date ... ok +test cost::tests::default_quantizes_fees_to_micro_yuan ... ok +test cost::tests::fund_fees_use_admitted_instrument_type_and_share_the_order_commission_budget ... ok +test corporate_book::tests::verified_conversion_preserves_lots_without_creating_orders_or_fills ... ok +test corporate_book::tests::invalid_successor_terms_cannot_be_replaced_with_one_share_or_zero_cash ... ok +test daily_patterns::tests::daily_patterns_adjusts_all_prices_not_volume ... ok +test daily_patterns::tests::breakout_retest_needs_a_later_retest_not_the_breakout_candle_itself ... ok +test daily_patterns::tests::daily_patterns_flat_decimal_prices_do_not_create_a_sell_signal ... ok +test daily_patterns::tests::daily_patterns_helper_literal_preserves_parameters ... ok +test daily_patterns::tests::daily_patterns_rejects_future_and_duplicate_bars ... ok +test daily_patterns::tests::daily_patterns_no_missing_data_fallback ... ok +test daily_patterns::tests::daily_patterns_all_templates_and_score_absence ... ok +test daily_patterns::tests::limit_consolidation_requires_real_limit_and_never_infers_ten_percent ... ok +test daily_patterns::tests::mean_volume_followup_requires_bullish_breakout_and_shrink ... ok +test daily_patterns::tests::mean_volume_is_not_prior_max_and_excludes_current_bar ... ok +test daily_patterns::tests::expression_condition_preserves_native_types_and_rejects_numeric_as_signal ... ok +test daily_patterns::tests::research_index_and_ranking_context_never_unlock_strategy_mapping ... ok +test data::series_columns::tests::differing_prices_preserve_zero_nan_payloads_and_prior_rows ... ok +test daily_patterns::tests::research_isolates_missing_listing_day_without_weakening_execution ... ok +test data::series_columns::tests::identical_prices_share_only_after_exact_bit_comparison ... ok +test data::series_columns::tests::optional_values_keep_none_distinct_from_empty_and_repeated_text ... ok +test data::series_columns::tests::repeated_values_preserve_nonzero_values_and_copy_on_change ... ok +test daily_patterns::tests::research_numeric_output_keeps_warmup_unknown_without_a_false_signal ... ok +test data::series_columns::tests::repeated_values_reject_out_of_range_access - should panic ... ok +test data::tests::adjusted_close_average_normalization_prevents_strict_crossover_drift ... ok +test data::tests::baseline_selection_uses_dated_lifecycle_not_latest_undated_status ... ok +test data::tests::benchmark_current_rolling_reuses_symbol_boundary ... ignored, manual release-mode current rolling boundary benchmark +test data::tests::benchmark_daily_snapshot_view_lookup ... ignored, manual component benchmark +test data::tests::benchmark_decision_close_windows_exclude_current_close ... ok +test data::tests::benchmark_instrument_symbol_id_lookup ... ignored, manual release-mode instrument lookup benchmark +test data::tests::benchmark_series_boundary_reuses_calendar_index ... ignored, manual release-mode calendar index reuse benchmark +test data::tests::additional_terminal_calendar_dates_are_isolated_from_shared_market_data ... ok +test data::tests::batched_standard_rolling_means_match_scalar_lookups ... ok +test data::tests::current_close_average_uses_backward_adjustment_factor_and_current_base ... ok +test data::tests::daily_bundle_constructor_rejects_duplicate_or_mismatched_dates ... ok +test data::tests::day_open_moving_average_uses_its_own_historical_column ... ok +test data::tests::decision_close_average_ignores_current_day_close ... ok +test data::tests::dataset_clone_shares_immutable_base_and_isolates_execution_quotes ... ok +test data::tests::decision_market_cap_uses_factor_date_snapshot_without_price_reconstruction ... ok +test data::tests::decision_volume_average_ignores_paused_zero_volume_days ... ok +test data::tests::decision_volume_average_uses_previous_completed_days_only ... ok +test data::tests::eligible_universe_can_use_configured_risk_policy ... ok +test data::tests::direct_symbol_id_snapshot_lookups_preserve_alignment_for_sparse_rows ... ok +test data::tests::eligible_universe_does_not_require_candidate_risk_state_when_selection_risk_is_disabled ... ok +test data::tests::daily_bundle_constructor_matches_flat_component_constructor ... ok +test data::tests::factor_numeric_value_normalizes_fields_without_changing_aliases ... ok +test data::tests::execution_quotes_use_stable_k_way_merge_and_release_by_date ... ok +test data::tests::factor_snapshot_normalization_moves_clean_maps_and_repairs_dirty_maps ... ok +test data::tests::factor_snapshot_rejects_legacy_or_invalid_adjustment_storage ... ok +test data::tests::eligible_universe_uses_decision_market_cap_same_date ... ok +test data::tests::intraday_overlay_fails_closed_when_daily_panel_is_shared ... ok +test data::tests::future_missing_adjustment_factor_does_not_invalidate_historical_window ... ok +test data::tests::parallel_dense_index_rejects_invalid_days_without_publishing_partial_index ... ok +test data::tests::parallel_daily_symbol_indices_match_scalar_for_sparse_and_empty_days ... ok +test data::tests::replacing_execution_quotes_preserves_duplicate_timestamp_rows ... ok +test data::tests::series_columns_preserve_full_snapshots_and_distinct_price_bits ... ok +test data::tests::series_end_position_index_preserves_decision_and_current_boundaries ... ok +test data::tests::series_overlay_materializes_only_changed_values_and_preserves_history_cutoff ... ok +test data::tests::shared_execution_quote_release_does_not_clone_the_base_map ... ok +test data::tests::symbol_id_union_preserves_lexical_order_and_all_component_sources ... ok +test data::tests::symbol_price_series_test_constructor_sorts_unsorted_rows ... ok +test data::tests::source_volume_contract_rejects_windows_containing_missing_values ... ok +test data::tests::unique_dataset_applies_sparse_intraday_overlay_to_daily_and_symbol_views ... ok +test decision_projection::tests::exact_projection_coverage_and_classified_absence_are_receipted ... ok +test data::tests::parallel_daily_bundle_validation_keeps_earliest_error_and_component_order ... ok +test decision_projection::tests::projection_contract_does_not_shadow_core_market_or_typed_fields ... ok +test decision_projection::tests::projection_rejects_future_drift_or_unbound_receipts ... ok +test data::tests::volume_rolling_ignores_zero_volume_rows_for_source_and_legacy_data ... ok +test decision_projection::tests::projection_rejects_incomplete_duplicate_extra_and_overlapping_population ... ok +test decision_projection::tests::projection_rejects_nonfinite_wrong_fields_and_unproven_absence ... ok +test engine::tests::backtest_execution_dates_match_sparse_lagged_equity_schedule ... ok +test engine::tests::after_trading_cancel_is_executed_as_a_control_not_a_next_session_order ... ok +test engine::tests::compact_progress_keeps_counts_without_event_payload_clones ... ok +test engine::tests::current_bar_close_uses_decision_day_close_for_fill ... ok +test engine::tests::decision_projection_does_not_silently_shift_a_start_without_prior_inputs ... ok +test engine::tests::current_close_order_at_1500_loads_and_uses_post_close_matching_window ... ok +test engine::tests::compact_manual_progress_keeps_exact_applications_and_fallible_delivery_stops_the_run ... ok +test engine::tests::decision_projection_failure_never_reaches_strategy_and_does_not_blindly_retry ... ok +test engine::tests::decision_projection_refuses_static_scores_and_same_session_inputs ... ok +test engine::tests::decision_projection_rejects_future_response_before_any_strategy_callback ... ok +test engine::tests::decision_projection_is_called_before_callbacks_and_is_not_shared_or_carried_forward ... ok +test engine::tests::decision_projection_rejects_missing_calendar_inputs_instead_of_dropping_a_session ... ok +test engine::tests::decision_projection_requested_first_session_uses_visible_preperiod_inputs ... ok +test engine::tests::default_close_phase_waits_for_close_and_callbacks_receive_completed_trade_history ... ok +test engine::tests::early_pre_open_schedules_observe_manual_receipts_in_chronological_order ... ok +test engine::tests::empty_manual_source_does_not_retime_natural_strategy_execution ... ok +test engine::tests::final_day_late_intents_are_retained_without_orders_or_fills_past_the_end ... ok +test engine::tests::join_text_parts_matches_vec_join_contract ... ok +test engine::tests::full_minute_coverage_rejects_missing_active_bars_but_allows_paused_or_zero_volume ... ok +test engine::tests::lagged_signal_callbacks_keep_signal_date_but_process_notifications_use_execution_date ... ok +test engine::tests::late_day_callbacks_read_the_actual_earlier_trade_and_keep_their_current_clock ... ok +test engine::tests::late_complete_targets_use_latest_target_and_next_day_zero_supersedes_them ... ok +test engine::tests::late_intents_do_not_wait_for_another_selection_snapshot ... ok +test engine::tests::late_imperative_orders_execute_once_in_next_session_with_original_dates_and_new_price ... ok +test engine::tests::late_opening_callback_is_interleaved_with_earlier_quotes_and_manual_observations ... ok +test engine::tests::lifecycle_quote_filter_skips_only_dated_legal_absence_before_loading ... ok +test engine::tests::minute_event_clock_uses_timestamp_order_and_coalesces_equal_heads ... ok +test engine::tests::latest_unsent_complete_portfolio_does_not_union_an_older_pre_market_target ... ok +test engine::tests::minute_schedules_fire_at_each_declared_time_without_market_rows_at_those_times ... ok +test engine::tests::next_bar_open_eligible_universe_helper_does_not_block_on_decision_day_risk ... ok +test engine::tests::minute_observer_never_sees_a_later_fill_from_a_coarse_phase ... ok +test engine::tests::next_bar_open_executes_last_decision_without_execution_day_factor_snapshot ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_st_state ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_paused_state ... ok +test engine::tests::manual_observations_are_visible_at_their_real_phase_and_each_receipt_sequence ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_upper_limit_state ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_star_st_state ... ok +test engine::tests::next_bar_open_execution_risk_ignores_later_one_yuan_close ... ok +test engine::tests::next_bar_open_execution_risk_rejects_blacklisted_buy_on_execution_day ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_paused_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_delisted_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_star_st_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_upper_limit_buy ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_st_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_one_yuan_open_despite_higher_close ... ok +test engine::tests::next_bar_open_execution_risk_uses_open_not_close_for_upper_limit_buy ... ok +test engine::tests::next_bar_open_same_day_rebuy_uses_actual_execution_date ... ok +test engine::tests::next_bar_open_scheduled_signal_uses_decision_date_not_execution_date ... ok +test engine::tests::next_bar_open_sell_respects_allow_sell_policy_on_execution_day ... ok +test engine::tests::next_bar_open_sell_risk_ignores_decision_day_paused_and_lower_limit_state ... ok +test engine::tests::next_bar_open_sell_risk_rejects_execution_day_lower_limit_state ... ok +test engine::tests::next_bar_open_sell_risk_uses_open_not_close_for_lower_limit_sell ... ok +test engine::tests::next_bar_open_sell_volume_limit_ignores_decision_day_zero_volume ... ok +test engine::tests::next_bar_open_session_audit_flags_zero_volume_without_rewriting_fills ... ok +test engine::tests::next_bar_open_skips_unavailable_lag_day_and_fills_next_open ... ok +test engine::tests::next_bar_open_strategy_context_data_helpers_use_decision_date ... ok +test engine::tests::next_bar_open_target_percent_freezes_decision_day_equity ... ok +test engine::tests::next_bar_open_target_portfolio_smart_sizes_with_execution_day_open ... ok +test engine::tests::next_open_observation_loads_quotes_even_when_execution_price_is_open ... ok +test engine::tests::observed_manual_sale_updates_the_shared_same_day_rebuy_rule ... ok +test engine::tests::opening_schedule_cannot_cross_the_after_trading_phase ... ok +test engine::tests::opening_and_late_lifecycle_schedules_do_not_read_past_or_future_manual_state ... ok +test engine::tests::opening_orders_are_submitted_once_at_their_real_clock_even_with_an_earlier_execution_window ... ok +test engine::tests::physical_on_day_rules_keep_each_actual_submission_time ... ok +test engine::tests::opening_subscription_is_loaded_without_replaying_quotes_before_its_activation ... ok +test engine::tests::post_close_phase_callbacks_never_rewind_before_completed_fills ... ok +test engine::tests::post_close_wait_has_no_position_before_the_first_actual_matching_tick ... ok +test engine::tests::process_callbacks_observe_the_completed_minute_trade_and_its_clock ... ok +test engine::tests::pre_trading_orders_wait_for_the_configured_window_and_keep_their_audit ... ok +test engine::tests::scheduled_event_detail_records_actual_time_only_for_timed_rules ... ok +test engine::tests::unknown_identity_or_missing_candidate_does_not_waive_quote_coverage ... ok +test engine::tests::wholly_prelisting_universe_retains_cash_days_without_fabricating_prices ... ok +test engine::tests::pre_market_cancel_is_observed_before_the_next_open_and_new_signal ... ok +test etf_execution::tests::latest_generation_overwrites_pending_targets_and_preserves_candidate_order ... ok +test etf_execution::tests::no_loaded_next_session_is_not_guessed_from_natural_days ... ok +test events::tests::accounting_origin_cannot_disguise_an_exchange_order_or_fee ... ok +test events::tests::fill_execution_timestamp_range_is_explicit_and_backward_compatible ... ok +test events::tests::order_event_status_quantity_contract_is_explicit ... ok +test events::tests::process_event_business_lifecycle_filter_keeps_audit_events_only ... ok +test execution_capacity::tests::completed_volume_cannot_be_used_for_an_earlier_open ... ok +test execution_capacity::tests::decimal_participation_never_rounds_a_fractional_share_up_or_overflows ... ok +test execution_capacity::tests::delayed_publication_and_invalid_bounds_are_not_treated_as_zero_volume ... ok +test engine::tests::window_algorithm_cannot_publish_future_fill_quantity_to_earlier_callbacks ... ok +test execution_capacity::tests::session_audit_changes_verdict_not_executed_quantity ... ok +test execution_schedule::tests::clock_entitlements_are_exact_and_allow_backlog_without_future_quote_counts ... ok +test factor_cross_section::tests::neutralization_preserves_input_order ... ok +test factor_cross_section::tests::ties_keep_equal_rank_and_missing_universe_rejects ... ok +test engine::tests::scheduled_day_limit_order_loads_later_quotes_without_strategy_minute_subscription ... ok +test factor_events::tests::cross_is_event_not_state_and_never_uses_future ... ok +test factor_cross_section::tests::historical_ranks_keep_ties_and_unknown_full_cross_sections ... ok +test factor_events::tests::missing_is_not_zero_and_breakout_excludes_current ... ok +test factor_events::tests::no_event_has_no_bars_since_and_type_errors_reject ... ok +test factor_events::tests::every_parameter_domain_is_structured_and_matches_native_defaults ... ok +test factor_events::tests::ta_rewarms_after_gap_and_const_zscore_is_unknown ... ok +test factor_events::tests::ta_sma_real_values_and_parameter_validation ... ok +test finite_serialization::tests::pending_numbers_cannot_be_silently_serialized_as_optional_nulls ... ok +test fixed_point::tests::decimal_parser_rounds_only_beyond_money_scale ... ok +test fixed_point::tests::fixed_budget_comparison_rejects_one_micro_yuan_overrun ... ok +test fixed_point::tests::fixed_budget_never_exceeds_cash_after_cost ... ok +test fixed_point::tests::fixed_fifo_pnl_and_external_flow_are_deterministic ... ok +test fixed_point::tests::runtime_cost_model_matches_fixed_execution_primitive ... ok +test fixed_point::tests::runtime_split_commission_matches_fixed_execution_primitive ... ok +test holding_policy::tests::absolute_locks_are_inclusive_and_override_timed_exit_without_changing_other_symbols ... ok +test holding_policy::tests::manual_origin_only_bypasses_automatic_policy_not_an_order_or_broker_permission ... ok +test holding_policy::tests::opening_date_follows_fills_not_partial_sales_or_corporate_conversions ... ok +test holding_policy::tests::three_complete_sessions_protect_through_wednesday_not_72_hours ... ok +test holding_policy::tests::zero_disabled_and_missing_calendar_or_opened_date_are_not_inferred ... ok +test instrument::tests::lifecycle_is_dated_and_latest_undated_terminal_status_is_not_historical_evidence ... ok +test instrument::tests::listing_sector_is_explicit_and_unknown_stays_unknown ... ok +test instrument::tests::order_quantity_rules_are_case_insensitive_without_allocating_normalized_boards ... ok +test manual_execution::tests::a_failed_corporate_projection_does_not_change_the_book_or_receipt_cursor ... ok +test manual_execution::tests::all_required_money_and_binding_fields_reject_missing_or_wrong_values ... ok +test manual_execution::tests::authoritative_total_fee_does_not_require_inventing_unknown_components ... ok +test manual_execution::tests::changing_any_external_price_or_identity_invalidates_the_frozen_trace ... ok +test manual_execution::tests::complete_exact_decimal_evidence_allows_later_observation_and_retains_source_digits ... ok +test manual_execution::tests::confirmed_manual_fill_changes_cash_and_lots_but_not_external_cash_flow_units ... ok +test manual_execution::tests::confirmed_no_order_outcome_is_distinct_from_unconfirmed_or_unknown_work ... ok +test manual_execution::tests::cursor_waits_for_observation_and_never_reapplies_or_rewinds ... ok +test manual_execution::tests::data_scope_only_contains_actual_filled_securities_and_validates_the_source ... ok +test manual_execution::tests::failed_multi_receipt_advance_keeps_both_progress_and_portfolio_unchanged ... ok +test manual_execution::tests::fixed_money_decimal_text_preserves_micro_units_without_float_conversion ... ok +test factor_events::tests::literal_unknown_fields_reject_and_catalog_is_not_trading_permission ... ok +test factor_events::tests::parameter_domains_keep_enumeration_labels_without_debug_string_parsing ... ok +test manual_execution::tests::inconsistent_counts_terminals_audits_and_duplicate_facts_are_rejected ... ok +test manual_execution::tests::late_buy_fifo_depletion_preserves_costs_and_cannot_unlock_today_lots ... ok +test manual_execution::tests::late_buy_retains_the_earliest_opening_and_latest_buy_dates ... ok +test manual_execution::tests::late_fee_evidence_keeps_the_original_fill_observation_clock ... ok +test manual_execution::tests::manual_mismatches_are_atomic_and_do_not_borrow_shares_cash_or_override_pending_orders ... ok +test manual_execution::tests::manual_fee_total_includes_extra_charges_and_rejects_inconsistent_components ... ok +test manual_execution::tests::observations_follow_durable_receipt_order_and_not_input_array_order ... ok +test manual_execution::tests::partial_cancel_is_valid_but_full_fill_cannot_be_reported_as_cancelled ... ok +test manual_execution::tests::runtime_position_events_cannot_claim_observations_after_the_source_cutoff ... ok +test manual_execution::tests::raw_timezone_and_cutoff_are_required ... ok +test manual_execution::tests::v2_facts_keep_their_encoding_but_cannot_silently_carry_new_runtime_settings ... ok +test manual_execution::tests::the_next_day_manual_sale_keeps_the_actual_quantity_and_fee_contract ... ok +test market_event_context::tests::formulas_use_real_limits_and_full_denominators ... ok +test market_event_context::tests::missing_duplicate_and_unproven_limit_states_fail ... ok +test market_event_context::tests::chunking_and_future_append_preserve_history ... ok +test manual_execution::tests::source_time_precision_is_not_invented_and_submitted_time_must_fit_the_interval ... ok +test metrics::risk_adjusted_contract_tests::changing_daily_rates_adjusts_each_return_before_variance_and_downside ... ok +test metrics::risk_adjusted_contract_tests::incomplete_or_invalid_rates_are_not_zero_rate_observations ... ok +test market_event_context::tests::missing_industry_does_not_invent_groups_or_disable_independent_market_facts ... ok +test metrics::risk_adjusted_contract_tests::zero_deviation_and_single_sample_ratios_remain_undefined ... ok +test metrics::tests::a_defined_zero_ratio_is_not_missing ... ok +test metrics::tests::drawdown_includes_initial_nav_without_adding_a_trading_day ... ok +test metrics::tests::benchmark_cumulative_return_uses_first_day_previous_close ... ok +test metrics::tests::external_cash_flow_is_excluded_from_return_and_reported_separately ... ok +test metrics::tests::first_day_loss_is_preserved_in_shared_backtest_metrics ... ok +test metrics::tests::gains_without_downside_have_no_sortino_or_monthly_sharpe ... ok +test metrics::tests::no_risk_ratio_is_fabricated_after_nav_has_reached_zero ... ok +test metrics::tests::risk_adjusted_metrics_use_daily_pit_rates_and_all_period_downside ... ok +test metrics::tests::signal_baseline_uses_same_close_for_strategy_and_benchmark ... ok +test numeric_expr_vm::tests::benchmark_numeric_vm_against_rhai ... ignored, manual release-mode performance evidence +test numeric_expr_vm::tests::floating_comparisons_match_rhai_epsilon_semantics ... ok +test numeric_expr_vm::tests::evaluates_numeric_boolean_and_if_expressions ... ok +test metrics::tests::undefined_ratios_remain_null_in_backtest_metrics ... ok +test numeric_expr_vm::tests::invalid_clamp_returns_error_without_panicking ... ok +test numeric_expr_vm::tests::nullable_boolean_truth_table_preserves_unknown_under_negation ... ok +test numeric_expr_vm::tests::nullable_short_circuit_and_explicit_conditional_branches_are_lazy ... ok +test numeric_expr_vm::tests::missing_numeric_operands_do_not_become_boolean_false_or_zero ... ok +test numeric_expr_vm::tests::rejects_dynamic_language_features ... ok +test numeric_expr_vm::tests::scratch_reuses_allocations_across_program_runs ... ok +test numeric_expr_vm::tests::short_circuit_does_not_resolve_unused_variable ... ok +test numeric_expr_vm::tests::supports_numeric_builtins_and_local_reuse ... ok +test numeric_factors::tests::bulk_load_is_sorted_and_keeps_last_value_for_each_field ... ok +test numeric_factors::tests::clone_does_not_share_mutable_values ... ok +test numeric_factors::tests::compact_keys_inline_dynamic_names_and_keep_long_static_storage ... ok +test numeric_factors::tests::exact_reservation_preserves_values_and_avoids_growth_during_known_inserts ... ok +test numeric_factors::tests::long_dynamic_unicode_and_short_keys_keep_the_same_json_map ... ok +test numeric_factors::tests::serialization_keeps_the_map_contract_and_precise_numbers ... ok +test numeric_expr_vm::tests::matches_rhai_for_representative_numeric_boolean_corpus ... ok +test numeric_factors::tests::wide_batch_merge_matches_tree_and_preserves_old_key_ownership ... ok +test pattern_context::tests::normalized_rule_does_not_turn_an_omitted_window_into_explicit_null ... ok +test numeric_factors::tests::updates_order_removal_and_values_match_tree_map ... ok +test pattern_context::tests::reference_index_never_defaults_to_performance_benchmark ... ok +test pattern_context::tests::runtime_contract_rejects_missing_range_and_recursive_ranks ... ok +test pattern_context::tests::structured_pool_conditions_are_not_rescanned_inside_serialized_source_code ... ok +test pattern_context::tests::dataset_rank_is_full_scope_causal_and_equal_to_pure_cross_section ... ok +test platform_expr_strategy::tests::allocation_buy_scale_preserves_explicit_overweight_multiplier ... ok +test platform_expr_strategy::tests::benchmark_compiled_runtime_helper_arguments ... ignored, manual release-mode runtime helper binding benchmark +test platform_expr_strategy::tests::bjse_symbol_detection_is_case_insensitive_without_normalizing_all_symbols ... ok +test platform_expr_strategy::tests::available_factor_name_collection_preserves_sparse_and_repeated_fields ... ok +test platform_expr_strategy::tests::buy_filter_attaches_denials_without_rewriting_selection ... ok +test platform_expr_strategy::tests::available_factor_name_collection_preserves_wide_dynamic_field_identity ... ok +test platform_expr_strategy::tests::buy_quote_filter_rejects_missing_intraday_quote_not_daily_close ... ok +test platform_expr_strategy::tests::buy_filter_uses_active_schedule_time_instead_of_first_configured_time ... ok +test platform_expr_strategy::tests::completed_session_factor_dates_exclude_intraday_and_preserve_next_open ... ok +test platform_expr_strategy::tests::completed_session_bound_value_does_not_read_same_day_future_value ... ok +test platform_expr_strategy::tests::daily_replacement_reference_records_an_explicit_empty_previous_target ... ok +test platform_expr_strategy::tests::daily_pattern_runtime_uses_the_shared_kernel_and_rejects_early_visibility ... ok +test platform_expr_strategy::tests::dated_position_exposure_uses_the_latest_effective_point ... ok +test platform_expr_strategy::tests::current_rolling_helpers_do_not_load_factor_maps_or_decision_rollings ... ok +test platform_expr_strategy::tests::daily_replacement_reference_uses_previous_target_before_lagged_orders_fill ... ok +test platform_expr_strategy::tests::expression_plan_skips_unreferenced_market_scope_maps ... ok +test platform_expr_strategy::tests::expression_plan_only_executes_prelude_when_expression_depends_on_it ... ok +test platform_expr_strategy::tests::framework_rolling_factor_aliases_resolve_to_raw_market_series ... ok +test platform_expr_strategy::tests::lagged_rebalance_emits_target_value_even_when_projection_is_unchanged ... ok +test platform_expr_strategy::tests::factor_position_target_reduces_once_without_daily_rebalance_override ... ok +test platform_expr_strategy::tests::market_cap_ordered_selection_range_is_inclusive_and_field_specific ... ok +test platform_expr_strategy::tests::model_target_lifecycle_removes_exits_and_appends_replacements ... ok +test platform_expr_strategy::tests::numeric_vm_compiles_static_runtime_helper_arguments ... ok +test platform_expr_strategy::tests::numeric_vm_reuses_compiled_program_across_invocations ... ok +test platform_expr_strategy::tests::numeric_vm_rewrites_only_valid_iso_date_literals ... ok +test platform_expr_strategy::tests::numeric_vm_reuses_rolling_helper_program_across_dates ... ok +test platform_expr_strategy::tests::market_cap_ascending_rank_reuses_only_equivalent_universe_order ... ok +test platform_expr_strategy::tests::periodic_selected_bjse_buy_rejection_is_audited_without_creating_an_order ... ok +test platform_expr_strategy::tests::platform_aiquant_buy_rejection_keeps_candidate_buy_disabled ... ok +test platform_expr_strategy::tests::platform_aiquant_blocks_target_increase_when_stop_loss_sell_is_lower_limit_blocked ... ok +test platform_expr_strategy::tests::platform_aiquant_buy_rejection_uses_scheduled_price_not_open_limit ... ok +test platform_expr_strategy::tests::platform_aiquant_daily_top_up_releases_second_slot_after_prior_top_up ... ok +test platform_expr_strategy::tests::platform_aiquant_daily_top_up_releases_slot_after_take_profit_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_daily_top_up_uses_remaining_slot_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_marked_total_value_uses_scheduled_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_marked_total_uses_intraday_last_not_close ... ok +test platform_expr_strategy::tests::platform_aiquant_delays_upper_limit_take_profit_to_configured_open_time ... ok +test platform_expr_strategy::tests::platform_aiquant_marks_highlimit_before_cptrade_time ... ok +test platform_expr_strategy::tests::platform_aiquant_minute_last_projection_uses_last_quote_for_buy_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_minute_stop_loss_requires_intraday_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_missing_risk_state_does_not_force_existing_position_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_next_open_stop_loss_uses_signal_close_not_execution_last_price ... ok +test platform_expr_strategy::tests::platform_aiquant_next_open_target_delta_uses_previous_close_and_sizes_at_open ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_allows_signal_day_market_fallback_for_next_open ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_does_not_release_sell_slot_without_execution_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_rejects_missing_symbol_execution_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_reserves_sell_cost_without_same_callback_proceeds ... ok +test platform_expr_strategy::tests::platform_aiquant_periodic_rebalance_uses_total_equity_equal_weight_buy_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_remaining_buy_cash_uses_strategy_visible_price_and_projected_quantity ... ok +test platform_expr_strategy::tests::platform_aiquant_risk_level_forces_existing_position_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_selection_uses_decision_market_cap ... ok +test platform_expr_strategy::tests::platform_aiquant_scheduled_quote_uses_configured_intraday_time ... ok +test platform_expr_strategy::tests::platform_aiquant_sell_projection_uses_signal_day_market_for_lagged_execution ... ok +test platform_expr_strategy::tests::platform_aiquant_sells_down_before_actionable_take_profit_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_skips_positive_target_adjust_when_position_will_close ... ok +test platform_expr_strategy::tests::platform_aiquant_stock_expr_uses_scheduled_minute_price_for_limit_check ... ok +test platform_expr_strategy::tests::platform_aiquant_target_adjust_uses_scheduled_quote_for_position_value ... ok +test platform_expr_strategy::tests::platform_aiquant_target_value_uses_scheduled_mark_for_delta ... ok +test platform_expr_strategy::tests::platform_aiquant_stop_loss_uses_fee_cost_basis_avg_cost ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_allows_pending_highlimit_target_adjust_after_open ... ok +test platform_expr_strategy::tests::platform_aiquant_upper_limit_buy_disabled_does_not_force_exit_existing_position ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_marks_upper_limit_but_allows_target_adjust ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_emits_daily_position_target_adjustment ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_retargets_same_ratio_every_day ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_threshold_only_sells_overweight_positions ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_threshold_top_up_uses_projected_remaining_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_waits_pending_highlimit_target_adjust ... ok +test platform_expr_strategy::tests::platform_buy_rejection_allows_lower_limit_buy_when_ask_is_available ... ok +test platform_expr_strategy::tests::platform_calendar_day_rebalance_interval_can_be_enabled_explicitly ... ok +test platform_expr_strategy::tests::platform_current_rolling_uses_decision_date_row_not_prior_factor_row ... ok +test platform_expr_strategy::tests::platform_can_sell_position_uses_configured_lower_limit_policy ... ok +test platform_expr_strategy::tests::platform_daily_top_up_caps_empty_slot_to_equal_weight_target ... ok +test platform_expr_strategy::tests::platform_daily_top_up_counts_submitted_zero_fill_candidate_as_strategy_slot ... ok +test platform_expr_strategy::tests::platform_daily_top_up_keeps_selection_limited_to_target_count ... ok +test platform_expr_strategy::tests::platform_daily_top_up_does_not_buy_back_same_day_exit ... ok +test platform_expr_strategy::tests::platform_daily_top_up_release_slot_flag_matches_aiquant_exit_signal_state ... ok +test platform_expr_strategy::tests::platform_daily_top_up_releases_unsellable_stop_loss_slot ... ok +test platform_expr_strategy::tests::platform_daily_top_up_skips_current_stop_loss_symbol_like_aiquant ... ok +test platform_expr_strategy::tests::platform_daily_top_up_uses_same_day_sell_cash ... ok +test platform_expr_strategy::tests::platform_day_state_uses_decision_benchmark_close ... ok +test platform_expr_strategy::tests::platform_delayed_open_day_carried_full_close_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_delayed_open_exit_uses_delayed_time_for_slot_projection ... ok +test platform_expr_strategy::tests::platform_delayed_open_day_take_profit_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_expr_code_number_extracts_stock_digits ... ok +test platform_expr_strategy::tests::platform_delayed_open_partial_exit_releases_top_up_slot ... ok +test platform_expr_strategy::tests::platform_explicit_actions_keep_every_declared_trade_time ... ok +test platform_expr_strategy::tests::platform_expr_expands_day_factor_in_prelude ... ok +test platform_expr_strategy::tests::platform_expr_limit_flags_are_directional ... ok +test platform_expr_strategy::tests::platform_expr_cost_model_honors_zero_minimum_commission ... ok +test platform_expr_strategy::tests::platform_expr_normalizes_python_style_integer_division ... ok +test platform_expr_strategy::tests::platform_expr_normalizes_signal_field_alias_in_prelude ... ok +test platform_expr_strategy::tests::platform_expr_cost_model_uses_commission_override ... ok +test platform_expr_strategy::tests::platform_expr_preflight_rejects_malformed_expression_with_field_name ... ok +test platform_expr_strategy::tests::platform_expr_preflight_accepts_all_configured_expression_categories ... ok +test platform_expr_strategy::tests::platform_expr_rewrites_nested_ternary ... ok +test platform_expr_strategy::tests::platform_expr_rewrites_prelude_assignment_ternary ... ok +test platform_expr_strategy::tests::platform_expr_missing_requested_factor_does_not_default_to_zero ... ok +test platform_expr_strategy::tests::platform_expr_rewrites_multiple_nested_ternaries_inside_function_calls ... ok +test platform_expr_strategy::tests::platform_expr_safe_div_supports_two_and_three_arg_forms ... ok +test platform_expr_strategy::tests::platform_expr_supports_python_style_string_aliases ... ok +test platform_expr_strategy::tests::platform_expr_tracks_requested_dynamic_factor_identifiers ... ok +test platform_expr_strategy::tests::platform_full_exposure_carried_full_close_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_lagged_exit_does_not_reserve_replacement_slot_before_execution ... ok +test platform_expr_strategy::tests::platform_full_exposure_partial_stop_loss_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_marked_total_value_uses_current_day_close ... ok +test platform_expr_strategy::tests::platform_helpers_support_generic_rolling_stats_and_normalized_factors ... ok +test platform_expr_strategy::tests::platform_max_holding_days_counts_decision_trading_days_not_calendar_days ... ok +test platform_expr_strategy::tests::platform_max_holding_days_exit_preempts_take_profit_exit ... ok +test platform_expr_strategy::tests::platform_minute_last_volume_limit_does_not_require_l1_quantity ... ok +test platform_expr_strategy::tests::platform_market_cap_field_uses_storage_unit_without_extra_scaling ... ok +test platform_expr_strategy::tests::platform_next_open_defers_complete_static_selection_risk_before_universe_output ... ok +test platform_expr_strategy::tests::platform_next_open_risk_level_exit_ignores_decision_day_sellability ... ok +test platform_expr_strategy::tests::platform_next_open_select_symbols_defers_decision_day_limit_state ... ok +test platform_expr_strategy::tests::platform_next_open_projected_execution_price_uses_open_not_close ... ok +test platform_expr_strategy::tests::platform_next_open_selection_applies_explicit_signal_day_risk_filter ... ok +test platform_expr_strategy::tests::platform_next_open_selection_ignores_execution_day_limit_state ... ok +test platform_expr_strategy::tests::platform_next_open_sell_risk_uses_open_not_close_for_lower_limit ... ok +test platform_expr_strategy::tests::platform_numeric_stop_loss_is_strictly_below_multiplier ... ok +test platform_expr_strategy::tests::platform_order_value_quantity_includes_buy_commission_budget ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_caps_empty_slot_to_equal_weight_target ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_skips_unsellable_stop_loss_symbol ... ok +test platform_expr_strategy::tests::platform_projected_execution_limit_checks_respect_risk_policy ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_uses_same_day_sell_cash_for_later_buys ... ok +test platform_expr_strategy::tests::platform_projected_market_fill_caps_volume_limit ... ok +test platform_expr_strategy::tests::platform_rebalance_date_due_does_not_use_the_on_day_default_clock ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_tops_up_underweight_selected_holding ... ok +test platform_expr_strategy::tests::platform_rebalance_schedule_matches_monthly_tradingday ... ok +test platform_expr_strategy::tests::platform_rebalance_schedule_matches_physical_time ... ok +test platform_expr_strategy::tests::platform_rebalance_schedule_matches_weekly_weekday ... ok +test platform_expr_strategy::tests::platform_projection_does_not_consume_cash_from_unfillable_sell ... ok +test platform_expr_strategy::tests::platform_rebalance_keeps_unresolved_delisted_position_without_orders_or_replacement ... ok +test platform_expr_strategy::tests::platform_selection_does_not_fill_candidates_with_buy_risk_rejections ... ok +test platform_expr_strategy::tests::platform_selection_and_buy_respect_allow_flags_are_configurable ... ok +test platform_expr_strategy::tests::platform_selection_expands_pct_change_in_filter_and_rank_expr ... ok +test platform_expr_strategy::tests::platform_refresh_rate_uses_stateful_trading_day_counter ... ok +test platform_expr_strategy::tests::platform_selection_missing_candidate_risk_state_does_not_change_default_universe ... ok +test platform_expr_strategy::tests::platform_selection_kcb_switch_overrides_legacy_universe_exclude ... ok +test platform_expr_strategy::tests::platform_selection_ranks_with_previous_factor_date ... ok +test platform_expr_strategy::tests::platform_signal_price_model_lifecycle_survives_unfilled_buy_and_exits ... ok +test platform_expr_strategy::tests::platform_selection_uses_complete_static_risk_policy_before_universe_output ... ok +test platform_expr_strategy::tests::platform_skip_window_keeps_pending_highlimit_until_open ... ok +test broker::tests::simulator_transaction_profile_preserves_successful_output ... ok +test platform_expr_strategy::tests::platform_skip_window_runs_delayed_open_exit_before_seasonal_liquidation ... ok +test platform_expr_strategy::tests::platform_stock_expr_exposes_star_st_and_bjse_fields_without_default_selection_risk ... ok +test platform_expr_strategy::tests::platform_selection_ranks_by_candidate_market_cap_with_current_precomputed_factors ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_completed_day_high_and_low_for_limit_touch ... ok +test platform_expr_strategy::tests::platform_stock_expr_rejects_when_volume_ma5_exceeds_market_volume_ma100 ... ok +test platform_expr_strategy::tests::platform_stock_expr_handles_positive_volume_guard ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_factor_date_for_selection_market_fields ... ok +test platform_expr_strategy::tests::platform_stop_loss_residual_pending_rechecks_signal_next_day ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_market_series_when_factor_map_has_no_rolling ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_framework_rolling_series ... ok +test platform_expr_strategy::tests::platform_strategy_baseline_risk_rejects_new_listing_buy_without_selection_replacement ... ok +test platform_expr_strategy::tests::platform_strategy_can_cancel_latest_open_order_by_runtime_id ... ok +test platform_expr_strategy::tests::platform_strategy_can_filter_with_string_factors ... ok +test platform_expr_strategy::tests::platform_strategy_emits_algo_order_actions ... ok +test platform_expr_strategy::tests::platform_strategy_emits_explicit_actions_in_open_auction_stage ... ok +test platform_expr_strategy::tests::platform_strategy_emits_explicit_actions_when_rotation_is_disabled ... ok +test platform_expr_strategy::tests::platform_strategy_emits_target_portfolio_smart_algo_order_style ... ok +test platform_expr_strategy::tests::platform_strategy_emits_target_shares_explicit_action ... ok +test platform_expr_strategy::tests::platform_strategy_emits_universe_management_actions ... ok +test platform_expr_strategy::tests::platform_stop_take_fraction_values_are_return_thresholds ... ok +test platform_expr_strategy::tests::platform_strategy_emits_target_portfolio_smart_explicit_action ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_advanced_data_runtime_helpers ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_process_event_runtime_fields ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_open_order_runtime_fields ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_position_lifecycle_runtime_fields ... ok +test platform_expr_strategy::tests::platform_strategy_empty_exclude_keeps_buy_risk_without_selection_filtering ... ok +test platform_expr_strategy::tests::platform_strategy_skips_explicit_actions_when_schedule_does_not_match ... ok +test platform_expr_strategy::tests::platform_strategy_filters_target_portfolio_smart_by_subscription_guard ... ok +test platform_expr_strategy::tests::platform_strategy_suppresses_explicit_target_for_blocked_stop_loss_exit ... ok +test platform_expr_strategy::tests::platform_strategy_treats_missing_stock_rolling_window_as_filter_reject ... ok +test platform_expr_strategy::tests::platform_strategy_uses_decision_date_for_next_bar_open_signals ... ok +test platform_expr_strategy::tests::platform_take_profit_default_uses_position_cost_basis ... ok +test platform_expr_strategy::tests::platform_take_profit_sells_position_at_upper_limit ... ok +test platform_expr_strategy::tests::platform_weak_exposure_carried_full_close_keeps_residual_slot ... ok +test platform_expr_strategy::tests::platform_take_profit_false_does_not_track_upper_limit_pending_sell ... ok +test platform_expr_strategy::tests::platform_weak_exposure_partial_stop_loss_keeps_residual_slot ... ok +test platform_expr_strategy::tests::portfolio_drawdown_control_is_idempotent_and_rearms_after_cooldown ... ok +test platform_expr_strategy::tests::platform_weak_market_skips_target_adjust_before_actionable_stop_loss ... ok +test platform_expr_strategy::tests::platform_weak_market_skips_target_increase_before_intraday_stop_loss_sell_blocked ... ok +test platform_expr_strategy::tests::selection_buffer_retains_held_symbols_within_buffer_rank ... ok +test platform_expr_strategy::tests::platform_weak_market_skips_target_increase_before_lower_limit_blocked_stop_loss ... ok +test platform_expr_strategy::tests::projected_historical_slippage_does_not_swallow_missing_calibration ... ok +test platform_expr_strategy::tests::selection_quote_plan_filters_daily_part_before_minute_candidates ... ok +test platform_expr_strategy::tests::selection_replacement_limit_caps_voluntary_daily_removals ... ok +test platform_expr_strategy::tests::selection_quote_plan_keeps_configured_static_selection_risk_for_intraday_fields ... ok +test platform_expr_strategy::tests::selection_limit_state_requires_intraday_selection_quotes ... ok +test platform_expr_strategy::tests::session_event_uses_previous_bar_and_recomputes_at_each_minute_without_becoming_a_quote ... ok +test platform_expr_strategy::tests::stock_pool_exit_weight_redistribution_is_explicit_and_uses_integer_bps ... ok +test platform_expr_strategy::tests::stock_pool_suspension_keeps_budget_and_exit_redistributes_only_available_weights ... ok +test platform_expr_strategy::tests::portfolio_loss_observes_finalized_nav_after_fees_and_cash_flows ... ok +test platform_expr_strategy::tests::signal_date_explicit_actions_are_due_only_on_declared_snapshot_dates ... ok +test platform_expr_strategy::tests::stock_pool_suspension_resolution_never_reads_the_future_execution_day ... ok +test platform_expr_strategy::tests::stock_pool_target_lifecycle_keeps_exits_for_next_day_reentry ... ok +test platform_expr_strategy::tests::stock_state_cache_resets_before_reusing_compact_keys_on_another_date ... ok +test platform_expr_strategy::tests::strategy_specific_labels_are_not_framework_rolling_factors ... ok +test platform_expr_strategy::tests::target_portfolio_smart_exposes_decision_and_execution_dates ... ok +test platform_expr_strategy::tests::strategy105_numeric_expressions_compile_to_vm ... ok +test platform_expr_strategy::tests::stock_snapshot_fields_are_loaded_only_when_the_strategy_uses_them ... ok +test platform_expr_strategy::tests::target_scale_replenishment_preserves_strategy_cash_allocation ... ok +test platform_expr_strategy::tests::target_portfolio_smart_respects_current_date_weight_conditions ... ok +test platform_expr_strategy::tests::typed_runtime_numbers_preserve_legacy_rhai_formatting ... ok +test platform_expr_strategy::tests::universe_exclude_matches_explicit_symbols_and_bjse_alias ... ok +test platform_runtime_schema::tests::runtime_schema_includes_known_identifiers ... ok +test platform_runtime_schema::tests::runtime_schema_serializes_to_json_object ... ok +test platform_strategy_spec::tests::accepts_equivalent_risk_policy_alias_values ... ok +test platform_expr_strategy::tests::timed_rotation_runs_on_its_schedule_instead_of_the_untimed_day_hook ... ok +test platform_strategy_spec::tests::canonicalizes_duplicate_execution_aliases_without_changing_strategy_intent ... ok +test platform_strategy_spec::tests::accepts_scoped_blacklist_context_in_runtime_risk_policy ... ok +test platform_strategy_spec::tests::current_close_respects_explicitly_disabled_liquidity_limit ... ok +test platform_strategy_spec::tests::engine_config_parses_weak_market_shrink_overweight_threshold ... ok +test platform_strategy_spec::tests::engine_stock_ma_filter_generates_price_and_volume_expr ... ok +test platform_strategy_spec::tests::execution_limit_aliases_normalize_to_one_serde_field_without_touching_policy ... ok +test platform_strategy_spec::tests::explicit_actions_inherit_top_level_runtime_schedule ... ok +test platform_strategy_spec::tests::explicit_delayed_limit_open_exit_false_overrides_trade_times ... ok +test platform_strategy_spec::tests::explicit_trading_schedule_overrides_rebalance_trade_times ... ok +test platform_strategy_spec::tests::index_throttle_uses_signal_ma_not_performance_benchmark_ma ... ok +test platform_strategy_spec::tests::frozen_candidate_order_is_explicit_and_preserves_source_positions ... ok +test platform_strategy_spec::tests::native_factor_bindings_declare_completed_session_fields ... ok +test platform_strategy_spec::tests::multiple_trade_times_do_not_imply_delayed_limit_exit ... ok +test platform_strategy_spec::tests::normalize_board_does_not_infer_kcb_from_security_code ... ok +test platform_strategy_spec::tests::numeric_strategy_aliases_accept_exact_zero_but_never_hide_rounding_or_conflicts ... ok +test platform_strategy_spec::tests::parses_and_rejects_invalid_position_target_rules ... ok +test platform_strategy_spec::tests::parses_buy_filter_as_a_separate_trading_condition ... ok +test platform_strategy_spec::tests::parses_daily_schedule_time_for_execution_quotes ... ok +test platform_strategy_spec::tests::parses_delayed_deposit_receiving_days_expression ... ok +test platform_strategy_spec::tests::parses_dynamic_model_score_dates_into_platform_config ... ok +test platform_strategy_spec::tests::parses_execution_cost_overrides_into_platform_config ... ok +test platform_strategy_spec::tests::parses_execution_slippage_overrides_into_platform_config ... ok +test platform_strategy_spec::tests::parses_explicit_delayed_limit_open_exit ... ok +test platform_strategy_spec::tests::parses_explicit_historical_slippage_into_platform_config ... ok +test platform_strategy_spec::tests::parses_lifecycle_target_portfolio_contract ... ok +test platform_strategy_spec::tests::parses_generic_futures_actions_and_rejects_incomplete_contracts ... ok +test platform_strategy_spec::tests::parses_max_holding_days_from_engine_and_runtime_trading ... ok +test platform_strategy_spec::tests::parses_minute_stage_schedule_and_initial_subscriptions ... ok +test platform_strategy_spec::tests::parses_percent_slippage_alias_into_platform_config ... ok +test platform_expr_strategy::tests::timed_current_close_stop_loss_reloads_state_after_quote_arrives ... ok +test platform_strategy_spec::tests::parses_portfolio_drawdown_control_into_platform_config ... ok +test platform_strategy_spec::tests::parses_position_average_entry_stop_take_reference_price_mode ... ok +test platform_strategy_spec::tests::parses_risk_policy_into_platform_config ... ok +test platform_strategy_spec::tests::parses_runtime_expression_spec_into_platform_config ... ok +test platform_strategy_spec::tests::parses_rebalance_cash_mode_and_forces_minute_to_actual_sequence ... ok +test platform_strategy_spec::tests::parses_signal_dates_rebalance_into_platform_config ... ok +test platform_strategy_spec::tests::parses_signal_day_post_adjusted_stop_take_reference_price_mode ... ok +test platform_strategy_spec::tests::parses_typed_time_in_force_for_explicit_orders ... ok +test platform_strategy_spec::tests::parses_st_and_star_st_risk_policy_switches_into_platform_config ... ok +test platform_strategy_spec::tests::rejects_conflicting_non_policy_strategy_aliases ... ok +test platform_strategy_spec::tests::rejects_conflicting_risk_policy_alias_values ... ok +test platform_strategy_spec::tests::portfolio_loss_contract_is_explicit_and_validated ... ok +test platform_strategy_spec::tests::rejects_invalid_explicit_volume_percent_in_platform_config ... ok +test platform_strategy_spec::tests::rejects_invalid_or_duplicate_static_universe_symbols ... ok +test platform_strategy_spec::tests::rejects_invalid_portfolio_drawdown_control ... ok +test platform_strategy_spec::tests::rejects_removed_compatibility_profile ... ok +test platform_strategy_spec::tests::rejects_removed_engine_profile_name ... ok +test platform_strategy_spec::tests::platform_spec_accepts_only_supported_matching_types ... ok +test platform_strategy_spec::tests::rejects_unknown_stop_take_reference_price_mode ... ok +test platform_strategy_spec::tests::rejects_non_positive_shared_order_limits ... ok +test platform_strategy_spec::tests::rejects_unknown_strategy_risk_policy_fields_before_deserialization ... ok +test platform_strategy_spec::tests::rejects_unknown_time_in_force_in_runtime_contract ... ok +test platform_strategy_spec::tests::runtime_expression_parser_does_not_inherit_microcap_template_defaults ... ok +test platform_strategy_spec::tests::runtime_expression_parses_dated_position_exposure_schedule ... ok +test platform_strategy_spec::tests::retired_or_unknown_slippage_models_do_not_fall_back_to_fixed_or_none ... ok +test platform_strategy_spec::tests::runtime_expressions_infer_ma_windows_from_literal_strategy_logic ... ok +test platform_strategy_spec::tests::volume_limit_does_not_enable_quote_quantity_limit_for_minute_last ... ok +test portfolio::tests::buy_after_partial_sell_continues_moving_average_cost_basis ... ok +test portfolio::tests::cash_dividend_can_preserve_avg_cost_for_aiquant_rules ... ok +test portfolio::tests::delayed_withdrawals_are_reserved_and_settled_atomically ... ok +test portfolio::tests::external_cash_flow_rebases_units_without_changing_nav ... ok +test portfolio::tests::fifo_fixed_pnl_conserves_value_while_alv_average_cost_stays_stable ... ok +test portfolio::tests::fixed_lot_allocation_rounds_nearest_and_conserves_total ... ok +test portfolio::tests::holdings_summary_reports_entry_price_pnl_excluding_buy_commission ... ok +test portfolio::tests::partial_sell_preserves_remaining_average_cost ... ok +test portfolio::tests::portfolio_exposes_engine_native_account_metrics ... ok +test portfolio::tests::portfolio_marks_same_day_buy_at_fill_until_next_trading_day ... ok +test portfolio::tests::portfolio_missing_market_requires_formal_suspension_before_carrying_price ... ok +test portfolio::tests::portfolio_tracks_dividend_receivable_and_day_pnl ... ok +test portfolio::tests::position_tracks_day_lifecycle_fields ... ok +test portfolio::tests::positions_preserve_insertion_order ... ok +test portfolio::tests::scoped_checkpoint_restores_order_flat_rows_and_progress_without_copying_untouched_lots ... ok +test portfolio::tests::strategy_entry_price_excludes_buy_commission_cost_basis ... ok +test platform_strategy_spec::tests::session_rotation_keeps_every_declared_clock_not_only_the_last_one ... ok +test portfolio_loss::tests::cash_sessions_preserve_continuity_without_inventing_returns ... ok +test portfolio_loss::tests::refuses_future_missing_corrected_and_incomplete_accounting ... ok +test portfolio_loss::tests::restart_is_exact_and_duplicate_decisions_do_not_consume_cooldown ... ok +test portfolio_loss::tests::restored_state_rejects_changed_policy_and_forged_cooldown ... ok +test position_exposure::tests::allocation_is_dated_and_any_later_scalar_or_restore_clears_it ... ok +test position_exposure::tests::explicit_equity_targets_and_buys_scale_but_sales_cashflows_and_prices_do_not ... ok +test position_exposure::tests::rejects_unknown_actions_duplicate_identity_and_invalid_bps ... ok +test position_exposure::tests::same_day_adjustments_restore_and_future_events_keep_their_own_times ... ok +test position_exposure::tests::scalar_preserves_strategy_risk_off_and_restore_keeps_original_exposure ... ok +test portfolio_loss::tests::nav_serialization_preserves_float_bits ... ok +test risk_control::tests::concrete_kcb_reason_wins_over_generic_missing_risk_state ... ok +test risk_control::tests::configurable_bjse_filter_can_be_disabled ... ok +test risk_control::tests::configurable_blacklist_rejects_selection_and_buy ... ok +test risk_control::tests::configurable_kcb_filter_can_be_disabled ... ok +test risk_control::tests::configurable_lower_limit_selection_filter_can_be_disabled ... ok +test risk_control::tests::configurable_upper_limit_buy_filter_can_be_disabled ... ok +test risk_control::tests::configurable_upper_limit_selection_filter_can_be_disabled ... ok +test risk_control::tests::delisting_period_status_is_not_terminal_without_delisted_date ... ok +test risk_control::tests::execution_quote_covers_missing_one_yuan_flag_but_not_other_risk_facts ... ok +test risk_control::tests::explicit_candidate_inactive_status_is_not_treated_as_missing_risk_state ... ok +test risk_control::tests::explicit_one_yuan_selection_policy_still_uses_selection_facts ... ok +test risk_control::tests::fund_identity_excludes_stock_one_yuan_rule_but_not_actual_price_and_pause_checks ... ok +test platform_expr_strategy::tests::shared_signal_reduction_and_stops_use_each_accounts_cost_quantity_and_sold_state ... ok +test risk_control::tests::inactive_selection_checks_preserve_missing_facts_and_execution_rejections ... ok +test risk_control::tests::kcb_filter_uses_classification_instead_of_security_code ... ok +test risk_control::tests::missing_risk_state_can_be_relaxed_by_disabling_static_filters ... ok +test risk_control::tests::missing_risk_state_default_selection_ignores_allow_flags_but_buy_rejects ... ok +test risk_control::tests::missing_risk_state_rejects_sell_when_sell_risk_facts_are_missing ... ok +test risk_control::tests::missing_risk_state_respects_field_specific_buy_switches ... ok +test risk_control::tests::missing_risk_state_respects_field_specific_selection_switches ... ok +test risk_control::tests::missing_risk_state_selection_audit_keeps_missing_fields_in_reason ... ok +test risk_control::tests::missing_risk_state_selection_still_respects_configured_static_filters ... ok +test risk_control::tests::missing_risk_state_sell_can_be_relaxed_by_disabling_sell_static_filters ... ok +test risk_control::tests::one_yuan_buy_rule_uses_execution_price_not_later_close_or_earlier_open ... ok +test risk_control::tests::sell_rejection_blocks_execution_price_at_lower_limit ... ok +test risk_control::tests::sell_rejection_respects_allow_sell_policy_on_execution_day ... ok +test risk_control::tests::sell_rejects_explicit_candidate_inactive_status_without_instrument_row ... ok +test risk_control::tests::shared_order_size_limits_apply_to_both_sides_and_buy_position ... ok +test risk_control::tests::st_and_star_st_filters_are_independent ... ok +test scheduler::tests::date_due_is_independent_from_the_order_execution_clock ... ok +test scheduler::tests::scheduler_matches_before_trading_and_minute_level_rules ... ok +test scheduler::tests::scheduler_matches_daily_weekly_and_monthly_rules ... ok +test portfolio::tests::cash_ledger_accumulates_micro_yuan_exactly ... ok +test session_events::tests::gaps_and_stale_last_bars_do_not_become_false_or_repeated_signals ... ok +test session_events::tests::opening_range_is_unavailable_before_the_range_has_completed ... ok +test signal_contract::tests::changed_valid_contents_must_not_reuse_a_version_hash ... ok +test signal_contract::tests::completed_daily_inputs_may_be_published_after_market_close ... ok +test signal_contract::tests::coverage_and_duplicate_actions_fail_closed ... ok +test signal_contract::tests::empty_complete_snapshot_clears_only_that_accounts_holdings ... ok +test signal_contract::tests::historical_reconstruction_is_not_online_publication ... ok +test signal_contract::tests::next_open_uses_decision_session_and_never_nearest_signal ... ok +test signal_contract::tests::observed_next_open_never_backdates_a_morning_publication_into_yesterdays_orders ... ok +test signal_contract::tests::platform_spec_consumes_book_without_running_another_selection ... ok +test signal_contract::tests::reconstruction_ignores_research_wall_clock_but_never_early_input_availability ... ok +test signal_contract::tests::reduction_is_resolved_from_each_accounts_actual_position ... ok +test signal_contract::tests::rejects_future_inputs_and_model_knowledge ... ok +test session_events::tests::decision_uses_the_previous_completed_label_and_future_prices_do_not_rewrite ... ok +test signal_contract::tests::rejects_quantities_prices_and_unknown_signal_fields ... ok +test signal_contract::tests::rejects_overallocation_nonfinite_and_ambiguous_actions ... ok +test stock_pool_candidates::tests::list_order_reuses_explicit_prefix_and_appends_new_candidates ... ok +test stock_pool_candidates::tests::missing_snapshot_duplicate_input_and_empty_filtered_scope_fail ... ok +test stock_pool_candidates::tests::mixed_sources_preserve_priority_and_both_provenances ... ok +test stock_pool_candidates::tests::zero_automatic_day_keeps_manual_members_without_inheriting_old_auto_targets ... ok +test stock_pool_execution::frozen::ratio_tests::legacy_paused_and_explicit_partial_budgets_are_not_reinterpreted ... ok +test stock_pool_execution::frozen::ratio_tests::precise_paused_budget_survives_replacement_and_zero_targets ... ok +test stock_pool_execution::frozen::ratio_tests::precision_is_checked_before_frozen_budget_is_allocated ... ok +test stock_pool_execution::tests::confirmed_holdings_not_unsettled_sells_determine_remaining_position_budget ... ok +test stock_pool_execution::tests::all_membership_and_weight_combinations_use_the_same_target_planner ... ok +test stock_pool_execution::tests::frozen_valuation_is_dated_and_cannot_turn_an_unknown_gap_into_a_pause ... ok +test stock_pool_execution::tests::full_stop_overrides_a_simultaneous_factor_reduction_without_a_second_target ... ok +test stock_pool_execution::tests::independent_exit_quote_priority_does_not_bypass_t_plus_one_or_price_validation ... ok +test stock_pool_execution::tests::independent_full_exit_has_no_ordinary_quote_dependency_but_partial_risk_does_not_fake_missing_facts ... ok +test stock_pool_execution::tests::independent_stop_does_not_require_unused_ordinary_sell_quote_facts ... ok +test stock_pool_execution::tests::index_cap_cannot_sell_a_paused_holding_or_use_its_budget_as_free_cash ... ok +test stock_pool_execution::tests::index_cap_keeps_non_sellable_quantity_and_defers_the_remaining_risk_target ... ok +test stock_pool_execution::tests::index_cap_reduces_existing_proportions_without_enabling_weight_rebalancing ... ok +test stock_pool_execution::tests::index_cap_respects_ordinary_weight_changes_and_stronger_fill_protection ... ok +test stock_pool_execution::tests::equal_thirty_seats_use_full_precision_at_a_board_lot_boundary ... ok +test stock_pool_execution::tests::index_exposure_and_reserved_seats_multiply_without_rounding_the_budget_early ... ok +test stock_pool_execution::tests::instrument_price_tick_and_quantity_units_are_not_a_two_decimal_stock_assumption ... ok +test stock_pool_execution::tests::legacy_constraints_do_not_gain_an_empty_precision_field ... ok +test stock_pool_execution::tests::market_quantity_budget_includes_execution_slippage_and_fees ... ok +test stock_pool_execution::tests::optional_configuration_and_conflicting_aliases_are_explicit ... ok +test stock_pool_execution::tests::native_sell_and_quote_conditions_are_and_but_stop_and_protection_remain_independent ... ok +test session_events::tests::all_thirteen_events_return_native_boolean_series ... ok +test stock_pool_execution::tests::ordinary_sell_keeps_required_quote_failures_and_zero_stop_is_not_an_exit ... ok +test stock_pool_execution::tests::partial_sell_cooldown_restricts_increases_without_clearing_the_remainder ... ok +test stock_pool_execution::tests::paused_outside_holding_retains_prior_budget_without_an_execution_quote ... ok +test stock_pool_execution::tests::quote_condition_number_contract_rejects_invalid_facts_and_fractional_shares ... ok +test stock_pool_execution::tests::quote_condition_scopes_are_evaluated_before_target_orders ... ok +test stock_pool_execution::tests::paused_held_weight_is_not_replenished_after_another_stock_exits ... ok +test stock_pool_execution::tests::quote_only_exit_still_works_when_independent_risk_rules_are_configured ... ok +test stock_pool_execution::tests::reserve_slots_keep_requested_and_effective_exposure_distinct ... ok +test stock_pool_execution::tests::ordinary_sell_scope_excludes_independent_exits_and_protected_positions ... ok +test stock_pool_execution::tests::risk_only_configuration_never_turns_into_an_unconditional_ordinary_exit ... ok +test stock_pool_execution::tests::retained_holdings_reserve_actual_value_and_zero_funding_still_clears ... ok +test stock_pool_execution::tests::sale_slippage_does_not_prevent_a_marked_value_board_lot_reduction ... ok +test stock_pool_execution::tests::sell_cooldown_does_not_turn_disabled_weight_rebalancing_back_on ... ok +test stock_pool_execution::tests::sell_quote_condition_creates_exit_and_unmet_holding_keeps_its_slot ... ok +test stock_pool_execution::tests::stop_reduction_merge_matrix_preserves_protection_t_plus_one_and_invalid_config_errors ... ok +test stock_pool_execution::tests::selection_excluding_paused_stock_keeps_the_same_24_stock_budget_as_broker_execution ... ok +test stock_pool_index_policy::tests::disabled_is_optional_but_enabled_parameters_are_not_invented ... ok +test stock_pool_index_policy::tests::missing_or_duplicate_or_future_rows_never_shorten_the_window ... ok +test stock_pool_index_policy::tests::trend_and_caps_match_the_declared_math_and_keep_zero_meaningful ... ok +test stock_pool_indicators::tests::kdj_uses_the_same_frozen_native_kernel_as_event_conditions ... ok +test stock_pool_indicators::tests::missing_inputs_require_source_admission_and_future_inputs_fail ... ok +test stock_pool_indicators::tests::uses_shared_ma_ema_and_preserves_recursive_prefix_before_output_window ... ok +test stock_pool_market_cap::tests::interpolates_declared_endpoints_and_clamps_without_business_defaults ... ok +test stock_pool_market_cap::tests::missing_duplicate_or_mismatched_index_inputs_do_not_shrink_the_calendar ... ok +test stock_pool_quote_facts::tests::lunch_and_post_close_gaps_follow_the_minute_feed_segments ... ok +test stock_pool_quote_facts::tests::real_source_session_prefix_matches_observed_checkpoints ... ignored, requires FIDC_SESSION_PREFIX_SOURCE_JSON from the frozen Source minute response +test stock_pool_quote_facts::tests::sparse_unverified_and_overflowing_quotes_cannot_be_called_session_totals ... ok +test stock_pool_quote_facts::tests::totals_use_only_the_complete_observed_prefix_and_keep_decimal_amounts ... ok +test strategy::decision_merge_tests::explicit_empty_complete_target_replaces_old_allocation_but_empty_callback_does_not ... ok +test strategy::decision_merge_tests::newer_complete_target_replaces_old_symbols_without_discarding_explicit_actions ... ok +test strategy::tests::omni_microcap_projection_uses_configured_trading_cost ... ok +test strategy::tests::omni_microcap_selection_uses_configured_risk_policy ... ok +test strategy::tests::order_time_in_force_parsing_and_order_type_contract_are_explicit ... ok +test strategy_ai::tests::generation_prompt_uses_explicit_performance_acceptance_contract ... ok +test strategy_ai::tests::manual_separates_explicit_business_selection_from_framework_risk_policy ... ok +test strategy_ai::tests::optimization_prompt_uses_explicit_performance_acceptance_contract ... ok +test universe::tests::selector_applies_configured_selection_risk_on_decision_date ... ok +test universe::tests::selector_can_defer_configured_selection_risk_without_losing_diagnostics ... ok +test universe::tests::selector_records_structured_selection_risk_decisions ... ok +test risk_control::tests::selection_check_activation_covers_every_configured_flag_and_blacklist_state ... ok +test stock_pool_execution::tests::typed_exit_roles_merge_only_satisfied_ordinary_actions_with_independent_risk ... ok +test stock_pool_execution::tests::quote_field_operator_side_and_scope_matrix_matches_the_configured_predicate ... ok + +test result: ok. 782 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.53s + + Running unittests src/bin/dump_platform_runtime_schema.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/dump_platform_runtime_schema-c4b52627aec309c9) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/automatic_trade_protection.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/automatic_trade_protection-e76e4284ad200e69) + +running 6 tests +test absolute_lock_blocks_initial_strategy_buy_without_a_rejected_order ... ok +test maximum_holding_policy_applies_to_discrete_strategies_and_yields_to_buy_protection ... ok +test framework_protection_uses_fills_and_covers_explicit_strategy_orders ... ok +test serialized_framework_policy_survives_shared_alias_normalization_and_rejects_conflicts ... ok +test locked_holding_keeps_its_slot_even_when_cash_can_buy_the_next_candidate ... ok +test observed_manual_trades_then_split_keep_real_fill_protection_and_lock_dates ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s + + Running tests/core_rules.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/core_rules-6365eded07d721e8) + +running 8 tests +test china_cost_model_applies_minimum_commission_and_stamp_tax ... ok +test china_cost_model_switches_stamp_tax_rate_after_2023_08_28 ... ok +test china_cost_model_tracks_minimum_commission_per_order_id ... ok +test china_rule_hooks_allow_sell_when_last_price_is_above_lower_limit ... ok +test china_rule_hooks_block_same_day_sell_under_t_plus_one ... ok +test china_rule_hooks_block_buy_at_limit_up_and_sell_at_limit_down ... ok +test china_rule_hooks_use_strict_price_limits ... ok +test configured_cost_model_matches_declared_run_options ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/corporate_actions.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/corporate_actions-05d8a8628f15e674) + +running 6 tests +test cash_dividend_adjusts_cost_basis_and_returns_cash_delta ... ok +test portfolio_settles_cash_receivable_on_payable_date ... ok +test stock_split_scales_lots_quantity_and_average_cost ... ok +test engine_settles_same_day_dividend_after_split_for_aiquant_semantics ... ok +test engine_reinvests_dividend_receivable_in_round_lots ... ok +test successor_conversion_depletes_older_source_lots_before_newer_successor_buys ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/decision_quote_preload.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/decision_quote_preload-f63700247a753869) + +running 6 tests +test engine_resolves_the_runtime_strategy_scope_when_a_loader_exists ... ok +test engine_reuses_preloaded_decision_quotes_without_loader_call ... ok +test engine_preloads_declared_decision_quotes_for_current_positions ... ok +test engine_loads_distinct_decision_quote_times_on_same_day ... ok +test engine_skips_decision_quote_symbol_plan_without_loader ... ok +test runtime_account_dependent_quote_scope_uses_the_actual_account ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/delisting.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/delisting-4a43fc52b1f023c5) + +running 2 tests +test engine_applies_successor_conversion_before_unresolved_delisting_audit ... ok +test engine_keeps_unresolved_delisted_position_without_fabricating_a_fill ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/dividend_reinvestment_contract.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/dividend_reinvestment_contract-69149bb471610f44) + +running 8 tests +test accounting_reinvestment_has_an_explicit_origin_clock_and_progress_delivery ... ok +test a_clear_without_a_manual_zero_keeps_the_declared_legacy_reinvestment_model ... ok +test an_effective_manual_zero_must_not_recreate_a_cleared_position_on_dividend_payment ... ok +test delayed_receipt_before_market_open_reconciles_accounting_not_future_market_fills ... ok +test weekend_receipts_and_morning_allocations_are_in_the_next_progress_batch ... ok +test late_corporate_replay_uses_the_same_zero_policy_and_retains_actual_manual_shares ... ok +test an_explicit_zero_member_weight_or_omission_blocks_only_that_reinvestment ... ok +test reinvestment_respects_zero_restore_same_instant_sequence_and_legacy_granularity ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s + + Running tests/engine_hooks.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/engine_hooks-3b06d8e9ecb68f45) + +running 30 tests +test engine_applies_account_cash_flow_and_financing_intents ... ok +test engine_allows_disabling_futures_limit_tick_validation ... ok +test engine_aggregates_futures_account_into_nav_and_metrics ... ok +test engine_applies_dynamic_universe_and_subscription_directives ... ok +test engine_executes_futures_order_intents_against_future_account ... ok +test engine_executes_open_auction_decisions_before_on_day ... ok +test engine_expires_pending_day_limit_orders_at_market_close ... ok +test engine_exposes_current_process_context_to_strategies ... ok +test engine_installs_enabled_process_mods_from_loader ... ok +test engine_dispatches_process_events_to_external_bus_listeners ... ok +test engine_installs_process_mods_on_event_bus ... ok +test engine_matches_pending_futures_limit_order_with_data_driven_costs ... ok +test engine_rejects_futures_limit_orders_not_aligned_to_tick ... ok +test engine_rejects_an_unexplained_missing_holding_close ... ok +test engine_rejects_futures_limit_orders_outside_price_limits ... ok +test engine_rejects_futures_orders_when_trading_phase_is_closed ... ok +test engine_reports_pending_futures_order_at_backtest_boundary ... ok +test engine_runs_minute_hooks_and_executes_minute_orders ... ok +test engine_runs_scheduled_rules_for_daily_weekly_and_monthly_triggers ... ok +test engine_settles_configured_futures_expiration_at_settlement ... ok +test engine_runs_strategy_hooks_in_daily_order ... ok +test engine_skips_empty_platform_style_minute_callbacks_between_schedule_times ... ok +test engine_sweeps_futures_order_book_depth_when_available ... ok +test futures_directive_notifications_include_the_actual_recorded_fill ... ok +test strategy_context_exposes_engine_native_account_runtime_view ... ok +test strategy_context_exposes_advanced_data_helpers ... ok +test strategy_context_exposes_final_order_runtime_view ... ok +test strategy_context_exposes_engine_native_data_helpers ... ok +test platform_runtime_actions_execute_generic_futures_open_and_close ... ok +test platform_strategy_cannot_hide_missing_valuation_by_skipping_stop_take ... ok + +test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running tests/explicit_order_flow.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/explicit_order_flow-fe395fa4711b4010) + +running 58 tests +test broker_allows_bjse_quantities_above_minimum_without_round_lot_step ... ok +test broker_allows_full_odd_lot_sell_when_liquidating_position ... ok +test broker_aggregates_intraday_quote_fills_into_vwap_leg ... ok +test broker_accepted_modify_resets_queue_priority_but_reduction_preserves_it ... ok +test broker_applies_price_ratio_slippage_on_snapshot_fills ... ok +test broker_applies_tick_size_slippage_on_intraday_last_fills ... ok +test broker_cancels_buy_when_open_hits_upper_limit ... ok +test broker_applies_explicit_historical_slippage_on_snapshot_fills ... ok +test broker_cancels_market_order_remainder_when_intraday_quote_liquidity_exhausted ... ok +test broker_configured_policy_can_allow_lower_limit_sell ... ok +test broker_configured_policy_can_allow_upper_limit_buy ... ok +test broker_cancels_open_order_by_order_id ... ok +test broker_day_market_order_cancels_remainder_without_creating_invalid_open_order ... ok +test broker_delayed_limit_open_sell_uses_minute_price ... ok +test broker_emits_cancellation_reject_for_unknown_order ... ok +test broker_executes_algo_vwap_value_with_time_window ... ok +test broker_executes_explicit_order_value_buy ... ok +test broker_executes_algo_twap_percent_across_window_quotes ... ok +test broker_executes_intraday_last_on_start_quote_with_trade_delta ... ok +test broker_executes_order_shares_and_order_lots ... ok +test broker_executes_order_percent_and_target_percent ... ok +test broker_executes_limit_value_and_limit_percent_intents ... ok +test broker_executes_target_portfolio_smart_with_algo_order_style ... ok +test broker_executes_target_shares_like_order_to ... ok +test broker_executes_target_portfolio_smart_with_custom_prices ... ok +test broker_fok_order_fills_when_full_quantity_is_available ... ok +test broker_expires_day_limit_buy_at_market_close ... ok +test broker_fok_order_is_atomic_when_liquidity_is_insufficient ... ok +test broker_gtc_limit_order_survives_close_and_fills_next_day ... ok +test broker_ioc_limit_order_fills_available_quantity_and_cancels_remainder ... ok +test broker_gtc_partial_fills_preserve_cumulative_order_and_commission_state ... ok +test broker_modifies_gtc_limit_order_without_changing_order_identity ... ok +test broker_order_value_budget_includes_buy_commission ... ok +test broker_order_value_rounds_to_nearest_lot_when_min_lot_is_affordable ... ok +test broker_order_value_skips_when_one_lot_exceeds_budget ... ok +test broker_modifies_partially_filled_gtc_total_and_preserves_commission_state ... ok +test broker_persists_quote_depth_until_fresh_level_data_arrives ... ok +test broker_persists_observed_volume_consumption_across_execute_calls ... ok +test broker_persists_quote_volume_participation_until_next_quote ... ok +test broker_rejects_intraday_last_order_without_execution_quotes ... ok +test broker_rejects_gtc_for_market_order ... ok +test broker_rejected_modify_has_zero_side_effects ... ok +test broker_rejects_limit_buy_when_final_execution_price_reaches_upper_limit ... ok +test broker_rejects_missing_execution_capacity_instead_of_declaring_suspension ... ok +test broker_rejects_unproven_auction_capacity_in_a_daily_snapshot ... ok +test broker_reserves_sellable_quantity_for_open_limit_sells ... ok +test broker_splits_intraday_quote_fills_and_tracks_commission_by_order ... ok +test broker_uses_best_counterparty_price_for_intraday_matching ... ok +test broker_uses_best_own_price_for_intraday_matching ... ok +test broker_uses_board_specific_min_quantity_and_step_size_for_buy_sizing ... ok +test broker_uses_day_open_price_for_open_auction_matching ... ok +test broker_uses_limit_price_slippage_for_limit_orders ... ok +test rebalance_optimizer_does_not_scale_targets_above_requested_weight ... ok +test rebalance_optimizer_skips_unfunded_buy_when_existing_position_cannot_sell ... ok +test rebalance_optimizer_prioritizes_higher_target_weight_when_cash_is_tight ... ok +test same_day_sell_then_rebuy_can_be_allowed_by_policy ... ok +test rebalance_uses_day_open_for_open_auction_valuation ... ok +test same_day_sell_then_rebuy_is_rejected_by_default ... ok + +test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running tests/futures_account.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/futures_account-47b777d1d163df6f) + +running 12 tests +test futures_account_tracks_long_margin_pnl_and_settlement ... ok +test futures_account_tracks_short_close_cash_delta ... ok +test futures_close_today_rejects_when_today_quantity_is_insufficient ... ok +test futures_full_close_preserves_closed_position_daily_metrics ... ok +test futures_expiration_settlement_closes_all_contract_directions ... ok +test futures_intraday_roundtrip_preserves_closed_trading_pnl ... ok +test futures_margin_gate_and_fill_cash_use_exact_micro_yuan ... ok +test futures_open_order_rejects_when_margin_is_insufficient ... ok +test futures_order_execution_splits_close_between_old_and_today_quantity ... ok +test futures_partial_close_offsets_later_mark_with_trading_pnl ... ok +test futures_settlement_keeps_same_day_pnl_visible_until_next_day ... ok +test futures_cash_and_closed_cost_accumulate_micro_yuan_exactly ... ok + +test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running tests/intraday_history_performance.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/intraday_history_performance-7ce6b1e7b0291409) + +running 3 tests +test benchmark_borrowed_execution_quote_stream ... ignored, manual release-mode quote-stream benchmark +test benchmark_bounded_intraday_history ... ignored, manual release-mode intraday history benchmark +test intraday_history_is_bounded_by_visibility_and_preserves_order ... ok + +test result: ok. 1 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/manual_corporate_observation.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/manual_corporate_observation-8dc2a04a201f24a0) + +running 11 tests +test delayed_buy_does_not_lose_corporate_entitlements ... ok +test late_fill_replays_aggregate_split_rounding_not_an_independent_rounded_fragment ... ok +test delayed_sale_does_not_keep_unearned_corporate_entitlements ... ok +test corporate_replay_preserves_issued_orders_cash_flows_financing_and_charged_fees ... ok +test converted_holding_does_not_lose_its_configured_date_lock ... ok +test lock_survives_a_manual_clear_after_conversion_but_not_a_disproved_conversion ... ok +test native_pool_rebalance_applies_inherited_protection_without_rewriting_its_target ... ok +test successor_keeps_sell_cooldown_for_timely_and_delayed_receipts ... ok +test successor_lock_expires_on_the_original_configured_date_not_the_conversion_date ... ok +test paper_and_broker_observations_require_the_same_frozen_successor_scope ... ok +test pending_and_disabled_dividends_keep_the_configured_cash_and_cost_contract ... ok + +test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s + + Running tests/stock_pool_execution_contract.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/stock_pool_execution_contract-a11a2ea3e2392446) + +running 30 tests +test actual_fill_protection_is_evaluated_on_execution_date ... ok +test daily_execution_price_does_not_satisfy_an_unobserved_order_book_condition ... ok +test cumulative_conditions_do_not_consume_future_bars_or_inflate_fill_capacity ... ok +test a_fresh_zero_target_prevents_resuming_the_previous_unsubmitted_buy_leg ... ok +test deferred_etf_open_does_not_appear_in_a_pre_open_minute_callback ... ok +test deferred_etf_sell_does_not_finance_same_day_stock_topup ... ok +test etf_post_buy_protection_starts_on_deferred_fill_day_not_signal_day ... ok +test compiled_pool_price_screen_does_not_require_unconfigured_etf_market_cap ... ok +test historical_etf_fallback_does_not_waive_source_conditions_or_capacity ... ok +test historical_etf_late_signal_freezes_money_and_requantifies_at_next_official_open ... ok +test historical_etf_open_uses_real_open_without_creating_minute_bars ... ok +test frontend_compiled_unset_stops_only_builds_positions_and_keeps_holding ... ok +test historical_etf_pending_target_at_end_is_not_a_fake_order_or_fill ... ok +test new_daily_target_sells_old_member_then_buys_using_frozen_equity ... ok +test mixed_fund_and_stock_round_trip_uses_declared_ticks_and_asset_specific_fees ... ok +test late_opening_rule_sees_the_etf_open_fill_after_earlier_quote_callbacks ... ok +test ordinary_sell_has_one_order_owner_before_broker_execution ... ok +test next_day_outside_policy_executes_after_the_first_exclusion_signal ... ok +test etf_signal_budget_does_not_read_the_current_sessions_future_close ... ok +test no_signal_day_executes_the_etf_open_before_later_deferred_stock_orders ... ok +test outside_manual_holding_data_does_not_become_a_pool_candidate ... ok +test partial_backtest_fills_do_not_turn_into_completed_preserved_holdings ... ok +test partial_sell_does_not_release_a_slot_or_authorize_replacement ... ok +test paused_execution_day_keeps_the_prior_slot_and_never_submits_an_exit ... ok +test parsed_pool_program_executes_daily_membership_changes_without_legacy_translation ... ok +test repeating_the_same_partial_exit_generation_does_not_reduce_again ... ok +test session_total_cache_is_invalidated_without_mutating_other_dataset_clones ... ok +test runtime_allocation_is_separate_from_the_frozen_pool_and_restores_its_weights ... ok +test pool_position_adjustments_use_execution_clock_and_restore_original_twenty_percent ... ok +test parsed_typed_exit_program_keeps_ordinary_gates_and_independent_risk_targets_separate ... ok + +test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s + + Running tests/stock_pool_execution_state.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/stock_pool_execution_state-a8b965ddcfd186e1) + +running 8 tests +test cloned_preview_does_not_start_a_timer_and_next_open_uses_signal_removal_date ... ok +test legacy_state_without_quantity_keeps_its_serialized_identity ... ok +test cash_clipped_or_rejected_entry_does_not_claim_full_completion ... ok +test fully_filled_entry_is_not_reopened_when_price_falls_before_next_observation ... ok +test partial_exit_basis_is_immutable_restart_safe_and_scoped_to_the_signal ... ok +test removal_anchor_is_not_reset_by_rechecks_weekends_or_t_plus_one ... ok +test verified_split_adjusts_exit_basis_and_entry_completion_not_generation ... ok +test partial_entry_continues_after_restart_then_completed_holdings_are_preserved ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/strategy_selection.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/strategy_selection-bf5a72b2003c833f) + +running 2 tests +test omni_strategy_emits_same_day_decision ... ok +test strategy_emits_target_weights_and_diagnostics ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples/factor-event-kernel.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/examples/factor_event_kernel-a260d3344df203ac) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples/market-event-kernel.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/examples/market_event_kernel-5de2814ec6066707) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples/session-event-kernel.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/examples/session_event_kernel-98fea304db4ec85d) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples/signal-book-kernel.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/examples/signal_book_kernel-3330346f98161ef4) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + diff --git a/docs/evidence/registered-share-risk-20261005/core-risk-initial-failure.log b/docs/evidence/registered-share-risk-20261005/core-risk-initial-failure.log new file mode 100644 index 0000000..2bf008e --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/core-risk-initial-failure.log @@ -0,0 +1,809 @@ + Compiling fidc-core v0.1.0 (/srv/fidc/programs/src/fidc-share-receivable-validation-20261005-4a41057/crates/fidc-core) + Finished `test` profile [unoptimized] target(s) in 42.79s + Running unittests src/lib.rs (/tmp/fidc-cash-receivable-build-20261005-af655de/debug/deps/fidc_core-dbea4d4f6cb5d2d7) + +running 789 tests +test broker::tests::aiquant_rules_keep_structured_buy_risk_while_using_aiquant_limit_price ... ok +test broker::tests::aiquant_sell_rule_still_blocks_real_allow_sell_false ... ok +test broker::tests::aiquant_sell_rule_uses_intraday_quote_when_daily_snapshot_is_stale_lower_limit ... ok +test broker::tests::aiquant_target_portfolio_smart_keeps_batch_semantics_after_failed_full_close_sell ... ok +test broker::tests::aiquant_target_portfolio_smart_rejects_deferred_buy_risk_at_order_stage ... ok +test broker::stock_pool::successor_protection_tests::deferred_etf_open_rechecks_inherited_locks_and_cooldown_before_any_order ... ok +test broker::tests::aiquant_target_value_delta_uses_scheduled_mark_price ... ok +test broker::tests::algorithm_clock::algorithm_expiry_without_a_quote_does_not_reuse_old_liquidity ... ok +test broker::tests::algorithm_clock::an_explicit_ioc_or_fok_does_not_become_a_persistent_algorithm ... ok +test broker::tests::algorithm_clock::algorithm_sell_honors_t_plus_one_and_keeps_original_quantity_after_partial_fills ... ok +test broker::tests::algorithm_clock::a_clock_slice_does_not_turn_window_twap_into_an_unlimited_instant_order ... ok +test broker::tests::algorithm_clock::control_only_phase_cannot_be_used_to_submit_an_order_or_leave_matching_disabled ... ok +test broker::tests::algorithm_clock::changing_the_later_daily_close_does_not_resize_an_algorithm_submitted_now ... ok +test broker::tests::algorithm_clock::global_vwap_matching_keeps_the_same_working_order_between_clock_ticks ... ok +test broker::tests::algorithm_clock::non_matching_controls_amend_or_cancel_without_filling_a_crossing_quote ... ok +test broker::tests::algorithm_clock::partial_algorithm_cancel_releases_reservation_and_never_executes_the_remainder ... ok +test broker::tests::algorithm_clock::two_working_algorithms_reserve_only_real_cash_without_starving_the_first ... ok +test broker::tests::algorithm_clock::twap_clock_preserves_quantity_prices_fees_budget_and_parent_order ... ok +test broker::tests::complete_daily_target_batch_uses_positive_target_count_for_slot_limit ... ok +test broker::tests::algorithm_clock::separate_buy_cannot_spend_the_working_algorithms_cash_budget ... ok +test broker::tests::daily_capacity_requires_a_timed_observation_instead_of_falling_back_to_total_volume ... ok +test broker::tests::daily_matching_does_not_require_intraday_quote_quantity ... ok +test broker::tests::custom_valuation_missing_with_current_market_still_fails_closed ... ok +test broker::tests::algorithm_clock::vwap_clock_preserves_cash_costs_and_does_not_spend_future_volume ... ok +test broker::tests::decision_buy_denial_allows_reducing_an_existing_buy ... ok +test broker::tests::decision_buy_denial_does_not_rewrite_existing_pending_order ... ok +test broker::tests::daily_session_volume_changes_only_audit_not_opening_fills ... ok +test broker::tests::decision_buy_denial_blocks_topup_but_allows_sell_and_does_not_leak ... ok +test broker::tests::decision_buy_denial_rejects_increasing_amendments_without_mutation ... ok +test broker::tests::each_execution_leg_rechecks_one_yuan_including_slippage_and_limit_price ... ok +test broker::tests::explicit_quote_price_models_do_not_replace_missing_prices_or_reuse_older_ones ... ok +test broker::tests::decision_buy_denial_uses_actual_next_open_target_delta ... ok +test broker::tests::failed_target_exit_blocks_replacement_entry_when_no_position_slot_is_released ... ok +test broker::tests::gtc_resting_order_keeps_its_session_and_original_dates_across_days ... ok +test broker::tests::deferred_etf_batch_failure_keeps_both_targets_and_prior_generation_progress ... ok +test broker::tests::failed_new_batch_does_not_erase_prior_success_or_double_charge_on_retry ... ok +test broker::tests::historical_slippage_rejects_missing_future_or_invalid_calibration_without_raw_price_fallback ... ok +test broker::tests::instantaneous_twap_without_limits_does_not_cap_quote_quantity ... ok +test broker::tests::intraday_execution_rejects_buy_at_upper_limit_price ... ok +test broker::tests::intraday_execution_rejects_sell_at_lower_limit_price ... ok +test broker::tests::later_execution_clocks_do_not_replenish_the_same_observed_volume ... ok +test broker::tests::independent_target_entry_is_not_subject_to_replacement_slot_limit ... ok +test broker::tests::minute_last_exact_time_does_not_fallback_to_older_liquid_quote ... ok +test broker::tests::minute_last_execution_uses_latest_quote_before_decision_time ... ok +test broker::tests::market_share_buy_skips_quantity_that_rounds_below_one_lot ... ok +test broker::tests::minute_last_prefilter_does_not_use_snapshot_minute_volume ... ok +test broker::tests::minute_last_quote_quantity_cap_depends_on_liquidity_limit ... ok +test broker::tests::minute_last_uses_volume_delta_when_level1_depth_missing ... ok +test broker::tests::minute_last_volume_limit_caps_quote_volume_delta_without_liquidity_limit ... ok +test broker::tests::minute_last_volume_limit_rejects_sub_lot_quote_volume ... ok +test broker::tests::minute_last_without_volume_or_liquidity_limit_does_not_cap_quote_quantity ... ok +test broker::tests::historical_slippage_does_not_read_later_daily_fields_for_open_or_minute_fills ... ok +test broker::tests::next_open_buy_limit_risk_rejects_open_upper_limit_even_when_close_is_clean ... ok +test broker::tests::next_open_buy_limit_risk_uses_open_not_close ... ok +test broker::tests::next_open_buy_risk_rejects_execution_date_delisted_even_without_market_snapshot ... ok +test broker::tests::next_open_buy_risk_rejects_execution_date_st_even_if_signal_date_was_clean ... ok +test broker::tests::next_open_sell_limit_risk_rejects_open_lower_limit_even_when_close_is_clean ... ok +test broker::tests::next_open_buy_risk_uses_execution_date_not_signal_date ... ok +test broker::tests::next_open_day_limit_remainder_matches_intraday_with_execution_day_ttl ... ok +test broker::tests::next_open_sell_limit_risk_uses_open_not_close ... ok +test broker::tests::next_open_sell_risk_rejects_execution_date_lower_limit_even_if_signal_date_was_clean ... ok +test broker::tests::next_open_sell_risk_uses_execution_date_not_signal_date ... ok +test broker::tests::next_open_target_portfolio_unpriced_symbol_does_not_abort_batch ... ok +test broker::tests::next_open_target_value_valuation_uses_execution_open ... ok +test broker::tests::next_open_target_value_recomputes_quantity_from_execution_open ... ok +test broker::tests::next_open_unpriced_active_snapshot_rejects_without_historical_fill ... ok +test broker::tests::next_open_unpriced_paused_snapshot_prefers_execution_day_pause_risk ... ok +test broker::tests::next_open_with_observations_uses_opening_volume_not_daily_totals_or_future_quotes ... ok +test broker::tests::open_order_upsert_replaces_in_place_and_preserves_queue_position ... ok +test broker::tests::pending_registered_shares_do_not_trigger_duplicate_target_buys ... ok +test broker::tests::post_close_phase_is_derived_from_actual_same_day_submission_time ... ok +test broker::tests::queued_order_retains_the_real_creation_clock_when_retried ... ok +test broker::tests::post_close_order_uses_close_without_slippage_and_waits_until_matching_window ... ok +test broker::tests::session_audit_does_not_infer_an_opening_suspension_from_future_zero_volume ... ok +test broker::tests::scheduled_target_value_valuation_and_sizing_use_same_intraday_price ... ok +test broker::tests::session_capacity_audit_never_caps_an_early_odd_lot_sell ... ok +test broker::tests::public_callback_unwind_does_not_leak_order_context_or_authoritative_prior_state ... ok +test broker::tests::stock_pool_after_sell_rejects_missing_quote_instead_of_reusing_daily_open ... ok +test broker::tests::stock_pool_after_sell_uses_fresh_quotes_and_actual_submission_clock ... ok +test broker::tests::stock_pool_delayed_sell_does_not_start_buys_after_the_configured_window ... ok +test broker::tests::stock_pool_delayed_take_profit_does_not_rebuy_the_same_generation_exit ... ok +test broker::tests::stock_pool_engine_drives_the_pending_buy_without_a_minute_strategy_callback ... ok +test broker::tests::stock_pool_new_signal_supersedes_the_unsubmitted_buy_phase ... ok +test broker::tests::stock_pool_partial_sell_waits_for_the_whole_batch_and_never_reissues_buys ... ok +test broker::tests::stock_pool_pending_phase_cannot_cross_the_execution_session ... ok +test broker::tests::strict_value_buy_budget_includes_commission_at_execution_price ... ok +test broker::tests::successful_target_exit_releases_position_slot_for_replacement_entry ... ok +test broker::tests::stock_pool_pending_sell_continues_buy_after_actual_fill_without_strategy_rerun ... ok +test broker::tests::target_percent_reduction_from_full_to_twenty_percent_sells_eighty_percent ... ok +test broker::tests::target_portfolio_smart_custom_valuation_does_not_create_limit_orders ... ok +test broker::tests::target_portfolio_smart_budgets_each_buy_before_cash_optimization ... ok +test broker::tests::target_portfolio_smart_defers_buy_risk_until_order_validation ... ok +test broker::tests::target_portfolio_smart_ignores_zero_weight_symbols_without_market_snapshot ... ok +test broker::tests::target_portfolio_smart_keeps_position_when_sell_snapshot_missing ... ok +test broker::tests::target_portfolio_smart_open_auction_uses_day_open_for_valuation ... ok +test broker::tests::target_portfolio_smart_records_buy_rejection_when_target_is_blacklisted ... ok +test broker::tests::target_portfolio_smart_pre_open_cash_does_not_spend_same_batch_sell_proceeds ... ok +test broker::tests::target_portfolio_smart_uses_prior_close_only_for_missing_day_valuation ... ok +test broker::tests::target_value_delta_below_order_step_is_audited_without_creating_zero_quantity_order ... ok +test broker::tests::target_value_batch_executes_reductions_before_increases_when_sell_cash_is_reusable ... ok +test broker::tests::target_value_reduction_from_full_to_twenty_percent_sells_eighty_percent ... ok +test broker::tests::target_value_zero_rejects_sell_when_market_snapshot_missing ... ok +test broker::tests::target_weight_buy_quantity_respects_per_symbol_budget_after_slippage_and_fees ... ok +test broker::tests::timed_target_value_zero_sells_full_position_at_requested_time_quote ... ok +test broker::tests::failed_resting_order_batch_keeps_accepted_orders_and_unpublished_financial_state ... ok +test broker::tests::twap_earlier_fills_do_not_depend_on_later_quote_liquidity_or_count ... ok +test broker::tests::unchanged_targets_do_not_create_zero_quantity_orders ... ok +test broker::tests::unwinding_an_unpublished_simulator_transaction_restores_its_state ... ok +test broker::tests::value_buy_process_uses_latest_quote_before_decision_time ... ok +test broker::tests::value_buy_rejects_when_slippage_clamps_execution_price_to_upper_limit ... ok +test corporate_book::tests::closing_register_cannot_be_replaced_by_later_holdings ... ok +test corporate_book::tests::dividend_receivable_survives_a_flat_position_without_becoming_spendable_cash ... ok +test corporate_book::tests::a_late_corporate_batch_failure_keeps_prior_cash_positions_and_notes ... ok +test corporate_book::tests::entitlement_survives_complete_sale_and_a_successor_unit_conversion ... ok +test corporate_book::tests::corporate_quantity_overflow_fails_without_saturation_or_a_negative_delta ... ok +test corporate_book::tests::flat_position_retirement_does_not_change_issued_lot_state_or_next_purchase_origin ... ok +test corporate_book::tests::explicitly_delayed_dividend_remains_receivable_until_actual_payment ... ok +test corporate_book::tests::manual_zero_skips_only_unused_allocation_facts_not_invalid_cash_evidence ... ok +test corporate_book::tests::missing_accounting_reference_is_atomic_not_a_silent_cash_only_success ... ok +test corporate_book::tests::invalid_delivery_negative_rates_and_unresolved_fractional_claims_are_atomic ... ok +test corporate_book::tests::missing_or_backward_cash_payment_date_never_updates_the_account ... ok +test corporate_book::tests::per_share_precision_is_retained_until_the_registered_cash_amount_is_rounded ... ok +test corporate_book::tests::missing_record_date_or_unobserved_closing_book_is_atomic ... ok +test corporate_book::tests::post_record_buy_cannot_receive_the_earlier_dividend ... ok +test corporate_book::tests::post_record_purchase_does_not_inherit_registered_shares ... ok +test corporate_book::tests::registered_shares_are_valued_but_not_delivered_or_sellable_before_the_original_date ... ok +test corporate_book::tests::sale_after_registration_preserves_cash_and_excludes_new_lots_from_cost_adjustment ... ok +test corporate_book::tests::successor_without_frozen_instrument_metadata_is_not_an_implicit_new_security ... ok +test corporate_book::tests::terminated_security_keeps_paid_cash_and_is_not_recreated_by_reinvestment ... ok +test corporate_book::tests::successor_conversion_cannot_discard_unresolved_share_entitlements ... ok +test corporate_book::tests::tiny_known_cash_rate_is_preserved_and_cannot_waive_payment_or_record_evidence ... ok +test corporate_book::tests::unresolved_delisting_cannot_zero_a_pending_share_asset ... FAILED +test cost::tests::cost_model_can_use_configurable_stamp_tax_change_date ... ok +test cost::tests::default_quantizes_fees_to_micro_yuan ... ok +test cost::tests::fund_fees_use_admitted_instrument_type_and_share_the_order_commission_budget ... ok +test corporate_book::tests::invalid_successor_terms_cannot_be_replaced_with_one_share_or_zero_cash ... ok +test corporate_book::tests::verified_conversion_preserves_lots_without_creating_orders_or_fills ... ok +test daily_patterns::tests::breakout_retest_needs_a_later_retest_not_the_breakout_candle_itself ... ok +test daily_patterns::tests::daily_patterns_adjusts_all_prices_not_volume ... ok +test daily_patterns::tests::daily_patterns_flat_decimal_prices_do_not_create_a_sell_signal ... ok +test daily_patterns::tests::daily_patterns_helper_literal_preserves_parameters ... ok +test daily_patterns::tests::daily_patterns_rejects_future_and_duplicate_bars ... ok +test daily_patterns::tests::daily_patterns_no_missing_data_fallback ... ok +test daily_patterns::tests::daily_patterns_all_templates_and_score_absence ... ok +test daily_patterns::tests::limit_consolidation_requires_real_limit_and_never_infers_ten_percent ... ok +test daily_patterns::tests::mean_volume_followup_requires_bullish_breakout_and_shrink ... ok +test daily_patterns::tests::mean_volume_is_not_prior_max_and_excludes_current_bar ... ok +test daily_patterns::tests::expression_condition_preserves_native_types_and_rejects_numeric_as_signal ... ok +test daily_patterns::tests::research_index_and_ranking_context_never_unlock_strategy_mapping ... ok +test data::series_columns::tests::differing_prices_preserve_zero_nan_payloads_and_prior_rows ... ok +test data::series_columns::tests::identical_prices_share_only_after_exact_bit_comparison ... ok +test daily_patterns::tests::research_isolates_missing_listing_day_without_weakening_execution ... ok +test data::series_columns::tests::optional_values_keep_none_distinct_from_empty_and_repeated_text ... ok +test data::series_columns::tests::repeated_values_preserve_nonzero_values_and_copy_on_change ... ok +test daily_patterns::tests::research_numeric_output_keeps_warmup_unknown_without_a_false_signal ... ok +test data::series_columns::tests::repeated_values_reject_out_of_range_access - should panic ... ok +test data::tests::adjusted_close_average_normalization_prevents_strict_crossover_drift ... ok +test data::tests::baseline_selection_uses_dated_lifecycle_not_latest_undated_status ... ok +test data::tests::benchmark_current_rolling_reuses_symbol_boundary ... ignored, manual release-mode current rolling boundary benchmark +test data::tests::benchmark_daily_snapshot_view_lookup ... ignored, manual component benchmark +test data::tests::benchmark_decision_close_windows_exclude_current_close ... ok +test data::tests::benchmark_instrument_symbol_id_lookup ... ignored, manual release-mode instrument lookup benchmark +test data::tests::benchmark_series_boundary_reuses_calendar_index ... ignored, manual release-mode calendar index reuse benchmark +test data::tests::additional_terminal_calendar_dates_are_isolated_from_shared_market_data ... ok +test data::tests::current_close_average_uses_backward_adjustment_factor_and_current_base ... ok +test data::tests::batched_standard_rolling_means_match_scalar_lookups ... ok +test data::tests::daily_bundle_constructor_rejects_duplicate_or_mismatched_dates ... ok +test data::tests::day_open_moving_average_uses_its_own_historical_column ... ok +test data::tests::dataset_clone_shares_immutable_base_and_isolates_execution_quotes ... ok +test data::tests::decision_close_average_ignores_current_day_close ... ok +test data::tests::decision_market_cap_uses_factor_date_snapshot_without_price_reconstruction ... ok +test data::tests::decision_volume_average_ignores_paused_zero_volume_days ... ok +test data::tests::decision_volume_average_uses_previous_completed_days_only ... ok +test data::tests::daily_bundle_constructor_matches_flat_component_constructor ... ok +test data::tests::eligible_universe_can_use_configured_risk_policy ... ok +test data::tests::direct_symbol_id_snapshot_lookups_preserve_alignment_for_sparse_rows ... ok +test data::tests::eligible_universe_does_not_require_candidate_risk_state_when_selection_risk_is_disabled ... ok +test data::tests::factor_numeric_value_normalizes_fields_without_changing_aliases ... ok +test data::tests::factor_snapshot_normalization_moves_clean_maps_and_repairs_dirty_maps ... ok +test data::tests::eligible_universe_uses_decision_market_cap_same_date ... ok +test data::tests::execution_quotes_use_stable_k_way_merge_and_release_by_date ... ok +test data::tests::factor_snapshot_rejects_legacy_or_invalid_adjustment_storage ... ok +test data::tests::intraday_overlay_fails_closed_when_daily_panel_is_shared ... ok +test data::tests::future_missing_adjustment_factor_does_not_invalidate_historical_window ... ok +test data::tests::parallel_dense_index_rejects_invalid_days_without_publishing_partial_index ... ok +test data::tests::parallel_daily_symbol_indices_match_scalar_for_sparse_and_empty_days ... ok +test data::tests::replacing_execution_quotes_preserves_duplicate_timestamp_rows ... ok +test data::tests::series_columns_preserve_full_snapshots_and_distinct_price_bits ... ok +test data::tests::series_end_position_index_preserves_decision_and_current_boundaries ... ok +test data::tests::series_overlay_materializes_only_changed_values_and_preserves_history_cutoff ... ok +test data::tests::shared_execution_quote_release_does_not_clone_the_base_map ... ok +test data::tests::symbol_id_union_preserves_lexical_order_and_all_component_sources ... ok +test data::tests::source_volume_contract_rejects_windows_containing_missing_values ... ok +test data::tests::symbol_price_series_test_constructor_sorts_unsorted_rows ... ok +test data::tests::unique_dataset_applies_sparse_intraday_overlay_to_daily_and_symbol_views ... ok +test data::tests::parallel_daily_bundle_validation_keeps_earliest_error_and_component_order ... ok +test decision_projection::tests::projection_contract_does_not_shadow_core_market_or_typed_fields ... ok +test decision_projection::tests::exact_projection_coverage_and_classified_absence_are_receipted ... ok +test decision_projection::tests::projection_rejects_future_drift_or_unbound_receipts ... ok +test data::tests::volume_rolling_ignores_zero_volume_rows_for_source_and_legacy_data ... ok +test decision_projection::tests::projection_rejects_incomplete_duplicate_extra_and_overlapping_population ... ok +test decision_projection::tests::projection_rejects_nonfinite_wrong_fields_and_unproven_absence ... ok +test engine::tests::backtest_execution_dates_match_sparse_lagged_equity_schedule ... ok +test engine::tests::after_trading_cancel_is_executed_as_a_control_not_a_next_session_order ... ok +test engine::tests::compact_progress_keeps_counts_without_event_payload_clones ... ok +test engine::tests::current_bar_close_uses_decision_day_close_for_fill ... ok +test engine::tests::decision_projection_does_not_silently_shift_a_start_without_prior_inputs ... ok +test engine::tests::current_close_order_at_1500_loads_and_uses_post_close_matching_window ... ok +test engine::tests::compact_manual_progress_keeps_exact_applications_and_fallible_delivery_stops_the_run ... ok +test engine::tests::decision_projection_failure_never_reaches_strategy_and_does_not_blindly_retry ... ok +test engine::tests::decision_projection_rejects_future_response_before_any_strategy_callback ... ok +test engine::tests::decision_projection_refuses_static_scores_and_same_session_inputs ... ok +test engine::tests::decision_projection_rejects_missing_calendar_inputs_instead_of_dropping_a_session ... ok +test engine::tests::decision_projection_is_called_before_callbacks_and_is_not_shared_or_carried_forward ... ok +test engine::tests::decision_projection_requested_first_session_uses_visible_preperiod_inputs ... ok +test engine::tests::default_close_phase_waits_for_close_and_callbacks_receive_completed_trade_history ... ok +test engine::tests::early_pre_open_schedules_observe_manual_receipts_in_chronological_order ... ok +test engine::tests::empty_manual_source_does_not_retime_natural_strategy_execution ... ok +test engine::tests::join_text_parts_matches_vec_join_contract ... ok +test engine::tests::final_day_late_intents_are_retained_without_orders_or_fills_past_the_end ... ok +test engine::tests::full_minute_coverage_rejects_missing_active_bars_but_allows_paused_or_zero_volume ... ok +test engine::tests::lagged_signal_callbacks_keep_signal_date_but_process_notifications_use_execution_date ... ok +test engine::tests::late_day_callbacks_read_the_actual_earlier_trade_and_keep_their_current_clock ... ok +test engine::tests::late_complete_targets_use_latest_target_and_next_day_zero_supersedes_them ... ok +test engine::tests::late_intents_do_not_wait_for_another_selection_snapshot ... ok +test engine::tests::late_imperative_orders_execute_once_in_next_session_with_original_dates_and_new_price ... ok +test engine::tests::lifecycle_quote_filter_skips_only_dated_legal_absence_before_loading ... ok +test engine::tests::late_opening_callback_is_interleaved_with_earlier_quotes_and_manual_observations ... ok +test engine::tests::minute_event_clock_uses_timestamp_order_and_coalesces_equal_heads ... ok +test engine::tests::latest_unsent_complete_portfolio_does_not_union_an_older_pre_market_target ... ok +test engine::tests::minute_schedules_fire_at_each_declared_time_without_market_rows_at_those_times ... ok +test engine::tests::next_bar_open_eligible_universe_helper_does_not_block_on_decision_day_risk ... ok +test engine::tests::next_bar_open_executes_last_decision_without_execution_day_factor_snapshot ... ok +test engine::tests::minute_observer_never_sees_a_later_fill_from_a_coarse_phase ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_paused_state ... ok +test engine::tests::manual_observations_are_visible_at_their_real_phase_and_each_receipt_sequence ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_st_state ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_star_st_state ... ok +test engine::tests::next_bar_open_execution_risk_ignores_decision_day_upper_limit_state ... ok +test engine::tests::next_bar_open_execution_risk_ignores_later_one_yuan_close ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_delisted_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_blacklisted_buy_on_execution_day ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_paused_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_star_st_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_st_state ... ok +test engine::tests::next_bar_open_execution_risk_rejects_execution_day_upper_limit_buy ... ok +test engine::tests::next_bar_open_execution_risk_rejects_one_yuan_open_despite_higher_close ... ok +test engine::tests::next_bar_open_execution_risk_uses_open_not_close_for_upper_limit_buy ... ok +test engine::tests::next_bar_open_same_day_rebuy_uses_actual_execution_date ... ok +test engine::tests::next_bar_open_scheduled_signal_uses_decision_date_not_execution_date ... ok +test engine::tests::next_bar_open_sell_respects_allow_sell_policy_on_execution_day ... ok +test engine::tests::next_bar_open_sell_risk_ignores_decision_day_paused_and_lower_limit_state ... ok +test engine::tests::next_bar_open_sell_risk_rejects_execution_day_lower_limit_state ... ok +test engine::tests::next_bar_open_sell_risk_uses_open_not_close_for_lower_limit_sell ... ok +test engine::tests::next_bar_open_sell_volume_limit_ignores_decision_day_zero_volume ... ok +test engine::tests::next_bar_open_session_audit_flags_zero_volume_without_rewriting_fills ... ok +test engine::tests::next_bar_open_skips_unavailable_lag_day_and_fills_next_open ... ok +test engine::tests::next_bar_open_strategy_context_data_helpers_use_decision_date ... ok +test engine::tests::next_bar_open_target_percent_freezes_decision_day_equity ... ok +test engine::tests::next_bar_open_target_portfolio_smart_sizes_with_execution_day_open ... ok +test engine::tests::observed_manual_sale_updates_the_shared_same_day_rebuy_rule ... ok +test engine::tests::next_open_observation_loads_quotes_even_when_execution_price_is_open ... ok +test engine::tests::opening_and_late_lifecycle_schedules_do_not_read_past_or_future_manual_state ... ok +test engine::tests::opening_schedule_cannot_cross_the_after_trading_phase ... ok +test engine::tests::physical_on_day_rules_keep_each_actual_submission_time ... ok +test engine::tests::opening_subscription_is_loaded_without_replaying_quotes_before_its_activation ... ok +test engine::tests::opening_orders_are_submitted_once_at_their_real_clock_even_with_an_earlier_execution_window ... ok +test engine::tests::post_close_phase_callbacks_never_rewind_before_completed_fills ... ok +test engine::tests::post_close_wait_has_no_position_before_the_first_actual_matching_tick ... ok +test engine::tests::pre_trading_orders_wait_for_the_configured_window_and_keep_their_audit ... ok +test engine::tests::process_callbacks_observe_the_completed_minute_trade_and_its_clock ... ok +test engine::tests::scheduled_event_detail_records_actual_time_only_for_timed_rules ... ok +test engine::tests::pre_market_cancel_is_observed_before_the_next_open_and_new_signal ... ok +test engine::tests::unknown_identity_or_missing_candidate_does_not_waive_quote_coverage ... ok +test engine::tests::window_algorithm_cannot_publish_future_fill_quantity_to_earlier_callbacks ... ok +test etf_execution::tests::latest_generation_overwrites_pending_targets_and_preserves_candidate_order ... ok +test engine::tests::wholly_prelisting_universe_retains_cash_days_without_fabricating_prices ... ok +test etf_execution::tests::no_loaded_next_session_is_not_guessed_from_natural_days ... ok +test events::tests::accounting_origin_cannot_disguise_an_exchange_order_or_fee ... ok +test events::tests::order_event_status_quantity_contract_is_explicit ... ok +test events::tests::fill_execution_timestamp_range_is_explicit_and_backward_compatible ... ok +test events::tests::process_event_business_lifecycle_filter_keeps_audit_events_only ... ok +test execution_capacity::tests::completed_volume_cannot_be_used_for_an_earlier_open ... ok +test execution_capacity::tests::decimal_participation_never_rounds_a_fractional_share_up_or_overflows ... ok +test execution_capacity::tests::delayed_publication_and_invalid_bounds_are_not_treated_as_zero_volume ... ok +test execution_capacity::tests::session_audit_changes_verdict_not_executed_quantity ... ok +test execution_schedule::tests::clock_entitlements_are_exact_and_allow_backlog_without_future_quote_counts ... ok +test factor_cross_section::tests::neutralization_preserves_input_order ... ok +test factor_cross_section::tests::ties_keep_equal_rank_and_missing_universe_rejects ... ok +test factor_cross_section::tests::historical_ranks_keep_ties_and_unknown_full_cross_sections ... ok +test factor_events::tests::cross_is_event_not_state_and_never_uses_future ... ok +test factor_events::tests::every_parameter_domain_is_structured_and_matches_native_defaults ... ok +test factor_events::tests::missing_is_not_zero_and_breakout_excludes_current ... ok +test factor_events::tests::no_event_has_no_bars_since_and_type_errors_reject ... ok +test engine::tests::scheduled_day_limit_order_loads_later_quotes_without_strategy_minute_subscription ... ok +test factor_events::tests::ta_rewarms_after_gap_and_const_zscore_is_unknown ... ok +test factor_events::tests::ta_sma_real_values_and_parameter_validation ... ok +test finite_serialization::tests::pending_numbers_cannot_be_silently_serialized_as_optional_nulls ... ok +test fixed_point::tests::decimal_parser_rounds_only_beyond_money_scale ... ok +test fixed_point::tests::fixed_budget_comparison_rejects_one_micro_yuan_overrun ... ok +test fixed_point::tests::fixed_budget_never_exceeds_cash_after_cost ... ok +test fixed_point::tests::fixed_fifo_pnl_and_external_flow_are_deterministic ... ok +test fixed_point::tests::runtime_cost_model_matches_fixed_execution_primitive ... ok +test fixed_point::tests::runtime_split_commission_matches_fixed_execution_primitive ... ok +test holding_policy::tests::absolute_locks_are_inclusive_and_override_timed_exit_without_changing_other_symbols ... ok +test holding_policy::tests::manual_origin_only_bypasses_automatic_policy_not_an_order_or_broker_permission ... ok +test holding_policy::tests::opening_date_follows_fills_not_partial_sales_or_corporate_conversions ... ok +test holding_policy::tests::three_complete_sessions_protect_through_wednesday_not_72_hours ... ok +test holding_policy::tests::zero_disabled_and_missing_calendar_or_opened_date_are_not_inferred ... ok +test instrument::tests::lifecycle_is_dated_and_latest_undated_terminal_status_is_not_historical_evidence ... ok +test instrument::tests::listing_sector_is_explicit_and_unknown_stays_unknown ... ok +test instrument::tests::order_quantity_rules_are_case_insensitive_without_allocating_normalized_boards ... ok +test manual_execution::tests::a_failed_corporate_projection_does_not_change_the_book_or_receipt_cursor ... ok +test manual_execution::tests::all_required_money_and_binding_fields_reject_missing_or_wrong_values ... ok +test manual_execution::tests::authoritative_total_fee_does_not_require_inventing_unknown_components ... ok +test manual_execution::tests::changing_any_external_price_or_identity_invalidates_the_frozen_trace ... ok +test manual_execution::tests::complete_exact_decimal_evidence_allows_later_observation_and_retains_source_digits ... ok +test manual_execution::tests::confirmed_manual_fill_changes_cash_and_lots_but_not_external_cash_flow_units ... ok +test manual_execution::tests::confirmed_no_order_outcome_is_distinct_from_unconfirmed_or_unknown_work ... ok +test manual_execution::tests::cursor_waits_for_observation_and_never_reapplies_or_rewinds ... ok +test manual_execution::tests::data_scope_only_contains_actual_filled_securities_and_validates_the_source ... ok +test manual_execution::tests::failed_multi_receipt_advance_keeps_both_progress_and_portfolio_unchanged ... ok +test manual_execution::tests::fixed_money_decimal_text_preserves_micro_units_without_float_conversion ... ok +test factor_events::tests::literal_unknown_fields_reject_and_catalog_is_not_trading_permission ... ok +test manual_execution::tests::inconsistent_counts_terminals_audits_and_duplicate_facts_are_rejected ... ok +test factor_events::tests::parameter_domains_keep_enumeration_labels_without_debug_string_parsing ... ok +test manual_execution::tests::late_buy_fifo_depletion_preserves_costs_and_cannot_unlock_today_lots ... ok +test manual_execution::tests::late_fee_evidence_keeps_the_original_fill_observation_clock ... ok +test manual_execution::tests::late_buy_retains_the_earliest_opening_and_latest_buy_dates ... ok +test manual_execution::tests::manual_fee_total_includes_extra_charges_and_rejects_inconsistent_components ... ok +test manual_execution::tests::manual_mismatches_are_atomic_and_do_not_borrow_shares_cash_or_override_pending_orders ... ok +test manual_execution::tests::observations_follow_durable_receipt_order_and_not_input_array_order ... ok +test manual_execution::tests::partial_cancel_is_valid_but_full_fill_cannot_be_reported_as_cancelled ... ok +test manual_execution::tests::runtime_position_events_cannot_claim_observations_after_the_source_cutoff ... ok +test manual_execution::tests::raw_timezone_and_cutoff_are_required ... ok +test manual_execution::tests::the_next_day_manual_sale_keeps_the_actual_quantity_and_fee_contract ... ok +test manual_execution::tests::v2_facts_keep_their_encoding_but_cannot_silently_carry_new_runtime_settings ... ok +test market_event_context::tests::formulas_use_real_limits_and_full_denominators ... ok +test market_event_context::tests::missing_duplicate_and_unproven_limit_states_fail ... ok +test market_event_context::tests::chunking_and_future_append_preserve_history ... ok +test manual_execution::tests::source_time_precision_is_not_invented_and_submitted_time_must_fit_the_interval ... ok +test metrics::risk_adjusted_contract_tests::changing_daily_rates_adjusts_each_return_before_variance_and_downside ... ok +test metrics::risk_adjusted_contract_tests::incomplete_or_invalid_rates_are_not_zero_rate_observations ... ok +test market_event_context::tests::missing_industry_does_not_invent_groups_or_disable_independent_market_facts ... ok +test metrics::risk_adjusted_contract_tests::zero_deviation_and_single_sample_ratios_remain_undefined ... ok +test metrics::tests::a_defined_zero_ratio_is_not_missing ... ok +test metrics::tests::drawdown_includes_initial_nav_without_adding_a_trading_day ... ok +test metrics::tests::benchmark_cumulative_return_uses_first_day_previous_close ... ok +test metrics::tests::external_cash_flow_is_excluded_from_return_and_reported_separately ... ok +test metrics::tests::first_day_loss_is_preserved_in_shared_backtest_metrics ... ok +test metrics::tests::gains_without_downside_have_no_sortino_or_monthly_sharpe ... ok +test metrics::tests::no_risk_ratio_is_fabricated_after_nav_has_reached_zero ... ok +test metrics::tests::signal_baseline_uses_same_close_for_strategy_and_benchmark ... ok +test metrics::tests::risk_adjusted_metrics_use_daily_pit_rates_and_all_period_downside ... ok +test numeric_expr_vm::tests::benchmark_numeric_vm_against_rhai ... ignored, manual release-mode performance evidence +test metrics::tests::undefined_ratios_remain_null_in_backtest_metrics ... ok +test numeric_expr_vm::tests::evaluates_numeric_boolean_and_if_expressions ... ok +test numeric_expr_vm::tests::floating_comparisons_match_rhai_epsilon_semantics ... ok +test numeric_expr_vm::tests::invalid_clamp_returns_error_without_panicking ... ok +test numeric_expr_vm::tests::nullable_boolean_truth_table_preserves_unknown_under_negation ... ok +test numeric_expr_vm::tests::nullable_short_circuit_and_explicit_conditional_branches_are_lazy ... ok +test numeric_expr_vm::tests::missing_numeric_operands_do_not_become_boolean_false_or_zero ... ok +test numeric_expr_vm::tests::rejects_dynamic_language_features ... ok +test numeric_expr_vm::tests::scratch_reuses_allocations_across_program_runs ... ok +test numeric_expr_vm::tests::short_circuit_does_not_resolve_unused_variable ... ok +test numeric_expr_vm::tests::supports_numeric_builtins_and_local_reuse ... ok +test numeric_factors::tests::bulk_load_is_sorted_and_keeps_last_value_for_each_field ... ok +test numeric_factors::tests::clone_does_not_share_mutable_values ... ok +test numeric_factors::tests::compact_keys_inline_dynamic_names_and_keep_long_static_storage ... ok +test numeric_factors::tests::exact_reservation_preserves_values_and_avoids_growth_during_known_inserts ... ok +test numeric_factors::tests::long_dynamic_unicode_and_short_keys_keep_the_same_json_map ... ok +test numeric_factors::tests::serialization_keeps_the_map_contract_and_precise_numbers ... ok +test numeric_expr_vm::tests::matches_rhai_for_representative_numeric_boolean_corpus ... ok +test numeric_factors::tests::wide_batch_merge_matches_tree_and_preserves_old_key_ownership ... ok +test pattern_context::tests::normalized_rule_does_not_turn_an_omitted_window_into_explicit_null ... ok +test pattern_context::tests::reference_index_never_defaults_to_performance_benchmark ... ok +test pattern_context::tests::runtime_contract_rejects_missing_range_and_recursive_ranks ... ok +test numeric_factors::tests::updates_order_removal_and_values_match_tree_map ... ok +test pattern_context::tests::dataset_rank_is_full_scope_causal_and_equal_to_pure_cross_section ... ok +test pattern_context::tests::structured_pool_conditions_are_not_rescanned_inside_serialized_source_code ... ok +test platform_expr_strategy::tests::allocation_buy_scale_preserves_explicit_overweight_multiplier ... ok +test platform_expr_strategy::tests::benchmark_compiled_runtime_helper_arguments ... ignored, manual release-mode runtime helper binding benchmark +test platform_expr_strategy::tests::bjse_symbol_detection_is_case_insensitive_without_normalizing_all_symbols ... ok +test platform_expr_strategy::tests::available_factor_name_collection_preserves_sparse_and_repeated_fields ... ok +test platform_expr_strategy::tests::buy_filter_attaches_denials_without_rewriting_selection ... ok +test platform_expr_strategy::tests::available_factor_name_collection_preserves_wide_dynamic_field_identity ... ok +test platform_expr_strategy::tests::buy_filter_uses_active_schedule_time_instead_of_first_configured_time ... ok +test platform_expr_strategy::tests::completed_session_factor_dates_exclude_intraday_and_preserve_next_open ... ok +test platform_expr_strategy::tests::buy_quote_filter_rejects_missing_intraday_quote_not_daily_close ... ok +test platform_expr_strategy::tests::completed_session_bound_value_does_not_read_same_day_future_value ... ok +test platform_expr_strategy::tests::current_rolling_helpers_do_not_load_factor_maps_or_decision_rollings ... ok +test platform_expr_strategy::tests::daily_pattern_runtime_uses_the_shared_kernel_and_rejects_early_visibility ... ok +test platform_expr_strategy::tests::dated_position_exposure_uses_the_latest_effective_point ... ok +test platform_expr_strategy::tests::daily_replacement_reference_records_an_explicit_empty_previous_target ... ok +test platform_expr_strategy::tests::daily_replacement_reference_uses_previous_target_before_lagged_orders_fill ... ok +test platform_expr_strategy::tests::expression_plan_only_executes_prelude_when_expression_depends_on_it ... ok +test platform_expr_strategy::tests::expression_plan_skips_unreferenced_market_scope_maps ... ok +test platform_expr_strategy::tests::framework_rolling_factor_aliases_resolve_to_raw_market_series ... ok +test platform_expr_strategy::tests::lagged_rebalance_emits_target_value_even_when_projection_is_unchanged ... ok +test platform_expr_strategy::tests::factor_position_target_reduces_once_without_daily_rebalance_override ... ok +test platform_expr_strategy::tests::market_cap_ordered_selection_range_is_inclusive_and_field_specific ... ok +test platform_expr_strategy::tests::model_target_lifecycle_removes_exits_and_appends_replacements ... ok +test platform_expr_strategy::tests::numeric_vm_compiles_static_runtime_helper_arguments ... ok +test platform_expr_strategy::tests::numeric_vm_reuses_compiled_program_across_invocations ... ok +test platform_expr_strategy::tests::numeric_vm_rewrites_only_valid_iso_date_literals ... ok +test platform_expr_strategy::tests::numeric_vm_reuses_rolling_helper_program_across_dates ... ok +test platform_expr_strategy::tests::market_cap_ascending_rank_reuses_only_equivalent_universe_order ... ok +test platform_expr_strategy::tests::periodic_selected_bjse_buy_rejection_is_audited_without_creating_an_order ... ok +test platform_expr_strategy::tests::platform_aiquant_buy_rejection_keeps_candidate_buy_disabled ... ok +test platform_expr_strategy::tests::platform_aiquant_blocks_target_increase_when_stop_loss_sell_is_lower_limit_blocked ... ok +test platform_expr_strategy::tests::platform_aiquant_buy_rejection_uses_scheduled_price_not_open_limit ... ok +test platform_expr_strategy::tests::platform_aiquant_daily_top_up_releases_slot_after_take_profit_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_daily_top_up_uses_remaining_slot_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_daily_top_up_releases_second_slot_after_prior_top_up ... ok +test platform_expr_strategy::tests::platform_aiquant_delays_upper_limit_take_profit_to_configured_open_time ... ok +test platform_expr_strategy::tests::platform_aiquant_marked_total_uses_intraday_last_not_close ... ok +test platform_expr_strategy::tests::platform_aiquant_marked_total_value_uses_scheduled_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_minute_last_projection_uses_last_quote_for_buy_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_marks_highlimit_before_cptrade_time ... ok +test platform_expr_strategy::tests::platform_aiquant_minute_stop_loss_requires_intraday_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_next_open_stop_loss_uses_signal_close_not_execution_last_price ... ok +test platform_expr_strategy::tests::platform_aiquant_missing_risk_state_does_not_force_existing_position_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_next_open_target_delta_uses_previous_close_and_sizes_at_open ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_allows_signal_day_market_fallback_for_next_open ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_does_not_release_sell_slot_without_execution_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_rejects_missing_symbol_execution_quote ... ok +test platform_expr_strategy::tests::platform_aiquant_projection_reserves_sell_cost_without_same_callback_proceeds ... ok +test platform_expr_strategy::tests::platform_aiquant_periodic_rebalance_uses_total_equity_equal_weight_buy_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_remaining_buy_cash_uses_strategy_visible_price_and_projected_quantity ... ok +test platform_expr_strategy::tests::platform_aiquant_risk_level_forces_existing_position_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_selection_uses_decision_market_cap ... ok +test platform_expr_strategy::tests::platform_aiquant_sell_projection_uses_signal_day_market_for_lagged_execution ... ok +test platform_expr_strategy::tests::platform_aiquant_scheduled_quote_uses_configured_intraday_time ... ok +test platform_expr_strategy::tests::platform_aiquant_sells_down_before_actionable_take_profit_exit ... ok +test platform_expr_strategy::tests::platform_aiquant_skips_positive_target_adjust_when_position_will_close ... ok +test platform_expr_strategy::tests::platform_aiquant_stock_expr_uses_scheduled_minute_price_for_limit_check ... ok +test platform_expr_strategy::tests::platform_aiquant_target_adjust_uses_scheduled_quote_for_position_value ... ok +test platform_expr_strategy::tests::platform_aiquant_target_value_uses_scheduled_mark_for_delta ... ok +test platform_expr_strategy::tests::platform_aiquant_stop_loss_uses_fee_cost_basis_avg_cost ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_allows_pending_highlimit_target_adjust_after_open ... ok +test platform_expr_strategy::tests::platform_aiquant_upper_limit_buy_disabled_does_not_force_exit_existing_position ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_emits_daily_position_target_adjustment ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_marks_upper_limit_but_allows_target_adjust ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_threshold_only_sells_overweight_positions ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_threshold_top_up_uses_projected_remaining_budget ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_retargets_same_ratio_every_day ... ok +test platform_expr_strategy::tests::platform_calendar_day_rebalance_interval_can_be_enabled_explicitly ... ok +test platform_expr_strategy::tests::platform_aiquant_weak_market_waits_pending_highlimit_target_adjust ... ok +test platform_expr_strategy::tests::platform_buy_rejection_allows_lower_limit_buy_when_ask_is_available ... ok +test platform_expr_strategy::tests::platform_current_rolling_uses_decision_date_row_not_prior_factor_row ... ok +test platform_expr_strategy::tests::platform_can_sell_position_uses_configured_lower_limit_policy ... ok +test platform_expr_strategy::tests::platform_daily_top_up_caps_empty_slot_to_equal_weight_target ... ok +test platform_expr_strategy::tests::platform_daily_top_up_counts_submitted_zero_fill_candidate_as_strategy_slot ... ok +test platform_expr_strategy::tests::platform_daily_top_up_does_not_buy_back_same_day_exit ... ok +test platform_expr_strategy::tests::platform_daily_top_up_keeps_selection_limited_to_target_count ... ok +test platform_expr_strategy::tests::platform_daily_top_up_releases_unsellable_stop_loss_slot ... ok +test platform_expr_strategy::tests::platform_daily_top_up_release_slot_flag_matches_aiquant_exit_signal_state ... ok +test platform_expr_strategy::tests::platform_daily_top_up_skips_current_stop_loss_symbol_like_aiquant ... ok +test platform_expr_strategy::tests::platform_day_state_uses_decision_benchmark_close ... ok +test platform_expr_strategy::tests::platform_daily_top_up_uses_same_day_sell_cash ... ok +test platform_expr_strategy::tests::platform_delayed_open_day_carried_full_close_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_delayed_open_exit_uses_delayed_time_for_slot_projection ... ok +test platform_expr_strategy::tests::platform_delayed_open_day_take_profit_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_expr_code_number_extracts_stock_digits ... ok +test platform_expr_strategy::tests::platform_explicit_actions_keep_every_declared_trade_time ... ok +test platform_expr_strategy::tests::platform_expr_cost_model_honors_zero_minimum_commission ... ok +test platform_expr_strategy::tests::platform_expr_expands_day_factor_in_prelude ... ok +test platform_expr_strategy::tests::platform_expr_limit_flags_are_directional ... ok +test platform_expr_strategy::tests::platform_delayed_open_partial_exit_releases_top_up_slot ... ok +test platform_expr_strategy::tests::platform_expr_normalizes_python_style_integer_division ... ok +test platform_expr_strategy::tests::platform_expr_normalizes_signal_field_alias_in_prelude ... ok +test platform_expr_strategy::tests::platform_expr_cost_model_uses_commission_override ... ok +test platform_expr_strategy::tests::platform_expr_preflight_rejects_malformed_expression_with_field_name ... ok +test platform_expr_strategy::tests::platform_expr_missing_requested_factor_does_not_default_to_zero ... ok +test platform_expr_strategy::tests::platform_expr_preflight_accepts_all_configured_expression_categories ... ok +test platform_expr_strategy::tests::platform_expr_rewrites_nested_ternary ... ok +test platform_expr_strategy::tests::platform_expr_rewrites_prelude_assignment_ternary ... ok +test platform_expr_strategy::tests::platform_expr_rewrites_multiple_nested_ternaries_inside_function_calls ... ok +test platform_expr_strategy::tests::platform_expr_safe_div_supports_two_and_three_arg_forms ... ok +test platform_expr_strategy::tests::platform_expr_supports_python_style_string_aliases ... ok +test platform_expr_strategy::tests::platform_expr_tracks_requested_dynamic_factor_identifiers ... ok +test platform_expr_strategy::tests::platform_full_exposure_carried_full_close_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_lagged_exit_does_not_reserve_replacement_slot_before_execution ... ok +test platform_expr_strategy::tests::platform_full_exposure_partial_stop_loss_releases_second_top_up_slot ... ok +test platform_expr_strategy::tests::platform_helpers_support_generic_rolling_stats_and_normalized_factors ... ok +test platform_expr_strategy::tests::platform_max_holding_days_counts_decision_trading_days_not_calendar_days ... ok +test platform_expr_strategy::tests::platform_marked_total_value_uses_current_day_close ... ok +test platform_expr_strategy::tests::platform_market_cap_field_uses_storage_unit_without_extra_scaling ... ok +test platform_expr_strategy::tests::platform_minute_last_volume_limit_does_not_require_l1_quantity ... ok +test platform_expr_strategy::tests::platform_max_holding_days_exit_preempts_take_profit_exit ... ok +test platform_expr_strategy::tests::platform_next_open_defers_complete_static_selection_risk_before_universe_output ... ok +test platform_expr_strategy::tests::platform_next_open_risk_level_exit_ignores_decision_day_sellability ... ok +test platform_expr_strategy::tests::platform_next_open_projected_execution_price_uses_open_not_close ... ok +test platform_expr_strategy::tests::platform_next_open_selection_applies_explicit_signal_day_risk_filter ... ok +test platform_expr_strategy::tests::platform_next_open_select_symbols_defers_decision_day_limit_state ... ok +test platform_expr_strategy::tests::platform_next_open_selection_ignores_execution_day_limit_state ... ok +test platform_expr_strategy::tests::platform_next_open_sell_risk_uses_open_not_close_for_lower_limit ... ok +test platform_expr_strategy::tests::platform_order_value_quantity_includes_buy_commission_budget ... ok +test platform_expr_strategy::tests::platform_numeric_stop_loss_is_strictly_below_multiplier ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_caps_empty_slot_to_equal_weight_target ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_skips_unsellable_stop_loss_symbol ... ok +test platform_expr_strategy::tests::platform_projected_execution_limit_checks_respect_risk_policy ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_uses_same_day_sell_cash_for_later_buys ... ok +test platform_expr_strategy::tests::platform_projected_market_fill_caps_volume_limit ... ok +test platform_expr_strategy::tests::platform_rebalance_date_due_does_not_use_the_on_day_default_clock ... ok +test platform_expr_strategy::tests::platform_periodic_rebalance_tops_up_underweight_selected_holding ... ok +test platform_expr_strategy::tests::platform_rebalance_schedule_matches_monthly_tradingday ... ok +test platform_expr_strategy::tests::platform_rebalance_schedule_matches_physical_time ... ok +test platform_expr_strategy::tests::platform_rebalance_schedule_matches_weekly_weekday ... ok +test platform_expr_strategy::tests::platform_projection_does_not_consume_cash_from_unfillable_sell ... ok +test platform_expr_strategy::tests::platform_rebalance_keeps_unresolved_delisted_position_without_orders_or_replacement ... ok +test platform_expr_strategy::tests::platform_selection_does_not_fill_candidates_with_buy_risk_rejections ... ok +test platform_expr_strategy::tests::platform_selection_and_buy_respect_allow_flags_are_configurable ... ok +test platform_expr_strategy::tests::platform_selection_expands_pct_change_in_filter_and_rank_expr ... ok +test platform_expr_strategy::tests::platform_selection_kcb_switch_overrides_legacy_universe_exclude ... ok +test platform_expr_strategy::tests::platform_refresh_rate_uses_stateful_trading_day_counter ... ok +test platform_expr_strategy::tests::platform_selection_missing_candidate_risk_state_does_not_change_default_universe ... ok +test platform_expr_strategy::tests::platform_selection_ranks_with_previous_factor_date ... ok +test broker::tests::simulator_transaction_profile_preserves_successful_output ... ok +test platform_expr_strategy::tests::platform_signal_price_model_lifecycle_survives_unfilled_buy_and_exits ... ok +test platform_expr_strategy::tests::platform_selection_uses_complete_static_risk_policy_before_universe_output ... ok +test platform_expr_strategy::tests::platform_skip_window_keeps_pending_highlimit_until_open ... ok +test platform_expr_strategy::tests::platform_skip_window_runs_delayed_open_exit_before_seasonal_liquidation ... ok +test platform_expr_strategy::tests::platform_stock_expr_exposes_star_st_and_bjse_fields_without_default_selection_risk ... ok +test platform_expr_strategy::tests::platform_selection_ranks_by_candidate_market_cap_with_current_precomputed_factors ... ok +test platform_expr_strategy::tests::platform_stock_expr_rejects_when_volume_ma5_exceeds_market_volume_ma100 ... ok +test platform_expr_strategy::tests::platform_stock_expr_handles_positive_volume_guard ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_completed_day_high_and_low_for_limit_touch ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_factor_date_for_selection_market_fields ... ok +test platform_expr_strategy::tests::platform_stop_loss_residual_pending_rechecks_signal_next_day ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_market_series_when_factor_map_has_no_rolling ... ok +test platform_expr_strategy::tests::platform_stock_state_uses_framework_rolling_series ... ok +test platform_expr_strategy::tests::platform_strategy_baseline_risk_rejects_new_listing_buy_without_selection_replacement ... ok +test platform_expr_strategy::tests::platform_strategy_can_cancel_latest_open_order_by_runtime_id ... ok +test platform_expr_strategy::tests::platform_strategy_emits_algo_order_actions ... ok +test platform_expr_strategy::tests::platform_strategy_can_filter_with_string_factors ... ok +test platform_expr_strategy::tests::platform_strategy_emits_explicit_actions_in_open_auction_stage ... ok +test platform_expr_strategy::tests::platform_strategy_emits_explicit_actions_when_rotation_is_disabled ... ok +test platform_expr_strategy::tests::platform_strategy_emits_target_portfolio_smart_algo_order_style ... ok +test platform_expr_strategy::tests::platform_stop_take_fraction_values_are_return_thresholds ... ok +test platform_expr_strategy::tests::platform_strategy_emits_target_shares_explicit_action ... ok +test platform_expr_strategy::tests::platform_strategy_emits_target_portfolio_smart_explicit_action ... ok +test platform_expr_strategy::tests::platform_strategy_emits_universe_management_actions ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_open_order_runtime_fields ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_advanced_data_runtime_helpers ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_position_lifecycle_runtime_fields ... ok +test platform_expr_strategy::tests::platform_strategy_empty_exclude_keeps_buy_risk_without_selection_filtering ... ok +test platform_expr_strategy::tests::platform_strategy_exposes_process_event_runtime_fields ... ok +test platform_expr_strategy::tests::platform_strategy_filters_target_portfolio_smart_by_subscription_guard ... ok +test platform_expr_strategy::tests::platform_strategy_skips_explicit_actions_when_schedule_does_not_match ... ok +test platform_expr_strategy::tests::platform_strategy_suppresses_explicit_target_for_blocked_stop_loss_exit ... ok +test platform_expr_strategy::tests::platform_strategy_uses_decision_date_for_next_bar_open_signals ... ok +test platform_expr_strategy::tests::platform_strategy_treats_missing_stock_rolling_window_as_filter_reject ... ok +test platform_expr_strategy::tests::platform_take_profit_default_uses_position_cost_basis ... ok +test platform_expr_strategy::tests::platform_take_profit_false_does_not_track_upper_limit_pending_sell ... ok +test platform_expr_strategy::tests::platform_take_profit_sells_position_at_upper_limit ... ok +test platform_expr_strategy::tests::platform_weak_exposure_carried_full_close_keeps_residual_slot ... ok +test platform_expr_strategy::tests::platform_weak_exposure_partial_stop_loss_keeps_residual_slot ... ok +test platform_expr_strategy::tests::portfolio_drawdown_control_is_idempotent_and_rearms_after_cooldown ... ok +test platform_expr_strategy::tests::platform_weak_market_skips_target_increase_before_intraday_stop_loss_sell_blocked ... ok +test platform_expr_strategy::tests::platform_weak_market_skips_target_adjust_before_actionable_stop_loss ... ok +test platform_expr_strategy::tests::selection_buffer_retains_held_symbols_within_buffer_rank ... ok +test platform_expr_strategy::tests::platform_weak_market_skips_target_increase_before_lower_limit_blocked_stop_loss ... ok +test platform_expr_strategy::tests::projected_historical_slippage_does_not_swallow_missing_calibration ... ok +test platform_expr_strategy::tests::selection_quote_plan_filters_daily_part_before_minute_candidates ... ok +test platform_expr_strategy::tests::selection_replacement_limit_caps_voluntary_daily_removals ... ok +test platform_expr_strategy::tests::session_event_uses_previous_bar_and_recomputes_at_each_minute_without_becoming_a_quote ... ok +test platform_expr_strategy::tests::selection_quote_plan_keeps_configured_static_selection_risk_for_intraday_fields ... ok +test platform_expr_strategy::tests::selection_limit_state_requires_intraday_selection_quotes ... ok +test platform_expr_strategy::tests::stock_pool_exit_weight_redistribution_is_explicit_and_uses_integer_bps ... ok +test platform_expr_strategy::tests::stock_pool_suspension_keeps_budget_and_exit_redistributes_only_available_weights ... ok +test platform_expr_strategy::tests::signal_date_explicit_actions_are_due_only_on_declared_snapshot_dates ... ok +test platform_expr_strategy::tests::portfolio_loss_observes_finalized_nav_after_fees_and_cash_flows ... ok +test platform_expr_strategy::tests::stock_pool_suspension_resolution_never_reads_the_future_execution_day ... ok +test platform_expr_strategy::tests::stock_pool_target_lifecycle_keeps_exits_for_next_day_reentry ... ok +test platform_expr_strategy::tests::stock_state_cache_resets_before_reusing_compact_keys_on_another_date ... ok +test platform_expr_strategy::tests::strategy_specific_labels_are_not_framework_rolling_factors ... ok +test platform_expr_strategy::tests::target_portfolio_smart_exposes_decision_and_execution_dates ... ok +test platform_expr_strategy::tests::stock_snapshot_fields_are_loaded_only_when_the_strategy_uses_them ... ok +test platform_expr_strategy::tests::target_portfolio_smart_respects_current_date_weight_conditions ... ok +test platform_expr_strategy::tests::target_scale_replenishment_preserves_strategy_cash_allocation ... ok +test platform_expr_strategy::tests::strategy105_numeric_expressions_compile_to_vm ... ok +test platform_expr_strategy::tests::typed_runtime_numbers_preserve_legacy_rhai_formatting ... ok +test platform_expr_strategy::tests::universe_exclude_matches_explicit_symbols_and_bjse_alias ... ok +test platform_runtime_schema::tests::runtime_schema_includes_known_identifiers ... ok +test platform_runtime_schema::tests::runtime_schema_serializes_to_json_object ... ok +test platform_strategy_spec::tests::accepts_equivalent_risk_policy_alias_values ... ok +test platform_strategy_spec::tests::accepts_scoped_blacklist_context_in_runtime_risk_policy ... ok +test platform_expr_strategy::tests::timed_rotation_runs_on_its_schedule_instead_of_the_untimed_day_hook ... ok +test platform_strategy_spec::tests::canonicalizes_duplicate_execution_aliases_without_changing_strategy_intent ... ok +test platform_strategy_spec::tests::current_close_respects_explicitly_disabled_liquidity_limit ... ok +test platform_strategy_spec::tests::engine_config_parses_weak_market_shrink_overweight_threshold ... ok +test platform_strategy_spec::tests::engine_stock_ma_filter_generates_price_and_volume_expr ... ok +test platform_strategy_spec::tests::explicit_actions_inherit_top_level_runtime_schedule ... ok +test platform_strategy_spec::tests::execution_limit_aliases_normalize_to_one_serde_field_without_touching_policy ... ok +test platform_strategy_spec::tests::explicit_delayed_limit_open_exit_false_overrides_trade_times ... ok +test platform_strategy_spec::tests::explicit_trading_schedule_overrides_rebalance_trade_times ... ok +test platform_strategy_spec::tests::index_throttle_uses_signal_ma_not_performance_benchmark_ma ... ok +test platform_strategy_spec::tests::frozen_candidate_order_is_explicit_and_preserves_source_positions ... ok +test platform_strategy_spec::tests::multiple_trade_times_do_not_imply_delayed_limit_exit ... ok +test platform_strategy_spec::tests::native_factor_bindings_declare_completed_session_fields ... ok +test platform_strategy_spec::tests::normalize_board_does_not_infer_kcb_from_security_code ... ok +test platform_strategy_spec::tests::numeric_strategy_aliases_accept_exact_zero_but_never_hide_rounding_or_conflicts ... ok +test platform_strategy_spec::tests::parses_and_rejects_invalid_position_target_rules ... ok +test platform_strategy_spec::tests::parses_buy_filter_as_a_separate_trading_condition ... ok +test platform_strategy_spec::tests::parses_daily_schedule_time_for_execution_quotes ... ok +test platform_strategy_spec::tests::parses_delayed_deposit_receiving_days_expression ... ok +test platform_strategy_spec::tests::parses_dynamic_model_score_dates_into_platform_config ... ok +test platform_strategy_spec::tests::parses_execution_cost_overrides_into_platform_config ... ok +test platform_strategy_spec::tests::parses_execution_slippage_overrides_into_platform_config ... ok +test platform_strategy_spec::tests::parses_explicit_delayed_limit_open_exit ... ok +test platform_strategy_spec::tests::parses_explicit_historical_slippage_into_platform_config ... ok +test platform_strategy_spec::tests::parses_lifecycle_target_portfolio_contract ... ok +test platform_strategy_spec::tests::parses_generic_futures_actions_and_rejects_incomplete_contracts ... ok +test platform_expr_strategy::tests::timed_current_close_stop_loss_reloads_state_after_quote_arrives ... ok +test platform_strategy_spec::tests::parses_max_holding_days_from_engine_and_runtime_trading ... ok +test platform_strategy_spec::tests::parses_percent_slippage_alias_into_platform_config ... ok +test platform_strategy_spec::tests::parses_minute_stage_schedule_and_initial_subscriptions ... ok +test platform_strategy_spec::tests::parses_portfolio_drawdown_control_into_platform_config ... ok +test platform_strategy_spec::tests::parses_position_average_entry_stop_take_reference_price_mode ... ok +test platform_strategy_spec::tests::parses_rebalance_cash_mode_and_forces_minute_to_actual_sequence ... ok +test platform_strategy_spec::tests::parses_risk_policy_into_platform_config ... ok +test platform_strategy_spec::tests::parses_runtime_expression_spec_into_platform_config ... ok +test platform_strategy_spec::tests::parses_signal_dates_rebalance_into_platform_config ... ok +test platform_strategy_spec::tests::parses_signal_day_post_adjusted_stop_take_reference_price_mode ... ok +test platform_strategy_spec::tests::parses_typed_time_in_force_for_explicit_orders ... ok +test platform_strategy_spec::tests::parses_st_and_star_st_risk_policy_switches_into_platform_config ... ok +test platform_strategy_spec::tests::rejects_conflicting_non_policy_strategy_aliases ... ok +test platform_strategy_spec::tests::rejects_conflicting_risk_policy_alias_values ... ok +test platform_strategy_spec::tests::rejects_invalid_explicit_volume_percent_in_platform_config ... ok +test platform_strategy_spec::tests::portfolio_loss_contract_is_explicit_and_validated ... ok +test platform_strategy_spec::tests::rejects_invalid_or_duplicate_static_universe_symbols ... ok +test platform_strategy_spec::tests::rejects_invalid_portfolio_drawdown_control ... ok +test platform_strategy_spec::tests::rejects_removed_compatibility_profile ... ok +test platform_strategy_spec::tests::rejects_removed_engine_profile_name ... ok +test platform_strategy_spec::tests::rejects_unknown_stop_take_reference_price_mode ... ok +test platform_strategy_spec::tests::rejects_non_positive_shared_order_limits ... ok +test platform_strategy_spec::tests::rejects_unknown_strategy_risk_policy_fields_before_deserialization ... ok +test platform_strategy_spec::tests::platform_spec_accepts_only_supported_matching_types ... ok +test platform_strategy_spec::tests::rejects_unknown_time_in_force_in_runtime_contract ... ok +test platform_strategy_spec::tests::runtime_expression_parser_does_not_inherit_microcap_template_defaults ... ok +test platform_strategy_spec::tests::runtime_expression_parses_dated_position_exposure_schedule ... ok +test platform_strategy_spec::tests::retired_or_unknown_slippage_models_do_not_fall_back_to_fixed_or_none ... ok +test platform_strategy_spec::tests::runtime_expressions_infer_ma_windows_from_literal_strategy_logic ... ok +test portfolio::tests::buy_after_partial_sell_continues_moving_average_cost_basis ... ok +test platform_strategy_spec::tests::volume_limit_does_not_enable_quote_quantity_limit_for_minute_last ... ok +test portfolio::tests::cash_dividend_can_preserve_avg_cost_for_aiquant_rules ... ok +test portfolio::tests::delayed_withdrawals_are_reserved_and_settled_atomically ... ok +test portfolio::tests::external_cash_flow_rebases_units_without_changing_nav ... ok +test portfolio::tests::fifo_fixed_pnl_conserves_value_while_alv_average_cost_stays_stable ... ok +test portfolio::tests::fixed_lot_allocation_rounds_nearest_and_conserves_total ... ok +test portfolio::tests::holdings_summary_reports_entry_price_pnl_excluding_buy_commission ... ok +test portfolio::tests::partial_sell_preserves_remaining_average_cost ... ok +test portfolio::tests::portfolio_exposes_engine_native_account_metrics ... ok +test portfolio::tests::portfolio_marks_same_day_buy_at_fill_until_next_trading_day ... ok +test portfolio::tests::portfolio_missing_market_requires_formal_suspension_before_carrying_price ... ok +test portfolio::tests::portfolio_tracks_dividend_receivable_and_day_pnl ... ok +test portfolio::tests::position_tracks_day_lifecycle_fields ... ok +test portfolio::tests::positions_preserve_insertion_order ... ok +test portfolio::tests::scoped_checkpoint_restores_order_flat_rows_and_progress_without_copying_untouched_lots ... ok +test portfolio::tests::strategy_entry_price_excludes_buy_commission_cost_basis ... ok +test portfolio_loss::tests::cash_sessions_preserve_continuity_without_inventing_returns ... ok +test platform_strategy_spec::tests::session_rotation_keeps_every_declared_clock_not_only_the_last_one ... ok +test portfolio_loss::tests::refuses_future_missing_corrected_and_incomplete_accounting ... ok +test portfolio_loss::tests::restart_is_exact_and_duplicate_decisions_do_not_consume_cooldown ... ok +test portfolio_loss::tests::restored_state_rejects_changed_policy_and_forged_cooldown ... ok +test portfolio_loss::tests::nav_serialization_preserves_float_bits ... ok +test position_exposure::tests::allocation_is_dated_and_any_later_scalar_or_restore_clears_it ... ok +test position_exposure::tests::explicit_equity_targets_and_buys_scale_but_sales_cashflows_and_prices_do_not ... ok +test position_exposure::tests::rejects_unknown_actions_duplicate_identity_and_invalid_bps ... ok +test position_exposure::tests::same_day_adjustments_restore_and_future_events_keep_their_own_times ... ok +test position_exposure::tests::scalar_preserves_strategy_risk_off_and_restore_keeps_original_exposure ... ok +test risk_control::tests::concrete_kcb_reason_wins_over_generic_missing_risk_state ... ok +test risk_control::tests::configurable_bjse_filter_can_be_disabled ... ok +test risk_control::tests::configurable_blacklist_rejects_selection_and_buy ... ok +test risk_control::tests::configurable_kcb_filter_can_be_disabled ... ok +test risk_control::tests::configurable_lower_limit_selection_filter_can_be_disabled ... ok +test risk_control::tests::configurable_upper_limit_buy_filter_can_be_disabled ... ok +test risk_control::tests::configurable_upper_limit_selection_filter_can_be_disabled ... ok +test risk_control::tests::delisting_period_status_is_not_terminal_without_delisted_date ... ok +test risk_control::tests::execution_quote_covers_missing_one_yuan_flag_but_not_other_risk_facts ... ok +test risk_control::tests::explicit_candidate_inactive_status_is_not_treated_as_missing_risk_state ... ok +test risk_control::tests::explicit_one_yuan_selection_policy_still_uses_selection_facts ... ok +test risk_control::tests::fund_identity_excludes_stock_one_yuan_rule_but_not_actual_price_and_pause_checks ... ok +test risk_control::tests::inactive_selection_checks_preserve_missing_facts_and_execution_rejections ... ok +test risk_control::tests::kcb_filter_uses_classification_instead_of_security_code ... ok +test risk_control::tests::missing_risk_state_can_be_relaxed_by_disabling_static_filters ... ok +test risk_control::tests::missing_risk_state_default_selection_ignores_allow_flags_but_buy_rejects ... ok +test risk_control::tests::missing_risk_state_rejects_sell_when_sell_risk_facts_are_missing ... ok +test risk_control::tests::missing_risk_state_respects_field_specific_buy_switches ... ok +test risk_control::tests::missing_risk_state_respects_field_specific_selection_switches ... ok +test risk_control::tests::missing_risk_state_selection_audit_keeps_missing_fields_in_reason ... ok +test risk_control::tests::missing_risk_state_selection_still_respects_configured_static_filters ... ok +test risk_control::tests::missing_risk_state_sell_can_be_relaxed_by_disabling_sell_static_filters ... ok +test risk_control::tests::one_yuan_buy_rule_uses_execution_price_not_later_close_or_earlier_open ... ok +test risk_control::tests::sell_rejection_blocks_execution_price_at_lower_limit ... ok +test risk_control::tests::sell_rejection_respects_allow_sell_policy_on_execution_day ... ok +test risk_control::tests::sell_rejects_explicit_candidate_inactive_status_without_instrument_row ... ok +test risk_control::tests::shared_order_size_limits_apply_to_both_sides_and_buy_position ... ok +test risk_control::tests::st_and_star_st_filters_are_independent ... ok +test scheduler::tests::date_due_is_independent_from_the_order_execution_clock ... ok +test scheduler::tests::scheduler_matches_before_trading_and_minute_level_rules ... ok +test scheduler::tests::scheduler_matches_daily_weekly_and_monthly_rules ... ok +test platform_expr_strategy::tests::shared_signal_reduction_and_stops_use_each_accounts_cost_quantity_and_sold_state ... ok +test portfolio::tests::cash_ledger_accumulates_micro_yuan_exactly ... ok +test session_events::tests::gaps_and_stale_last_bars_do_not_become_false_or_repeated_signals ... ok +test session_events::tests::opening_range_is_unavailable_before_the_range_has_completed ... ok +test signal_contract::tests::changed_valid_contents_must_not_reuse_a_version_hash ... ok +test signal_contract::tests::completed_daily_inputs_may_be_published_after_market_close ... ok +test signal_contract::tests::coverage_and_duplicate_actions_fail_closed ... ok +test signal_contract::tests::empty_complete_snapshot_clears_only_that_accounts_holdings ... ok +test signal_contract::tests::historical_reconstruction_is_not_online_publication ... ok +test signal_contract::tests::next_open_uses_decision_session_and_never_nearest_signal ... ok +test signal_contract::tests::observed_next_open_never_backdates_a_morning_publication_into_yesterdays_orders ... ok +test signal_contract::tests::platform_spec_consumes_book_without_running_another_selection ... ok +test signal_contract::tests::reconstruction_ignores_research_wall_clock_but_never_early_input_availability ... ok +test signal_contract::tests::reduction_is_resolved_from_each_accounts_actual_position ... ok +test signal_contract::tests::rejects_future_inputs_and_model_knowledge ... ok +test signal_contract::tests::rejects_overallocation_nonfinite_and_ambiguous_actions ... ok +test signal_contract::tests::rejects_quantities_prices_and_unknown_signal_fields ... ok +test stock_pool_candidates::tests::list_order_reuses_explicit_prefix_and_appends_new_candidates ... ok +test stock_pool_candidates::tests::missing_snapshot_duplicate_input_and_empty_filtered_scope_fail ... ok +test stock_pool_candidates::tests::mixed_sources_preserve_priority_and_both_provenances ... ok +test session_events::tests::decision_uses_the_previous_completed_label_and_future_prices_do_not_rewrite ... ok +test stock_pool_candidates::tests::zero_automatic_day_keeps_manual_members_without_inheriting_old_auto_targets ... ok +test stock_pool_execution::frozen::ratio_tests::legacy_paused_and_explicit_partial_budgets_are_not_reinterpreted ... ok +test stock_pool_execution::frozen::ratio_tests::precise_paused_budget_survives_replacement_and_zero_targets ... ok +test stock_pool_execution::frozen::ratio_tests::precision_is_checked_before_frozen_budget_is_allocated ... ok +test stock_pool_execution::tests::confirmed_holdings_not_unsettled_sells_determine_remaining_position_budget ... ok +test stock_pool_execution::tests::all_membership_and_weight_combinations_use_the_same_target_planner ... ok +test stock_pool_execution::tests::frozen_valuation_is_dated_and_cannot_turn_an_unknown_gap_into_a_pause ... ok +test stock_pool_execution::tests::full_stop_overrides_a_simultaneous_factor_reduction_without_a_second_target ... ok +test stock_pool_execution::tests::independent_exit_quote_priority_does_not_bypass_t_plus_one_or_price_validation ... ok +test stock_pool_execution::tests::independent_full_exit_has_no_ordinary_quote_dependency_but_partial_risk_does_not_fake_missing_facts ... ok +test stock_pool_execution::tests::independent_stop_does_not_require_unused_ordinary_sell_quote_facts ... ok +test stock_pool_execution::tests::index_cap_cannot_sell_a_paused_holding_or_use_its_budget_as_free_cash ... ok +test stock_pool_execution::tests::index_cap_keeps_non_sellable_quantity_and_defers_the_remaining_risk_target ... ok +test stock_pool_execution::tests::index_cap_reduces_existing_proportions_without_enabling_weight_rebalancing ... ok +test stock_pool_execution::tests::equal_thirty_seats_use_full_precision_at_a_board_lot_boundary ... ok +test stock_pool_execution::tests::index_cap_respects_ordinary_weight_changes_and_stronger_fill_protection ... ok +test stock_pool_execution::tests::instrument_price_tick_and_quantity_units_are_not_a_two_decimal_stock_assumption ... ok +test stock_pool_execution::tests::legacy_constraints_do_not_gain_an_empty_precision_field ... ok +test stock_pool_execution::tests::market_quantity_budget_includes_execution_slippage_and_fees ... ok +test stock_pool_execution::tests::index_exposure_and_reserved_seats_multiply_without_rounding_the_budget_early ... ok +test stock_pool_execution::tests::native_sell_and_quote_conditions_are_and_but_stop_and_protection_remain_independent ... ok +test stock_pool_execution::tests::optional_configuration_and_conflicting_aliases_are_explicit ... ok +test stock_pool_execution::tests::ordinary_sell_keeps_required_quote_failures_and_zero_stop_is_not_an_exit ... ok +test stock_pool_execution::tests::partial_sell_cooldown_restricts_increases_without_clearing_the_remainder ... ok +test stock_pool_execution::tests::ordinary_sell_scope_excludes_independent_exits_and_protected_positions ... ok +test stock_pool_execution::tests::paused_outside_holding_retains_prior_budget_without_an_execution_quote ... ok +test stock_pool_execution::tests::quote_condition_number_contract_rejects_invalid_facts_and_fractional_shares ... ok +test stock_pool_execution::tests::paused_held_weight_is_not_replenished_after_another_stock_exits ... ok +test stock_pool_execution::tests::quote_condition_scopes_are_evaluated_before_target_orders ... ok +test stock_pool_execution::tests::quote_only_exit_still_works_when_independent_risk_rules_are_configured ... ok +test session_events::tests::all_thirteen_events_return_native_boolean_series ... ok +test stock_pool_execution::tests::reserve_slots_keep_requested_and_effective_exposure_distinct ... ok +test stock_pool_execution::tests::retained_holdings_reserve_actual_value_and_zero_funding_still_clears ... ok +test stock_pool_execution::tests::risk_only_configuration_never_turns_into_an_unconditional_ordinary_exit ... ok +test stock_pool_execution::tests::sale_slippage_does_not_prevent_a_marked_value_board_lot_reduction ... ok +test stock_pool_execution::tests::sell_cooldown_does_not_turn_disabled_weight_rebalancing_back_on ... ok +test stock_pool_execution::tests::sell_quote_condition_creates_exit_and_unmet_holding_keeps_its_slot ... ok +test stock_pool_execution::tests::selection_excluding_paused_stock_keeps_the_same_24_stock_budget_as_broker_execution ... ok +test stock_pool_execution::tests::stop_reduction_merge_matrix_preserves_protection_t_plus_one_and_invalid_config_errors ... ok +test stock_pool_index_policy::tests::disabled_is_optional_but_enabled_parameters_are_not_invented ... ok +test stock_pool_index_policy::tests::missing_or_duplicate_or_future_rows_never_shorten_the_window ... ok +test stock_pool_index_policy::tests::trend_and_caps_match_the_declared_math_and_keep_zero_meaningful ... ok +test stock_pool_indicators::tests::kdj_uses_the_same_frozen_native_kernel_as_event_conditions ... ok +test stock_pool_indicators::tests::missing_inputs_require_source_admission_and_future_inputs_fail ... ok +test stock_pool_indicators::tests::uses_shared_ma_ema_and_preserves_recursive_prefix_before_output_window ... ok +test stock_pool_market_cap::tests::interpolates_declared_endpoints_and_clamps_without_business_defaults ... ok +test stock_pool_market_cap::tests::missing_duplicate_or_mismatched_index_inputs_do_not_shrink_the_calendar ... ok +test stock_pool_quote_facts::tests::lunch_and_post_close_gaps_follow_the_minute_feed_segments ... ok +test stock_pool_quote_facts::tests::real_source_session_prefix_matches_observed_checkpoints ... ignored, requires FIDC_SESSION_PREFIX_SOURCE_JSON from the frozen Source minute response +test stock_pool_quote_facts::tests::sparse_unverified_and_overflowing_quotes_cannot_be_called_session_totals ... ok +test stock_pool_quote_facts::tests::totals_use_only_the_complete_observed_prefix_and_keep_decimal_amounts ... ok +test strategy::decision_merge_tests::explicit_empty_complete_target_replaces_old_allocation_but_empty_callback_does_not ... ok +test strategy::decision_merge_tests::newer_complete_target_replaces_old_symbols_without_discarding_explicit_actions ... ok +test strategy::tests::omni_microcap_projection_uses_configured_trading_cost ... ok +test strategy::tests::omni_microcap_selection_uses_configured_risk_policy ... ok +test strategy::tests::order_time_in_force_parsing_and_order_type_contract_are_explicit ... ok +test strategy_ai::tests::generation_prompt_uses_explicit_performance_acceptance_contract ... ok +test strategy_ai::tests::manual_separates_explicit_business_selection_from_framework_risk_policy ... ok +test strategy_ai::tests::optimization_prompt_uses_explicit_performance_acceptance_contract ... ok +test universe::tests::selector_applies_configured_selection_risk_on_decision_date ... ok +test universe::tests::selector_can_defer_configured_selection_risk_without_losing_diagnostics ... ok +test universe::tests::selector_records_structured_selection_risk_decisions ... ok +test stock_pool_execution::tests::typed_exit_roles_merge_only_satisfied_ordinary_actions_with_independent_risk ... ok +test risk_control::tests::selection_check_activation_covers_every_configured_flag_and_blacklist_state ... ok +test stock_pool_execution::tests::quote_field_operator_side_and_scope_matrix_matches_the_configured_predicate ... ok + +failures: + +---- corporate_book::tests::unresolved_delisting_cannot_zero_a_pending_share_asset stdout ---- + +thread 'corporate_book::tests::unresolved_delisting_cannot_zero_a_pending_share_asset' (94174) panicked at crates/fidc-core/src/corporate_book.rs:814:94: +called `Result::unwrap()` on an `Err` value: MultipleBenchmarks + + +failures: + corporate_book::tests::unresolved_delisting_cannot_zero_a_pending_share_asset + +test result: FAILED. 781 passed; 1 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.53s + +error: test failed, to rerun pass `-p fidc-core --lib` diff --git a/docs/evidence/registered-share-risk-20261005/core-risk-initial-live-scope.json b/docs/evidence/registered-share-risk-20261005/core-risk-initial-live-scope.json new file mode 100644 index 0000000..2dfa1c7 --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/core-risk-initial-live-scope.json @@ -0,0 +1,31 @@ +{ + "contract_sha256": "572c8925fd4d981b32360b4a781b17133fd1b6cf3fc2ee1bb58626848cdb75cc", + "observed_at": "2026-10-04T22:19:02.833088+00:00", + "observed_process_owners": [ + { + "pid": 92813, + "uid": 1003 + }, + { + "pid": 92822, + "uid": 1003 + }, + { + "pid": 93744, + "uid": 1003 + } + ], + "owner_uid": 1003, + "production_ready": false, + "properties": { + "ActiveState": "active", + "CPUQuotaPerSecUSec": "4s", + "ControlGroup": "/user.slice/user-1003.slice/user@1003.service/app.slice/fidc-share-receivable-risk-validation-20261005.scope", + "MemoryMax": "17179869184", + "MemorySwapMax": "0", + "TasksMax": "256" + }, + "schema_version": "fidc.live-share-risk-core-scope/v1", + "trading_allowed": false, + "unit": "fidc-share-receivable-risk-validation-20261005.scope" +} diff --git a/docs/evidence/registered-share-risk-20261005/file-shas.json b/docs/evidence/registered-share-risk-20261005/file-shas.json new file mode 100644 index 0000000..026b48c --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/file-shas.json @@ -0,0 +1,63 @@ +{ + "engine_commit": "1092cd0b80c5b8aee6851231f77e474c8ee2ba0c", + "files": [ + { + "bytes": 80065, + "file": "core-risk-initial-failure.log", + "sha256": "a5a2222afc6d9dd28c892ccec4b44934a757ed385399fe67e893bf83769fee67", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-4a41057/final-full-linux-tests.log", + "source_uid": 1003 + }, + { + "bytes": 831, + "file": "core-risk-initial-live-scope.json", + "sha256": "e37158c0630bda3c79f67f3a3d1dbbc0b7495f11160615857d98cce798aef119", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-4a41057/live-test-resource-verification.json", + "source_uid": 1003 + }, + { + "bytes": 98662, + "file": "core-risk-final-full-linux-tests.log", + "sha256": "38bb77591e04784ee1af4043c8792fe84f155a962ff7e5bd26e0e1571efccd42", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-1092cd0/final-full-linux-tests.log", + "source_uid": 1003 + }, + { + "bytes": 65258, + "file": "runner-risk-final-full-linux-tests.log", + "sha256": "fd6d3de7c1a6f2ebcd1ea65d73720661256786ce7799d86371357871adcadb17", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/final-full-linux-tests.log", + "source_uid": 1003 + }, + { + "bytes": 849, + "file": "live-test-resource-verification.json", + "sha256": "8064619cda9e9f6a9f6e3045fd5e7c9e981314cc1c0877d7e07f57aeeeb39a81", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/live-test-resource-verification.json", + "source_uid": 1003 + }, + { + "bytes": 2275, + "file": "operational-verification.json", + "sha256": "42a6814f9ca215b6a39d838c7faabbb293043b482520b5c4b50e3ccbaf45ea0a", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/operational-verification.json", + "source_uid": 1003 + }, + { + "bytes": 9528, + "file": "validation-receipt.json", + "sha256": "15c1f57fe6a40538ec9d9e487275b731edd9cb15c3c5ae0520b8a88224606cfe", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/validation-receipt.json", + "source_uid": 1003 + }, + { + "bytes": 10967, + "file": "validation-pg-receipt.json", + "sha256": "8f009feba229df40e721b19d281e024b1c4ef9b4ef507b7110307173a5ed10af", + "source_path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/validation-pg-receipt.json", + "source_uid": 1003 + } + ], + "schema_version": "fidc.local-share-risk-evidence/v1", + "service_commit": "1d4b32e18d3836b5844130ae0c95d90247768882" +} diff --git a/docs/evidence/registered-share-risk-20261005/live-test-resource-verification.json b/docs/evidence/registered-share-risk-20261005/live-test-resource-verification.json new file mode 100644 index 0000000..450e2ad --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/live-test-resource-verification.json @@ -0,0 +1,31 @@ +{ + "contract_sha256": "ac4d2fecb75f298a00234b88af05596c99890e9d3449d507a4ad7afe2ac67211", + "observed_at": "2026-10-04T22:22:50.816133+00:00", + "observed_process_owners": [ + { + "pid": 98509, + "uid": 1003 + }, + { + "pid": 98669, + "uid": 1003 + }, + { + "pid": 98722, + "uid": 1003 + } + ], + "owner_uid": 1003, + "production_ready": false, + "properties": { + "ActiveState": "active", + "CPUQuotaPerSecUSec": "4s", + "ControlGroup": "/user.slice/user-1003.slice/user@1003.service/app.slice/fidc-share-delivery-risk-final-pair-validation-20261005.scope", + "MemoryMax": "17179869184", + "MemorySwapMax": "0", + "TasksMax": "256" + }, + "schema_version": "fidc.live-share-risk-test-scope/v1", + "trading_allowed": false, + "unit": "fidc-share-delivery-risk-final-pair-validation-20261005.scope" +} diff --git a/docs/evidence/registered-share-risk-20261005/operational-verification.json b/docs/evidence/registered-share-risk-20261005/operational-verification.json new file mode 100644 index 0000000..8acee47 --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/operational-verification.json @@ -0,0 +1,70 @@ +{ + "authorized_incremental_cache_root": "/srv/fidc/programs/src/fidc-backtest-service/target/debug/incremental", + "contract_sha256": "40926383e24b626be9591fc0e2837641723d1acb74795195785d5f0c5112d91c", + "health": [ + { + "body_sha256": "d9dcd53f6a6ed9668153b18e3cc6332e575ac9ef537078511f9177e1ad3f4a2f", + "http_status": 200, + "port": 18095 + }, + { + "body_sha256": "77c9026f5469b1d36bb19dac75477df9ad37165dddd63253f94bf33595155542", + "http_status": 200, + "port": 18096 + } + ], + "incremental_files_present": 0, + "numeric_research_budget_reopened": false, + "observed_at": "2026-10-04T22:25:11.039350+00:00", + "original_research_plan_sha256": "6aa6932b8b7d4538543e7baf48b1b0ab305e684b36003faeaa7f0f4db4067c0c", + "original_research_source_commit": "d847b82de3f62a369291c13160b31fcfc0075b8b", + "owner_uid": 1003, + "production_ready": false, + "production_runtime_deployed": false, + "production_strategy_count": 0, + "schema_version": "fidc.share-delivery-operational-verification/v1", + "ssd_free_bytes": 9004457984, + "trading_allowed": false, + "units": [ + { + "ActiveState": "active", + "InvocationID": "b6bd3c6c3a6d4f729291b969590d66a0", + "MainPID": "3571059", + "NRestarts": "0", + "process_uid": 1003, + "unit": "fidc-private-agent-runtime.service" + }, + { + "ActiveState": "active", + "InvocationID": "851771deedc44b78bea58e18c74f9421", + "MainPID": "1073961", + "NRestarts": "1", + "process_uid": 1003, + "unit": "fidc-private-source-lake-worker.service" + }, + { + "ActiveState": "active", + "InvocationID": "ce19e205006945e888c42ff385f96a50", + "MainPID": "2371183", + "NRestarts": "0", + "process_uid": 1003, + "unit": "fidc-private-source-lake.service" + }, + { + "ActiveState": "active", + "InvocationID": "386b6478a0384505a8c9704e2d2a1478", + "MainPID": "3571320", + "NRestarts": "0", + "process_uid": 1003, + "unit": "fidc-private-strategy-ai.service" + }, + { + "ActiveState": "active", + "InvocationID": "0eb28e3a45694a00951aa3aec0e13465", + "MainPID": "1396112", + "NRestarts": "0", + "process_uid": 1003, + "unit": "fidc-projection-research-autopilot.service" + } + ] +} diff --git a/docs/evidence/registered-share-risk-20261005/runner-risk-final-full-linux-tests.log b/docs/evidence/registered-share-risk-20261005/runner-risk-final-full-linux-tests.log new file mode 100644 index 0000000..b16456d --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/runner-risk-final-full-linux-tests.log @@ -0,0 +1,679 @@ + Compiling fidc-core v0.1.0 (/srv/fidc/programs/src/fidc-share-delivery-pair-validation-20261005-1092cd0/fidc-backtest-engine/crates/fidc-core) + Compiling fidc-common v0.1.0 (/srv/fidc/programs/src/fidc-share-delivery-pair-validation-20261005-1092cd0/fidc-backtest-service/crates/fidc-common) + Compiling fidc-signal-client v0.1.0 (/srv/fidc/programs/src/fidc-share-delivery-pair-validation-20261005-1092cd0/fidc-backtest-engine/crates/fidc-signal-client) + Compiling fidc-backtest-runner v0.1.0 (/srv/fidc/programs/src/fidc-share-delivery-pair-validation-20261005-1092cd0/fidc-backtest-service/services/backtest_runner) + Compiling fidc-backtest-service v0.1.0 (/srv/fidc/programs/src/fidc-share-delivery-pair-validation-20261005-1092cd0/fidc-backtest-service/services/api) + Finished `test` profile [unoptimized] target(s) in 52.77s + Running unittests src/lib.rs (/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb/debug/deps/fidc_backtest_runner-370b633cb313f2c5) + +running 484 tests +test backtest::columnar_factor_overlay_tests::cache_range_rejects_date_disorder_outside_the_binary_search_slice ... ok +test backtest::columnar_factor_overlay_tests::cache_range_rejects_symbol_disorder_outside_the_requested_date ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_real_cache_value_equivalence ... ignored, requires a frozen private Boris real-data cache directory on 177 +test backtest::columnar_factor_overlay_tests::columnar_overlay_missing_or_stale_cache_does_not_mutate_base ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_rejects_duplicate_window_boundary ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_rejects_duplicate_order_and_count_mismatches ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_rejects_market_projection_and_invalid_cached_column_type ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_rejects_late_key_mismatch_before_any_base_mutation ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_unknown_keys_are_not_hidden_as_empty_values ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_replaced_file_invalidates_view_without_mutating_pinned_input ... ok +test backtest::columnar_factor_overlay_tests::row_visitor_preserves_selected_offsets_and_late_validation_errors ... ok +test backtest::compact_storage_tests::batch_bound_factor_columns_preserve_types_nulls_and_nonfinite_values ... ok +test backtest::columnar_factor_overlay_tests::valid_cache_reuses_its_key_index_and_failed_indexes_are_not_published ... ok +test backtest::compact_storage_tests::inline_symbols_and_factor_maps_preserve_binary_and_json_contracts ... ok +test backtest::day_snapshot_builder::tests::a_failed_builder_cannot_publish_earlier_valid_rows ... ok +test backtest::day_snapshot_builder::tests::corporate_distribution_quantities_must_be_known_before_a_day_is_published ... ok +test backtest::day_snapshot_builder::tests::factor_reservation_keeps_missing_and_overwrite_semantics ... ok +test backtest::day_snapshot_builder::tests::late_source_validation_failure_invalidates_the_streamed_day ... ok +test backtest::equity_lifecycle_metadata_tests::empty_quotes_require_full_interval_lifecycle_proof_not_a_latest_status ... ok +test backtest::equity_lifecycle_metadata_tests::lifecycle_cash_days_keep_real_benchmark_without_fabricated_security_rows ... ok +test backtest::equity_lifecycle_metadata_tests::missing_identity_and_dates_do_not_become_active_securities ... ok +test backtest::execution_config_tests::capacity_preflight_requires_explicit_daily_assumptions_without_changing_risk_switches ... ok +test backtest::execution_config_tests::component_execution_quotes_seed_uses_latest_intraday_quote_before_target_time ... ok +test backtest::execution_config_tests::current_close_respects_explicitly_disabled_liquidity_limit ... ok +test backtest::execution_config_tests::daily_current_close_preserves_the_strategy_decision_clock ... ok +test backtest::execution_config_tests::daily_execution_price_request_serializes_date_symbol_filter_scope ... ok +test backtest::execution_config_tests::daily_execution_projection_keeps_benchmark_narrow_and_trade_risk_complete ... ok +test backtest::execution_config_tests::data_intraday_snapshot_time_is_strategy_spec_driven ... ok +test backtest::execution_config_tests::dataset_signature_rejects_source_lake_without_frozen_backtest_bundle ... ok +test backtest::day_snapshot_builder::tests::arrow_rows_build_the_same_final_snapshots_without_a_row_collection ... ok +test backtest::execution_config_tests::dataset_signature_scopes_dynamic_model_score_source_rows ... ok +test backtest::execution_config_tests::default_matching_type_follows_backtest_frequency ... ok +test backtest::execution_config_tests::dataset_signature_scopes_backtest_data_bundle_source_rows ... ok +test backtest::execution_config_tests::dynamic_model_score_execution_quotes_are_lazy_by_default ... ok +test backtest::execution_config_tests::dynamic_model_score_rank_does_not_extract_fixed_signal_symbols ... ok +test backtest::execution_config_tests::execution_quote_prefilter_keeps_previous_factor_rows_in_current_band ... ok +test backtest::execution_config_tests::execution_quote_prefilter_prefers_runtime_market_cap_slope ... ok +test backtest::execution_config_tests::execution_quote_query_times_follow_strategy_trade_times ... ok +test backtest::execution_config_tests::execution_top_level_fee_overrides_nested_risk_policy_cost ... ok +test backtest::execution_config_tests::execution_quote_prefilter_keeps_candidates_beyond_legacy_limit ... ok +test backtest::execution_config_tests::execution_top_level_volume_percent_overrides_nested_risk_policy ... ok +test backtest::execution_config_tests::extract_score_context_does_not_extract_fixed_signal_symbols ... ok +test backtest::execution_config_tests::factor_keys_use_compact_storage_without_changing_names ... ok +test backtest::execution_config_tests::fixed_signal_symbol_scope_preserves_explicit_empty_targets ... ok +test backtest::execution_config_tests::fixed_signal_model_score_scope_does_not_validate_candidate_limit ... ok +test backtest::execution_config_tests::minute_session_bounds_extend_only_after_post_close_rule_effective_date ... ok +test backtest::execution_config_tests::full_minute_event_stream_uses_subscriptions_instead_of_point_snapshot ... ok +test backtest::execution_config_tests::model_score_source_rows_scope_evidence_verifies_candidate_limit ... ok +test backtest::execution_config_tests::model_score_source_rows_scope_rejects_unbounded_rows ... ok +test backtest::execution_config_tests::native_next_open_pool_loads_causal_quotes_without_exposing_them_to_selection ... ok +test backtest::execution_config_tests::owned_date_group_producers_drop_every_input_exactly_once_on_failure ... ok +test backtest::execution_config_tests::narrow_overlay_projection_does_not_retain_a_wide_value_buffer ... ok +test backtest::execution_config_tests::owned_trade_day_preparation_matches_borrowed_rows ... ok +test backtest::execution_config_tests::parse_matching_type_limits_global_backtest_matching_modes ... ok +test backtest::execution_config_tests::parse_slippage_model_supports_explicit_historical_model ... ok +test backtest::execution_config_tests::parse_slippage_model_supports_limit_price ... ok +test backtest::execution_config_tests::platform_daily_factor_strategy_uses_lazy_execution_quotes_by_default ... ok +test backtest::execution_config_tests::platform_execution_quote_carry_can_include_recent_candidates ... ok +test backtest::execution_config_tests::platform_execution_quote_carry_does_not_let_candidates_evict_recent_orders ... ok +test backtest::execution_config_tests::platform_execution_quote_carry_keeps_today_candidates_without_candidate_carry ... ok +test backtest::execution_config_tests::platform_execution_quote_carry_prefers_recent_candidates_before_today_candidates ... ok +test backtest::execution_config_tests::platform_execution_quote_carry_prioritizes_order_symbols ... ok +test backtest::execution_config_tests::platform_execution_quote_default_carry_keeps_large_recent_candidate_set ... ok +test backtest::execution_config_tests::platform_execution_route_requires_runtime_contract ... ok +test backtest::execution_config_tests::platform_runtime_snapshot_preserves_typed_time_in_force ... ok +test backtest::execution_config_tests::parallel_owned_date_groups_keep_exact_rows_and_owned_factor_allocations ... ok +test backtest::execution_config_tests::platform_strategy_config_rejects_loose_value_budget_without_panicking ... ok +test backtest::execution_config_tests::platform_strategy_config_uses_same_intraday_time_as_broker ... ok +test backtest::execution_config_tests::prepare_trade_day_candidate_market_cap_falls_back_to_total_market_cap ... ok +test backtest::execution_config_tests::prepare_trade_day_daily_selection_price_uses_close_without_limit_allow_flags ... ok +test backtest::execution_config_tests::prepare_trade_day_does_not_build_execution_quote_from_daily_fallback ... ok +test backtest::execution_config_tests::prepare_trade_day_keeps_allow_buy_when_missing_field_is_not_buy_relevant ... ok +test backtest::execution_config_tests::prepare_trade_day_keeps_daily_volume_when_snapshot_has_intraday_volume ... ok +test backtest::execution_config_tests::prepare_trade_day_keeps_external_signal_warmup_day ... ok +test backtest::execution_config_tests::prepare_trade_day_keeps_missing_risk_facts_when_runtime_filters_are_disabled ... ok +test backtest::execution_config_tests::prepare_trade_day_keeps_st_and_star_st_flags_independent ... ok +test backtest::execution_config_tests::prepare_trade_day_preserves_missing_daily_volume_contract ... ok +test backtest::execution_config_tests::prepare_trade_day_preserves_zero_ask_from_intraday_snapshot ... ok +test backtest::execution_config_tests::prepare_trade_day_records_all_missing_risk_facts_independent_of_policy ... ok +test backtest::execution_config_tests::raw_yuan_market_cap_normalizes_to_100m_units ... ok +test backtest::execution_config_tests::resolve_dividend_reinvestment_defaults_false_and_reads_engine_flag ... ok +test backtest::execution_config_tests::resolve_execution_config_does_not_allow_overspending_value_budget ... ok +test backtest::execution_config_tests::resolve_execution_config_enables_strict_value_budget_by_default ... ok +test backtest::execution_config_tests::resolve_execution_config_keeps_explicit_liquidity_quote_limit ... ok +test backtest::execution_config_tests::resolve_execution_config_distinguishes_timed_daily_current_close ... ok +test backtest::execution_config_tests::resolve_execution_config_keeps_explicit_same_day_buy_mark_override ... ok +test backtest::execution_config_tests::resolve_execution_config_keeps_explicit_snapshot_volume_limit ... ok +test backtest::execution_config_tests::resolve_execution_config_keeps_selection_risk_off_by_default ... ok +test backtest::execution_config_tests::resolve_execution_config_keeps_volume_limit_for_snapshot_minute_last_by_default ... ok +test backtest::execution_config_tests::resolve_execution_config_maps_daily_next_open ... ok +test backtest::execution_config_tests::resolve_execution_config_maps_minute_last_to_minute_price ... ok +test backtest::execution_config_tests::resolve_execution_config_maps_rebalance_cash_mode_and_forces_minute ... ok +test backtest::execution_config_tests::resolve_execution_config_preserves_zero_minimum_commission ... ok +test backtest::execution_config_tests::resolve_execution_config_reads_nested_risk_policy ... ok +test backtest::execution_config_tests::resolve_execution_config_rejects_delay_slippage_outside_sell_then_buy ... ok +test backtest::execution_config_tests::resolve_execution_config_rejects_vwap_as_global_matching_type ... ok +test backtest::execution_config_tests::resolve_execution_config_uses_explicit_market_rules_without_profile ... ok +test backtest::execution_config_tests::resolve_execution_config_uses_runtime_schedule_time_for_minute_execution ... ok +test backtest::execution_config_tests::resolve_execution_config_uses_latest_trade_time_as_main_schedule ... ok +test backtest::execution_config_tests::resolve_platform_expr_strategy_config_preserves_static_universe_contract ... ok +test backtest::execution_config_tests::resolve_platform_expr_strategy_config_preserves_weak_market_threshold ... ok +test backtest::execution_config_tests::resolve_platform_expr_strategy_config_reads_delayed_limit_open_exit ... ok +test backtest::execution_config_tests::resolve_platform_expr_strategy_config_reads_release_slot_on_exit_signal ... ok +test backtest::execution_config_tests::resolve_platform_expr_strategy_config_reads_trading_schedule ... ok +test backtest::execution_config_tests::retired_slippage_and_invalid_coefficients_never_become_no_slippage ... ok +test backtest::execution_config_tests::resolve_platform_expr_strategy_config_reads_trading_stage ... ok +test backtest::execution_config_tests::risk_policy_alias_normalization_preserves_matching_values ... ok +test backtest::execution_config_tests::risk_policy_alias_normalization_rejects_conflicting_values ... ok +test backtest::execution_config_tests::reused_candidate_plan_panel_matches_full_intraday_market_materialization ... ok +test backtest::execution_config_tests::runtime_selection_intraday_quote_detection_reads_quote_fields_only ... ok +test backtest::execution_config_tests::sorted_overlay_transfers_owned_factor_storage_without_changing_bits ... ok +test backtest::execution_config_tests::sorted_overlay_keeps_unchanged_zero_bits_and_counts_only_changed_rows ... ok +test backtest::execution_config_tests::sorted_source_row_insertion_preserves_existing_duplicate_order ... ok +test backtest::execution_config_tests::sorted_sparse_overlay_merge_falls_back_for_duplicate_keys ... ok +test backtest::execution_config_tests::sorted_sparse_overlay_merge_preserves_order_and_unmatched_rows ... ok +test backtest::execution_config_tests::source_lake_backtest_bundle_context_requires_complete_metadata ... ok +test backtest::execution_config_tests::source_lake_execution_price_requests_keep_compact_schema ... ok +test backtest::execution_config_tests::source_lake_market_cap_keeps_current_decision_date_value ... ok +test backtest::execution_config_tests::source_lake_market_cap_uses_current_decision_date_snapshot ... ok +test backtest::execution_config_tests::source_lake_model_score_context_accepts_complete_inferred_scope ... ok +test backtest::execution_config_tests::source_lake_model_score_context_allows_plain_rotation_without_model_score ... ok +test backtest::execution_config_tests::source_lake_model_score_context_rejects_dynamic_mode_without_source_label_or_scope ... ok +test backtest::execution_config_tests::source_lake_model_score_context_rejects_partial_scope ... ok +test backtest::execution_config_tests::source_lake_model_score_context_rejects_sparse_ref_without_scope ... ok +test backtest::execution_config_tests::source_lake_request_keeps_dynamic_model_score_as_all_market_with_score_context ... ok +test backtest::execution_config_tests::source_lake_request_keeps_explicit_empty_symbols_empty ... ok +test backtest::execution_config_tests::source_lake_request_scopes_fixed_signal_symbols_and_keeps_compact_schema ... ok +test backtest::execution_config_tests::source_lake_request_serializes_date_symbol_filter_scope ... ok +test backtest::execution_config_tests::source_lake_source_rows_uses_current_row_decision_safe_prev_factor_mode ... ok +test backtest::execution_config_tests::source_row_adjustment_factor_decode_accepts_positive_finite_values ... ok +test backtest::execution_config_tests::source_row_adjustment_factor_decode_allows_paused_rows_without_close ... ok +test backtest::execution_config_tests::source_row_adjustment_factor_decode_rejects_missing_or_invalid_values ... ok +test backtest::execution_config_tests::source_row_adjustment_factor_decode_rejects_paused_rows_with_close ... ok +test backtest::execution_config_tests::source_row_cache_and_filter_distinguish_all_from_explicit_empty_symbols ... ok +test backtest::execution_config_tests::source_row_adjustment_factor_decode_skips_unrequested_projection ... ok +test backtest::execution_config_tests::source_row_daily_capacity_is_scoped_to_actual_insertion_dates ... ok +test backtest::execution_config_tests::source_row_grouping_copies_date_keys_only_at_boundaries ... ok +test backtest::execution_config_tests::source_row_missing_open_does_not_mark_candidate_as_one_yuan ... ok +test backtest::execution_config_tests::source_row_model_score_context_accepts_extract_only_score_metadata ... ok +test backtest::execution_config_tests::source_row_model_score_context_can_disable_candidate_limit_inference ... ok +test backtest::execution_config_tests::source_row_model_score_context_infers_candidate_limit_from_selection_limit ... ok +test backtest::execution_config_tests::source_row_daily_capacity_keeps_supplemental_inserts_in_place ... ok +test backtest::execution_config_tests::source_row_model_score_context_merges_bundle_extract_and_scopes_cache ... ok +test backtest::execution_config_tests::source_row_projection_does_not_require_adjustment_factor_for_volume_only_rolling ... ok +test backtest::execution_config_tests::source_row_projection_keeps_select_all_for_generic_empty_factor_refs ... ok +test backtest::execution_config_tests::source_row_projection_includes_amount_for_stock_amount_expressions ... ok +test backtest::execution_config_tests::source_row_projection_keeps_source_lake_empty_factor_refs_narrow ... ok +test backtest::execution_config_tests::source_row_projection_keeps_source_lake_without_strategy_spec_narrow ... ok +test backtest::execution_config_tests::source_row_projection_splits_sparse_model_score_factor_refs ... ok +test backtest::execution_config_tests::source_row_projection_uses_framework_rolling_inputs ... ok +test backtest::execution_config_tests::source_row_sort_preserves_published_order_and_stably_repairs_merges ... ok +test backtest::execution_config_tests::source_row_projection_uses_raw_market_columns_for_framework_rollings ... ok +test backtest::execution_config_tests::source_rows_query_engine_is_validated_and_scopes_cache_epoch ... ok +test backtest::execution_config_tests::source_rows_scope_evidence_preserves_unordered_date_counts ... ok +test backtest::execution_config_tests::sparse_model_score_overlay_dates_exclude_warmup_rows ... ok +test backtest::execution_config_tests::sparse_model_score_overlay_keeps_named_score_when_context_uses_default_score ... ok +test backtest::execution_config_tests::sparse_model_score_overlay_merges_only_requested_extra_factors ... ok +test backtest::execution_config_tests::sparse_model_score_overlay_query_windows_are_chunked_by_date_span ... ok +test backtest::execution_config_tests::source_warmup_uses_required_trading_windows ... ok +test backtest::execution_config_tests::sparse_model_score_overlay_skips_primary_score_columns ... ok +test backtest::execution_config_tests::sparse_model_score_overlay_reuses_source_row_cache_without_http ... ok +test backtest::execution_config_tests::stock_cost_model_for_execution_uses_explicit_fee_overrides ... ok +test backtest::execution_config_tests::sparse_overlay_skips_source_lake_when_scoped_date_symbol_filter_is_empty ... ok +test backtest::execution_config_tests::strategy_execution_top_level_risk_enabled_aliases_are_applied ... ok +test backtest::execution_config_tests::strategy_risk_policy_accepts_camel_case_fields ... ok +test backtest::execution_config_tests::supplemental_execution_key_index_only_materializes_requested_symbols ... ok +test backtest::execution_config_tests::timed_daily_current_close_loads_the_intraday_decision_snapshot ... ok +test backtest::execution_config_tests::strategy_factory_model_rank_rotation_keeps_explicit_execution_contract ... ok +test backtest::execution_config_tests::top_level_execution_limits_override_nested_risk_policy_defaults ... ok +test backtest::execution_config_tests::unsupported_backtest_frequency_is_rejected ... ok +test backtest::execution_config_tests::unique_source_row_trade_dates_preserves_sorted_and_unordered_inputs ... ok +test backtest::execution_config_tests::validated_source_limit_prices_allows_explicit_no_limit_stock ... ok +test backtest::execution_config_tests::validated_source_limit_prices_allows_index_without_limits ... ok +test backtest::execution_config_tests::validated_source_limit_prices_allows_paused_stock_without_limits ... ok +test backtest::execution_config_tests::validated_source_limit_prices_rejects_missing_stock_limit ... ok +test backtest::execution_config_tests::validated_source_limit_prices_trusts_source_limits ... ok +test backtest::factor_history_calendar_tests::history_uses_actual_sessions_and_rejects_short_or_future_calendars ... ok +test backtest::factor_history_calendar_tests::index_policy_preloads_its_reference_without_widening_the_candidate_universe ... ok +test backtest::factor_history_calendar_tests::contextual_pattern_expands_data_scope_but_not_candidate_members ... ok +test backtest::factor_history_calendar_tests::selection_buy_permission_carries_its_complete_pattern_window ... ok +test backtest::fund_metadata::tests::day_preparation_distinguishes_etf_optional_risk_from_missing_prices ... ok +test backtest::fund_metadata::tests::etf_metadata_binds_identity_dates_and_units ... ok +test backtest::fund_metadata::tests::real_etf_fallback_fills_match_source_opens_dates_and_fee_budgets ... ignored, requires exact frontend-compiled frozen Source Lake ETF replay artifacts +test backtest::fund_metadata::tests::real_mixed_prices_preserve_holdings_until_explicit_zero_allocation ... ignored, requires FIDC_FUND_REPLAY_PREFIX containing read-only real Source Arrow fixtures +test backtest::fund_metadata::tests::real_source_arrow_preserves_etf_identity_and_detects_tampering ... ignored, requires FIDC_FUND_METADATA_TEST_ARROW from the read-only real Source probe +test backtest::fund_metadata::tests::preliminary_candidate_panel_uses_verified_etf_rules_without_inventing_limits ... ok +test backtest::manual_data_scope::tests::explicit_data_scope_can_expand_without_mutating_the_strategy_or_empty_pool ... ok +test backtest::manual_data_scope::tests::dataset_cache_tracks_extra_market_demand_not_manual_price_or_execution_identity ... ok +test backtest::prepared_source_row::tests::all_supported_numeric_types_keep_the_existing_conversion_and_null_policy ... ok +test backtest::prepared_source_row::tests::arbitrary_slices_and_supplemental_rows_keep_symbol_order ... ok +test backtest::prepared_source_row::tests::finite_values_keep_exact_float_bits_and_metadata ... ok +test backtest::prepared_source_row::tests::invalid_json_is_not_hidden_by_a_consumer_that_needs_no_factors ... ok +test backtest::prepared_source_row::tests::actual_arrow_day_uses_columnar_rows_and_matches_owned_final_snapshots ... ok +test backtest::prepared_source_row::tests::json_typed_duplicates_and_projected_overlay_preserve_overwrite_order ... ok +test backtest::prepared_source_row::tests::nonfinite_price_policy_does_not_mutate_original_arrow_values ... ok +test backtest::prepared_source_row::tests::overlay_cannot_relax_base_adjustment_validation ... ok +test backtest::prepared_source_row::tests::schema_error_precedence_and_null_keys_are_preserved ... ok +test backtest::risk_free_rate_cache_round_trips_validated_contract ... ok +test backtest::risk_free_rate_cache_identity_includes_bundle_and_full_calendar ... ok +test backtest::saved_risk_cache::tests::saved_reference_cancelled_reader_does_not_leave_a_claim ... ok +test backtest::saved_risk_cache::tests::saved_reference_identity_includes_endpoint_hash_and_calendar ... ok +test backtest::saved_risk_reference_requires_original_content_not_only_server_claimed_hash ... ok +test backtest::source_query_windows::tests::actual_cached_boundaries_are_kept_and_gaps_are_covered ... ok +test backtest::source_query_windows::tests::all_days_remain_once_and_scope_count_is_bounded ... ok +test backtest::source_query_windows::tests::discovery_never_crosses_source_keys_schemas_or_file_types ... ok +test backtest::source_query_windows::tests::overlap_prefers_more_covered_days_then_fewer_windows ... ok +test backtest::source_query_windows::tests::projection_and_symbol_scope_have_distinct_boundary_keys ... ok +test backtest::saved_risk_cache::tests::saved_reference_coalesces_only_validated_original_contracts ... ok +test backtest::source_query_windows::tests::uncached_gaps_keep_the_existing_calendar_anchor ... ok +test backtest::source_row_key_index::tests::indexed_date_ranges_cover_days_split_across_batches ... ok +test backtest::source_row_key_index::tests::normalized_keys_cannot_duplicate_across_batches ... ok +test backtest::source_row_key_index::tests::null_identity_and_declared_count_mismatch_are_rejected ... ok +test backtest::source_row_query_purpose_tests::factor_overlay_cache_identity_cannot_be_reused_as_market_facts ... ok +test backtest::source_row_query_purpose_tests::factor_overlay_merge_preserves_every_base_market_and_risk_fact ... ok +test backtest::source_row_query_purpose_tests::factor_overlay_requires_an_explicit_non_market_projection ... ok +test backtest::source_row_query_purpose_tests::only_explicit_factor_overlays_omit_redundant_risk_columns ... ok +test backtest::source_rows_columnar::tests::cache_write_failure_does_not_replace_the_current_columnar_input ... ok +test backtest::source_rows_columnar::tests::actual_selection_and_empty_outputs_do_not_keep_unused_factor_columns ... ok +test backtest::source_rows_columnar::tests::columnar_normalization_matches_mixed_values_json_aliases_and_sorting ... ok +test backtest::source_rows_columnar::tests::invalid_keys_and_adjustment_are_rejected_before_selection ... ok +test backtest::source_rows_columnar::tests::malformed_json_and_dependency_identity_are_not_accepted ... ok +test backtest::source_rows_columnar::tests::non_cacheable_json_factor_names_keep_the_real_record_path ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_crosses_record_batches_and_preserves_key_normalization ... ok +test backtest::source_rows_columnar::tests::normalized_duplicate_symbols_are_not_deduplicated ... ok +test backtest::source_rows_input_tests::cache_write_failure_retains_the_real_window_and_empty_windows_do_not_read_old_rows ... ok +test backtest::source_rows_input_tests::cache_cannot_include_rows_outside_its_declared_date_range ... ok +test backtest::source_rows_input_tests::failed_materialization_does_not_turn_the_source_into_an_empty_success ... ok +test backtest::source_rows_input_tests::independent_windows_stay_columnar_until_daily_snapshot_construction ... ok +test backtest::source_rows_input_tests::invalid_cache_keys_and_overlay_coverage_never_publish_source_input ... ok +test backtest::source_rows_input_tests::mapped_input_preserves_empty_scopes_and_filters_only_base_rows ... ok +test backtest::source_rows_input_tests::mapped_input_can_be_materialized_for_mutating_model_and_publication_overlays ... ok +test backtest::source_rows_input_tests::mixed_window_storage_and_duplicate_boundaries_keep_original_semantics ... ok +test backtest::source_rows_input_tests::mapped_inventory_and_final_days_match_owned_rows_with_factor_overlays ... ok +test backtest::source_rows_input_tests::unsuccessful_window_publication_cannot_read_a_previous_cache_file ... ok +test backtest::terminal_audit_summary_tests::deferred_strategy_warning_is_not_presented_as_a_submitted_order ... ok +test backtest::terminal_audit_summary_tests::pending_terminal_state_is_explicit_in_summary_warning ... ok +test backtest::terminal_calendar_tests::delayed_deposit_requires_terminal_calendar_but_zero_day_does_not ... ok +test backtest::terminal_calendar_tests::scheduled_terminal_calendar_requires_strict_order_and_range ... ok +test backtest::tests::accounting_allocation_details_do_not_require_or_fabricate_an_order ... ok +test backtest::tests::all_source_lake_runtime_caches_are_scoped_by_backtest_bundle ... ok +test backtest::tests::arrow_reader_accepts_lz4_compressed_stream ... ok +test backtest::tests::audit_instrument_cache_values_from_request ... ignored, read-only Boris cache comparison with an explicit audit request +test backtest::tests::benchmark_borrowed_numeric_factor_keys_against_owned_strings ... ignored, manual release-mode allocation benchmark +test backtest::tests::benchmark_date_symbol_filter_query_range_preserves_index_symbols ... ok +test backtest::tests::benchmark_query_windows_split_long_source_lake_ranges ... ok +test backtest::source_rows_input_tests::separate_arrow_factor_input_preserves_sparse_overlay_values_and_existing_layers ... ok +test backtest::tests::benchmark_row_binary_cache_rejects_metadata_mismatch ... ok +test backtest::tests::benchmark_row_binary_cache_roundtrips_rows ... ok +test backtest::tests::benchmark_row_cache_ignores_legacy_csv_cache ... ok +test backtest::tests::benchmark_row_cache_path_uses_binary_cache_file ... ok +test backtest::tests::benchmark_row_cache_path_scopes_date_symbol_filter ... ok +test backtest::tests::benchmark_row_candidate_scan_removes_stale_schema_cache ... ok +test backtest::tests::benchmark_row_covering_cache_reuses_superset_symbols_and_dates ... ok +test backtest::tests::benchmark_row_partial_cache_rejects_missing_symbol_segment ... ok +test backtest::tests::benchmark_row_to_source_row_preserves_false_paused_state ... ok +test backtest::tests::benchmark_row_partial_cache_reports_missing_ranges ... ok +test backtest::tests::benchmark_row_window_cache_scope_ignores_out_of_window_filter_dates ... ok +test backtest::tests::benchmark_rows_dedup_after_window_merge ... ok +test backtest::tests::benchmark_source_row_arrow_bounded_materialization ... ignored, requires FIDC_BT_SOURCE_ROW_VIEW_PROBE_PATH and explicit release-mode invocation +test backtest::tests::benchmark_source_row_arrow_view_cache ... ignored, requires FIDC_BT_SOURCE_ROW_VIEW_PROBE_PATH and explicit release-mode invocation +test backtest::tests::bootstrap_missing_quote_repair_keys_keeps_all_actual_order_gaps_without_fills ... ok +test backtest::tests::bootstrap_missing_quote_repair_keys_keeps_all_after_fills_exist ... ok +test backtest::tests::benchmark_rows_empty_date_symbol_filter_does_not_reuse_existing_cache ... ok +test backtest::tests::build_trade_detail_rows_expands_split_fills_by_order_id ... ok +test backtest::tests::build_trade_detail_rows_matches_fill_when_order_reason_changes ... ok +test backtest::tests::build_trade_detail_rows_omits_canceled_orders_without_fills ... ok +test backtest::tests::build_trade_detail_rows_preserves_decision_and_execution_dates ... ok +test backtest::tests::carry_forward_target_snapshot_keeps_transition_day_then_replaces_positions ... ok +test backtest::tests::cn_index_symbols_are_not_stock_execution_quote_repair_symbols ... ok +test backtest::tests::collect_missing_execution_quote_keys_uses_canceled_stock_orders_only ... ok +test backtest::tests::compact_progress_retains_manual_counts_and_rejects_a_missing_source ... ok +test backtest::tests::compacted_carry_forward_filter_keeps_window_semantics ... ok +test backtest::tests::corporate_action_arrow_preserves_the_independent_delivery_date_and_unknown_quantities ... ok +test backtest::tests::corporate_action_binary_cache_roundtrips_rows ... ok +test backtest::tests::corporate_action_cache_ignores_legacy_csv_cache ... ok +test backtest::tests::corporate_action_cache_path_uses_source_lake_provider_epoch ... ok +test backtest::tests::bundle_validation_observes_dependency_semantic_change_and_revocation_without_ttl ... ok +test backtest::tests::corporate_action_covering_cache_reuses_superset_scope ... ok +test backtest::tests::daily_execution_price_arrow_decode_preserves_unpriced_paused_risk_rows ... ok +test backtest::tests::daily_execution_price_arrow_requires_execution_contract_fields ... ok +test backtest::tests::daily_execution_scope_membership_is_normalized_once_and_isolated_by_date ... ok +test backtest::tests::dataset_signature_scopes_fixed_signal_source_rows ... ok +test backtest::tests::dataset_signature_scopes_fixed_signal_date_symbol_filter_with_model_score ... ok +test backtest::tests::date_symbol_filter_query_range_carry_forward_keeps_history_prefix ... ok +test backtest::tests::date_symbol_filter_query_range_exact_keeps_only_window_dates ... ok +test backtest::tests::date_symbol_filter_query_range_preserves_empty_request ... ok +test backtest::tests::dataset_signature_uses_data_requirements_not_strategy_identity_or_thresholds ... ok +test backtest::tests::default_cache_epochs_ignore_local_manifest_directory ... ok +test backtest::tests::dense_execution_quote_plan_uses_requested_trade_dates_only ... ok +test backtest::tests::dynamic_model_score_execution_only_queries_next_date_gaps ... ok +test backtest::tests::dynamic_model_score_execution_skips_rows_present_on_next_full_calendar_date ... ok +test backtest::tests::dynamic_symbol_expression_does_not_enable_fixed_source_scope ... ok +test backtest::tests::dynamic_model_score_execution_symbols_include_candidate_universe_for_lagged_execution ... ok +test backtest::tests::empty_date_symbol_filter_is_empty_request_not_all_market ... ok +test backtest::tests::equity_artifact_keeps_external_deposit_out_of_return ... ok +test backtest::tests::equity_projection_orders_facts_and_includes_the_initial_nav_peak ... ok +test backtest::tests::execution_arrow_does_not_turn_nonfinite_numbers_into_optional_missing_values ... ok +test backtest::tests::execution_arrow_requires_the_strict_source_contract_even_when_empty ... ok +test backtest::tests::execution_price_date_symbol_filter_keeps_benchmark_and_prunes_other_targets ... ok +test backtest::tests::execution_price_only_source_row_marker_round_trips ... ok +test backtest::tests::execution_quantities_are_exact_integers_not_rounded_floats ... ok +test backtest::tests::exact_source_row_windows_restore_in_parallel_and_keep_order ... ok +test backtest::tests::execution_quote_day_binary_cache_invalidates_duplicate_date_symbol ... ok +test backtest::tests::execution_quote_day_binary_cache_rejects_metadata_mismatch ... ok +test backtest::tests::execution_quote_day_cache_does_not_persist_empty_negative_result ... ok +test backtest::tests::execution_quote_day_cache_ignores_legacy_csv_cache ... ok +test backtest::tests::execution_quote_day_cache_loads_empty_without_provider_url ... ok +test backtest::tests::execution_quote_day_cache_path_includes_minute_lookback_and_price_rule ... ok +test backtest::tests::execution_quote_day_cache_path_uses_quote_epoch ... ok +test backtest::tests::execution_quote_day_cache_path_uses_source_lake_provider_tag ... ok +test backtest::tests::execution_quote_day_cache_tracks_returned_symbols_only ... ok +test backtest::tests::execution_quote_prefetch_seed_tracks_negative_symbols ... ok +test backtest::tests::execution_quote_query_tasks_keep_target_time_symbol_scopes_narrow ... ok +test backtest::tests::execution_quote_query_tasks_merge_identical_symbol_scopes_for_same_day ... ok +test backtest::tests::execution_quote_rows_duplicate_date_symbol_is_rejected ... ok +test backtest::tests::execution_quote_rows_normalize_base_stock_code_symbols ... ok +test backtest::tests::execution_quote_loader_reads_a_bounded_minute_window_instead_of_a_point_snapshot ... ok +test backtest::tests::explicit_cli_source_cache_epoch_is_stable_and_provider_scoped ... ok +test backtest::tests::external_daily_execution_symbols_without_signals_only_queries_benchmark ... ok +test backtest::tests::external_daily_execution_symbols_skip_signals_already_in_source_rows ... ok +test backtest::tests::factor_values_arrow_decode_validates_metadata_and_merges_aliases ... ok +test backtest::tests::fidc_runner_rejects_ficlaw_data_source_rows_table ... ok +test backtest::tests::factor_values_arrow_decode_rejects_future_data_and_semantic_drift ... ok +test backtest::tests::fixed_minute_subscriptions_expand_static_daily_data_scope ... ok +test backtest::tests::fixed_signal_date_symbol_filter_is_disabled_when_static_symbols_are_mixed_in ... ok +test backtest::tests::fixed_signal_date_symbol_filter_seeds_static_symbols_at_query_start ... ok +test backtest::tests::fixed_signal_date_symbol_filter_survives_model_score_rank_metadata ... ok +test backtest::tests::fixed_signal_next_open_exit_scope_keeps_all_prior_unsold_symbols ... ok +test backtest::tests::fixed_signal_source_row_date_symbol_filter_extracts_dated_weights_only ... ok +test backtest::tests::fixed_signal_source_row_symbols_extracts_runtime_target_weights_expr ... ok +test backtest::tests::fixed_signal_source_row_date_symbol_filter_extracts_target_holding_rows ... ok +test backtest::tests::fixed_signal_source_row_symbols_extracts_single_quoted_runtime_target_weights_expr ... ok +test backtest::tests::fixed_signal_source_row_symbols_extracts_strategy_metadata_targets ... ok +test backtest::tests::fixed_signal_source_row_symbols_extracts_target_weight_codes ... ok +test backtest::tests::fixed_symbol_order_scope_requires_rotation_disabled ... ok +test backtest::tests::fixed_symbol_orders_seed_exact_intraday_snapshot_keys ... ok +test backtest::tests::frozen_bundle_identity_http_failure_is_not_a_mutable_epoch_fallback ... ok +test backtest::tests::full_minute_prefetch_days_respect_total_bar_budget ... ok +test backtest::tests::futures_source_lake_catalog_requires_all_truth_datasets ... ok +test backtest::tests::futures_only_runtime_contract_keeps_stock_scope_empty_and_allocates_cash ... ok +test backtest::tests::instrument_metadata_binary_cache_rejects_metadata_mismatch ... ok +test backtest::tests::instrument_metadata_binary_cache_roundtrips_rows ... ok +test backtest::tests::instrument_metadata_cache_ignores_legacy_csv_cache ... ok +test backtest::tests::instrument_metadata_cache_merges_missing_symbols_incrementally ... ok +test backtest::tests::instrument_metadata_cache_path_is_scoped_by_historical_window ... ok +test backtest::tests::instrument_metadata_cache_path_uses_binary_format ... ok +test backtest::tests::instrument_metadata_request_serializes_historical_source_window_when_present ... ok +test backtest::tests::intraday_snapshot_binary_cache_rejects_metadata_mismatch ... ok +test backtest::tests::intraday_snapshot_binary_cache_roundtrips_rows ... ok +test backtest::tests::intraday_snapshot_cache_ignores_legacy_csv_cache ... ok +test backtest::tests::intraday_snapshot_cache_path_uses_source_lake_provider_tag ... ok +test backtest::tests::kcb_board_and_quantity_use_source_classification ... ok +test backtest::tests::intraday_snapshot_seeds_execution_quotes_and_negative_gaps ... ok +test backtest::tests::layered_execution_quote_loader_cache_preserves_shared_seed_and_isolates_overlay ... ok +test backtest::tests::lazy_execution_quote_window_backfill_keeps_future_missing_symbols ... ok +test backtest::tests::lazy_execution_quote_window_dates_use_trading_calendar_only ... ok +test backtest::tests::load_strategy_spec_rejects_removed_compatibility_profile ... ok +test backtest::tests::load_strategy_spec_rejects_removed_engine_profile_name ... ok +test backtest::tests::malformed_execution_observations_are_errors_not_empty_successes ... ok +test backtest::tests::malformed_versioned_factor_ref_fails_closed ... ok +test backtest::tests::managed_source_rows_route_by_exact_table ... ok +test backtest::tests::minute_bar_arrow_decode_accepts_bounded_multi_date_stream ... ok +test backtest::tests::load_strategy_spec_accepts_snake_case_bundle_field ... ok +test backtest::tests::minute_bar_arrow_decode_preserves_timestamp_symbol_order ... ok +test backtest::tests::minute_bar_arrow_decode_rejects_retired_string_time_schema ... ok +test backtest::tests::minute_bar_arrow_decode_rejects_duplicate_or_unordered_rows ... ok +test backtest::tests::mixed_candidate_book_binds_complete_dates_raw_sources_and_resolved_order ... ok +test backtest::tests::mixed_stock_futures_contract_requires_explicit_futures_cash ... ok +test backtest::tests::normalize_symbol_maps_bse_exchange_to_beijing_board ... ok +test backtest::columnar_factor_overlay_tests::columnar_overlay_matches_row_decoder_for_wide_sparse_null_and_signed_zero_values ... ok +test backtest::tests::minute_bars_retries_transient_http_failure_and_preserves_caller_header ... ok +test backtest::tests::partial_source_row_window_cache_crops_covering_segments_in_arrow ... ok +test backtest::tests::partial_source_row_window_cache_ignores_all_market_cache_for_symbol_scope ... ok +test backtest::tests::partial_source_row_window_cache_ignores_wide_projection_segment ... ok +test backtest::tests::partial_source_row_window_cache_reports_only_missing_gaps ... ok +test backtest::tests::progress_callback_is_forwarded_to_blocking_engine_thread ... ok +test backtest::tests::published_factor_binding_normalizes_ref_and_builds_arrow_request ... ok +test backtest::tests::query_scope_batch_preserves_authoritative_window_identities ... ok +test backtest::tests::platform_quote_plan_uses_current_decision_date_source_rows ... ok +test backtest::tests::partial_source_row_window_cache_reuses_exact_projection_with_null_dynamic_columns ... ok +test backtest::tests::query_scope_identity_reuses_physical_window_across_distinct_bundles ... ok +test backtest::tests::real_source_quote_json_and_arrow_match_strict_reader ... ignored, requires a bounded real Source JSON/Arrow probe directory +test backtest::tests::repeated_query_views_share_only_identical_execution_observations ... ok +test backtest::tests::query_scope_http_carries_rolling_dependencies_and_rejects_bad_contracts ... ok +test backtest::tests::select_instrument_metadata_rejects_missing_symbols ... ok +test backtest::tests::shared_base_source_projection_keeps_raw_adjustment_contract ... ok +test backtest::tests::reusable_source_row_window_cache_does_not_reuse_covering_cache ... ok +test backtest::tests::shared_base_source_rows_cache_is_enabled_by_default ... ok +test backtest::tests::shared_base_source_rows_cache_is_only_for_unscoped_raw_rows ... ok +test backtest::tests::sorted_source_row_validator_rejects_unordered_or_duplicate_keys ... ok +test backtest::tests::source_cache_epoch_default_is_independent_from_quote_plan_epoch ... ok +test backtest::tests::source_dependency_contract_invalidates_all_authoritative_cache_scopes ... ok +test backtest::tests::segmented_source_row_cache_reads_only_uncovered_overlap_ranges ... ok +test backtest::tests::short_range_source_query_window_is_explicit_and_keeps_long_ranges_bounded ... ok +test backtest::tests::source_lake_contract_epoch_ignores_runtime_build_but_tracks_catalog ... ok +test backtest::tests::source_lake_health_contract_epoch_ignores_runtime_build ... ok +test backtest::tests::source_lake_arrow_request_retries_bad_gateway ... ok +test backtest::tests::source_lake_busy_retry_honors_retryable_capacity_response ... ok +test backtest::tests::source_lake_source_query_retries_are_bounded_and_transient_only ... ok +test backtest::tests::source_lake_source_query_timeout_accepts_highmem_alias ... ok +test backtest::tests::source_lake_run_waits_for_manifest_publication_and_holds_shared_lease ... ok +test backtest::tests::source_row_arrow_cache_rejects_and_does_not_write_empty_rows ... ok +test backtest::tests::source_row_arrow_cache_rejects_duplicate_date_symbol ... ok +test backtest::tests::source_lake_uses_wider_windows_for_narrow_queries ... ok +test backtest::tests::source_query_concurrency_defaults_and_clamps ... ok +test backtest::tests::source_row_arrow_decode_keeps_compact_base_rows_without_extra_json ... ok +test backtest::tests::source_row_arrow_decode_preserves_dynamic_projection_columns ... ok +test backtest::tests::source_row_arrow_extra_factor_helpers_preserve_projected_columns ... ok +test backtest::tests::source_row_arrow_dependency_contract_rejects_invalid_metadata ... ok +test backtest::tests::source_row_arrow_view_cache_reuses_identity_and_invalidates_replacement ... ok +test backtest::tests::source_row_arrow_view_keeps_mmap_alive_until_materialization ... ok +test backtest::tests::source_row_cache_file_range_parses_source_cache_dates ... ok +test backtest::tests::source_row_cache_candidate_scan_removes_previous_schema_files ... ok +test backtest::tests::source_row_cache_directory_index_tracks_files_published_by_other_workers ... ok +test backtest::tests::source_row_cache_path_hashes_long_projection_columns ... ok +test backtest::tests::source_row_cache_path_scopes_explicit_source_symbols ... ok +test backtest::tests::source_row_cache_lease_serializes_concurrent_misses ... ok +test backtest::tests::source_row_cache_path_normalizes_projection_column_order ... ok +test backtest::tests::source_row_cache_path_separates_projection_columns ... ok +test backtest::tests::source_row_cache_projection_check_allows_source_lake_fixed_aliases ... ok +test backtest::tests::source_row_cache_projection_check_requires_extra_factor_keys ... ok +test backtest::tests::source_row_cache_segment_selection_prefers_small_complete_windows ... ok +test backtest::tests::source_row_cache_rejects_legacy_raw_bincode_without_magic_header ... ok +test backtest::tests::source_row_cache_segment_selection_rejects_incomplete_windows ... ok +test backtest::tests::source_row_date_windows_keep_interior_buckets_stable_across_ranges ... ok +test backtest::tests::source_row_date_windows_split_long_ranges ... ok +test backtest::tests::source_row_date_windows_stay_within_requested_range ... ok +test backtest::tests::source_row_primary_keys_are_inline_without_growing_the_row_header ... ok +test backtest::tests::source_row_cache_rejects_metadata_mismatch ... ok +test backtest::tests::source_row_request_cache_epoch_scopes_runtime_query_context ... ok +test backtest::tests::source_row_segment_boundary_validator_preserves_fail_closed_integrity ... ok +test backtest::tests::source_row_symbol_normalization_preserves_canonical_and_maps_board ... ok +test backtest::tests::source_row_symbol_scope_epoch_changes_with_fixed_signal_symbols ... ok +test backtest::tests::source_row_cache_writes_arrow_file ... ok +test backtest::tests::source_rows_duplicate_date_symbol_is_rejected ... ok +test backtest::tests::source_row_window_cache_scope_ignores_out_of_window_filter_dates ... ok +test backtest::tests::source_rows_request_keeps_rolling_enabled_for_rolling_projection_columns ... ok +test backtest::tests::source_rows_unique_date_symbol_passes_without_reordering ... ok +test backtest::tests::source_semantic_change_invalidates_bundle_and_window_cache ... ok +test backtest::tests::static_universe_include_is_an_explicit_source_row_scope ... ok +test backtest::tests::strategy_factor_overlay_only_queries_keys_and_missing_factor_fields ... ok +test backtest::tests::stock_pool_screen_snapshot_uses_exact_selection_dates_and_full_symbol_history ... ok +test backtest::tests::strategy_bundle_path_loads_nested_spec_and_signal_scope ... ok +test backtest::tests::strategy_factor_overlay_rejects_duplicate_and_unordered_keys ... ok +test backtest::tests::strategy_factor_overlay_requires_exact_base_key_coverage ... ok +test backtest::tests::strategy_factory_source_lake_provider_name_is_exact ... ok +test backtest::tests::strategy_factory_source_lake_requires_url_and_matching_provider ... ok +test backtest::tests::strategy_factory_source_lake_uses_arrow_sized_query_windows_by_default ... ok +test backtest::tests::trade_display_metadata_cache_is_bundle_scoped_and_covers_missing_rows ... ok +test backtest::tests::trade_display_metadata_cache_rejects_rows_outside_exact_request ... ok +test backtest::tests::typed_equity_result_emits_service_schema ... ok +test backtest::tests::typed_order_result_keeps_zero_fill_orders ... ok +test backtest::tests::trade_display_metadata_disk_cache_roundtrips_frozen_bundle_rows ... ok +test backtest::tests::typed_trade_result_preserves_sub_cent_execution_price ... ok +test backtest::tests::validated_manifest_scope_reuses_cache_across_distinct_bundle_ids ... ok +test backtest::tests::versioned_factor_binding_rejects_research_scope ... ok +test backtest::tests::versioned_factor_binding_requires_declared_semantics ... ok +test backtest::tests::versioned_factor_ref_requires_a_binding ... ok +test backtest::typed_exit_dependency_tests::ordinary_strategy_partial_exit_also_contributes_its_window ... ok +test backtest::typed_exit_dependency_tests::typed_stock_pool_exits_contribute_the_full_rolling_window ... ok +test cache_directory_watch::tests::notifications_cover_publication_rename_delete_and_ignore_unrelated_files ... ok +test compute_pool_tests::concurrent_embedded_runs_do_not_change_each_others_pool_budget ... ok +test compute_pool_tests::current_thread_async_runtime_keeps_the_compute_context ... ok +test backtest::tests::timed_quote_dataset_signature_includes_daily_selection_plan ... ok +test decision_projection::tests::projection_metadata_alias_empty_fields_and_credential_paths_fail_closed ... ok +test decision_projection::tests::projection_native_request_is_complete_and_never_truncated_to_top_n ... ok +test decision_projection::tests::projection_response_is_bound_to_source_model_clock_and_exact_population ... ok +test compute_pool_tests::embedded_runner_uses_its_declared_budget_and_preserves_results ... ok +test manual_ledger::corporate_tests::actual_core_corporate_projection_is_preserved_in_the_shared_trade_row ... ok +test result_store::tests::canonical_first_divergence_reports_json_pointer ... ok +test result_store::tests::canonical_manifest_is_stable_and_transport_independent ... ok +test manual_ledger::corporate_tests::corporate_adjustments_reject_forged_money_dates_and_reference_chains ... ok +test backtest::tests::unused_daily_market_cap_prefilter_does_not_split_identical_input_cache ... ok +test result_store::tests::fact_manifest_publish_is_idempotent_under_concurrency ... ok +test result_store::tests::lazy_registration_defers_payload_hashing_to_section_read ... ok +test result_store::tests::process_event_store_is_content_addressed_and_round_trips ... ok +test result_store::tests::run_store_identity_keeps_different_data_epochs_separate ... ok +test result_store::tests::manual_source_and_applications_are_both_hashed_and_persisted ... ok +test result_store::tests::run_store_is_content_addressed_and_round_trips ... ok +test result_store::tests::run_store_reads_only_date_overlapping_blocks ... ok +test result_store::tests::run_store_rejects_corrupt_manifest ... ok +test thread_cpu::tests::thread_cpu_clock_keeps_unavailable_or_cross_thread_samples_unknown ... ok +test thread_cpu::tests::sleeping_time_is_not_reported_as_cpu_execution ... ok +test backtest::source_rows_columnar::tests::columnar_cache_keeps_original_output_batch_boundaries ... ok + +test result: ok. 475 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 4.43s + + Running unittests src/main.rs (/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb/debug/deps/fidc_backtest_runner-d9576ad0213a3f52) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/allocation_profile.rs (/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb/debug/deps/allocation_profile-d0f3f7d0fac79090) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples/export_manual_corporate_evidence.rs (/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb/debug/examples/export_manual_corporate_evidence-c94413bd1e0c9fa1) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/main.rs (/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb/debug/deps/fidc_backtest_service-23dd72fc1212afbe) + +running 142 tests +test daily_patterns::tests::column_transport_is_lossless_and_rejects_ambiguous_rows ... ok +test daily_patterns::tests::arrow_rejects_truncation_and_forged_lengths_before_decoding ... ok +test event_stream::tests::effective_initial_cash_is_projected_without_guessing_or_losing_source_precision ... ok +test daily_patterns::tests::numeric_mode_requires_the_explicit_read_only_context ... ok +test daily_patterns::tests::daily_patterns_read_only_transport_binds_exact_input ... ok +test event_stream::tests::memory_tail_and_durable_prefix_replay_in_publish_order ... ok +test event_stream::tests::ordered_batch_is_idempotent_and_changed_facts_do_not_replace_history ... ignored, requires local FIDC_EVENT_TEST_POSTGRES_DSN on the private fidc-auth-pg cluster +test daily_patterns::tests::arrow_uses_same_kernel_and_exact_byte_proof_with_partial_scope ... ok +test event_stream::tests::live_sequence_recent_replay_and_concurrent_runs_remain_isolated ... ok +test execution_ledger::tests::actual_http_routes_return_both_sources_and_precise_manual_values ... ok +test execution_ledger::tests::dated_fact_store_rejects_reverse_order_before_projection ... ok +test execution_ledger::tests::serve_browser_fixture ... ignored, starts a local GET-only API for browser acceptance; set FIDC_LEDGER_UI_QA_PORT explicitly +test execution_ledger::tests::serve_stream_browser_fixture ... ignored, starts isolated real WebSocket/GET handlers; FIDC_LEDGER_STREAM_QA_PORT required +test execution_ledger::tests::source_precision_ids_and_later_status_are_not_rewritten ... ok +test execution_ledger::tests::streamed_manual_facts_equal_final_ledger_without_publishing_a_future_terminal ... ok +test execution_ledger::tests::typed_accounting_rows_keep_origin_without_order_identity ... ok +test execution_ledger::tests::performance_counts_both_origins_and_sums_authoritative_fees_exactly ... ok +test factor_events::tests::market_history_binds_kernel_version_and_preserves_unknown_streak ... ok +test factor_events::tests::no_account_or_execution_payload_is_accepted ... ok +test factor_events::tests::rank_history_binds_exact_scope_and_input_hash ... ok +test factor_events::tests::transport_preserves_input_identity_and_rejects_future_values ... ok +test idempotency::tests::canonical_json_order_does_not_change_request_identity ... ok +test idempotency::tests::identity_binds_owner_and_rejects_changed_request ... ok +test idempotency::tests::malformed_keys_and_unbound_records_are_rejected ... ok +test performance::tests::accounting_allocations_are_not_unidentified_exchange_fills ... ok +test performance::tests::builds_daily_weight_diagnostics_from_persisted_holdings ... ok +test performance::tests::counts_open_underwater_duration_from_the_latest_peak ... ok +test performance::tests::does_not_fake_risk_ratios_for_one_period ... ok +test performance::tests::emits_true_nav_and_multiple_recovery_episodes ... ok +test performance::tests::explicit_frozen_initial_capital_survives_a_first_day_deposit ... ok +test performance::tests::first_period_loss_has_an_initial_peak_episode_without_a_fake_date ... ok +test performance::tests::missing_benchmark_does_not_compact_dates_or_invent_a_drawdown_path ... ok +test performance::tests::missing_order_ids_and_fees_remain_unknown_not_zero_or_report_counts ... ok +test performance::tests::order_metrics_count_identities_separately_from_reports_and_partial_fills ... ok +test performance::tests::preserves_a_first_day_strategy_return_and_initial_capital ... ok +test performance::tests::preserves_the_canonical_pre_period_benchmark_baseline ... ok +test performance::tests::projects_all_canonical_risk_metrics_and_contract_metadata ... ok +test performance::tests::separates_longest_underwater_episode_from_deepest_drawdown ... ok +test performance::tests::zero_nav_is_a_full_loss_not_missing_data ... ok +test performance::tests::zero_orders_are_known_but_conflicting_order_identity_is_not_a_count ... ok +test result_analysis_tests::batched_history_bindings_preserve_validation_and_survive_cache_eviction ... ignored, requires isolated FIDC_BACKTEST_TEST_POSTGRES_DSN +test factor_events::tests::catalog_validator_binds_the_complete_body_and_preserves_contract ... ok +test result_analysis_tests::copied_real_result_stores_and_browser_fixture ... ignored, requires FIDC_RESULT_QA_FIXTURES containing copied immutable result stores +test result_analysis_tests::failed_optional_classification_keeps_unmodified_facts ... ok +test result_analysis_tests::historical_text_search_filters_before_count_and_pagination ... ignored, requires isolated FIDC_BACKTEST_TEST_POSTGRES_DSN +test result_analysis_tests::history_filters_use_corrected_drawdown_and_never_treat_unknown_as_zero ... ok +test result_analysis_tests::owned_analysis_reference_does_not_require_a_cached_run_binding ... ok +test result_analysis_tests::projected_history_filter_sort_and_pagination_on_postgres ... ignored, requires FIDC_BACKTEST_TEST_POSTGRES_DSN; creates an isolated test schema +test result_analysis_tests::sector_filter_cannot_disable_its_classification_dependency ... ok +test risk_projection::tests::absent_original_rates_preserve_independent_metrics_without_network_or_zero_rate_claim ... ok +test risk_projection::tests::canonical_null_overrides_all_legacy_aliases_but_real_zero_survives ... ok +test risk_projection::tests::original_contract_reprojects_legacy_zero_and_preserves_cash_flow_facts ... ok +test risk_projection::tests::unavailable_contract_does_not_relabel_legacy_zero_as_a_verified_statistic ... ok +test stock_pool_candidates::tests::resolve_binds_input_and_preserves_empty_automatic_days ... ok +test submission_pg_tests::atomic_submission_claim_replay_and_rollback_on_postgres ... ignored, requires FIDC_BACKTEST_TEST_POSTGRES_DSN and creates only an isolated schema +test tests::backtest_create_body_limit_accepts_bounded_signal_replays ... ok +test tests::backtest_event_stream_exposes_a_websocket_transport ... ok +test tests::backtest_list_cache_key_separates_summary_only_runtime_shape ... ok +test tests::backtest_list_filters_and_sorting_use_generated_summary ... ok +test tests::backtest_list_reports_cache_hit_and_effective_page_limit ... ok +test tests::backtest_list_summary_only_uses_compact_query ... ok +test tests::backtest_performance_contract_records_total_and_runner_seconds ... ok +test tests::backtest_run_compact_cache_key_separates_strategy_detail_shape ... ok +test tests::backtest_runner_data_env_accepts_strategy_factory_source_lake_provider ... ok +test tests::backtest_runner_data_env_infers_strategy_factory_source_lake_from_runtime_source_table ... ok +test tests::backtest_runner_data_env_rejects_legacy_ficlaw_data_source_table ... ok +test tests::backtest_runner_data_env_rejects_legacy_source_provider ... ok +test tests::backtest_runner_data_env_rejects_non_source_lake_provider ... ok +test tests::backtest_runner_data_env_rejects_source_lake_provider_aliases ... ok +test tests::backtest_runner_data_env_requires_strategy_factory_source_lake_url ... ok +test tests::backtest_runner_data_env_uses_strategy_factory_source_lake_only ... ok +test tests::backtest_schema_initialization_never_deletes_run_data ... ok +test tests::backtest_schema_materializes_implementation_identity_for_compact_reads ... ok +test tests::build_run_payload_does_not_mark_empty_running_summary_as_available ... ok +test tests::build_run_payload_exposes_only_canonical_strategy_detail ... ok +test tests::build_run_payload_marks_failed_error_summary_as_available ... ok +test tests::build_run_payload_marks_terminal_metric_summary_as_available ... ok +test tests::build_run_summary_preview_preserves_strategy_runtime_rebalance_signal ... ok +test tests::build_run_summary_preview_preserves_terminal_audit ... ok +test tests::canonical_result_is_recovered_from_runner_summary ... ok +test tests::capacity_override_is_frozen_once_without_changing_execution_risk ... ok +test tests::clear_backtest_list_cache_clears_compact_run_cache ... ok +test tests::compact_result_handler_uses_single_pg_lookup ... ok +test tests::compact_summary_only_runtime_select_avoids_config_json ... ok +test tests::compact_summary_sql_removes_heavy_result_artifacts ... ok +test tests::daily_execution_matching_type_normalizes_next_open_aliases_and_rejects_other_aliases ... ok +test tests::default_backtest_concurrency_scales_with_available_cpu_threads ... ok +test tests::default_backtest_source_table_uses_strategy_factory_source_lake ... ok +test tests::detail_rows_query_page_size_maps_to_offset_limit ... ok +test tests::equity_rows_hide_diagnostics_unless_explicitly_requested ... ok +test tests::execution_cost_overrides_strategy_spec_for_runner ... ok +test tests::execution_dynamic_slippage_overrides_strategy_spec_for_runner ... ok +test tests::execution_matching_type_overrides_strategy_spec_for_runner ... ok +test tests::execution_percent_slippage_alias_normalizes_to_price_ratio ... ok +test tests::execution_rebalance_cash_mode_overrides_strategy_spec_for_runner ... ok +test tests::execution_risk_overrides_strategy_spec_for_runner ... ok +test tests::execution_risk_policy_rejects_conflicting_alias_values ... ok +test tests::execution_risk_policy_rejects_non_object ... ok +test tests::execution_risk_policy_rejects_unknown_fields_before_queueing ... ok +test tests::execution_sell_then_buy_delay_slippage_requires_sell_then_buy_mode ... ok +test tests::execution_slippage_overrides_strategy_spec_for_runner ... ok +test tests::execution_top_level_risk_enabled_aliases_are_frozen_into_strategy_spec ... ok +test tests::explicit_cost_override_removes_old_aliases_and_preserves_zero_minimum ... ok +test tests::history_query_cache_has_a_bounded_entry_budget ... ok +test tests::history_search_is_bounded_and_retains_literal_characters ... ok +test tests::implementation_identity_freezes_source_and_binary_generation ... ok +test tests::manual_observations_are_run_scoped_and_private_in_the_runner_bundle ... ok +test tests::minute_execution_matching_type_uses_minute_price_and_rejects_daily_modes ... ok +test tests::persisted_runtime_projection_never_guesses_missing_frequency ... ok +test tests::persisted_runtime_projection_retains_minute_mode_and_frozen_bundle ... ok +test tests::process_event_projection_uses_stable_kind_and_filters ... ok +test tests::projected_fact_block_cache_key_is_shared_across_run_manifests ... ok +test tests::public_backtest_projection_removes_internal_paths_recursively ... ok +test tests::public_event_message_removes_internal_paths ... ok +test tests::public_result_store_manifest_hides_internal_fact_blocks ... ok +test tests::public_run_projection_does_not_reintroduce_internal_paths ... ok +test tests::result_artifact_cache_keeps_shared_fact_blocks_after_run_eviction ... ok +test tests::result_artifact_cache_rejects_conflicting_reference_for_same_sha ... ok +test tests::result_block_page_plan_reads_only_overlapping_blocks ... ok +test tests::runner_strategy_spec_path_prefers_bundle ... ok +test tests::runtime_frequency_normalizes_and_overrides_strategy_spec_for_runner ... ok +test tests::runtime_frozen_bundle_is_written_to_strategy_metadata_for_runner ... ok +test tests::runtime_projection_migration_preserves_frozen_config ... ok +test tests::runtime_symbols_override_strategy_spec_for_runner ... ok +test tests::source_lake_preflight_rejects_unsupported_minute_cash_mode ... ok +test tests::source_lake_run_contract_preflight_freezes_runtime_and_execution ... ok +test tests::source_lake_runtime_requires_frozen_backtest_bundle_contract ... ok +test tests::start_backtest_run_rejects_unready_data_source_before_persistence ... ok +test tests::startup_reconciliation_closes_orphaned_runs_and_records_audit_event ... ok +test tests::strategy_detail_keeps_strategy_body_without_full_config ... ok +test tests::strategy_detail_returns_none_without_strategy_body ... ok +test tests::strategy_expression_preflight_rejects_invalid_dsl_before_data_load ... ok +test tests::summary_list_projection_keeps_table_metrics_and_removes_detail_payloads ... ok +test tests::terminal_audit_accepts_deferred_intents_and_checks_the_retained_count ... ok +test tests::terminal_audit_contract_rejects_missing_or_inconsistent_state ... ok +test tests::top_level_limits_replace_all_nested_execution_aliases_before_preflight ... ok +test tests::typed_holding_projection_derives_weight_and_final_snapshot ... ok +test tests::typed_result_rows_filter_and_paginate_without_json_table_roundtrip ... ok +test tests::typed_risk_filter_applies_execution_fields ... ok +test event_stream::tests::replay_buffer_is_bounded_and_completed_streams_are_evicted_without_closing_subscribers ... ok +test result_analysis_tests::complete_performance_and_paged_equity_share_corrected_drawdown ... ok +test execution_ledger::tests::combined_pages_filter_before_count_and_keep_native_pages_bounded ... ok + +test result: ok. 134 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 9.47s + + Running unittests examples/risk_projection_readonly.rs (/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb/debug/examples/risk_projection_readonly-466df29735f9d7d7) + +running 4 tests +test risk_projection::tests::canonical_null_overrides_all_legacy_aliases_but_real_zero_survives ... ok +test risk_projection::tests::original_contract_reprojects_legacy_zero_and_preserves_cash_flow_facts ... ok +test risk_projection::tests::absent_original_rates_preserve_independent_metrics_without_network_or_zero_rate_claim ... ok +test risk_projection::tests::unavailable_contract_does_not_relabel_legacy_zero_as_a_verified_statistic ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples/stock_pool_contract_probe.rs (/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb/debug/examples/stock_pool_contract_probe-58f0bd489ea866d6) + +running 1 test +test stock_pool_candidates::tests::resolve_binds_input_and_preserves_empty_automatic_days ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + diff --git a/docs/evidence/registered-share-risk-20261005/validation-pg-receipt.json b/docs/evidence/registered-share-risk-20261005/validation-pg-receipt.json new file mode 100644 index 0000000..040180f --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/validation-pg-receipt.json @@ -0,0 +1,244 @@ +{ + "artifact_bytes": 9528, + "artifact_id": "strategy_research_7d866453d4ae4768b5a25bb9", + "artifact_path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/validation-receipt.json", + "artifact_sha256": "15c1f57fe6a40538ec9d9e487275b731edd9cb15c3c5ae0520b8a88224606cfe", + "artifact_type": "research_source_scope_probe", + "contract_sha256": "590dbc7f2f9983ff4cdaeaaec261fead7bdb41b389ac9ee8fc66b3fca3609fc8", + "created_at": "2026-10-04T22:25:19Z", + "created_by": "boris", + "department_id": null, + "organization_id": "local_org", + "persisted_at": "2026-10-04T22:25:19Z", + "production_ready": false, + "record_json": { + "all_attempt_log_references": [ + { + "bytes": 3625, + "compiler_failure": false, + "complete_success": false, + "failed": 2, + "ignored": 0, + "passed": 20, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-0bbeed4/initial-targeted-linux-tests.log", + "sha256": "9684e4e1c10aabe426c15cd408bb61b198ada8eed1258231e4b81fc30716ac49" + }, + { + "bytes": 82467, + "compiler_failure": false, + "complete_success": false, + "failed": 1, + "ignored": 7, + "passed": 798, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-0caac44/full-linux-tests-attempt1.log", + "sha256": "9535151bd7a29a5f56265ef35dbff89b3e48729688cb34c32aa8a8fc9347e41c" + }, + { + "bytes": 95343, + "compiler_failure": false, + "complete_success": false, + "failed": 4, + "ignored": 9, + "passed": 923, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-4eb4c17/full-linux-tests-attempt2.log", + "sha256": "db18ad5e876ce482dc1f76ac244e170a6095c2ead8a991af5dce45e72af8e9ac" + }, + { + "bytes": 98381, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 967, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-05315f0/full-linux-tests-attempt3.log", + "sha256": "66879f838ec21001cb3e6c284f497cfb6a80c2d3a724ee9cb04e09476afc101b" + }, + { + "bytes": 98381, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 967, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-a267052/final-full-linux-tests.log", + "sha256": "b565d8b983fb87881974da37ad5bd0721db3f51acda3af0cbe1b62406f18371c" + }, + { + "bytes": 98381, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 967, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-7d7cce8/final-full-linux-tests.log", + "sha256": "b8f7a20a93335801950e40ce3a7124ae039e84fbb1db7dd821c314d2b05b4447" + }, + { + "bytes": 98572, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 969, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-ce46c13/final-full-linux-tests.log", + "sha256": "cfd1cb81fde9f34991a54a54e2a734844bd8fab52292e043856b08d30090d19a" + }, + { + "bytes": 80065, + "compiler_failure": false, + "complete_success": false, + "failed": 1, + "ignored": 7, + "passed": 781, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-4a41057/final-full-linux-tests.log", + "sha256": "a5a2222afc6d9dd28c892ccec4b44934a757ed385399fe67e893bf83769fee67" + }, + { + "bytes": 98662, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 970, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "38bb77591e04784ee1af4043c8792fe84f155a962ff7e5bd26e0e1571efccd42" + }, + { + "bytes": 10543, + "compiler_failure": true, + "complete_success": false, + "failed": 0, + "ignored": 0, + "passed": 0, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1fa73bb/full-linux-tests-attempt1.log", + "sha256": "e758be915373f707a460e7d08ab4162f3b80d86b98091c555cb3351c2bb4d7b8" + }, + { + "bytes": 65133, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 613, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-ffc6e1f/full-linux-tests-attempt2.log", + "sha256": "d053e4e432cbe0b198f85ceee349b241eac4cf90b8e6a75289c322c59538b2b7" + }, + { + "bytes": 65133, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 613, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-ce46c13/final-full-linux-tests.log", + "sha256": "6f2e8974a90d5cdbce788e2744a1276dff9fe94b79958869cfb0730c096d1a42" + }, + { + "bytes": 65258, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 614, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1d4b32e/final-full-linux-tests.log", + "sha256": "2ba99fb0198a68ff5bc3d6341b1cdeb3da1a4d0ca5496b2faa3e79e3494ae434" + }, + { + "bytes": 65258, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 614, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "fd6d3de7c1a6f2ebcd1ea65d73720661256786ce7799d86371357871adcadb17" + } + ], + "contract_sha256": "e025710eaa56f81f2bfad6e67009b6d476eebe9228e6fbe05c7e870164348586", + "core_test_result": { + "bytes": 98662, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 970, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "38bb77591e04784ee1af4043c8792fe84f155a962ff7e5bd26e0e1571efccd42" + }, + "corporate_action_cache_schema_version": 5, + "engine_commit": "1092cd0b80c5b8aee6851231f77e474c8ee2ba0c", + "fractional_quantity_requires_explicit_settlement_rule": true, + "full_source_event_and_revision_scope_verified": false, + "missed_core_live_scope_probe_after_test_finished_not_claimed_live_verification": true, + "new_runtime_release_performed": false, + "numeric_research_budget_reopened": false, + "observed_at": "2026-10-04T22:25:11.053398+00:00", + "operational_verification_reference": { + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/operational-verification.json", + "sha256": "42a6814f9ca215b6a39d838c7faabbb293043b482520b5c4b50e3ccbaf45ea0a" + }, + "owner_uid": 1003, + "pending_only_symbols_count_toward_position_limits": true, + "pending_share_successor_conversion_without_carry_terms_rejected": true, + "performance_speedup_claimed": false, + "prior_validation_pg_artifact": "strategy_research_59f5a031d3cc7e0e5080c91e", + "prior_validation_reference": { + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1d4b32e/validation-receipt.json", + "sha256": "097101988e5f6875c8933012534cfa1ca72f9e2742c04d002aba7d00a69fc346" + }, + "production_ready": false, + "production_runtime_deployed": false, + "production_strategy_count": 0, + "registered_share_entitlements_separate_from_delivered_and_sellable_quantity": true, + "resource_contract_live_verification_reference": { + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/live-test-resource-verification.json", + "sha256": "8064619cda9e9f6a9f6e3045fd5e7c9e981314cc1c0877d7e07f57aeeeb39a81" + }, + "resource_contract_requested": { + "build_jobs": 4, + "core_target_path": "/tmp/fidc-cash-receivable-build-20261005-af655de", + "cpu_quota_percent": 400, + "incremental": false, + "locked": true, + "memory_max_bytes": 17179869184, + "memory_swap_max_bytes": 0, + "offline": true, + "resource_properties_after_transient_scope_exit_are_not_live_validation": true, + "runner_target_path": "/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb", + "rustc": "rustc 1.98.0 (88d9e12ae 2026-08-18)", + "target_filesystem": "executable_tmpfs", + "tasks_max": 256, + "toolchain": "stable-x86_64-unknown-linux-gnu" + }, + "runner_api_test_result": { + "bytes": 65258, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 614, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "fd6d3de7c1a6f2ebcd1ea65d73720661256786ce7799d86371357871adcadb17" + }, + "schema_version": "fidc.linux-registered-share-risk-validation/v1", + "service_commit": "1d4b32e18d3836b5844130ae0c95d90247768882", + "share_receivable_assets_included_in_equity_and_target_sizing": true, + "simulation_rounding_fixture_not_official_settlement_evidence": true, + "source_pair_root": "/srv/fidc/programs/src/fidc-share-delivery-pair-validation-20261005-1092cd0", + "source_publication_times_admitted_as_PIT": false, + "source_rows_semantic_sha256": "eec65df828f97a3e51827cb6b0e9ec2c86079a333481d55ec9eb6ab2845d73c5", + "source_rows_semantic_version": "v10", + "source_transport_commit": "12eeae5d570004499a30f7faa42c0da93c1578cc", + "status": "core_and_runner_api_regressions_passed_not_source_runtime_or_strategy_acceptance", + "trading_allowed": false, + "two_framework_financial_reconciliation_completed": false, + "unknown_delivery_date_not_defaulted_to_ex_date": true, + "unknown_distribution_quantities_not_defaulted_to_zero": true, + "unresolved_delisting_cannot_zero_pending_share_assets": true + }, + "research_key": "fidc-registered-share-risk-validation-20261005-1092cd0-1d4b32e", + "schema_table": "strategy_research_artifact", + "schema_version": "fidc.linux-registered-share-risk-validation/v1", + "status": "core_and_runner_api_regressions_passed_not_source_runtime_or_strategy_acceptance", + "storage": "postgres" +} diff --git a/docs/evidence/registered-share-risk-20261005/validation-receipt.json b/docs/evidence/registered-share-risk-20261005/validation-receipt.json new file mode 100644 index 0000000..6f96d86 --- /dev/null +++ b/docs/evidence/registered-share-risk-20261005/validation-receipt.json @@ -0,0 +1,225 @@ +{ + "all_attempt_log_references": [ + { + "bytes": 3625, + "compiler_failure": false, + "complete_success": false, + "failed": 2, + "ignored": 0, + "passed": 20, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-0bbeed4/initial-targeted-linux-tests.log", + "sha256": "9684e4e1c10aabe426c15cd408bb61b198ada8eed1258231e4b81fc30716ac49" + }, + { + "bytes": 82467, + "compiler_failure": false, + "complete_success": false, + "failed": 1, + "ignored": 7, + "passed": 798, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-0caac44/full-linux-tests-attempt1.log", + "sha256": "9535151bd7a29a5f56265ef35dbff89b3e48729688cb34c32aa8a8fc9347e41c" + }, + { + "bytes": 95343, + "compiler_failure": false, + "complete_success": false, + "failed": 4, + "ignored": 9, + "passed": 923, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-4eb4c17/full-linux-tests-attempt2.log", + "sha256": "db18ad5e876ce482dc1f76ac244e170a6095c2ead8a991af5dce45e72af8e9ac" + }, + { + "bytes": 98381, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 967, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-05315f0/full-linux-tests-attempt3.log", + "sha256": "66879f838ec21001cb3e6c284f497cfb6a80c2d3a724ee9cb04e09476afc101b" + }, + { + "bytes": 98381, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 967, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-a267052/final-full-linux-tests.log", + "sha256": "b565d8b983fb87881974da37ad5bd0721db3f51acda3af0cbe1b62406f18371c" + }, + { + "bytes": 98381, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 967, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-7d7cce8/final-full-linux-tests.log", + "sha256": "b8f7a20a93335801950e40ce3a7124ae039e84fbb1db7dd821c314d2b05b4447" + }, + { + "bytes": 98572, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 969, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-ce46c13/final-full-linux-tests.log", + "sha256": "cfd1cb81fde9f34991a54a54e2a734844bd8fab52292e043856b08d30090d19a" + }, + { + "bytes": 80065, + "compiler_failure": false, + "complete_success": false, + "failed": 1, + "ignored": 7, + "passed": 781, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-4a41057/final-full-linux-tests.log", + "sha256": "a5a2222afc6d9dd28c892ccec4b44934a757ed385399fe67e893bf83769fee67" + }, + { + "bytes": 98662, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 970, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "38bb77591e04784ee1af4043c8792fe84f155a962ff7e5bd26e0e1571efccd42" + }, + { + "bytes": 10543, + "compiler_failure": true, + "complete_success": false, + "failed": 0, + "ignored": 0, + "passed": 0, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1fa73bb/full-linux-tests-attempt1.log", + "sha256": "e758be915373f707a460e7d08ab4162f3b80d86b98091c555cb3351c2bb4d7b8" + }, + { + "bytes": 65133, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 613, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-ffc6e1f/full-linux-tests-attempt2.log", + "sha256": "d053e4e432cbe0b198f85ceee349b241eac4cf90b8e6a75289c322c59538b2b7" + }, + { + "bytes": 65133, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 613, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-ce46c13/final-full-linux-tests.log", + "sha256": "6f2e8974a90d5cdbce788e2744a1276dff9fe94b79958869cfb0730c096d1a42" + }, + { + "bytes": 65258, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 614, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1d4b32e/final-full-linux-tests.log", + "sha256": "2ba99fb0198a68ff5bc3d6341b1cdeb3da1a4d0ca5496b2faa3e79e3494ae434" + }, + { + "bytes": 65258, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 614, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "fd6d3de7c1a6f2ebcd1ea65d73720661256786ce7799d86371357871adcadb17" + } + ], + "contract_sha256": "e025710eaa56f81f2bfad6e67009b6d476eebe9228e6fbe05c7e870164348586", + "core_test_result": { + "bytes": 98662, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 9, + "passed": 970, + "path": "/data/fidc-cold/autonomous-research/fidc-share-receivable-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "38bb77591e04784ee1af4043c8792fe84f155a962ff7e5bd26e0e1571efccd42" + }, + "corporate_action_cache_schema_version": 5, + "engine_commit": "1092cd0b80c5b8aee6851231f77e474c8ee2ba0c", + "fractional_quantity_requires_explicit_settlement_rule": true, + "full_source_event_and_revision_scope_verified": false, + "missed_core_live_scope_probe_after_test_finished_not_claimed_live_verification": true, + "new_runtime_release_performed": false, + "numeric_research_budget_reopened": false, + "observed_at": "2026-10-04T22:25:11.053398+00:00", + "operational_verification_reference": { + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/operational-verification.json", + "sha256": "42a6814f9ca215b6a39d838c7faabbb293043b482520b5c4b50e3ccbaf45ea0a" + }, + "owner_uid": 1003, + "pending_only_symbols_count_toward_position_limits": true, + "pending_share_successor_conversion_without_carry_terms_rejected": true, + "performance_speedup_claimed": false, + "prior_validation_pg_artifact": "strategy_research_59f5a031d3cc7e0e5080c91e", + "prior_validation_reference": { + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1d4b32e/validation-receipt.json", + "sha256": "097101988e5f6875c8933012534cfa1ca72f9e2742c04d002aba7d00a69fc346" + }, + "production_ready": false, + "production_runtime_deployed": false, + "production_strategy_count": 0, + "registered_share_entitlements_separate_from_delivered_and_sellable_quantity": true, + "resource_contract_live_verification_reference": { + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/live-test-resource-verification.json", + "sha256": "8064619cda9e9f6a9f6e3045fd5e7c9e981314cc1c0877d7e07f57aeeeb39a81" + }, + "resource_contract_requested": { + "build_jobs": 4, + "core_target_path": "/tmp/fidc-cash-receivable-build-20261005-af655de", + "cpu_quota_percent": 400, + "incremental": false, + "locked": true, + "memory_max_bytes": 17179869184, + "memory_swap_max_bytes": 0, + "offline": true, + "resource_properties_after_transient_scope_exit_are_not_live_validation": true, + "runner_target_path": "/tmp/fidc-share-delivery-runner-build-20261005-1fa73bb", + "rustc": "rustc 1.98.0 (88d9e12ae 2026-08-18)", + "target_filesystem": "executable_tmpfs", + "tasks_max": 256, + "toolchain": "stable-x86_64-unknown-linux-gnu" + }, + "runner_api_test_result": { + "bytes": 65258, + "compiler_failure": false, + "complete_success": true, + "failed": 0, + "ignored": 17, + "passed": 614, + "path": "/data/fidc-cold/autonomous-research/fidc-share-delivery-pair-validation-20261005-1092cd0/final-full-linux-tests.log", + "sha256": "fd6d3de7c1a6f2ebcd1ea65d73720661256786ce7799d86371357871adcadb17" + }, + "schema_version": "fidc.linux-registered-share-risk-validation/v1", + "service_commit": "1d4b32e18d3836b5844130ae0c95d90247768882", + "share_receivable_assets_included_in_equity_and_target_sizing": true, + "simulation_rounding_fixture_not_official_settlement_evidence": true, + "source_pair_root": "/srv/fidc/programs/src/fidc-share-delivery-pair-validation-20261005-1092cd0", + "source_publication_times_admitted_as_PIT": false, + "source_rows_semantic_sha256": "eec65df828f97a3e51827cb6b0e9ec2c86079a333481d55ec9eb6ab2845d73c5", + "source_rows_semantic_version": "v10", + "source_transport_commit": "12eeae5d570004499a30f7faa42c0da93c1578cc", + "status": "core_and_runner_api_regressions_passed_not_source_runtime_or_strategy_acceptance", + "trading_allowed": false, + "two_framework_financial_reconciliation_completed": false, + "unknown_delivery_date_not_defaulted_to_ex_date": true, + "unknown_distribution_quantities_not_defaulted_to_zero": true, + "unresolved_delisting_cannot_zero_pending_share_assets": true +} diff --git a/docs/registered-share-delivery-20261005.md b/docs/registered-share-delivery-20261005.md index df86070..a5162a5 100644 --- a/docs/registered-share-delivery-20261005.md +++ b/docs/registered-share-delivery-20261005.md @@ -32,3 +32,13 @@ 五个原活动 FIDC 用户服务的 PID、InvocationID、状态和重启计数保持原值;冻结研究执行器仍为 PID 1396112、InvocationID `0eb28e3a45694a00951aa3aec0e13465`,原 v11 计划 SHA 未变。Source 18095 和回测 18096 健康为 200,已授权 incremental 清理目标仍为零文件。没有切换活动 Source、Runner 或研究代码,健康不等于新版本已部署。 完整事件/无事件、合法参与对象、历史证券身份、修订和 PIT 发布证据,以及复杂权益承接和真实碎股规则仍需完成。当前回归不替代 AiQuant 同条件财务对账、冻结样本外、容量压力、Hermes、模拟盘准入和人工生产审批;没有速度提升结论,`production_runtime_deployed=false`、`production_ready=false`、`trading_allowed=false`。 + +## 2026-10-05 收尾风险更正与最终版本 + +上文 969 项阶段回执和原日志保持原样。本节追加随后发现的两个错误及更正:持仓上限原只统计已交付股数,漏掉只剩股份应收的证券;退市且缺行情时,原通用计价分支还可能把股份应收一并归零。现在持仓占用、换仓集合和新建持仓判断统一使用经济持仓数量;存在待交付权益而退市条款未解决时,在修改任何价格前明确拒绝,原权益、应收数量和账簿身份保持不变。 + +最终有效核心提交为 `1092cd0b80c5b8aee6851231f77e474c8ee2ba0c`,配套 Service 业务提交仍为 `1d4b32e18d3836b5844130ae0c95d90247768882`。核心完整 Linux 回归 **970 项通过、9 项既有忽略**,日志 SHA256 `38bb77591e04784ee1af4043c8792fe84f155a962ff7e5bd26e0e1571efccd42`;最新成对 Runner/API 回归 **614 项通过、17 项既有忽略**,日志 SHA256 `fd6d3de7c1a6f2ebcd1ea65d73720661256786ce7799d86371357871adcadb17`。新增退市回归首次因夹具缺少独立基准而失败,原 `781 passed / 1 failed / 7 ignored` 日志 SHA `a5a2222afc6d9dd28c892ccec4b44934a757ed385399fe67e893bf83769fee67` 保留;补齐明确合成基准后重跑完整核心,没有放宽账户或数据门禁。 + +较大 Git bundle 在本地长度预检拒绝直接传输,未执行远端修改;随后分成三个有独立 SHA 的受控片段,重组 SHA `36a50358e1bc41d2322fe9fb3984949fef95782f2b71dc345c6a70e520a40b9f` 核验后才构建。核心最终测试的现场 scope 采样晚于完成,未当作有效现场资源证明;首次核心测试及最新配套测试的实际 scope 记录分别保留,最终配套的 CPU/内存/任务限制和 Boris 进程属主独立核验通过。 + +追加最终回执 SHA256 `15c1f57fe6a40538ec9d9e487275b731edd9cb15c3c5ae0520b8a88224606cfe`,PG18 artifact `strategy_research_7d866453d4ae4768b5a25bb9`,完整 JSONB 独立回读通过。[追加证据清单](evidence/registered-share-risk-20261005/file-shas.json)保留失败、最终测试、现场资源、运行核验和完整回执。五个原服务身份、冻结计划、数值预算及已清理缓存状态再次核验不变;Source/回测健康为 200。生产未部署、生产策略仍为 0/10,所有上文未完成准入门禁继续保留。