nixbot

builds

succeeded horae-tests-0.1.0 checks.x86_64-linux.tests · build #458 · raw

unpackPhase
1unpacking source archive /nix/store/0kzndy21gqbndrfsxyvy3j2nbgfr931a-source2source root is source
patchPhase
3Executing configureCargoCommonVars4decompressing cargo artifacts from /nix/store/p0fga5r55aw5iwdy8h0dpr32lhcczl5i-horae-checks-deps-0.1.0/target.tar.zst to target5patchPhase completed in 1 minutes 17 seconds
configurePhase
6will append /build/source/.cargo-home/config.toml with contents of /nix/store/i0bj632any4bjpvnl84zc2h7cq8zn0mz-vendor-cargo-deps/config.toml7default configurePhase, nothing to do
buildPhase
8+++ command cargo nextest run -p horae-core --test-threads 489 Compiling proc-macro2 v1.0.10610 Compiling serde_core v1.0.22811 Compiling serde v1.0.22812 Compiling num-traits v0.2.1913 Compiling quote v1.0.4614 Compiling syn v2.0.11815 Compiling uuid v1.23.416 Compiling serde_derive v1.0.22817 Compiling thiserror-impl v2.0.1818 Compiling thiserror v2.0.1819 Compiling chrono v0.4.4520 Compiling horae-core v0.1.0 (/build/source/crates/core)21 Finished `test` profile [unoptimized + debuginfo] target(s) in 19.11s22 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 23 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding24 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget25 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values26------------27 Nextest run ID 255f1d02-58f5-41ed-9ebe-cfe3747242d1 with nextest profile: default28 Starting 189 tests across 1 binary29 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 30 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding31 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget32 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values33 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 34 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding35 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget36 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values37 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 38 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding39 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget40 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values41 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 42 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding43 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget44 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values45 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 46 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding47 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget48 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values49 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 50 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding51 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget52 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values53 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 54 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding55 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget56 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values57 Running [ 00:00:00] 0/189: 4 running, 0 passed, 0 skipped 58 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding59 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget60 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values61 Running [ 00:00:00] => 34/189: 48 running, 34 passed, 0 skipped 62 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding63 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band64 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached65 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once66 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text67 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names68 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit69 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero70 PASS [ 0.016s] horae-core importers::harvest::convert::tests::money_common_values_are_exact71 PASS [ 0.017s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets72 PASS [ 0.022s] horae-core budget::tests::large_values_do_not_overflow73 PASS [ 0.016s] horae-core duration::tests::parse_decimal74 PASS [ 0.016s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band75 PASS [ 0.018s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly76 PASS [ 0.020s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse77 PASS [ 0.027s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values78 PASS [ 0.026s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform79 PASS [ 0.031s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up80 PASS [ 0.032s] horae-core budget::tests::no_band_for_zero_or_missing_budget81 PASS [ 0.029s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts82 PASS [ 0.030s] horae-core duration::tests::minutes_between_is_exact_no_minimum83 PASS [ 0.041s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract84 PASS [ 0.042s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values85 PASS [ 0.042s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows86 PASS [ 0.043s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget87 PASS [ 0.021s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent88 PASS [ 0.031s] horae-core importers::harvest::convert::tests::negative_is_rejected89 PASS [ 0.030s] horae-core client::tests::optional_text_normalizes_only_blank_fields90 PASS [ 0.031s] horae-core duration::tests::format_round_trip91 PASS [ 0.032s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly92 PASS [ 0.037s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace93 PASS [ 0.012s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work94 PASS [ 0.030s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking95 PASS [ 0.038s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it96 Running [ 00:00:00] => 34/189: 48 running, 34 passed, 0 skipped 97 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding98 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band99 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached100 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once101 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text102 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names103 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit104 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero105 PASS [ 0.042s] horae-core duration::tests::parse_colon106 PASS [ 0.017s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects107 PASS [ 0.042s] horae-core duration::tests::format_hhmm_pads_minutes108 PASS [ 0.015s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches109 PASS [ 0.018s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present110 PASS [ 0.015s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches111 PASS [ 0.019s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name112 PASS [ 0.041s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide113 Running [ 00:00:00] => 34/189: 48 running, 34 passed, 0 skipped 114 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding115 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band116 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached117 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once118 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text119 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names120 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit121 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero122 Running [ 00:00:00] ===> 84/189: 48 running, 34 passed, 0 skipped 123 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding124 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band125 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached126 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once127 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text128 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names129 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit130 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero131 PASS [ 0.051s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding132 PASS [ 0.045s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact133 PASS [ 0.045s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow134 PASS [ 0.062s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating135 PASS [ 0.032s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error136 PASS [ 0.057s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds137 PASS [ 0.014s] horae-core invoice::tests::line_amount_90_minutes138 PASS [ 0.018s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow139 PASS [ 0.012s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors140 PASS [ 0.014s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign141 PASS [ 0.055s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits142 PASS [ 0.057s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields143 PASS [ 0.058s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking144 PASS [ 0.059s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text145 PASS [ 0.070s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names146 PASS [ 0.070s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day147 PASS [ 0.064s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary148 PASS [ 0.026s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal149 PASS [ 0.065s] horae-core importers::harvest::convert::tests::garbage_is_rejected150 PASS [ 0.023s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order151 PASS [ 0.068s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator152 PASS [ 0.052s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names153 PASS [ 0.036s] horae-core invoice::tests::resolve_rate_cascade154 PASS [ 0.071s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero155 PASS [ 0.044s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts156 Running [ 00:00:00] ===> 84/189: 48 running, 84 passed, 0 skipped 157 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals158 [ 00:00:00] horae-core invoice::tests::line_amount_odd_minutes159 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources160 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions161 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts162 [ 00:00:00] horae-core atalog_grants_cannot_substitute_for_approval163 [ 00:00:00] horae-core al_scope_even_when_both_domains_are_readable164 [ 00:00:00] horae-core parse_cents_rejects_what_it_cannot_represent165 PASS [ 0.083s] horae-core duration::tests::format_clamps_negative_to_zero166 PASS [ 0.032s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs167 PASS [ 0.092s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform168 PASS [ 0.036s] horae-core invoice::tests::line_amount_zero_minutes169 PASS [ 0.095s] horae-core budget::tests::a_single_jump_announces_every_crossed_band170 PASS [ 0.042s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow171 PASS [ 0.040s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift172 PASS [ 0.035s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available173 PASS [ 0.088s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit174 PASS [ 0.090s] horae-core budget::tests::current_band_is_the_highest_reached175 PASS [ 0.034s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even176 PASS [ 0.036s] horae-core invoice::tests::line_amount_zero_rate177 PASS [ 0.036s] horae-core invoice::tests::line_amount_half_hour178 PASS [ 0.043s] horae-core invoice::tests::invoice_adjustments_round_components_half_up179 PASS [ 0.023s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible180 PASS [ 0.041s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes181 PASS [ 0.086s] horae-core budget::tests::each_crossing_is_announced_once182 PASS [ 0.040s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit183 PASS [ 0.031s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks184 PASS [ 0.038s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results185 PASS [ 0.041s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts186 PASS [ 0.035s] horae-core invoice::tests::line_amount_exact_hour187 PASS [ 0.048s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries188 PASS [ 0.047s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line189 PASS [ 0.041s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate190 Running [ 00:00:00] ===> 84/189: 48 running, 84 passed, 0 skipped 191 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals192 [ 00:00:00] horae-core invoice::tests::line_amount_odd_minutes193 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources194 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions195 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts196 [ 00:00:00] horae-core atalog_grants_cannot_substitute_for_approval197 [ 00:00:00] horae-core al_scope_even_when_both_domains_are_readable198 [ 00:00:00] horae-core parse_cents_rejects_what_it_cannot_represent199 Running [ 00:00:00] ====> 102/189: 48 running, 84 passed, 0 skipped 200 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals201 [ 00:00:00] horae-core invoice::tests::line_amount_odd_minutes202 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources203 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions204 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts205 [ 00:00:00] horae-core atalog_grants_cannot_substitute_for_approval206 [ 00:00:00] horae-core al_scope_even_when_both_domains_are_readable207 [ 00:00:00] horae-core parse_cents_rejects_what_it_cannot_represent208 PASS [ 0.039s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses209 PASS [ 0.045s] horae-core money::tests::addition_rejects_overflow_in_both_directions210 PASS [ 0.047s] horae-core invoice::tests::line_amount_odd_minutes211 PASS [ 0.045s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts212 PASS [ 0.047s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable213 PASS [ 0.034s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant214 PASS [ 0.011s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op215 PASS [ 0.022s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids216 PASS [ 0.048s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set217 PASS [ 0.059s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent218 PASS [ 0.060s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval219 PASS [ 0.073s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope220 PASS [ 0.074s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants221 PASS [ 0.045s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants222 PASS [ 0.065s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains223 PASS [ 0.042s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed224 PASS [ 0.065s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input225 PASS [ 0.045s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management226 PASS [ 0.052s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants227 Running [ 00:00:00] ===> 103/189: 47 running, 103 passed, 0 skipped 228 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals229 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources230 [ 00:00:00] horae-core cope_and_approval_scope_form_an_intersection231 [ 00:00:00] horae-core oes_not_reuse_prior_read_or_approval_success232 [ 00:00:00] horae-core ved_selection_instead_of_adding_member_floor233 [ 00:00:00] horae-core ate_grants_instead_of_silently_deduplicating234 [ 00:00:00] horae-core tored_order_does_not_change_the_selected_set235 [ 00:00:00] horae-core election_without_reapplying_profile_defaults236 Running [ 00:00:00] =====> 139/189: 48 running, 139 passed, 0 skipped 237 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals238 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent239 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free240 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair241 [ 00:00:00] horae-core _do_not_create_person_management_eligibility242 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor243 [ 00:00:00] horae-core ::tests::own_tracking_floor_does_not_qualify244 [ 00:00:00] horae-core posal_in_every_position_without_filtering_it245 PASS [ 0.051s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog246 PASS [ 0.072s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success247 PASS [ 0.048s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write248 PASS [ 0.048s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families249 PASS [ 0.049s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access250 PASS [ 0.087s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources251 PASS [ 0.050s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion252 PASS [ 0.049s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified253 PASS [ 0.084s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection254 PASS [ 0.052s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog255 PASS [ 0.052s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set256 PASS [ 0.020s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields257 PASS [ 0.021s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit258 PASS [ 0.076s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants259 PASS [ 0.006s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs260 PASS [ 0.087s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection261 PASS [ 0.083s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected262 PASS [ 0.083s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals263 PASS [ 0.084s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values264 PASS [ 0.035s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency265 PASS [ 0.089s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces266 PASS [ 0.038s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension267 PASS [ 0.037s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions268 PASS [ 0.091s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority269 Running [ 00:00:00] =====> 139/189: 48 running, 139 passed, 0 skipped 270 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals271 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent272 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free273 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair274 [ 00:00:00] horae-core _do_not_create_person_management_eligibility275 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor276 [ 00:00:00] horae-core ::tests::own_tracking_floor_does_not_qualify277 [ 00:00:00] horae-core posal_in_every_position_without_filtering_it278 PASS [ 0.092s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names279 PASS [ 0.083s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration280 PASS [ 0.083s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants281 PASS [ 0.093s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies282 PASS [ 0.094s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants283 PASS [ 0.094s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor284 PASS [ 0.094s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants285 PASS [ 0.115s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating286 PASS [ 0.072s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope287 PASS [ 0.116s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor288 PASS [ 0.073s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access289 PASS [ 0.095s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults290 Running [ 00:00:00] =====> 139/189: 48 running, 139 passed, 0 skipped 291 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals292 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent293 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free294 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair295 [ 00:00:00] horae-core _do_not_create_person_management_eligibility296 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor297 [ 00:00:00] horae-core ::tests::own_tracking_floor_does_not_qualify298 [ 00:00:00] horae-core posal_in_every_position_without_filtering_it299 Running [ 00:00:00] =======> 187/189: 2 running, 187 passed, 0 skipped 300 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals301 [ 00:00:00] horae-core week::tests::maps_any_weekday_to_its_monday302303304305306307308 PASS [ 0.009s] horae-core time_of_day::tests::snap_rounds_to_nearest_step309 PASS [ 0.016s] horae-core state::tests::member_submit_and_reopen310 PASS [ 0.063s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total311 PASS [ 0.116s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free312 PASS [ 0.068s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant313 PASS [ 0.068s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection314 PASS [ 0.108s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair315 PASS [ 0.118s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent316 PASS [ 0.069s] horae-core project::tests::basics_reject_blank_and_overlong_names317 PASS [ 0.071s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates318 PASS [ 0.070s] horae-core permissions::tests::scope_union_obeys_set_laws319 PASS [ 0.070s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones320 PASS [ 0.070s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination321 PASS [ 0.071s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates322 PASS [ 0.114s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor323 PASS [ 0.071s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates324 PASS [ 0.117s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility325 PASS [ 0.071s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match326 PASS [ 0.117s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it327 PASS [ 0.034s] horae-core time_of_day::tests::format_12h_matches_harvest_style328 PASS [ 0.034s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight329 PASS [ 0.035s] horae-core state::tests::managers_invoice_open_and_approved_time330 PASS [ 0.033s] horae-core time_of_day::tests::format_round_trips331 PASS [ 0.086s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value332 PASS [ 0.104s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension333 Running [ 00:00:00] =======> 187/189: 2 running, 187 passed, 0 skipped 334 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals335 [ 00:00:00] horae-core week::tests::maps_any_weekday_to_its_monday336337338339340341342 PASS [ 0.084s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants343 PASS [ 0.084s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions344 PASS [ 0.104s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write345 PASS [ 0.035s] horae-core state::tests::only_manager_can_approve346 PASS [ 0.117s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify347 PASS [ 0.034s] horae-core time_of_day::tests::parse_reads_12h_including_edges348 PASS [ 0.044s] horae-core week::tests::configured_week_can_start_in_the_previous_year349 PASS [ 0.056s] horae-core rounding::tests::identity_when_inc_zero350 PASS [ 0.060s] horae-core project::tests::payment_terms_support_receipt_and_checked_days351 PASS [ 0.044s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days352 PASS [ 0.056s] horae-core project::tests::percentage_preserves_exact_hundredths353 PASS [ 0.045s] horae-core time_of_day::tests::parse_reads_24h354 PASS [ 0.045s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage355 PASS [ 0.073s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials356 PASS [ 0.046s] horae-core state::tests::invoiced_is_final357 PASS [ 0.073s] horae-core project::tests::monthly_fee_dates_follow_calendar_months358 PASS [ 0.048s] horae-core rounding::tests::up_and_down359 PASS [ 0.045s] horae-core types::tests::budget_kind_wire_strings_match_db_enum360 PASS [ 0.042s] horae-core week::tests::configured_week_reports_an_unrepresentable_start361 PASS [ 0.058s] horae-core rounding::tests::result_is_multiple_of_inc362 PASS [ 0.058s] horae-core rounding::tests::nearest_ties_round_up363 PASS [ 0.062s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax364 PASS [ 0.062s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero365 Running [ 00:00:00] =======> 187/189: 2 running, 187 passed, 0 skipped 366 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals367 [ 00:00:00] horae-core week::tests::maps_any_weekday_to_its_monday368369370371372373374 PASS [ 0.048s] horae-core week::tests::maps_any_weekday_to_its_monday375 PASS [ 0.262s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals376------------377 Summary [ 0.269s] 189 tests run: 189 passed, 0 skipped378 Running [ 00:00:00] ======== 189/189: 2 running, 187 passed, 0 skipped 379 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals380 [ 00:00:00] horae-core week::tests::maps_any_weekday_to_its_monday381382383384385386387The files belonging to this database system will be owned by user "nixbld".388This user must also own the server process.389390The database cluster will be initialized with locale "C".391The default text search configuration will be set to "english".392393Data page checksums are disabled.394395fixing permissions on existing directory /build/tmp.bw8bPkTZ4U ... ok396creating subdirectories ... ok397selecting dynamic shared memory implementation ... posix398selecting default "max_connections" ... 100399selecting default "shared_buffers" ... 128MB400selecting default time zone ... UTC401creating configuration files ... ok402running bootstrap script ... ok403performing post-bootstrap initialization ... ok404syncing data to disk ... ok405406initdb: warning: enabling "trust" authentication for local connections407initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.408409Success. You can now start the database server using:410411 pg_ctl -D /build/tmp.bw8bPkTZ4U -l logfile start412413waiting for server to start.... done414server started415+++ command cargo test -p horae --features server -- --test-threads 48416 Compiling horae v0.1.0 (/build/source/crates/horae)417 Compiling horae-core v0.1.0 (/build/source/crates/core)418 Finished `test` profile [unoptimized + debuginfo] target(s) in 14m 41s419 Running unittests src/main.rs (target/debug/deps/horae-0767924faa118e50)420421running 989 tests422test auth::oidc::tests::subject_match_logs_in_without_relinking ... ok423test auth::page::tests::configured_label_is_html_escaped ... ok424test auth::oidc::tests::deactivated_subject_match_is_denied ... ok425test auth::oidc::tests::deactivated_email_match_is_denied ... ok426test cli::tests::remote_commands_reject_conflicting_or_unbounded_options ... ok427test cli::tests::remote_import_and_job_commands_accept_the_documented_arguments ... ok428test components::permission_description::tests::permission_descriptions_cover_each_grant_distinctly ... ok429test config::tests::dev_login_is_allowed_on_loopback ... ok430test config::tests::dev_login_is_refused_off_loopback ... ok431test config::tests::environment::environment_probe ... ok432test cli::imports::tests::api_submission_captures_generation_without_retrying_uncertain_acceptance ... ok433test auth::page::tests::dev_variant_offers_the_admin_bypass_and_no_fake_controls ... ok434test auth::oidc::tests::no_account_is_denied_not_provisioned ... ok435test cli::imports::tests::malformed_submission_acknowledgement_retains_its_request_identity ... ok436test auth::oidc::tests::extra_audiences_are_trusted_only_when_listed ... ok437test auth::oidc::tests::subject_match_takes_precedence_over_email ... ok438test harvest::pagination_tests::harvest_pagination_total_pages_does_not_overflow ... ok439test auth::oidc::tests::first_login_links_subject_via_verified_email ... ok440test config::tests::environment::obsolete_authentication_variables_do_not_configure_the_server ... ok441test auth::oidc::tests::unverified_email_is_not_matched ... ok442test auth::page::tests::oidc_variant_uses_the_configured_label_and_hands_off_to_start ... ok443test cli::imports::tests::missing_session_is_a_structured_configuration_failure ... ok444test config::tests::environment::partial_oidc_configuration_remains_disabled_without_a_callback ... ok445test cli::imports::tests::private_session_accepts_https_and_loopback_only ... ok446test cli::imports::tests::retry_snapshot_is_compatible_with_missing_and_future_values ... ok447test config::tests::without_dev_login_any_bind_is_fine ... ok448test config::tests::environment::example_environment_can_configure_all_required_oidc_and_harvest_fields ... ok449test cli::imports::tests::session_rejects_cookie_header_injection_without_echoing_the_value ... ok450test cli::imports::tests::redirects_are_not_followed_or_exposed_as_server_error_text ... ok451test config::tests::environment::mail_environment_requires_a_complete_valid_configuration ... ok452test cli::imports::tests::invalid_csv_files_fail_before_contacting_the_server ... ok453test cli::tests::environment_probe ... ok454test harvest::tests::page_window_defaults_and_checked_offsets ... ok455test config::tests::environment::empty_environment_has_no_authentication_or_plugin_credentials ... ok456test cli::imports::tests::cancellation_racing_completion_does_not_claim_cancellation_was_requested ... ok457test cli::imports::tests::archived_errors_publish_without_clobbering_and_preserve_the_prior_file_on_failure ... ok458test cli::imports::tests::session_rejects_plaintext_remote_and_credential_bearing_urls ... ok459test db::tests::pool_connections_force_custom_plans ... ok460test cli::imports::tests::session_rejects_public_permissions_and_symlinks ... ok461test cli::imports::tests::missing_and_mismatched_jobs_fail_without_substitution ... ok462test cli::imports::tests::ordinary_json_is_bounded_and_invalid_replies_are_not_echoed ... ok463test cli::imports::tests::report_marks_confirmed_failed_outcomes_as_incomplete ... ok464test cli::imports::tests::csv_named_pipe_is_rejected_without_waiting_for_a_writer ... ok465test importers::harvest::api_source::http::tests::cancelled_backoff_does_not_wait_or_retry ... ok466test importers::harvest::api_source::http::tests::cursor_links_are_authoritative_even_with_null_or_stale_page_numbers ... ok467test config::tests::environment::job_attempt_limit_uses_the_documented_environment_variable ... ok468test cli::tests::default_command_uses_the_same_defaults_and_environment_as_serve ... ok469test cli::tests::default_command_rejects_invalid_environment_ports ... ok470test importers::harvest::api_source::http::tests::missing_next_cursor_is_not_silently_treated_as_completed ... ok471test importers::harvest::api_source::http::tests::pagination_cycle_detection_survives_restarting_after_every_page ... ok472test cli::imports::tests::status_and_wait_distinguish_failed_jobs_from_failed_reads ... ok473test importers::harvest::api_source::http::tests::rejected_page_does_not_advance_the_cursor ... ok474test importers::harvest::api_source::http::tests::persisted_cursor_resumes_with_a_new_client_and_stays_complete_at_eof ... ok475test importers::harvest::api_source::http::tests::rejects_pagination_outside_the_authenticated_endpoint ... ok476test importers::harvest::api_source::http::tests::resumed_cursor_rejects_untrusted_destinations_and_invalid_state_before_http ... ok477test importers::harvest::api_source::tests::assembled_rows_convert_to_exact_minutes ... ok478test importers::harvest::api_source::tests::assembles_rows_joining_parents_by_id ... ok479test importers::harvest::api_source::tests::hours_render_as_exact_decimals ... ok480test importers::harvest::api_source::tests::http_page_preserves_decimal_values_before_integer_conversion ... ok481test importers::harvest::api_source::tests::json_exponents_expand_exactly_with_bounded_output ... ok482test config::tests::environment::invalid_job_attempt_limits_reject_startup ... ok483test importers::harvest::credentials::tests::bad_key_length_is_rejected ... ok484test importers::harvest::api_source::http::tests::http_pages_follow_cursor_and_preserve_headers_and_encoded_filter ... ok485test config::tests::environment::secure_cookies_use_the_documented_prefixed_variable ... ok486test importers::harvest::api_source::http::tests::http_retries_429_but_never_follows_redirects_or_shortens_long_backoff ... ok487test importers::harvest::api_source::http::tests::http_rejects_oversized_malformed_and_cyclic_pages ... ok488test importers::harvest::credentials::tests::decode_hex_rejects_bad_input ... ok489test importers::harvest::api_source::http::tests::slow_consumer_backpressures_http_and_cancellation_stops_further_pages ... ok490test importers::harvest::credentials::tests::encrypt_then_decrypt_round_trips ... ok491test cli::imports::tests::wait_deadline_caps_a_pending_request_without_cancelling_the_job ... ok492test cli::imports::tests::csv_upload_preserves_bytes_across_stream_chunk_boundaries ... ok493test importers::harvest::credentials::tests::nonce_makes_ciphertext_nondeterministic ... ok494test cli::imports::tests::small_csv_upload_preserves_immediate_authorization_rejections ... ok495test auth::oidc::tests::linking::unverified_email_cannot_link_an_account ... ok496test importers::harvest::credentials::tests::wrong_key_fails_to_decrypt ... ok497test importers::harvest::csv_source::tests::bad_date_becomes_a_row_error_not_a_rejection ... ok498test importers::harvest::csv_source::tests::conflicting_email_aliases_error_only_the_affected_row ... ok499test importers::harvest::csv_source::tests::csv_records_preserve_multiline_unicode_across_single_byte_reads ... ok500test importers::harvest::csv_source::tests::cursor_beyond_upload_is_rejected_without_parsing_rows ... ok501test importers::harvest::csv_source::tests::cursor_resumes_after_multiline_unicode_and_preserves_error_locations ... ok502test importers::harvest::csv_source::tests::delivers_a_row_before_reading_the_rest_of_the_file ... ok503test importers::harvest::csv_source::tests::empty_file_is_rejected ... ok504test importers::harvest::csv_source::tests::identity_columns_are_required_and_cannot_repeat ... ok505test importers::harvest::csv_source::tests::invalid_utf8_errors_one_record_and_continues ... ok506test importers::harvest::csv_source::tests::missing_required_columns_is_rejected ... ok507test importers::harvest::csv_source::tests::names_stay_separate_from_optional_email ... ok508test importers::harvest::csv_source::tests::parse_bool_accepts_yes_variants ... ok509test importers::harvest::csv_source::tests::parses_rows_case_insensitively ... ok510test harvest::tests::a_member_cannot_list_users ... ok511test importers::harvest::credentials::tests::connect_and_disconnect_share_import_exclusion_without_blocking_other_orgs ... ok512test importers::harvest::account_switch::tests::a_b_a_keeps_old_callbacks_requests_and_retries_fenced ... ok513test auth::oidc::tests::linking::deactivation_during_first_link_denies_login ... ok514test importers::harvest::credentials::tests::unidentified_legacy_provenance_requires_operator_review ... ok515test harvest::tests::a_member_cannot_fetch_a_colleagues_entry ... ok516test importers::harvest::credentials::tests::another_account_cannot_replace_credentials_or_watermarks ... ok517test importers::harvest::account_switch::tests::running_jobs_block_change_and_old_execution_never_reaches_http ... ok518test harvest::tests::harvest_effective_minutes_match_sql_for_open_and_frozen_time ... ok519test auth::oidc::tests::linking::existing_subject_wins_over_another_accounts_email ... ok520test importers::harvest::account_switch::tests::change_preserves_terminal_history_and_rejects_stale_confirmation ... ok521test harvest::tests::harvest_entry_rates_respect_selected_project_mode ... ok522test harvest::tests::harvest_marks_unbilled_non_billable_contexts_consistently ... ok523test harvest::tests::a_manager_sees_the_whole_org ... ok524test harvest::tests::a_member_sees_only_their_own_time_entries ... ok525test harvest::tests::a_manager_lists_users_with_their_rates ... ok526test importers::harvest::account_switch::tests::queue_acceptance_does_not_wait_for_the_import_session_lock ... ok527test auth::oidc::tests::linking::different_subjects_cannot_both_claim_an_unlinked_account ... ok528test harvest::tests::members_cannot_read_own_project_rates_or_cost_overrides ... ok529test importers::harvest::account_switch::tests::disconnect_and_reconnect_fence_callbacks_but_not_same_account_work ... ok530test harvest::pagination_tests::harvest_own_time_omits_private_project_budget_metadata ... ok531test importers::harvest::account_switch::tests::competing_callbacks_and_confirmations_have_one_winner ... ok532test importers::harvest::credentials::tests::migration_binds_existing_connections_without_changing_secrets_or_markers ... ok533test importers::harvest::credentials::tests::concurrent_first_connections_cannot_bind_different_accounts ... ok534test importers::harvest::account_switch::tests::successful_change_preserves_business_rows_and_failure_rolls_back_secrets ... ok535test importers::harvest::account_switch::tests::competing_change_and_submission_cannot_both_succeed ... ok536test importers::harvest::credentials::tests::failed_credential_write_does_not_leave_an_account_binding ... ok537test auth::oidc::tests::linking::simultaneous_logins_with_the_same_subject_are_allowed ... ok538test importers::harvest::account_switch::tests::retry_and_change_are_serialized ... ok539test harvest::tests::a_member_cannot_filter_to_a_colleague ... ok540test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_100k ... ignored, 100,000-row durable CSV measurement; run explicitly with --release --nocapture541test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_large_catalog_100k ... ignored, 100,000-row durable CSV with 5,000 parent sets; run explicitly with --release --nocapture542test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_100k ... ignored, 100,000-row CSV measurement; run explicitly with --release --nocapture543test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_large_catalog_100k ... ignored, 100,000-row CSV with 5,000 parent sets; run explicitly with --release --nocapture544test importers::harvest::account_switch::tests::queued_work_and_provenance_block_without_changing_binding ... ok545test db::tests::reset_empties_the_database_and_reapplies_migrations ... ok546test importers::harvest::credentials::tests::disconnect_preserves_identity_and_provenance_for_the_original_account ... ok547test importers::harvest::credentials::tests::same_account_reconnect_rotates_encryption_without_resetting_watermarks ... ok548test harvest::tests::harvest_entry_rates_follow_the_cascade_and_frozen_invoice_line ... ok549test importers::harvest::credentials::tests::connection_changes_work_with_a_single_connection_pool ... ok550test importers::harvest::engine_tests::csv_name_fallback_requires_a_full_unique_name_and_never_overrides_email ... ok551test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_joins_parser_and_preserves_committed_rows ... ok552test importers::harvest::credentials::tests::completed_credential_changes_allow_immediate_retries ... ok553test harvest::pagination_tests::harvest_pagination_time_entries_keep_the_filtered_set_and_date_ties ... ok554test importers::harvest::engine_tests::failed_source_releases_the_session_and_rolls_back_partial_rows ... ok555test importers::harvest::engine_tests::csv_streaming::csv_applies_before_eof_but_transport_failure_rolls_back_everything ... ok556test importers::harvest::engine_tests::lookup_cache::cold_query_callsite_on_untraced_thread_is_still_captured ... ok557test importers::harvest::engine_tests::cancelled_http_waiter_keeps_the_lock_until_its_worker_exits ... ok558test importers::harvest::engine_tests::import_rejects_ambiguous_normalized_email_without_partial_writes ... ok559test importers::harvest::engine_tests::api_connection_checks_work_with_a_single_connection_pool ... ok560test importers::harvest::engine_tests::csv_name_only_dry_run_and_duplicate_occurrences_preserve_history ... ok561test importers::harvest::engine_tests::csv_streaming::csv_preview_errors_and_repeated_rows_match_commit_and_reimport ... ok562test importers::harvest::engine_tests::api_and_csv_share_the_lock_but_other_organizations_can_import ... ok563test importers::harvest::engine_tests::csv_streaming::cancelling_a_csv_waiting_for_more_bytes_releases_its_session ... ok564test importers::harvest::engine_tests::distinct_harvest_ids_with_identical_fields_import_as_two ... ok565test importers::harvest::engine_tests::dry_run_writes_nothing_and_matches_commit ... ok566test importers::harvest::oauth::tests::authorize_url_carries_state_and_encoded_redirect ... ok567test importers::harvest::oauth::tests::authorize_url_preserves_query_values_without_injecting_parameters ... ok568test importers::harvest::engine_tests::api_sync_adopts_entries_from_a_prior_csv_import ... ok569test importers::harvest::oauth_callback_tests::account_policy_failures_return_safe_actionable_conflicts ... ok570test importers::harvest::oauth_callback_tests::mismatched_state_is_rejected_without_a_code ... ok571test importers::harvest::oauth_callback_tests::missing_returned_state_is_rejected ... ok572test importers::harvest::oauth_callback_tests::missing_stored_state_is_rejected ... ok573test importers::harvest::oauth_callback_tests::provider_error_is_rejected_before_exchange ... ok574test importers::harvest::oauth_callback_tests::valid_matching_state_yields_the_code ... ok575test importers::harvest::oauth_callback_tests::valid_state_but_missing_code_is_rejected ... ok576test importers::harvest::report::tests::archived_report_round_trips_without_losing_error_accounting ... ok577test importers::harvest::report::tests::archive_metadata_cannot_masquerade_as_a_legacy_or_inconsistent_report ... ok578test importers::harvest::report::tests::legacy_report_preserves_its_counts_and_error_details ... ok579test importers::harvest::report::tests::report_rejects_unsupported_and_invalid_versions ... ok580test importers::harvest::report::tests::serialized_report_has_a_supported_schema_version ... ok581test importers::harvest::resolve::checkpoint_tests::run_cache_round_trip_preserves_identity_namespaces_and_occurrences ... ok582test importers::harvest::engine_tests::cancellation_rolls_back_rows_and_releases_the_import_session ... ok583test importers::harvest::engine_tests::csv_ambiguous_names_include_inactive_users_but_unique_email_disambiguates ... ok584test importers::harvest::engine_tests::full_import_creates_all_levels_with_exact_minutes ... ok585test importers::harvest::engine_tests::bad_records_are_reported_and_run_continues ... ok586test importers::harvest::engine_tests::csv_streaming::durable_csv_stale_commit_is_fenced_without_a_heartbeat ... ok587test importers::harvest::engine_tests::csv_malformed_file_is_rejected_with_no_writes ... ok588test importers::harvest::engine_tests::concurrent_imports_reject_overlap_without_collapsing_repeated_entries ... ok589test importers::harvest::engine_tests::csv_import_populates_and_is_idempotent ... ok590test importers::harvest::engine_tests::csv_streaming::csv_sql_backpressure_stops_reading_later_input_rows ... ok591test importers::harvest::engine_tests::csv_name_only_matches_one_org_user_and_reimports_without_duplicates ... ok592test importers::harvest::engine_tests::edited_entry_still_matched_by_provenance ... ok593test importers::harvest::engine_tests::csv_streaming::durable_csv_report_metadata_is_bounded_after_recovery ... ok594test importers::harvest::engine_tests::lookup_cache::cached_email_and_full_name_do_not_share_a_namespace ... ok595test importers::harvest::streaming::tests::api_planning_policy_ends_with_the_transaction ... ok596test importers::harvest::engine_tests::completed_imports_allow_immediate_retries ... ok597test importers::harvest::engine_tests::lookup_cache::cached_project_task_still_validates_each_rows_rate ... ok598test importers::harvest::streaming::durable::preview::tests::restoration_omits_unneeded_virtual_entries ... ok599test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_crosses_batch_boundaries_without_committing_domain_data ... ok600test importers::harvest::engine_tests::two_identical_csv_rows_import_as_two_entries ... ok601test importers::harvest::engine_tests::submission_barrier_blocks_imported_time_entries ... ok602test importers::harvest::engine_tests::reimporting_identical_csv_rows_is_idempotent ... ok603test importers::harvest::engine_tests::watermark_advances_only_on_commit ... ok604test importers::harvest::engine_tests::second_identical_run_creates_nothing ... ok605test importers::harvest::engine_tests::lookup_cache::lookup_index_migration_preserves_existing_ambiguous_identities ... ok606test importers::harvest::resolve::preview::tests::checkpoint_restores_known_task_currency_and_keeps_old_currency_unknown ... ok607test importers::harvest::resolve::preview::tests::rejects_foreign_parent_snapshots_before_restoring_any_rows ... ok608test importers::harvest::engine_tests::lookup_cache::rolled_back_row_does_not_cache_user_or_project_task ... ok609test importers::harvest::engine_tests::lookup_cache::new_run_rechecks_previously_cached_user_for_ambiguity ... ok610test importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows ... ok611test importers::harvest::sync_tests::checkpoints::durable_api_preview_finalization_retry_does_not_repeat_completed_downloads ... ok612test importers::harvest::sync_tests::checkpoints::durable_api_reclaimed_worker_cannot_commit_its_next_page ... ok613test importers::harvest::engine_tests::overflowing_decimals_fail_only_their_rows ... ok614test importers::harvest::engine_tests::lookup_cache::project_task_cache_distinguishes_both_sides_of_the_link ... ok615test importers::harvest::sync_tests::checkpoints::durable_api_cancellation_preserves_confirmed_pages_for_manual_retry ... ok616test harvest::pagination_tests::harvest_pagination_empty_and_out_of_range_pages_keep_the_contract ... ok617test importers::harvest::sync_tests::api_rejects_ambiguous_email_without_advancing_watermark ... ok618test importers::harvest::engine_tests::natural_key_reimport_normalizes_whitespace_and_ascii_case ... ok619test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry ... ok620test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry ... ok621test importers::harvest::sync_tests::api_requires_email_even_when_full_name_matches ... ok622test importers::harvest::sync_tests::checkpoints::durable_api_preview_cancellation_preserves_confirmed_pages_for_manual_retry ... ok623test importers::harvest::sync_tests::checkpoints::durable_api_resume_remembers_an_earlier_missing_timestamp ... ok624test importers::harvest::sync_tests::scale::api_100k_commit_and_reimport ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture625test importers::harvest::sync_tests::scale::api_100k_dry_run ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture626test importers::harvest::sync_tests::scale::api_durable_100k_commit_and_reimport ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture627test importers::harvest::sync_tests::scale::api_durable_100k_dry_run ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture628test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows ... ok629test importers::harvest::sync_tests::checkpoints::durable_api_finalization_retry_does_not_repeat_completed_downloads ... ok630test importers::harvest::sync_tests::disconnect_and_reconnect_preserves_imported_records_and_exact_identity ... ok631test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_catalog_download ... ok632test importers::harvest::sync_tests::checkpoints::durable_api_resumes_a_partially_downloaded_catalog ... ok633test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_pages_without_publishing_domain_data ... ok634test importers::harvest::sync_tests::checkpoints::durable_api_preview_resume_preserves_row_errors ... ok635test importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page ... ok636test importers::harvest::sync_tests::checkpoints::failed_api_preview_publishes_its_last_confirmed_page_report ... ok637test importers::harvest::sync_tests::checkpoints::durable_api_resumes_committed_pages_and_preserves_the_high_watermark ... ok638test importers::harvest::engine_tests::lookup_cache::repeated_rows_resolve_each_user_and_project_task_once ... ok639test importers::harvest::sync_tests::checkpoints::durable_api_resume_keeps_earlier_errors_and_does_not_advance_watermark ... ok640test importers::harvest::sync_tests::checkpoints::failed_api_commit_publishes_its_last_confirmed_page_report ... ok641test importers::harvest::sync_tests::dry_run_leaves_data_provenance_and_watermark_unchanged ... ok642test importers::harvest::sync_tests::empty_sync_does_not_invent_a_watermark ... ok643test importers::harvest::sync_tests::missing_client_fallback_and_failed_project_savepoints_do_not_poison_cache ... ok644test harvest::pagination_tests::harvest_pagination_malformed_filters_are_client_errors ... ok645test importers::harvest::sync_tests::checkpoints::durable_api_preview_preserves_adoptions_and_repeated_ids_across_recovery ... ok646test importers::harvest::sync_tests::watermark_never_passes_the_start_of_capture ... ok647test importers::harvest::sync_tests::missing_source_timestamp_keeps_the_previous_watermark ... ok648test importers::harvest::sync_tests::exact_api_decimals_survive_preview_commit_and_reimport ... ok649test importers::harvest::sync_tests::failed_rows_are_available_to_the_next_incremental_retry ... ok650test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch ... ok651test importers::harvest::sync_tests::checkpoints::durable_api_resumes_after_a_confirmed_parent_batch ... ok652test importers::harvest::sync_tests::invalid_parent_blocks_dependent_time_but_other_catalog_records_survive ... ok653test importers::harvest::sync_tests::failed_client_propagates_to_project_and_entry_without_placeholder_records ... ok654test importers::harvest::sync_tests::refreshed_tokens_survive_a_dry_run_rollback_in_the_same_import_session ... ok655test importers::harvest::sync_tests::parent_only_api_import_creates_catalog_and_reimport_skips_it ... ok656test importers::harvest::sync_tests::successful_sync_only_marks_the_incrementally_fetched_entity ... ok657test init::tests::init_refuses_when_an_organization_exists ... ok658test importers::harvest::sync_tests::out_of_range_api_decimals_error_per_row_and_leave_retry_watermark ... ok659test importers::harvest::sync_tests::paging::cancelled_page_consumer_retains_lock_until_worker_exits_and_rolls_back ... ok660test importers::harvest::sync_tests::parent_catalog_preserves_metadata_and_counts_each_entity_once ... ok661test importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch ... ok662test importers::harvest::engine_tests::large_run_reuses_parents_and_reconciles_totals ... ok663test init::tests::init_creates_one_org_and_one_admin_and_nothing_else ... ok664test importers::harvest::sync_tests::paging::durable_api_stale_commit_cannot_advance_data_or_watermark ... ok665test importers::harvest::sync_tests::parent_only_dry_run_previews_without_persisting_catalog ... ok666test importers::harvest::sync_tests::watermark_write_failure_rolls_back_imported_data ... ok667test importers::harvest::sync_tests::paging::later_download_failure_rolls_back_parents_rows_and_watermark ... ok668test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_after_a_confirmed_parent_batch ... ok669test jobs::tests::claims_are_atomic_and_expired_leases_recover ... ok670test jobs::tests::payload_kind_is_stable_and_round_trips ... ok671test jobs::tests::payload_versions_preserve_legacy_jobs_and_reject_unknown_versions ... ok672test jobs::tests::history_paginates_tied_timestamps_and_rejects_foreign_cursors ... ok673test jobs::tests::retry_snapshot_does_not_guess_unknown_payloads_or_sources ... ok674test jobs::tests::cancellation_and_retry_are_scoped_and_idempotent ... ok675test jobs::tests::shutdown_deadline_drops_and_joins_in_flight_work ... ok676test jobs::tests::shutdown_waits_for_in_flight_work ... ok677test jobs::tests::outbox_delivery_is_idempotent ... ok678test harvest::pagination_tests::harvest_project_progress_permissions_cover_counts_pages_and_details ... ok679test importers::harvest::sync_tests::paging::invalid_and_missing_timestamp_rows_cross_page_boundaries_without_advancing ... ok680test importers::harvest::sync_tests::paging::durable_api_cancel_waits_for_the_producer_before_acknowledging ... ok681test jobs::tests::synthetic_job_uses_the_same_registered_envelope ... ok682test jobs::tests::retry_snapshot_matches_status_and_list_without_exposing_payload ... ok683test models::project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok684test models::project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok685test models::project_creation::tests::unknown_draft_fields_are_rejected ... ok686test models::project_managers::tests::command_preserves_durable_intent_and_strictly_decodes_its_discriminator ... ok687test jobs::tests::cancellation_survives_a_crash_before_the_worker_acknowledges ... ok688test notifications::tests::cancelling_delivery_kills_the_active_sender ... ok689test jobs::tests::upload_organization_must_match_its_job ... ok690test importers::harvest::engine_tests::csv_streaming::csv_measurement_recovers_a_complete_batch_without_recounting ... ok691test importers::harvest::sync_tests::scale::http_pages_preview_commit_and_reimport ... ok692test notifications::tests::mail_configuration_is_disabled_by_default_and_rejects_partial_values ... ok693test notifications::tests::mail_configuration_requires_an_executable_file_and_safe_sender ... ok694test importers::harvest::sync_tests::scale::durable_measurement_finishes_from_its_eof_checkpoint ... ok695test notifications::tests::recipient_injection_is_rejected_before_starting_a_process ... ok696test notifications::tests::rendered_mail_bounds_body_lines_for_long_unicode_and_control_names ... ok697test notifications::tests::acknowledged_email_is_never_claimed_again ... ok698test jobs::report::tests::report_fragments_survive_until_the_owning_job_expires ... ok699test notifications::tests::sendmail_failure_does_not_expose_program_output ... ok700test notifications::tests::sendmail_receives_fixed_arguments_and_stable_message_identity ... ok701test notifications::tests::disabled_mail_worker_does_not_claim_pending_notifications ... ok702test notifications::tests::failed_email_retries_same_identity_and_eventually_stops ... ok703test notifications::tests::verbose_sender_output_is_discarded_without_blocking_delivery ... ok704test pages::clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok705test pages::clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok706test pages::clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok707test pages::clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok708test pages::clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok709test pages::clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok710test pages::clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok711test pages::clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok712test pages::clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok713test pages::clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok714test pages::importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok715test pages::importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok716test pages::importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok717test pages::importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok718test pages::importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok719test pages::invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok720test pages::invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok721test pages::invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok722test pages::invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok723test pages::invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok724test pages::invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok725test pages::invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok726test pages::invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok727test pages::invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok728test pages::invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok729test pages::new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok730test pages::new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok731test pages::new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok732test pages::new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok733test pages::new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok734test notifications::tests::foreign_notification_payload_is_terminal_and_never_sent ... ok735test pages::new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok736test pages::new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok737test pages::new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok738test pages::new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok739test pages::new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok740test pages::new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok741test pages::new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok742test pages::new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok743test pages::new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok744test pages::new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok745test pages::new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok746test pages::new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok747test pages::new_project::tests::only_known_validation_fields_can_target_a_control ... ok748test pages::projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok749test pages::projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok750test pages::projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok751test pages::projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok752test pages::reports::tests::cost_total_uses_organization_currency_across_billing_currencies ... ok753test pages::reports::tests::monetary_total_overflow_is_visible_instead_of_panicking ... ok754test pages::reports::tests::mixed_currencies_are_not_added_even_when_the_numbers_would_overflow ... ok755test pages::reports::tests::single_currency_totals_are_formatted_and_empty_reports_have_no_amount ... ok756test pages::reports::tests::redacted_costs_do_not_become_zero_or_partial_totals ... ok757test pages::settings::own_permissions::tests::own_permissions_view_distinguishes_authentication_forbidden_and_failure ... ok758test pages::settings::own_permissions::tests::own_permissions_view_admin_identity_is_explicit_not_derived_from_grants ... ok759test pages::settings::own_permissions::tests::own_permissions_view_empty_grants_are_not_normalized ... ok760test pages::settings::own_permissions::tests::own_permissions_view_does_not_disclose_internal_fields_or_offer_edits ... ok761test pages::settings::own_permissions::tests::own_permissions_view_grants_do_not_promise_unavailable_features ... ok762test pages::settings::own_permissions::tests::own_permissions_view_legacy_is_not_empty_or_a_profile ... ok763test pages::settings::own_permissions::tests::own_permissions_view_loading_hides_previous_snapshot ... ok764test pages::settings::own_permissions::tests::own_permissions_view_preserves_exact_grants_without_profile_inference ... ok765test pages::timesheet::tests::cal_span_day_shows_only_the_anchor_column ... ok766test pages::settings::own_permissions::tests::own_permissions_view_unsupported_catalog_hides_uninterpretable_grants ... ok767test pages::timesheet::tests::cal_span_defaults_to_week ... ok768test pages::timesheet::tests::cal_span_unknown_falls_back_to_week ... ok769test pages::timesheet::tests::cal_span_url_roundtrips ... ok770test pages::timesheet::tests::cal_span_week_shows_all_seven_days ... ok771test pages::timesheet::tests::cal_span_work_week_preserves_date_order_across_weekends ... ok772test pages::timesheet::tests::cal_span_work_week_skips_sunday_when_it_is_the_first_column ... ok773test pages::timesheet::tests::cal_span_work_week_shows_monday_to_friday ... ok774test pages::timesheet::tests::day_col_class_marks_today ... ok775test pages::timesheet::tests::day_col_class_marks_weekend ... ok776test pages::timesheet::tests::day_col_class_plain_weekday ... ok777test pages::timesheet::tests::day_col_class_today_wins_over_weekend ... ok778test pages::timesheet::tests::invalid_duration_cannot_start_a_timer_save_or_clear_a_cell ... ok779test pages::timesheet::tests::only_a_blank_duration_can_start_an_eligible_timer ... ok780test pages::timesheet::tests::timed_lanes_terminates_on_a_zero_length_entry ... ok781test pages::timesheet::tests::timed_lanes_still_widens_overlapping_entries ... ok782test pages::timesheet::tests::today_offset_is_none_after_the_week ... ok783test pages::timesheet::tests::today_offset_is_none_before_the_week ... ok784test pages::timesheet::tests::today_offset_is_zero_on_the_monday ... ok785test pages::timesheet::tests::today_offset_is_six_on_the_sunday ... ok786test pages::timesheet::tests::value_cell_class_empty_wins_over_today ... ok787test pages::timesheet::tests::value_cell_class_marks_today_when_nonzero ... ok788test pages::timesheet::tests::weekend_style_follows_the_date_not_the_column_offset ... ok789test pages::timesheet::tests::weekly_duration_edit_preserves_nine_am_start_notes_and_billability ... ok790test pages::timesheet::tests::weekly_new_entries_are_untimed_and_explicit_clears_still_work ... ok791test notifications::tests::sendmail_timeout_kills_and_reaps_the_child ... ok792test notifications::tests::revoked_recipient_does_not_receive_a_pending_email ... ok793test notifications::tests::mail_worker_delivers_only_its_kind_and_drains_cleanly ... ok794test notifications::tests::retry_can_recover_without_changing_message_identity ... ok795test harvest::pagination_tests::harvest_pagination_router_preserves_session_and_tenant_guards ... ok796test plugin::database::tests::dedicated_reader_is_accepted_but_new_write_grants_are_rejected ... ok797test plugin::database::tests::project_configuration_is_private_even_when_plugin_grants_are_misconfigured ... ok798test plugin::event::tests::active_transition_fires_only_on_a_real_flip ... ok799test plugin::event::tests::budget_and_timer_events_serialize ... ok800test plugin::event::tests::new_events_have_stable_hook_names ... ok801test plugin::event::tests::project_membership_payload_excludes_private_configuration ... ok802test plugin::event::tests::role_change_event_carries_previous_role ... ok803test plugin::event::tests::submission_event_serializes_payload ... ok804test plugin::event::tests::us2_events_have_stable_hook_names ... ok805test plugin::database::tests::reader_cannot_execute_security_definer_functions ... ok806test plugin::host::tests::config_lookup::a_set_key_is_returned ... ok807test plugin::host::tests::config_lookup::an_unset_key_is_none ... ok808test notifications::tests::stale_email_lease_cannot_start_delivery ... ok809test plugin::database::tests::reader_accepts_optional_first_party_rounding_helper ... ok810test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_matches_existing_and_new_rows_with_one_connection ... ok811test plugin::database::tests::application_database_owner_is_not_a_plugin_identity ... ok812test plugin::host::tests::database_tests::unconfigured_sql_never_falls_back_to_application_state ... ok813test plugin::database::tests::reader_cannot_have_access_to_credentials ... ok814test plugin::host::tests::response_shaping::error_json_wraps_the_message ... ok815test plugin::host::tests::response_shaping::http_body_accepts_the_size_limit_and_rejects_larger_responses ... ok816test plugin::host::tests::response_shaping::http_response_carries_status_and_body ... ok817test plugin::host::tests::response_shaping::invalid_http_utf8_is_an_error_not_an_empty_success ... ok818test plugin::host::tests::statement_is_read_only::a_cte_select_is_allowed ... ok819test plugin::host::tests::statement_is_read_only::a_second_statement_is_rejected ... ok820test plugin::host::tests::statement_is_read_only::a_single_trailing_semicolon_is_allowed ... ok821test plugin::host::tests::statement_is_read_only::a_write_hidden_behind_a_comment_is_rejected ... ok822test plugin::host::tests::statement_is_read_only::plain_select_is_allowed ... ok823test plugin::host::tests::statement_is_read_only::writes_are_rejected ... ok824test plugin::host::tests::wrap_select::strips_a_trailing_semicolon_before_wrapping ... ok825test plugin::host::tests::wrap_select::wraps_as_a_bounded_row_query ... ok826test plugin::manifest::tests::accepts_all_published_business_events ... ok827test plugin::manifest::tests::config_defaults_to_empty_when_absent ... ok828test plugin::manifest::tests::parse_valid_manifest ... ok829test plugin::manifest::tests::parses_optional_config_table ... ok830test plugin::manifest::tests::reject_empty_hooks ... ok831test plugin::manifest::tests::reject_unknown_hook ... ok832test plugin::host::tests::database_queries_preserve_parameters_and_rollback_session_settings ... ok833test plugin::database::tests::reader_rejects_unapproved_invoker_functions ... ok834test plugin::host::tests::database_tests::query_discards_session_advisory_locks ... ok835test plugin::host::tests::database_tests::select_cannot_write_or_gain_application_privileges ... ok836test plugin::database::tests::reader_cannot_switch_into_another_role ... ok837838running 1 test839test plugin::host::tests::database_tests::query_results_are_bounded_without_silent_truncation ... ok840test jobs::report::tests::upgrading_legacy_reports_preserves_errors_and_fences_old_attempts ... ok841test plugin::registry::tests::initialization::instruction_budget_is_replenished_for_each_call ... ok842test plugin::registry::tests::isolation::cancelling_a_waiter_keeps_capacity_reserved_until_the_host_call_exits ... ok843test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok844845test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 0.94s846847848running 1 test849test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok850851test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 0.51s852853854running 1 test855test plugin::host::tests::database_tests::wasm_host_uses_the_restricted_connection_on_a_current_thread_runtime ... ok856test plugin::registry::tests::isolation::confirmed_dispatch_returns_overload_for_retry ... ok857test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok858859test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 0.28s860861test plugin::registry::tests::isolation::confirmed_dispatch_returns_plugin_failure_for_retry ... ok862test plugin::registry::tests::isolation::confirmed_dispatch_waits_for_the_plugin_to_finish ... ok863test plugin::registry::tests::isolation::different_plugins_share_the_running_call_limit ... ok864865running 1 test866test plugin::registry::tests::isolation::events_execute_outside_the_async_worker ... ok867test jobs::tests::concurrent_csv_resubmission_preserves_identity_after_upload_cleanup ... ok868test plugin::registry::tests::isolation::confirmed_dispatch_attempts_other_plugins_after_one_fails ... ok869test plugin::registry::tests::isolation::loaded_plugins_cannot_start_with_excessive_memory ... ok870test plugin::registry::tests::isolation::oversized_event_payloads_are_not_queued ... ok871test plugin::registry::tests::isolation::pending_capacity_rejects_new_work_without_spawning_tasks ... ok872test plugin::registry::tests::isolation::widgets_execute_outside_the_async_worker ... ok873test plugin::registry::tests::load_empty_directory ... ok874test plugin::registry::tests::load_nonexistent_directory ... ok875test plugin::registry::tests::isolation::oversized_wasm_output_is_rejected_before_copying_it ... ok876test plugin::registry::tests::dispatch_event_with_no_subscribers ... ok877test reports::bounded::tests::cancelled_export_keeps_its_slot_until_the_renderer_exits ... ok878test plugin::registry::tests::isolation::loaded_plugins_cannot_grow_memory_past_the_limit ... ok879test reports::bounded::tests::export_admission_stays_reserved_until_the_body_is_dropped ... ok880test reports::bounded::tests::export_rendering_runs_off_the_async_worker ... ok881test reports::bounded::tests::output_budget_checks_writes_and_seeks_without_truncation ... ok882test reports::bounded::tests::rendered_output_limit_rejects_oversized_files_and_releases_admission ... ok883test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok884885test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 988 filtered out; finished in 0.23s886887test plugin::registry::tests::load_test_plugins ... ok888test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok889test plugin::registry::tests::collect_widgets_from_echo_plugin ... ok890test reports::bounded::tests::renderer_errors_and_panics_release_admission ... ok891test render::tests::invoice_template_formats_large_minor_units_exactly ... ok892test harvest::pagination_tests::harvest_pagination_rejects_invalid_windows_on_every_collection ... ok893test reports::bounded::tests::timed_out_export_keeps_its_slot_until_the_renderer_exits ... ok894test plugin::registry::tests::dispatch_invoice_sent_to_echo_plugin ... ok895test plugin::registry::tests::dispatch_to_echo_plugin_succeeds ... ok896test plugin::registry::tests::failing_plugin_does_not_block_caller ... ok897test reports::limits::tests::measure_bounded_export_limits ... ignored, manual release export measurement; set HORAE_EXPORT_PROBE_DIR for artifacts898test plugin::host::tests::a_query_cannot_disable_its_own_deadline ... ok899test plugin::registry::tests::isolation::a_wasm_timeout_releases_the_worker_and_instance ... ok900test importers::harvest::sync_tests::scale::durable_api_report_preserves_overflow_errors_after_recovery ... ok901test reports::limits::tests::export_queries_are_read_only_and_have_a_database_deadline ... ok902test harvest::pagination_tests::harvest_pagination_catalog_links_preserve_filters_and_break_name_ties has been running for over 60 seconds903test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback has been running for over 60 seconds904test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history has been running for over 60 seconds905test harvest::tests::imported_legacy_rates_survive_retry_in_harvest_list_and_detail has been running for over 60 seconds906test jobs::outbox::tests::invalid_payload_is_not_delivered_and_does_not_leak_into_errors ... ok907test reports::streaming::database_tests::measure_streaming_csv_export ... ignored, Manual release measurement of a 100,000-row CSV download908test jobs::outbox::tests::plugin_failure_retries_with_the_same_event_identity ... ok909test reports::privacy_tests::unauthorized_project_text_does_not_affect_export_size_limits ... ok910test jobs::tests::outbox_stale_claims_cannot_acknowledge_or_reschedule_delivery ... ok911test reports::streaming::database_tests::dropping_streamed_timesheet_closes_its_database_connection ... ok912test reports::streaming::database_tests::streamed_invoice_uses_stored_exact_cents_and_tenant_scoped_metadata ... ok913test reports::streaming::database_tests::a_real_database_error_interrupts_the_csv_body ... ok914test reports::limits::tests::bounded_entries_reject_large_fields_and_combined_text ... ok915test reports::streaming::tests::completed_csv_keeps_admission_until_body_drop ... ok916test reports::streaming::tests::csv_backpressure_and_body_drop_bound_and_cancel_source_reads ... ok917test reports::streaming::tests::csv_does_not_truncate_a_quoted_unicode_record_larger_than_a_chunk ... ok918test reports::streaming::tests::csv_emits_a_chunk_before_the_source_finishes ... ok919test reports::streaming::tests::csv_failure_or_panic_after_a_chunk_is_not_successful_eof ... ok920test reports::streaming::tests::csv_startup_errors_are_http_errors_and_release_admission ... ok921test jobs::tests::outbox_rollback_does_not_publish_an_event ... ok922test reports::streaming::tests::dropping_csv_during_startup_cancels_the_producer ... ok923test route::tests::client_detail_preserves_identity_and_highlights_only_clients ... ok924test route::tests::client_workflow_paths_preserve_context_and_navigation_section ... ok925test route::tests::edit_project_preserves_identity_and_highlights_only_projects ... ok926test route::tests::malformed_context_reaches_the_workflow_for_validation_after_recovery ... ok927test route::tests::new_project_is_static_and_highlights_only_projects ... ok928test reports::streaming::tests::csv_timeout_interrupts_an_already_started_body ... ok929test harvest::pagination_tests::harvest_pagination_catalog_links_preserve_filters_and_break_name_ties ... ok930test jobs::tests::final_failure_is_retained_and_manual_retry_gets_a_new_budget ... ok931test harvest::tests::imported_legacy_rates_survive_retry_in_harvest_list_and_detail ... ok932test seed::tests::concurrent_initializers_cannot_create_two_organizations ... ok933test seed::tests::repeated_seed_preserves_every_row_and_user_edits ... ok934test jobs::tests::expired_final_attempt_fails_without_claiming_again ... ok935test reports::limits::tests::bounded_projects_filter_archives_before_size_checks ... ok936test jobs::tests::outbox_claims_only_the_requested_event_kind ... ok937test server_fns::approvals::submission_tests::cancelling_a_submission_releases_its_write_barrier ... ok938test jobs::tests::missing_csv_upload_records_error_and_requeues ... ok939test server_fns::approvals::submission_tests::submission_accepts_the_organizations_sunday_start ... ok940test server_fns::approvals::submission_tests::submission_barrier_allows_shared_writers_for_the_same_user ... ok941test server_fns::approvals::submission_tests::submission_freezes_the_minutes_after_a_competing_edit ... ok942test reports::streaming::database_tests::streamed_fee_invoice_has_no_fabricated_hours_or_hourly_rate ... ok943test server_fns::approvals::submission_tests::submission_does_not_wait_for_another_users_writer ... ok944test server_fns::approvals::submission_tests::submission_rejects_a_start_that_is_not_the_organizations_week_start ... ok945test server_fns::approvals::tests::sees_a_running_timer_inside_the_week ... ok946test server_fns::approvals::submission_tests::submission_uses_one_pool_connection ... ok947test seed::tests::concurrent_seed_runs_create_only_one_demo ... ok948test server_fns::approvals::submission_tests::submission_waits_for_a_new_timer_before_checking_the_week ... ok949test server_fns::approvals::tests::ignores_stopped_and_out_of_week_timers ... ok950test server_fns::budget_tests::budget_notification_schema_enforces_tenants_and_no_public_access ... ok951test jobs::tests::import_adapters_reject_a_lease_from_another_organization ... ok952test server_fns::budget_tests::concurrent_budget_checks_have_one_band_claimant ... ok953test server_fns::budget_tests::configured_alert_and_outbox_roll_back_together ... ok954test server_fns::budget_tests::configured_alert_recipients_are_active_same_org_managers_and_project_leads ... ok955test server_fns::budget_tests::configured_alerts_deduplicate_concurrent_checks_and_recrossing ... ok956test server_fns::budget_tests::configured_alerts_require_enabled_active_project_and_authorized_recipient ... ok957test reports::privacy_tests::project_downloads_follow_progress_visibility ... ok958test server_fns::budget_tests::configured_budget_does_not_read_foreign_or_legacy_projects ... ok959test server_fns::budget_tests::configured_budget_sweep_recovers_missed_checks_without_duplicates ... ok960test server_fns::budget_tests::configured_amount_budget_uses_resolved_rates_and_explicit_zero ... ok961test server_fns::budget_tests::configured_monthly_budget_includes_leap_day_and_preserves_locked_rounding ... ok962test server_fns::budget_tests::configured_monthly_budget_excludes_other_months_and_nonbillable_time ... ok963test server_fns::budget_tests::overview_budget_progress_batches_projects_without_mixing_scopes ... ok964test server_fns::budget_tests::configured_task_and_person_budgets_do_not_share_consumption ... ok965test server_fns::budget_tests::overview_budget_progress_includes_people_without_an_allowance ... ok966test reports::streaming::database_tests::streamed_timesheet_preserves_csv_escaping_frozen_zero_and_all_filters ... ok967test server_fns::budget_tests::configured_person_budget_excludes_other_people_and_has_its_own_alert ... ok968test server_fns::budget_tests::configured_task_fee_budget_respects_billability_and_alert_scope ... ok969test server_fns::budget_tests::configured_nonbillable_projects_count_time_without_hidden_checkbox ... ok970test server_fns::clients::tests::client_details_keep_catalog_identity_but_omit_member_billing ... ok971test server_fns::clients::tests::client_details_hide_foreign_missing_and_inactive_actor_records ... ok972test server_fns::clients::tests::client_details_distinguish_unset_zero_and_positive_manager_rates ... ok973test server_fns::budget_tests::overview_budget_progress_is_current_period_scoped_and_authorized ... ok974test server_fns::clients::tests::client_default_rate_allows_detail_edits_and_equivalent_currency ... ok975test server_fns::clients::tests::client_default_rate_prevents_currency_relabelling ... ok976test jobs::tests::submission_key_cannot_change_csv_bytes_or_mode ... ok977test server_fns::clients::tests::client_invoices_hold_authority_until_the_read_finishes ... ok978test server_fns::clients::tests::both_activation_transitions_change_once_and_preserve_details ... ok979test server_fns::clients::tests::client_summaries_follow_existing_progress_visibility_and_revoke_inactive_users ... ok980test server_fns::clients::tests::client_summaries_exclude_foreign_clients_and_unreadable_project_currencies ... ok981test jobs::tests::invalid_policy_cannot_enqueue_a_job_or_upload ... ok982test server_fns::clients::tests::client_invoices_reject_a_winning_concurrent_revocation ... ok983test server_fns::clients::tests::client_invoices_require_manager_authority_even_without_invoices ... ok984test server_fns::clients::tests::client_invoices_keep_exact_client_scope_statuses_and_currencies ... ok985test server_fns::clients::tests::client_summaries_reject_a_foreign_actor_even_when_client_org_is_known ... ok986test server_fns::clients::tests::client_summaries_keep_catalog_without_projects_and_count_archived_projects ... ok987test server_fns::clients::tests::concurrent_deletion_is_not_an_unchanged_mutation ... ok988test server_fns::clients::tests::currency_edit_rechecks_a_concurrently_added_client_default_rate ... ok989test server_fns::clients::tests::profile_currency_change_without_a_rate_keeps_it_unset ... ok990test server_fns::clients::tests::profile_create_persists_normalized_identity_and_exact_optional_rate ... ok991test server_fns::clients::tests::each_field_changes_once_and_preserves_inactive_status ... ok992test reports::streaming::database_tests::streamed_tag_filter_excludes_other_projects_without_duplicating_rows ... ok993test server_fns::clients::tests::missing_and_foreign_clients_are_not_noops ... ok994test server_fns::clients::tests::profile_saves_recheck_manager_org_and_active_actor ... ok995test server_fns::clients::tests::profile_saves_reject_invalid_input_without_partial_writes ... ok996test server_fns::clients::tests::profile_update_rechecks_authority_after_waiting_for_a_concurrent_demotion ... ok997test server_fns::clients::tests::profile_update_preserves_historical_rows_and_inactive_status ... ok998test server_fns::clients::tests::profile_noop_preserves_row_and_returns_no_update_event_signal ... ok999test server_fns::importers::authorization_tests::cli_job_endpoints_have_stable_registered_paths ... ok1000test server_fns::clients::tests::profile_update_rejects_stale_currency_even_when_the_rate_is_still_unset ... ok1001test server_fns::importers::authorization_tests::report_stress::large_report_streams_over_http_without_buffering_the_archive ... ignored, isolated Linux HTTP/memory stress; run with --release --exact --ignored --nocapture1002test server_fns::importers::authorization_tests::request_bound_import_endpoints_are_not_registered ... ok1003test server_fns::importers::csv_upload::tests::csv_upload_extractor_preserves_raw_bytes ... ok1004test server_fns::importers::csv_upload::tests::csv_upload_requires_its_header_without_reading_the_body ... ok1005test server_fns::importers::tests::concurrent_api_import_returns_a_retryable_conflict ... ok1006test server_fns::clients::tests::profile_update_rejects_stale_rate_even_when_the_target_currency_is_unchanged ... ok1007test server_fns::importers::tests::submission_identity_rejects_expired_future_and_non_v7_keys ... ok1008test server_fns::clients::tests::profile_update_requires_explicit_rate_intent_for_currency_changes ... ok1009test server_fns::clients::tests::restoring_a_competing_deactivation_reports_reactivation ... ok1010test server_fns::importers::tests::csv_route_rejects_invalid_modes_and_headers_without_reading_uploads ... ok1011test server_fns::clients::tests::profile_update_rechecks_financial_snapshot_after_waiting_for_a_concurrent_edit ... ok1012test server_fns::clients::tests::repeating_a_competing_deactivation_does_not_report_a_transition ... ok1013test jobs::tests::missing_configuration_records_error_and_requeues ... ok1014test server_fns::clients::tests::restoring_values_after_a_competing_edit_reports_a_change ... ok1015test server_fns::clients::tests::repeating_a_competing_edit_does_not_report_a_change ... ok1016test server_fns::clients::tests::unchanged_activation_preserves_the_row ... ok1017test server_fns::clients::tests::unchanged_edit_preserves_the_row ... ok1018test jobs::tests::cleanup_retains_retryable_uploads_and_deletes_expired_jobs ... ok1019test server_fns::invoices::fee_tests::concurrent_invoices_claim_a_single_fee_once ... ok1020test server_fns::invoices::fee_tests::fee_occurrence_rejects_cross_organization_project ... ok1021test server_fns::invoices::fee_tests::fee_invoice_does_not_claim_hours_or_another_clients_fee ... ok1022test server_fns::invoices::fee_tests::fee_total_overflow_rolls_back_occurrences_and_invoice ... ok1023test server_fns::invoices::fee_tests::invoice_line_sources_reject_mixed_sources_and_invented_fee_quantities ... ok1024test jobs::report::stream_tests::download_reports_missing_fragments_after_its_buffered_page ... ok1025test server_fns::invoices::fee_tests::milestones_include_unbilled_overdue_fees_but_not_future_fees ... ok1026test reports::limits::tests::bounded_exports_preserve_real_workbooks_and_deterministic_pdf ... ok1027test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it has been running for over 60 seconds1028test reports::streaming::database_tests::streamed_projects_preserve_scope_budget_and_tenant_isolation ... ok1029test server_fns::invoices::fee_tests::monthly_fees_use_calendar_dates_and_skip_already_claimed_months ... ok1030test server_fns::invoices::fee_tests::invoice_preview_does_not_materialize_fees_and_preserves_released_snapshots ... ok1031test server_fns::invoices::fee_tests::monthly_first_and_fifteenth_respect_partial_period_and_project_end ... ok1032test server_fns::invoices::fee_tests::fee_preview_discount_ties_follow_source_keys_not_display_dates ... ok1033test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly has been running for over 60 seconds1034test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail has been running for over 60 seconds1035test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection has been running for over 60 seconds1036test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives has been running for over 60 seconds1037test jobs::tests::api_job_keeps_its_policy_across_duplicate_enqueue_and_manual_retry has been running for over 60 seconds1038test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry has been running for over 60 seconds1039test jobs::tests::csv_job_persists_its_policy_with_the_upload has been running for over 60 seconds1040test jobs::tests::expired_lease_cannot_renew_or_commit_using_an_old_transaction_timestamp has been running for over 60 seconds1041test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry has been running for over 60 seconds1042test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry has been running for over 60 seconds1043test jobs::tests::invalid_stored_payloads_reach_a_terminal_error has been running for over 60 seconds1044test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease has been running for over 60 seconds1045test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name has been running for over 60 seconds1046test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed has been running for over 60 seconds1047test jobs::tests::submission_key_cannot_change_api_mode_or_scope has been running for over 60 seconds1048test jobs::tests::synthetic_job_executes_through_claim_and_completion has been running for over 60 seconds1049test server_fns::importers::authorization_tests::job_endpoints_enforce_session_role_and_organization ... ok1050test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters has been running for over 60 seconds1051test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope has been running for over 60 seconds1052test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot has been running for over 60 seconds1053test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail ... ok1054test reports::limits::tests::fee_exports_preserve_absent_quantities_and_render_a_real_pdf has been running for over 60 seconds1055test jobs::tests::csv_job_persists_its_policy_with_the_upload ... ok1056test reports::limits::tests::invoice_exports_show_saved_adjustments_and_exact_large_amounts has been running for over 60 seconds1057test reports::limits::tests::tag_filter_applies_before_xlsx_size_checks_and_rendering has been running for over 60 seconds1058test server_fns::invoices::fee_tests::prepared_fee_selection_rejects_invalid_values_and_empty_generation ... ok1059test reports::limits::tests::fee_exports_preserve_absent_quantities_and_render_a_real_pdf ... ok1060test jobs::tests::invalid_stored_payloads_reach_a_terminal_error ... ok1061test seed::tests::seed_refuses_a_second_organization_even_when_the_demo_exists ... ok1062test server_fns::invoices::fee_tests::single_fee_can_be_invoiced_without_time ... ok1063test server_fns::invoices::fee_tests::concurrent_discounted_invoice_retries_return_one_invoice ... ok1064test server_fns::invoices::preview::tests::excess_rejects_an_unrepresentable_total_even_when_the_remainder_fits ... ok1065test server_fns::invoices::preview::tests::unselected_fee_currencies_do_not_relabel_or_block_selected_charges ... ok1066test server_fns::invoices::fee_tests::void_releases_fee_identity_without_rewriting_the_original_line ... ok1067test server_fns::invoices::fee_tests::settled_fee_sources_remain_reviewable_without_automatic_charges ... ok1068test seed::tests::concurrent_init_and_seed_cannot_mix_organizations ... ok1069test server_fns::invoices::tests::billing_cascade_agrees_across_all_four_levels_including_zero ... ok1070test server_fns::invoices::tests::configured_fixed_fee_hours_are_not_invoiced_but_legacy_fees_are_unchanged ... ok1071test server_fns::invoices::tests::effective_minutes_migration_preserves_historical_invoice_quantities ... ok1072test server_fns::invoices::tests::configured_project_currency_and_cost_override_keep_their_denominations ... ok1073test server_fns::invoices::fee_tests::draft_fee_edit_rejects_invalid_lines_and_current_unauthorized_actors ... ok1074test server_fns::invoices::tests::effective_minutes_sql_matches_domain_rounding ... ok1075test server_fns::invoices::fee_tests::draft_fee_edit_serializes_retries_and_rejects_stale_revisions ... ok1076test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot ... ok1077test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot has been running for over 60 seconds1078test server_fns::invoices::fee_tests::draft_fee_edit_requires_current_balance_and_exact_excess_confirmation ... ok1079test server_fns::invoices::fee_tests::project_fee_context_matches_invoice_balances_and_current_authority ... ok1080test server_fns::invoices::fee_tests::invoice_status_rechecks_authority_after_waiting_for_the_invoice_lock ... ok1081test server_fns::invoices::fee_tests::reviewed_generation_bills_partial_fees_and_rejects_stale_balances ... ok1082test server_fns::invoices::tests::invoice_defaults_validate_all_override_fields ... ok1083test server_fns::invoices::tests::invoice_line_overflow_leaves_time_unbilled ... ok1084test server_fns::invoices::fee_tests::removing_discount_and_billing_the_remainder_cannot_both_succeed ... ok1085test reports::streaming::database_tests::streamed_timesheet_exceeds_xlsx_row_limit_without_one_large_body_chunk has been running for over 60 seconds1086test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry ... ok1087test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it ... ok1088test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope ... ok1089test server_fns::invoices::tests::invoice_total_overflow_leaves_all_time_unbilled ... ok1090test jobs::tests::submission_key_cannot_change_api_mode_or_scope ... ok1091test server_fns::invoices::tests::invoice_transitions_reject_invalid_states_and_foreign_organizations ... ok1092test server_fns::invoices::tests::invoiced_amounts_survive_rate_changes_and_void_uses_current_rates ... ok1093test seed::tests::seed_leaves_an_older_or_partial_demo_unchanged ... ok1094test seed::tests::late_seed_failure_rolls_back_all_demo_data has been running for over 60 seconds1095test server_fns::invoices::tests::invoiced_billability_survives_later_project_changes ... ok1096test server_fns::invoices::tests::invoicing_leaves_running_time_open ... ok1097test server_fns::invoices::tests::invoicing_uses_and_freezes_effective_minutes ... ok1098test server_fns::invoices::tests::invoice_preview_requires_explicit_resolution_and_scopes_selected_projects ... ok1099test server_fns::invoices::tests::large_invoice_and_reports_agree_without_intermediate_overflow ... ok1100test server_fns::invoices::tests::only_running_time_does_not_create_an_invoice ... ok1101test server_fns::invoices::tests::mixed_project_currencies_cannot_partially_create_an_invoice ... ok1102test server_fns::invoices::tests::non_billable_context_produces_no_unbilled_amount_on_any_report ... ok1103test server_fns::invoices::tests::project_rate_is_used_by_invoices_reports_and_spend ... ok1104test server_fns::invoices::tests::void_reopens_time_without_stale_rounding ... ok1105test server_fns::invoices::tests::void_waits_for_a_concurrent_payment_and_then_refuses ... ok1106test server_fns::organization::tests::each_branding_field_changes_once_including_null_and_empty ... ok1107test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry ... ok1108test server_fns::organization::tests::missing_organization_is_not_an_unchanged_update ... ok1109test server_fns::invoices::tests::selected_project_rate_modes_agree_across_billing_consumers ... ok1110test server_fns::organization::tests::repeating_a_competing_branding_edit_does_not_report_a_change ... ok1111test server_fns::organization::tests::unchanged_branding_preserves_the_row ... ok1112test server_fns::organization::tests::restoring_branding_after_a_competing_edit_reports_a_change ... ok1113test server_fns::invoices::tests::assignment_gate_allows_inflight_invoice_organization_fks_to_finish ... ok1114test server_fns::invoices::tests::invoice_defaults_apply_exact_adjustments_and_payment_terms ... ok1115test seed::tests::seed_refuses_an_initialized_organization_without_writes has been running for over 60 seconds1116test server_fns::invoices::tests::invoice_defaults_selection_rejects_unavailable_projects_before_claiming ... ok1117test server_fns::permissions::audit_tests::browsing::history_page_rejects_malformed_history_without_partial_success ... ok1118test server_fns::invoices::tests::invoice_preview_keeps_time_rates_and_defaults_in_one_snapshot ... ok1119test server_fns::invoices::fee_tests::fee_balance_migration_allocates_discount_without_rewriting_invoice_snapshots ... ok1120test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection ... ok1121test server_fns::permissions::audit_tests::cancelled_audit_read_releases_both_gates_and_single_connection ... ok1122test server_fns::invoices::fee_tests::reviewed_generation_rejects_changed_time_before_claiming_it ... ok1123test server_fns::invoices::tests::imported_rates::rejected_import_rate_does_not_poison_the_next_row_or_its_catalog_rate ... ok1124test server_fns::permissions::audit_tests::historical_decoder_distinguishes_missing_change_from_explicit_noop ... ok1125test server_fns::permissions::audit_tests::historical_decoder_rejects_missing_template_snapshots_and_invalid_grants ... ok1126test server_fns::permissions::audit_tests::historical_decoder_rejects_unknown_mixed_fields_and_invalid_revision_steps ... ok1127test server_fns::permissions::audit_tests::historical_person_snapshot_validates_provenance_without_inferring_admin_identity ... ok1128test server_fns::invoices::fee_tests::reviewed_generation_requires_exact_excess_and_current_authority ... ok1129test server_fns::permissions::audit_tests::failed_mutation_has_no_success_audit_and_reads_do_not_write ... ok1130test server_fns::permissions::audit_tests::profile_and_project_history_decode_exact_changes_and_noops ... ok1131test server_fns::invoices::tests::invoice_defaults_edit_rechecks_status_after_waiting_for_a_concurrent_send ... ok1132test server_fns::permissions::audit_tests::reader_winning_gate_finishes_before_revocation_and_later_reads_fail ... ok1133test server_fns::permissions::audit_tests::browsing::history_page_reauthorizes_empty_and_continuation_requests_and_binds_requester ... ok1134test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution has been running for over 60 seconds1135test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name ... ok1136test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity has been running for over 60 seconds1137test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances has been running for over 60 seconds1138test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects has been running for over 60 seconds1139test server_fns::permissions::audit_tests::audit_reader_holds_requester_until_materialization_finishes ... ok1140test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time has been running for over 60 seconds1141test server_fns::invoices::fee_tests::zero_fee_is_invoiced_once_until_voided ... ok1142test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution ... ok1143test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate has been running for over 60 seconds1144test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback ... ok1145test server_fns::permissions::audit_tests::direct_deactivation_winning_user_lock_denies_audit_read ... ok1146test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate ... ok1147test reports::limits::tests::tag_filter_applies_before_xlsx_size_checks_and_rendering ... ok1148test server_fns::permissions::audit_tests::current_administrator_reads_inactive_authors_history_without_live_state ... ok1149test server_fns::invoices::tests::invoice_defaults_legacy_insert_preserves_dates_and_exact_total ... ok1150test server_fns::permissions::own_tests::own_permissions_reload_after_winning_gate_under_repeatable_read_defaults ... ok1151test server_fns::permissions::audit_tests::legacy_admin_and_all_grants_without_explicit_identity_cannot_read_audit ... ok1152test server_fns::permissions::audit_tests::browsing::history_page_waits_for_revocation_commit_or_rollback_at_each_gate ... ok1153test server_fns::permissions::audit_tests::browsing::cancelling_history_page_releases_both_authority_gates ... ok1154test server_fns::permissions::profile_tests::cancelled_profile_save_rolls_back_effects_and_releases_single_connection ... ok1155test server_fns::invoices::tests::invoice_preview_rejects_large_results_instead_of_truncating_them ... ok1156test server_fns::invoices::fee_tests::reviewed_generation_does_not_materialize_unselected_months has been running for over 60 seconds1157test server_fns::permissions::audit_tests::revocation_winning_gate_denies_waiting_historical_reader ... ok1158test server_fns::permissions::profile_tests::adjusted_template_reset_and_replay_after_deletion_use_explicit_intent ... ok1159test server_fns::permissions::profile_tests::directory_tests::directory_orders_by_name_then_id_and_accepts_deleted_cursor_without_extra_page ... ok1160test server_fns::permissions::own_tests::own_permissions_wait_for_current_actor_deactivation ... ok1161test server_fns::permissions::own_tests::own_permissions_scope_is_sorted_and_excludes_membership_and_other_managers ... ok1162test server_fns::permissions::profile_tests::directory_tests::directory_uses_each_profiles_people_grants_not_legacy_role_or_other_scope ... ok1163test server_fns::invoices::fee_tests::reviewed_generation_does_not_materialize_unselected_months ... ok1164test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry has been running for over 60 seconds1165test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links has been running for over 60 seconds1166test server_fns::permissions::profile_tests::all_grant_template_cannot_confer_identity_and_cross_command_keys_conflict ... ok1167test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable has been running for over 60 seconds1168test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time ... ok1169test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims has been running for over 60 seconds1170test server_fns::permissions::profile_tests::directory_tests::directory_does_not_use_project_management_and_rechecks_relationship_removal ... ok1171test server_fns::permissions::profile_tests::last_active_administrator_cannot_be_demoted_or_replaced_by_equivalent_grants ... ok1172test server_fns::permissions::profile_tests::audit_failure_rolls_back_profile_and_both_relationship_sets ... ok1173test server_fns::permissions::own_tests::own_permissions_reader_retains_actor_activity_until_snapshot_is_loaded ... ok1174test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time has been running for over 60 seconds1175test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time ... ok1176test jobs::tests::synthetic_job_executes_through_claim_and_completion ... ok1177test server_fns::permissions::audit_tests::browsing::admitted_history_page_finishes_before_revocation_at_each_gate ... ok1178test server_fns::permissions::profile_tests::malformed_person_or_remaining_administrator_state_fails_closed ... ok1179test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances ... ok1180test server_fns::permissions::audit_tests::administrator_reads_historical_template_without_intent_or_replay_result has been running for over 60 seconds1181test server_fns::permissions::audit_tests::audit_reader_overrides_transaction_defaults_without_changing_connection has been running for over 60 seconds1182test server_fns::permissions::audit_tests::audit_timeout_preserves_stricter_limits_and_releases_locks has been running for over 60 seconds1183test server_fns::permissions::profile_tests::profile_command_retains_target_activity_through_receipt_insert ... ok1184test jobs::tests::expired_lease_cannot_renew_or_commit_using_an_old_transaction_timestamp ... ok1185test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links ... ok1186test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed ... ok1187test server_fns::permissions::audit_tests::browsing::history_pages_scope_before_limit_and_use_stable_exclusive_timestamp_id_bounds has been running for over 60 seconds1188test server_fns::permissions::profile_tests::profile_command_rechecks_target_activation_before_demotion ... ok1189test server_fns::permissions::profile_tests::existing_user_share_lock_does_not_block_profile_command ... ok1190test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity ... ok1191test server_fns::permissions::profile_tests::profile_command_waits_for_direct_actor_deactivation_even_on_replay ... ok1192test server_fns::permissions::audit_tests::operator_attribution_is_not_a_user_and_excludes_private_replay_payload has been running for over 60 seconds1193test server_fns::permissions::profile_tests::profile_command_overrides_readonly_defaults_locally ... ok1194test server_fns::permissions::audit_tests::profile_history_keeps_removed_relationships_after_grants_change_again has been running for over 60 seconds1195test server_fns::permissions::profile_tests::profile_command_rechecks_remaining_administrator_after_deactivation_wait ... ok1196test server_fns::permissions::project_management_tests::audit_failure_rolls_back_removal_addition_and_revision ... ok1197test server_fns::permissions::project_management_tests::cancelled_project_delegation_rolls_back_and_releases_single_connection ... ok1198test server_fns::permissions::profile_tests::directory_tests::directory_denies_legacy_foreign_inactive_and_invalid_authority_even_for_empty_pages ... ok1199test server_fns::permissions::audit_tests::template_detachment_history_preserves_exact_grants_and_provenance has been running for over 60 seconds1200test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot ... ok1201test server_fns::permissions::audit_tests::tenant_activity_and_policy_checks_precede_receipt_existence_and_decode has been running for over 60 seconds1202test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry ... ok1203test server_fns::permissions::project_management_tests::foreign_missing_inactive_and_malformed_additions_fail_without_disclosure ... ok1204test server_fns::permissions::own_tests::own_permissions_deny_invalid_identity_policy_and_state has been running for over 60 seconds1205test server_fns::permissions::audit_tests::audit_timeout_preserves_stricter_limits_and_releases_locks ... ok1206test server_fns::permissions::own_tests::own_permissions_legacy_mode_never_discloses_staging has been running for over 60 seconds1207test server_fns::permissions::project_management_tests::designation_is_required_before_managed_editor_can_delegate ... ok1208test server_fns::permissions::profile_tests::directory_tests::directory_rechecks_grant_revocation_and_direct_deactivation_after_wait ... ok1209test server_fns::permissions::profile_tests::management_schema_rejects_foreign_parents_self_links_and_duplicate_pairs ... ok1210test server_fns::permissions::own_tests::own_permissions_preserve_exact_grants_and_independent_identity has been running for over 60 seconds1211test server_fns::permissions::project_management_tests::mixed_invalid_addition_preserves_entire_previous_set ... ok1212test server_fns::permissions::project_management_tests::concurrent_replacements_commit_only_one_current_revision ... ok1213test server_fns::permissions::project_management_tests::project_delegation_denies_manager_deactivated_before_check ... ok1214test server_fns::permissions::project_management_tests::project_delegation_overrides_readonly_defaults_locally ... ok1215test server_fns::permissions::profile_tests::read_only_retention_and_explicit_keep_project_access_preserve_independent_person_losses ... ok1216test server_fns::permissions::audit_tests::tenant_activity_and_policy_checks_precede_receipt_existence_and_decode ... ok1217test server_fns::permissions::project_management_tests::project_editor_delegates_existing_read_grants_without_promotion ... ok1218test server_fns::permissions::profile_tests::concurrent_self_demotions_leave_one_active_explicit_administrator ... ok1219test server_fns::permissions::project_management_tests::reader_tests::manager_reader_materializes_before_a_waiting_actor_deactivation ... ok1220test server_fns::permissions::project_management_tests::managed_scope_never_uses_another_project_or_legacy_membership ... ok1221test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims ... ok1222test server_fns::permissions::profile_tests::unchanged_and_unrelated_edits_do_not_clean_up_preexisting_incompatible_links ... ok1223test server_fns::permissions::project_management_tests::reader_tests::manager_reader_requires_current_project_edit_scope_not_identity_or_membership ... ok1224test server_fns::permissions::project_management_tests::historical_replay_does_not_reapply_removed_or_now_ineligible_designations ... ok1225test server_fns::permissions::profile_tests::directory_tests::directory_cancellation_releases_connection_and_preserves_pool_defaults ... ok1226test server_fns::permissions::profile_tests::canonical_actor_policy_tenant_and_target_checks_precede_mutation has been running for over 60 seconds1227test server_fns::permissions::audit_tests::audit_reader_overrides_transaction_defaults_without_changing_connection ... ok1228test server_fns::permissions::profile_tests::invalid_confirmations_and_noncanonical_grants_are_not_silently_repaired ... ok1229test server_fns::permissions::project_management_tests::actual_template_command_receipt_cannot_be_reused_for_project_delegation ... ok1230test server_fns::permissions::project_management_tests::transaction_tests::delegation_reuses_editor_gate_without_upgrading_past_foreign_keys ... ok1231test server_fns::permissions::profile_tests::profile_demotion_retains_surviving_administrator_until_commit ... ok1232test server_fns::permissions::project_management_tests::transaction_tests::project_rollback_discards_managers_revision_and_receipt ... ok1233test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects ... ok1234test server_fns::permissions::profile_tests::directory_tests::directory_scopes_before_activity_pagination_and_only_returns_basic_identity ... ok1235test server_fns::permissions::project_management_tests::revocation_winning_gate_denies_waiting_delegation ... ok1236test server_fns::permissions::storage_tests::person_grants_and_identity_round_trip_independently_of_source ... ok1237test server_fns::permissions::storage_tests::person_state_rejects_duplicates_and_foreign_users_and_templates ... ok1238test server_fns::permissions::storage_tests::malformed_stored_grants_fail_without_repair ... ok1239test server_fns::permissions::project_management_tests::reader_tests::manager_reader_preserves_the_complete_retained_set_without_private_fields ... ok1240test server_fns::permissions::profile_tests::reduced_administrator_and_stale_person_proposals_are_rejected ... ok1241test server_fns::permissions::profile_tests::unchanged_edit_preserves_identity_source_timestamp_and_revisions ... ok1242test server_fns::permissions::project_management_tests::canonical_actor_grants_activity_tenant_and_policy_are_required ... ok1243test server_fns::permissions::profile_tests::revocation_winning_gate_denies_new_and_replayed_changes ... ok1244test server_fns::permissions::profile_tests::explicit_application_and_adjustments_preserve_confirmed_grants has been running for over 60 seconds1245test reports::limits::tests::invoice_exports_show_saved_adjustments_and_exact_large_amounts ... ok1246test server_fns::permissions::profile_tests::explicit_identity_changes_and_inactive_targets_do_not_change_activation has been running for over 60 seconds1247test server_fns::permissions::storage_tests::template_names_are_case_insensitive_and_tenant_local ... ok1248test server_fns::permissions::project_management_tests::retained_ineligible_managers_and_archived_projects_allow_noop_and_removal ... ok1249test server_fns::permissions::template_tests::concurrent_exact_retry_creates_one_receipt_without_changing_people ... ok1250test server_fns::permissions::project_management_tests::replacement_audits_exact_delta_and_preserves_membership_history_and_other_scopes ... ok1251test server_fns::permissions::project_management_tests::reader_tests::manager_reader_holds_authority_and_cancellation_releases_it ... ok1252test server_fns::permissions::storage_tests::unicode_name_collision_rolls_back_migration_without_changing_profiles ... ok1253test server_fns::permissions::project_management_tests::stale_duplicate_and_exhausted_revisions_never_replace_the_set ... ok1254test server_fns::permissions::template_tests::delete_replay_does_not_touch_a_same_name_replacement ... ok1255test server_fns::permissions::project_management_tests::project_delegation_denies_actor_deactivated_before_check ... ok1256test server_fns::permissions::project_management_tests::transaction_tests::project_and_manager_changes_commit_with_the_same_receipt ... ok1257test server_fns::permissions::template_tests::malformed_assignee_aborts_all_detachments ... ok1258test server_fns::permissions::project_management_tests::project_delegation_retains_added_manager_activity_until_commit ... ok1259test server_fns::permissions::template_tests::equivalent_names_and_invalid_confirmed_selections_roll_back ... ok1260test server_fns::permissions::template_tests::stale_foreign_and_exhausted_revisions_never_partially_delete ... ok1261test server_fns::permissions::template_tests::template_command_overrides_readonly_defaults_and_keeps_stricter_timeouts ... ok1262test server_fns::permissions::storage_tests::concurrent_equivalent_names_create_only_one_template ... ok1263test server_fns::permissions::template_tests::unknown_grants_and_authority_fields_cannot_deserialize_as_commands ... ok1264test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters ... ok1265test server_fns::permissions::profile_tests::recreated_relationship_invalidates_waiting_confirmation_without_partial_removal has been running for over 60 seconds1266test server_fns::permissions::template_tests::receipts_enforce_tenant_exclusive_principal_and_request_uniqueness ... ok1267test server_fns::project_creation::assignment_tests::finalization_reuses_catalog_and_keeps_lead_overrides_local_on_retry ... ok1268test server_fns::project_creation::editing::tests::concurrent_edits_have_one_winner_and_association_writes_invalidate_open_forms ... ok1269test server_fns::permissions::own_tests::own_permissions_deny_invalid_identity_policy_and_state ... ok1270test server_fns::project_creation::assignment_tests::invalid_assignment_graphs_leave_no_partial_creation_or_draft_change ... ok1271test server_fns::permissions::profile_tests::simultaneous_losses_require_exact_confirmation_preserve_history_and_never_restore_links has been running for over 60 seconds1272test server_fns::permissions::template_tests::create_canonical_retry_returns_one_historical_change ... ok1273test server_fns::project_creation::editing::tests::editing_milestones_keeps_invoice_snapshots_and_fee_identities_immutable ... ok1274test server_fns::project_creation::editing::tests::editor_keeps_archived_selected_identities_and_nullable_overrides ... ok1275test server_fns::permissions::profile_tests::stale_template_and_org_revision_and_exhausted_revisions_roll_back has been running for over 60 seconds1276test server_fns::project_creation::editing::tests::editor_loads_legacy_values_without_fabricating_a_billing_mode_or_draft ... ok1277test server_fns::permissions::audit_tests::template_detachment_history_preserves_exact_grants_and_provenance ... ok1278test server_fns::project_creation::editing::tests::editor_rechecks_tenant_role_and_active_status ... ok1279test server_fns::project_creation::editing::tests::editor_preserves_fee_schedule_and_operational_milestone_ids ... ok1280test server_fns::permissions::storage_tests::storage_does_not_activate_or_infer_legacy_roles ... ok1281test server_fns::project_creation::editing::tests::editor_recovers_each_budget_scope_without_turning_absence_into_zero ... ok1282test server_fns::project_creation::editing::tests::editor_recovers_full_configuration_and_redacts_private_values_after_role_change ... ok1283test server_fns::project_creation::editing::tests::foreign_actor_cannot_save_or_retry_another_organizations_edit ... ok1284test server_fns::project_creation::editing::tests::manager_edit_preserves_private_settings_and_cannot_remove_them_indirectly ... ok1285test server_fns::permissions::project_management_tests::legacy_user_share_locks_allow_manager_and_receipt_foreign_keys ... ok1286test server_fns::project_creation::editing::tests::save_updates_configured_sections_atomically_and_rejects_stale_or_invalid_edits ... ok1287test server_fns::project_creation::editing::tests::save_edits_the_same_legacy_project_and_never_creates_a_draft_or_configuration ... ok1288test server_fns::project_creation::editing::tests::save_preserves_recorded_time_and_rejects_removing_its_task_or_person ... ok1289test server_fns::project_creation::import_tests::imported_catalog_rate_cannot_be_relabelled_as_workspace_currency ... ok1290test server_fns::project_creation::editing::tests::saves_recheck_current_authority_and_do_not_repeat_noops ... ok1291test server_fns::project_creation::editing::tests::task_catalog_and_graph_changes_roll_back_together_on_duplicate_resolution ... ok1292test server_fns::project_creation::tests::billing_schema_rejects_partial_fee_schedules ... ok1293test server_fns::project_creation::tests::creation_actor_is_revalidated_inside_the_transaction ... ok1294test server_fns::permissions::profile_tests::stale_template_and_org_revision_and_exhausted_revisions_roll_back ... ok1295test server_fns::project_creation::tests::client_dialog_validates_details_and_persists_an_explicit_zero_rate ... ok1296test server_fns::project_creation::tests::creation_client_must_be_active_and_in_the_same_organization ... ok1297test server_fns::project_creation::tests::creation_options_are_scoped_bounded_and_redact_manager_costs ... ok1298test server_fns::project_creation::tests::draft_ownership_discard_and_role_changes_are_enforced ... ok1299test server_fns::project_creation::tests::draft_validation_preserves_incomplete_input_but_bounds_its_size ... ok1300test server_fns::project_creation::tests::draft_schema_enforces_one_current_draft_per_creator ... ok1301test server_fns::project_creation::tests::final_validation_checks_invoice_defaults_and_scoped_budget_totals ... ok1302test server_fns::project_creation::tests::final_validation_preserves_exact_budgets_and_rejects_unavailable_email ... ok1303test server_fns::project_creation::tests::final_validation_requires_complete_fee_schedules_and_distinct_entities ... ok1304test server_fns::project_creation::tests::final_validation_requires_real_details_and_ignores_hidden_type_settings ... ok1305test server_fns::project_creation::tests::draft_schema_rejects_foreign_creator_and_completed_project ... ok1306test server_fns::project_creation::tests::draft_save_retries_do_not_overwrite_a_newer_revision ... ok1307test server_fns::permissions::template_tests::invalid_stored_authority_and_template_grants_fail_closed ... ok1308test server_fns::project_creation::tests::draft_schema_rejects_oversize_payload_and_invalid_revision ... ok1309test server_fns::project_creation::tests::managers_cannot_store_administrator_notes_or_costs_in_a_draft ... ok1310test server_fns::project_creation::tests::existing_projects_have_no_implicit_new_billing_configuration ... ok1311test server_fns::project_creation::tests::finalize_is_atomic_and_repeated_submission_returns_one_project ... ok1312test server_fns::project_creation::tests::finalization_persists_task_access_and_project_only_financial_overrides ... ok1313test server_fns::project_creation::tests::invalid_task_rolls_back_project_and_keeps_the_draft ... ok1314test server_fns::project_creation::tests::finalization_rechecks_client_role_revision_and_rate_currency ... ok1315test server_fns::project_creation::validation::tests::assignment_rejections_identify_the_invalid_row ... ok1316test server_fns::project_creation::validation::tests::basic_rejections_identify_the_field_without_echoing_input ... ok1317test server_fns::project_creation::validation::tests::billing_rejections_identify_the_active_control ... ok1318test server_fns::project_creation::validation::tests::inactive_billing_inputs_remain_in_the_draft_without_blocking_creation ... ok1319test server_fns::project_creation::validation::tests::invoice_rejections_identify_the_field_without_echoing_input ... ok1320test server_fns::project_creation::validation::tests::milestone_rejections_target_the_invalid_row_by_identity ... ok1321test server_fns::project_creation::validation::tests::non_billable_projects_ignore_hidden_invoice_inputs ... ok1322test server_fns::project_creation::validation::tests::task_name_and_access_rejections_identify_the_invalid_row ... ok1323test server_fns::permissions::project_management_tests::legacy_project_lock_returns_busy_instead_of_forming_an_org_fk_cycle ... ok1324test server_fns::project_creation::tests::selected_catalog_bounds_requests_and_excludes_inactive_people ... ok1325test server_fns::project_creation::tests::missing_draft_responses_do_not_disclose_foreign_ownership ... ok1326test server_fns::project_creation::tests::selected_catalog_is_scoped_deduplicated_and_redacts_manager_costs ... ok1327test server_fns::project_creation::tests::selected_client_lookup_is_scoped_and_keeps_archived_identity ... ok1328test server_fns::projects::assignment_tests::creation_rejects_foreign_and_unknown_project_or_person ... ok1329test server_fns::project_creation::tests::simultaneous_draft_updates_have_one_winner ... ok1330test server_fns::projects::bulk_tests::bulk_accepts_one_hundred_projects_and_mixed_status_noops ... ok1331test server_fns::projects::bulk_tests::bulk_ids_validate_before_writes_and_normalize_duplicates ... ok1332test server_fns::projects::bulk_tests::bulk_database_failure_rolls_back_earlier_changes ... ok1333test server_fns::projects::bulk_tests::bulk_preserves_invoiced_history_assignments_and_spend ... ok1334test server_fns::projects::bulk_tests::bulk_missing_or_foreign_project_rolls_back_earlier_changes ... ok1335test server_fns::project_creation::import_tests::imports_preserve_finalized_project_configuration_and_restricted_access ... ok1336test server_fns::projects::bulk_tests::bulk_reversed_overlapping_batches_finish_without_deadlock ... ok1337test server_fns::projects::bulk_tests::bulk_status_preserves_details_history_and_noop_versions ... ok1338test server_fns::permissions::profile_tests::explicit_application_and_adjustments_preserve_confirmed_grants ... ok1339test server_fns::projects::mutation_tests::project::both_activation_transitions_preserve_details_and_change_once ... ok1340test server_fns::projects::mutation_tests::project::budgets_and_rates_distinguish_null_zero_and_normalized_values ... ok1341test server_fns::project_creation::locking_tests::every_project_entry_gates_before_actor_and_rechecks_revocation ... ok1342test server_fns::projects::mutation_tests::project::concurrent_deletion_is_rejected_by_both_mutations ... ok1343test server_fns::permissions::audit_tests::administrator_reads_historical_template_without_intent_or_replay_result ... ok1344test server_fns::permissions::project_management_tests::project_delegation_retains_actor_activity_until_commit has been running for over 60 seconds1345test server_fns::projects::mutation_tests::project::configured_edits_preserve_compatible_changes_and_idempotence ... ok1346test server_fns::projects::mutation_tests::project::configured_edits_recheck_settings_after_waiting_for_the_project ... ok1347test server_fns::permissions::audit_tests::profile_history_keeps_removed_relationships_after_grants_change_again ... ok1348test server_fns::projects::mutation_tests::project::configured_edits_preserve_non_hourly_billing ... ok1349test server_fns::projects::mutation_tests::project::missing_and_foreign_rows_are_not_noops ... ok1350test server_fns::projects::mutation_tests::project::configured_edits_reject_incompatible_financial_changes_atomically ... ok1351test server_fns::projects::mutation_tests::project::inactive_project_edits_preserve_identity_and_reject_implicit_migrations ... ok1352test server_fns::projects::mutation_tests::project::invalid_project_fields_leave_the_row_unchanged ... ok1353test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history ... ok1354test server_fns::projects::mutation_tests::project::restoring_a_competing_deactivation_reports_reactivation ... ok1355test server_fns::projects::mutation_tests::project::unchanged_activation_preserves_the_row ... ok1356test server_fns::projects::mutation_tests::project::repeating_a_competing_deactivation_reports_no_transition ... ok1357test server_fns::projects::mutation_tests::project::restoring_a_competing_edit_does_not_overwrite_the_other_session ... ok1358test server_fns::projects::mutation_tests::project::repeating_a_competing_edit_requires_a_fresh_revision ... ok1359test server_fns::permissions::project_management_tests::reader_tests::manager_reader_rechecks_revocation_after_the_organization_wait ... ok1360test server_fns::projects::mutation_tests::task::rate_edits_set_currency_without_relabelling_renames_or_noops ... ok1361test server_fns::projects::mutation_tests::task::missing_and_foreign_rows_are_not_noops ... ok1362test server_fns::projects::mutation_tests::task::both_activation_transitions_preserve_details_and_change_once ... ok1363test server_fns::projects::mutation_tests::task::each_detail_field_changes_once_and_preserves_inactive_status ... ok1364test server_fns::projects::mutation_tests::project::unchanged_edit_preserves_the_row ... ok1365test server_fns::projects::mutation_tests::task::concurrent_deletion_returns_not_found_for_both_mutations ... ok1366test server_fns::projects::details_tests::unlinked_and_private_project_tags_do_not_leak_into_filters ... ok1367test server_fns::permissions::project_management_tests::reader_tests::manager_reader_observes_direct_deactivation_before_its_actor_lock has been running for over 60 seconds1368test server_fns::projects::mutation_tests::task::repeating_a_competing_deactivation_reports_no_transition ... ok1369test server_fns::projects::mutation_tests::task::repeating_a_competing_edit_does_not_report_a_change ... ok1370test server_fns::projects::privacy_tests::client_project_filter_preserves_progress_access_and_rate_redaction ... ok1371test server_fns::projects::mutation_tests::task::restoring_a_competing_edit_reports_a_change ... ok1372test server_fns::projects::mutation_tests::task::unchanged_edit_preserves_the_row ... ok1373test server_fns::projects::mutation_tests::task::restoring_a_competing_deactivation_reports_reactivation ... ok1374test server_fns::projects::privacy_tests::legacy_members_retain_progress_without_new_settings ... ok1375test server_fns::permissions::template_tests::legacy_future_missing_foreign_and_non_admin_authority_deny ... ok1376test server_fns::projects::mutation_tests::task::unchanged_activation_preserves_the_row ... ok1377test server_fns::permissions::project_management_tests::receipt_conflicts_precede_decoding_and_replay_requires_current_authority has been running for over 60 seconds1378test server_fns::projects::tests::assignments_are_scoped_to_the_viewers_organization ... ok1379test server_fns::projects::privacy_tests::private_progress_does_not_prevent_tracking_or_reveal_financial_fields ... ok1380test server_fns::projects::privacy_tests::project_members_and_leads_receive_progress_without_rates ... ok1381test server_fns::projects::tests::creating_a_project_task_enables_it_with_its_defaults ... ok1382test server_fns::projects::privacy_tests::revoked_membership_preserves_only_own_historical_tracking_identity ... ok1383test server_fns::projects::privacy_tests::outsiders_and_inactive_viewers_have_no_project_reads ... ok1384test server_fns::projects::tests::enabling_is_tenant_scoped_even_for_existing_links_and_preserves_overrides ... ok1385test server_fns::permissions::own_tests::own_permissions_legacy_mode_never_discloses_staging ... ok1386test server_fns::projects::privacy_tests::project_reads_use_current_authority_and_reject_foreign_scope ... ok1387test server_fns::projects::tests::project_rate_distinguishes_inheritance_zero_and_exact_amounts ... ok1388test server_fns::projects::tests::enabling_tasks_rejects_incompatible_catalog_currency ... ok1389test server_fns::projects::tests::enabling_tasks_rejects_invalid_or_wrong_currency_explicit_rates_without_linking ... ok1390test server_fns::projects::tests::managers_and_admins_can_read_assignment_rates ... ok1391test server_fns::projects::tests::enabling_tasks_rejects_explicit_rates_unused_by_the_project ... ok1392test server_fns::projects::tests::enabling_tasks_only_inherits_rates_used_by_configured_projects ... ok1393test server_fns::projects::tests::enabling_tasks_accepts_exact_project_currency_rates_and_preserves_existing_links ... ok1394test server_fns::projects::tests::failed_project_task_creation_leaves_no_orphan_task ... ok1395test server_fns::projects::assignment_tests::project_membership_and_task_callers_wait_before_authorizing ... ok1396test server_fns::projects::tests::project_rate_helper_has_no_public_execute_grant ... ok1397test server_fns::time_entries::tests::a_limit_bounds_a_listing_on_its_own ... ok1398test server_fns::projects::tests::members_can_list_identities_but_not_assignment_rates ... ok1399test server_fns::projects::tests::project_rate_sql_matches_rust_for_missing_zero_and_present_sources ... ok1400test server_fns::projects::tests::unknown_catalog_currency_requires_explicit_configured_rates_but_preserves_legacy ... ok1401test seed::tests::seed_refuses_an_initialized_organization_without_writes ... ok1402test server_fns::time_entries::tests::an_unlimited_listing_needs_both_ends_of_the_range ... ok1403test server_fns::time_entries::tests::admin_may_log_time_without_assignment ... ok1404test server_fns::time_entries::tests::clamps_duration_against_the_snapped_start ... ok1405test server_fns::time_entries::tests::a_running_timer_cannot_be_moved_to_another_day ... ok1406test server_fns::time_entries::tests::a_reorder_rejects_foreign_missing_timed_and_duplicate_ids ... ok1407test server_fns::time_entries::tests::assigned_member_may_log_time ... ok1408test server_fns::reports::tests::shared_person_and_task_are_partitioned_by_currency ... ok1409test server_fns::time_entries::tests::concurrent_timer_starts_insert_exactly_one_entry ... ok1410test server_fns::time_entries::tests::an_open_entry_can_move_into_a_day_with_locked_time ... ok1411test server_fns::time_entries::tests::edits_preserve_archived_time_but_cannot_override_non_billability ... ok1412test server_fns::time_entries::tests::rejects_out_of_range_start ... ok1413test server_fns::time_entries::tests::snaps_unaligned_start_to_the_grid ... ok1414test server_fns::time_entries::tests::inactive_project_cannot_accept_new_time_even_for_admin ... ok1415test server_fns::permissions::storage_tests::additive_migration_preserves_populated_legacy_records has been running for over 60 seconds1416test server_fns::permissions::profile_tests::simultaneous_losses_require_exact_confirmation_preserve_history_and_never_restore_links ... ok1417test server_fns::time_entries::tests::new_time_and_picker_require_a_project_task_link ... ok1418test server_fns::time_entries::tests::untimed_start_is_left_untouched ... ok1419test server_fns::time_entries::tests::new_time_and_picker_reject_inactive_or_foreign_contexts ... ok1420test server_fns::time_entries::tests::moving_locked_time_rejects_the_entire_reorder ... ok1421test server_fns::time_entries::tests::new_time_uses_effective_billability_for_manual_entries_and_timers ... ok1422test server_fns::time_entries::tests::submission_barrier_blocks_manual_entries_and_timer_starts ... ok1423test server_fns::time_entries::tests::submission_barrier_blocks_edits_and_cross_week_reorders ... ok1424test server_fns::time_entries::update_tests::competing_edit_that_restores_old_values_still_reports_a_change ... ok1425test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly ... ok1426test server_fns::time_entries::tests::unassigned_member_is_forbidden ... ok1427test server_fns::time_entries::update_tests::competing_identical_edit_is_a_noop_after_the_first_commit ... ok1428test server_fns::time_entries::update_tests::effective_billability_noop_preserves_the_row ... ok1429test server_fns::time_entries::update_tests::each_editable_field_changes_once_including_nulls ... ok1430test server_fns::time_entries::update_tests::missing_foreign_and_locked_entries_are_not_noops ... ok1431test server_fns::time_entries::update_tests::normalized_noop_preserves_the_row_and_updated_at ... ok1432test server_fns::permissions::project_management_tests::project_delegation_retains_actor_activity_until_commit ... ok1433test server_fns::permissions::storage_tests::referenced_template_deletion_requires_detaching_without_grant_or_identity_loss has been running for over 60 seconds1434test server_fns::time_entries::update_tests::restricted_empty_task_rejects_picker_manual_and_timer_starts ... ok1435test server_fns::time_entries::update_tests::restricted_empty_task_rejects_changes_and_noop_edits ... ok1436test server_fns::time_entries::update_tests::concurrent_lock_or_delete_is_rechecked_before_editing ... ok1437test server_fns::time_entries::update_tests::restricted_reordering_rejects_the_whole_batch ... ok1438test server_fns::permissions::storage_tests::source_shape_and_revision_constraints_reject_invalid_rows has been running for over 60 seconds1439test server_fns::time_entries::update_tests::revoked_timer_stop_preserves_the_open_state_guard ... ok1440test server_fns::time_entries::update_tests::restricted_task_rejects_reschedule_and_delete ... ok1441test server_fns::time_entries::update_tests::revoked_grant_does_not_trap_an_own_running_timer ... ok1442test server_fns::time_entries::update_tests::task_grant_revocation_committed_during_an_edit_is_rechecked ... ok1443test server_fns::time_entries::update_tests::restriction_changes_are_rechecked_before_manual_or_timer_insertion ... ok1444test server_fns::time_entries::update_tests::task_grants_allow_tracking_and_archived_history_for_every_role ... ok1445test server_fns::project_creation::editing::tests::editor_load_uses_current_role_across_all_billing_configurations ... ok1446test server_fns::projects::assignment_tests::stale_administrator_cannot_create_or_remove_after_revocation ... ok1447test server_fns::users::tests::concurrency::access_changes_cannot_target_another_organization ... ok1448test server_fns::permissions::storage_tests::unicode_name_migration_preserves_existing_templates has been running for over 60 seconds1449test server_fns::users::tests::concurrency::concurrent_demotions_keep_an_active_admin ... ok1450test server_fns::time_entries::update_tests::assignment_cascade_allows_an_inflight_entry_project_fk_to_finish ... ok1451test server_fns::users::tests::concurrency::concurrent_deactivations_keep_an_active_admin ... ok1452test server_fns::permissions::template_tests::actor_share_lock_does_not_block_template_command has been running for over 60 seconds1453test server_fns::users::tests::concurrency::demotion_and_deactivation_keep_an_active_admin ... ok1454test server_fns::users::tests::concurrency::deactivation_and_demotion_keep_an_active_admin ... ok1455test server_fns::users::tests::hide_rates_clears_both_rate_fields ... ok1456test server_fns::users::tests::authority::access_transaction_holds_actor_authority_until_commit ... ok1457test server_fns::users::tests::concurrency::the_last_admin_cannot_be_demoted_or_deactivated ... ok1458test server_fns::permissions::template_tests::command_receipts_are_not_shared_between_administrators has been running for over 60 seconds1459test server_fns::users::tests::concurrency::unchanged_admin_access_is_allowed ... ok1460test server_fns::users::tests::authority::active_administrator_can_create_change_roles_and_deactivate ... ok1461test server_fns::permissions::template_tests::concurrent_creators_never_exceed_fifty_profiles has been running for over 60 seconds1462test server_fns::users::tests::authority::revoked_administrator_cannot_create_change_roles_or_deactivate ... ok1463test server_fns::permissions::template_tests::actor_share_lock_does_not_block_template_command ... ok1464test server_fns::permissions::template_tests::delete_preserves_adjusted_grants_identity_and_business_rows has been running for over 60 seconds1465test server_fns::permissions::template_tests::concurrent_creators_never_exceed_fifty_profiles ... ok1466test server_fns::permissions::profile_tests::canonical_actor_policy_tenant_and_target_checks_precede_mutation ... ok1467test server_fns::permissions::template_tests::failed_audit_insert_rolls_back_creation_and_detachment has been running for over 60 seconds1468test server_fns::users::tests::authority::project_editor_and_user_revocation_commit_in_gate_order ... ok1469test server_fns::permissions::profile_tests::recreated_relationship_invalidates_waiting_confirmation_without_partial_removal ... ok1470test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease ... ok1471test server_fns::permissions::template_tests::template_command_waits_for_direct_actor_deactivation_on_replay ... ok1472test server_fns::permissions::template_tests::revocation_winning_org_gate_denies_pending_replay_and_new_command has been running for over 60 seconds1473test server_fns::projects::assignment_tests::assignment_mutations_wait_for_revocation_and_recheck_authority ... ok1474test server_fns::projects::assignment_tests::own_assignment_lifecycle_preserves_role_and_duplicate_behavior ... ok1475test server_fns::users::tests::authority::duplicate_creation_rolls_back_and_leaves_access_changes_usable ... ok1476test server_fns::reports::tests::manager_report_omits_groups_containing_private_project_costs ... ok1477test server_fns::permissions::template_tests::unsupported_receipt_version_fails_without_repeating_the_change has been running for over 60 seconds1478test server_fns::reports::tests::filters_and_renames_keep_report_identity_and_totals ... ok1479test server_fns::users::tests::authority::user_mutations_recheck_revocation_after_waiting_for_organization_lock ... ok1480test server_fns::permissions::audit_tests::browsing::history_pages_scope_before_limit_and_use_stable_exclusive_timestamp_id_bounds ... ok1481test server_fns::permissions::storage_tests::additive_migration_preserves_populated_legacy_records ... ok1482test server_fns::permissions::template_tests::failed_audit_insert_rolls_back_creation_and_detachment ... ok1483test server_fns::users::tests::authority::user_mutations_wait_for_actor_revocation_and_recheck_after_commit ... ok1484test server_fns::reports::tests::tag_filters_keep_report_dimensions_and_details_in_sync ... ok1485test server_fns::projects::details_tests::project_details_and_tags_follow_current_progress_and_private_permissions ... ok1486test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry ... ok1487test server_fns::reports::tests::report_uses_current_active_actor_and_tenant_for_every_filter ... ok1488test server_fns::permissions::project_management_tests::receipt_conflicts_precede_decoding_and_replay_requires_current_authority ... ok1489test server_fns::permissions::own_tests::own_permissions_preserve_exact_grants_and_independent_identity ... ok1490test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable ... ok1491test server_fns::permissions::storage_tests::referenced_template_deletion_requires_detaching_without_grant_or_identity_loss ... ok1492test server_fns::permissions::storage_tests::source_shape_and_revision_constraints_reject_invalid_rows ... ok1493test reports::streaming::database_tests::streamed_timesheet_exceeds_xlsx_row_limit_without_one_large_body_chunk ... ok1494test server_fns::permissions::template_tests::delete_preserves_adjusted_grants_identity_and_business_rows ... ok1495test jobs::tests::api_job_keeps_its_policy_across_duplicate_enqueue_and_manual_retry ... ok1496test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives ... ok1497test server_fns::permissions::audit_tests::operator_attribution_is_not_a_user_and_excludes_private_replay_payload ... ok1498test server_fns::projects::assignment_tests::removal_preserves_foreign_and_malformed_assignments ... ok1499test server_fns::permissions::template_tests::revocation_winning_org_gate_denies_pending_replay_and_new_command ... ok1500test server_fns::permissions::template_tests::unsupported_receipt_version_fails_without_repeating_the_change ... ok1501test server_fns::permissions::profile_tests::explicit_identity_changes_and_inactive_targets_do_not_change_activation ... ok1502test server_fns::permissions::template_tests::command_receipts_are_not_shared_between_administrators ... ok1503test server_fns::reports::tests::same_names_keep_separate_groups_for_every_dimension ... ok1504test server_fns::users::tests::authority::foreign_and_unknown_actors_cannot_change_local_user_access ... ok1505test server_fns::permissions::storage_tests::unicode_name_migration_preserves_existing_templates ... ok1506test seed::tests::late_seed_failure_rolls_back_all_demo_data ... ok1507test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers has been running for over 60 seconds1508test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers ... ok1509test server_fns::permissions::project_management_tests::reader_tests::manager_reader_observes_direct_deactivation_before_its_actor_lock ... ok15101511test result: ok. 978 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out; finished in 336.49s15121513 Running tests/admin_shell.rs (target/debug/deps/admin_shell-cfc9086f36db03ff)15141515running 7 tests1516test resolved_admin_mounts_the_workspace_and_outlet ... ok1517test failed_user_does_not_mount_admin_content ... ok1518test audit_gate_hides_internal_authentication_failures ... ok1519test pending_user_does_not_mount_admin_content ... ok1520test members_and_managers_never_mount_admin_content ... ok1521test retry_waits_for_fresh_authorization_then_recovers ... ok1522test audit_route_uses_canonical_authority_without_replacing_legacy_page_checks ... ok15231524test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s15251526 Running tests/cli_imports.rs (target/debug/deps/cli_imports-a04e6afe2c98a764)15271528running 5 tests1529test invalid_remote_arguments_have_a_machine_readable_exit ... ok1530test remote_configuration_errors_are_json_and_do_not_load_server_configuration ... ok1531test executable_commands_use_the_documented_authenticated_wire_contract ... ok1532test interrupting_the_executable_waiter_keeps_job_identity_and_never_sends_cancel ... ok1533test executable_wait_and_failure_exit_codes_match_the_json_contract ... ok15341535test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.46s15361537 Running tests/cli_restart.rs (target/debug/deps/cli_restart-f50f4c5a4a29569a)15381539running 1 test1540test detached_csv_recovers_after_the_server_process_is_killed ... ok15411542test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.50s15431544 Running tests/detail_navigation.rs (target/debug/deps/detail_navigation-3cf2134fea69a004)15451546running 44 tests1547test clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok1548test invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok1549test clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok1550test clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok1551test invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok1552test invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok1553test invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok1554test clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok1555test invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok1556test invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok1557test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok1558test clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok1559test clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok1560test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok1561test invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok1562test clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok1563test clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok1564test projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok1565test projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok1566test projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok1567test projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok1568test clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok1569test project_creation::tests::unknown_draft_fields_are_rejected ... ok1570test invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok1571test clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok1572test invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok1573test invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok1574test navigating_between_invoice_ids_loads_the_current_invoice ... ok1575test failed_client_invoices_keep_identity_and_projects_without_claiming_empty_results ... ok1576test member_client_detail_never_requests_invoices_or_displays_default_rates ... ok1577test client_project_failure_preserves_billing_and_invoices ... ok1578test client_detail_links_use_current_client_and_preserve_member_boundaries ... ok1579test client_detail_distinguishes_unset_rate_from_known_zero_project_totals ... ok1580test invoice_detail_shows_saved_adjustments_and_payment_metadata ... ok1581test client_project_totals_failure_does_not_invent_zero_or_hide_project_links ... ok1582test pending_or_failed_navigation_never_shows_the_previous_invoice ... ok1583test pending_or_failed_client_navigation_never_shows_previous_identity_or_work ... ok1584test client_detail_navigation_loads_current_identity_billing_and_work ... ok1585test client_navigation_cancels_previous_pending_invoice_panel ... ok1586test pending_or_failed_project_details_never_show_previous_metadata ... ok1587test empty_project_list_links_to_the_importer_route ... ok1588test navigating_between_project_ids_loads_current_assignments_and_tasks ... ok1589test project_creation_links_use_the_static_new_project_route ... ok1590test pending_or_failed_project_assignments_never_show_previous_assignments ... ok15911592test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s15931594 Running tests/import_jobs_ui.rs (target/debug/deps/import_jobs_ui-f2067de91ab3ab7c)15951596running 35 tests1597test importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok1598test importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok1599test importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok1600test importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok1601test importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok1602test history_failure_can_be_refreshed_and_restores_an_active_job ... ok1603test unselected_connected_importer_does_not_claim_an_empty_history ... ok1604test newly_submitted_failed_preview_cannot_be_confirmed ... ok1605test account_change_is_busy_then_reports_recoverable_authorization_failure ... ok1606test stale_confirmation_keeps_the_dialog_and_shows_the_error ... ok1607test account_change_explains_every_blocker ... ok1608test cancellation_errors_are_visible_and_acceptance_does_not_acknowledge_completion ... ok1609test archived_report_shows_total_errors_and_a_job_scoped_download ... ok1610test blocked_retry_keeps_partial_reports_and_explains_the_missing_prerequisite ... ok1611test failed_poll_can_resume_without_replaying_its_old_error ... ok1612test progress_uses_observed_counts_and_readable_phase_without_an_eta ... ok1613test connection_picker_distinguishes_loading_unavailable_and_unconfigured ... ok1614test api_preview_confirmation_is_bound_to_the_original_account_generation ... ok1615test configured_unbound_connection_explains_read_only_access ... ok1616test missing_job_stops_polling_and_explains_that_status_is_unavailable ... ok1617test reopening_importer_restores_queued_and_running_jobs_from_history ... ok1618test pending_connect_is_single_submission_and_failure_keeps_a_recovery_action ... ok1619test retry_errors_are_visible_and_success_restarts_monitoring ... ok1620test selecting_another_job_drops_the_previous_pending_status_request ... ok1621test submission_displays_its_acknowledged_state_before_status_polling_returns ... ok1622test history_can_page_back_and_return_to_the_latest_imports ... ok1623test connection_actions_prevent_duplicate_submissions_and_keep_errors_local ... ok1624test account_change_confirmation_can_cancel_without_mutation_in_both_binding_states ... ok1625test navigating_away_invalidates_a_pending_preview_confirmation ... ok1626test connection_management_groups_actions_and_never_promises_automatic_repair ... ok1627test replacing_a_file_during_preview_does_not_change_the_committed_source ... ok1628test history_labels_selection_and_unknown_metadata_are_readable ... ok1629test historical_preview_is_read_only_and_selecting_another_job_clears_it ... ok1630test failed_and_cancelled_history_shows_partial_outcomes_without_success_actions ... ok1631test result_copy_distinguishes_preview_zero_skipped_and_mixed_outcomes ... ok16321633test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s16341635 Running tests/integration.rs (target/debug/deps/integration-a2529603f2384e01)16361637running 36 tests1638test admin_changes_user_role ... ok1639test invoicing_update_skips_already_invoiced_entries ... ok1640test timer_under_a_minute_records_zero ... ok1641test deactivated_user_blocked_and_history_preserved ... ok1642test unassigned_user_cannot_create_entry ... ok1643test reject_after_approve_reopens_entries ... ok1644test timer_start_stop_records_minutes ... ok1645test stopping_timer_records_start_minute ... ok1646test rate_resolution_cascade ... ok1647test a_second_running_timer_is_refused_by_the_insert ... ok1648test submitted_entries_cannot_be_updated ... ok1649test line_amount_cents_sql_and_rust_reject_final_overflow ... ok1650test new_task_becomes_loggable_on_project ... ok1651test approved_entries_are_invoiceable ... ok1652test rounding_applied_on_submit ... ok1653test one_timer_per_user_enforced ... ok1654test start_minute_round_trips_and_is_constrained ... ok1655test resubmit_after_approve_is_refused ... ok1656test void_invoice_restores_entries ... ok1657test last_active_admin_cannot_be_removed ... ok1658test role_gating_member_vs_manager_vs_admin ... ok1659test submit_week_with_running_timer_is_refused ... ok1660test the_long_timer_sweep_claims_each_timer_once ... ok1661test reschedule_moves_open_entry_and_rejects_locked ... ok1662test stop_timer_refuses_entry_that_left_open ... ok1663test approval_workflow_approve_and_reject ... ok1664test generate_invoice_totals_match ... ok1665test approval_hours_aggregate_billable_within_period ... ok1666test totals_unaffected_by_start_minute ... ok1667test reorder_untimed_orders_and_moves_across_days ... ok1668test line_amount_cents_sql_matches_rust ... ok1669test invoiced_entries_cannot_be_rebilled ... ok1670test project_spend_grouped_in_sql_matches_the_rust_fold ... ok1671test inactive_project_hidden_from_picker_but_kept_on_history ... ok1672test duplicate_invoice_numbers_rejected ... ok1673test admin_creates_user_and_duplicate_rejected ... ok16741675test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.70s16761677 Running tests/new_project_screen.rs (target/debug/deps/new_project_screen-e6235a8dbe701f5c)16781679running 45 tests1680test new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok1681test new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok1682test new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok1683test new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok1684test new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok1685test new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok1686test new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok1687test new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok1688test new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok1689test new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok1690test new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok1691test new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok1692test new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok1693test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok1694test new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok1695test new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok1696test new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok1697test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok1698test compact_input_adds_utilities_and_accessible_name_without_losing_native_state ... ok1699test an_input_can_link_its_validation_error_without_changing_its_value_or_class ... ok1700test checkbox_error_identity_is_opt_in_without_changing_its_behavior ... ok1701test new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok1702test shared_input_without_options_keeps_its_original_class_and_external_label ... ok1703test project_creation::tests::unknown_draft_fields_are_rejected ... ok1704test new_project::tests::only_known_validation_fields_can_target_a_control ... ok1705test navigation_icons_keep_default_dimensions_and_allow_opt_in_sizing ... ok1706test textarea_and_selector_error_links_are_opt_in_and_preserve_controls ... ok1707test billing_and_visibility_keep_native_radios_inside_designed_option_cards ... ok1708test recovered_tags_use_the_shared_inline_chip_field_without_saving ... ok1709test time_and_materials_restores_project_rate_and_budget_without_enabling_unconfigured_email ... ok1710test nonbillable_hides_fee_rate_and_invoice_controls_without_erasing_the_draft ... ok1711test nonbillable_budget_picker_omits_fee_modes ... ok1712test client_and_currency_use_labelled_form_dropdowns ... ok1713test assignment_controls_reuse_searchable_picker_and_compact_task_entry ... ok1714test administrative_notes_only_render_for_an_authorized_editor ... ok1715test recovered_client_outside_the_catalog_page_keeps_its_currency_and_name ... ok1716test empty_form_has_labelled_fields_no_demo_data_and_no_spurious_save ... ok1717test invoice_defaults_restore_custom_terms_and_named_second_tax ... ok1718test tasks_and_team_restore_scoped_settings_without_exposing_costs_to_managers ... ok1719test planning_dates_restore_readable_shared_calendar_fields_without_saving ... ok1720test edit_prefills_legacy_currency_and_type_without_reading_or_saving_a_draft ... ok1721test a_real_code_suggestion_does_not_replace_recovered_input ... ok1722test recovered_tasks_and_people_outside_the_catalog_page_keep_their_identity ... ok1723test fixed_fee_restores_each_schedule_and_never_shows_hourly_rate_controls ... ok1724test task_rate_placeholders_use_source_currency_not_workspace_currency ... ok17251726test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s17271728 Running tests/own_permissions_ui.rs (target/debug/deps/own_permissions_ui-725e1362855e1d0e)17291730running 11 tests1731test permission_description::tests::permission_descriptions_cover_each_grant_distinctly ... ok1732test own_permissions::tests::own_permissions_view_loading_hides_previous_snapshot ... ok1733test own_permissions::tests::own_permissions_view_grants_do_not_promise_unavailable_features ... ok1734test own_permissions::tests::own_permissions_view_does_not_disclose_internal_fields_or_offer_edits ... ok1735test own_permissions::tests::own_permissions_view_legacy_is_not_empty_or_a_profile ... ok1736test own_permissions::tests::own_permissions_view_empty_grants_are_not_normalized ... ok1737test own_permissions::tests::own_permissions_view_admin_identity_is_explicit_not_derived_from_grants ... ok1738test own_permissions::tests::own_permissions_view_unsupported_catalog_hides_uninterpretable_grants ... ok1739test own_permissions::tests::own_permissions_view_preserves_exact_grants_without_profile_inference ... ok1740test own_permissions::tests::own_permissions_view_distinguishes_authentication_forbidden_and_failure ... ok1741test refresh_uses_a_fresh_read_hides_stale_grants_and_recovers_from_errors ... ok17421743test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s17441745 Running tests/permission_audit_ui.rs (target/debug/deps/permission_audit_ui-cec7e3cc4bbeadac)17461747running 5 tests1748test permission_description::tests::permission_descriptions_cover_each_grant_distinctly ... ok1749test different_requester_response_is_never_rendered_or_adopted ... ok1750test history_details_preserve_recorded_grants_sources_detachment_and_operator_identity ... ok1751test initial_empty_and_failed_responses_are_distinct_and_sanitized ... ok1752test pages_bind_requester_replace_history_and_hide_stale_content_during_refresh ... ok17531754test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s17551756 Running tests/timer_widget.rs (target/debug/deps/timer_widget-c2ad097755860161)17571758running 1 test1759test timer_names_reuse_lookups_and_follow_resource_changes ... ok17601761test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s17621763 Running tests/trigger_utilities.rs (target/debug/deps/trigger_utilities-3dff9138a2d8947c)17641765running 8 tests1766test checkbox_keeps_labelled_unchecked_defaults ... ok1767test combobox_composes_trigger_utilities ... ok1768test compact_mixed_checkbox_keeps_an_accessible_name ... ok1769test combobox_keeps_compact_defaults ... ok1770test disabled_checked_checkbox_is_natively_disabled ... ok1771test menu_keeps_compact_defaults ... ok1772test menu_composes_trigger_utilities ... ok1773test menu_can_disable_its_native_trigger ... ok17741775test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s17761777waiting for server to shut down.... done1778server stopped1779buildPhase completed in 21 minutes 25 seconds