nixbot

builds

cancelled checks.aarch64-linux.tests build #740 · raw · eval 177 ms · 18.0 MiB allocated · ·

1this derivation will be built:2  /nix/store/1yk037vrpcvjfwyklqib11w1kp2qfqpa-horae-tests-0.1.0.drv3building '/nix/store/1yk037vrpcvjfwyklqib11w1kp2qfqpa-horae-tests-0.1.0.drv' on 'grpc://farm.numtide.com:50051?connect-timeout=21&system=aarch64-linux&token-file=/run/nix-farm-client/farm-token'4building '/nix/store/1yk037vrpcvjfwyklqib11w1kp2qfqpa-horae-tests-0.1.0.drv' on farm.numtide.com:500515horae-tests-0.1.0> elastic-arm-77c76b28: building 1yk037vrpcvjfwyklqib11w1kp2qfqpa-horae-tests-0.1.0.drv6horae-tests-0.1.0> Running phase: unpackPhase7horae-tests-0.1.0> unpacking source archive /nix/store/xxlnhm2l4kjkn6kcvsryd6pgaib7hyl2-source8horae-tests-0.1.0> source root is source9horae-tests-0.1.0> Running phase: patchPhase10horae-tests-0.1.0> Executing configureCargoCommonVars11horae-tests-0.1.0> decompressing cargo artifacts from /nix/store/27yc999dq2x3h674kn2my9as0cr2ivc0-horae-checks-deps-0.1.0/target.tar.zst to target12horae-tests-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase13horae-tests-0.1.0> Running phase: configurePhase14horae-tests-0.1.0> will append /build/source/.cargo-home/config.toml with contents of /nix/store/ms7hqp8hk0akra264q8zwf68mchv33n1-vendor-cargo-deps/config.toml15horae-tests-0.1.0> default configurePhase, nothing to do16horae-tests-0.1.0> Running phase: buildPhase17horae-tests-0.1.0> +++ command cargo nextest run -p horae-core --test-threads 418horae-tests-0.1.0>    Compiling proc-macro2 v1.0.10619horae-tests-0.1.0>    Compiling serde_core v1.0.22820horae-tests-0.1.0>    Compiling num-traits v0.2.1921horae-tests-0.1.0>    Compiling serde v1.0.22822horae-tests-0.1.0>    Compiling quote v1.0.4623horae-tests-0.1.0>    Compiling syn v2.0.11824horae-tests-0.1.0>    Compiling uuid v1.23.425horae-tests-0.1.0>    Compiling serde_derive v1.0.22826horae-tests-0.1.0>    Compiling thiserror-impl v2.0.1827horae-tests-0.1.0>    Compiling thiserror v2.0.1828horae-tests-0.1.0>    Compiling chrono v0.4.4529horae-tests-0.1.0>    Compiling horae-core v0.1.0 (/build/source/crates/core)30horae-tests-0.1.0>     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.81s31horae-tests-0.1.0>      Running [ 00:00:00]              0/245: 4 running, 0 passed, 0 skipped     32horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget33horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band34horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances35horae-tests-0.1.0> ------------36horae-tests-0.1.0>  Nextest run ID 4d315862-74b2-482c-9c62-408d01337c00 with nextest profile: default37horae-tests-0.1.0>     Starting 245 tests across 1 binary38horae-tests-0.1.0>      Running [ 00:00:00]              0/245: 4 running, 0 passed, 0 skipped     39horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget40horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band41horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances42horae-tests-0.1.0>      Running [ 00:00:00]              0/245: 4 running, 0 passed, 0 skipped     43horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget44horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band45horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances46horae-tests-0.1.0>      Running [ 00:00:00]              0/245: 4 running, 0 passed, 0 skipped     47horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget48horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band49horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances50horae-tests-0.1.0>      Running [ 00:00:00] >            1/245: 4 running, 0 passed, 0 skipped     51horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget52horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band53horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances54horae-tests-0.1.0>      Running [ 00:00:00] >            1/245: 4 running, 0 passed, 0 skipped     55horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget56horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band57horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances58horae-tests-0.1.0>      Running [ 00:00:00] >            1/245: 4 running, 0 passed, 0 skipped     59horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget60horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band61horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances62horae-tests-0.1.0>      Running [ 00:00:00] >            1/245: 4 running, 0 passed, 0 skipped     63horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget64horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band65horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances66horae-tests-0.1.0>      Running [ 00:00:00] >            1/245: 4 running, 0 passed, 0 skipped     67horae-tests-0.1.0>              [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget68horae-tests-0.1.0>              [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band69horae-tests-0.1.0>              [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances70horae-tests-0.1.0>      Running [ 00:00:00] >          18/245: 4 running, 18 passed, 0 skipped     71horae-tests-0.1.0>              [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text72horae-tests-0.1.0>              [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields73horae-tests-0.1.0>              [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit74horae-tests-0.1.0>         PASS [   0.008s] horae-core budget::tests::a_single_jump_announces_every_crossed_band75horae-tests-0.1.0>         PASS [   0.011s] horae-core budget::tests::allocated_totals_exclude_blank_but_include_zero_allowances76horae-tests-0.1.0>         PASS [   0.012s] horae-core budget::tests::allocated_totals_do_not_hide_individual_overruns_or_recover_overflow_as_zero77horae-tests-0.1.0>         PASS [   0.013s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget78horae-tests-0.1.0>         PASS [   0.007s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values79horae-tests-0.1.0>         PASS [   0.005s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets80horae-tests-0.1.0>         PASS [   0.005s] horae-core budget::tests::each_crossing_is_announced_once81horae-tests-0.1.0>         PASS [   0.013s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows82horae-tests-0.1.0>         PASS [   0.013s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding83horae-tests-0.1.0>         PASS [   0.015s] horae-core budget::tests::current_band_is_the_highest_reached84horae-tests-0.1.0>         PASS [   0.009s] horae-core budget::tests::headline_consumption_or_remaining_overflow_is_unavailable85horae-tests-0.1.0>         PASS [   0.007s] horae-core budget::tests::headline_is_unallocated_only_without_any_allowance86horae-tests-0.1.0>         PASS [   0.010s] horae-core budget::tests::headline_allowance_overflow_is_unavailable_not_unallocated87horae-tests-0.1.0>         PASS [   0.009s] horae-core budget::tests::headline_excludes_blank_counts_zero_and_keeps_overrun_signed88horae-tests-0.1.0>         PASS [   0.007s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts89horae-tests-0.1.0>         PASS [   0.008s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band90horae-tests-0.1.0>         PASS [   0.012s] horae-core budget::tests::no_band_for_zero_or_missing_budget91horae-tests-0.1.0>         PASS [   0.012s] horae-core budget::tests::large_values_do_not_overflow92horae-tests-0.1.0>      Running [ 00:00:00] >          18/245: 4 running, 18 passed, 0 skipped     93horae-tests-0.1.0>              [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text94horae-tests-0.1.0>              [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields95horae-tests-0.1.0>              [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit96horae-tests-0.1.0>      Running [ 00:00:00] =>         32/245: 4 running, 32 passed, 0 skipped     97horae-tests-0.1.0>              [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign98horae-tests-0.1.0>              [ 00:00:00] horae-core se_preserves_u32_boundary_without_saturating99horae-tests-0.1.0>              [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator100horae-tests-0.1.0>         PASS [   0.009s] horae-core client::tests::optional_text_normalizes_only_blank_fields101horae-tests-0.1.0>         PASS [   0.010s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text102horae-tests-0.1.0>         PASS [   0.006s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit103horae-tests-0.1.0>         PASS [   0.005s] horae-core duration::tests::format_hhmm_pads_minutes104horae-tests-0.1.0>         PASS [   0.012s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names105horae-tests-0.1.0>         PASS [   0.011s] horae-core duration::tests::format_clamps_negative_to_zero106horae-tests-0.1.0>         PASS [   0.012s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields107horae-tests-0.1.0>         PASS [   0.017s] horae-core duration::tests::format_hours2_is_exact_where_float_division_is_not108horae-tests-0.1.0>         PASS [   0.012s] horae-core duration::tests::format_round_trip109horae-tests-0.1.0>         PASS [   0.015s] horae-core duration::tests::minutes_between_is_exact_no_minimum110horae-tests-0.1.0>         PASS [   0.012s] horae-core duration::tests::parse_decimal111horae-tests-0.1.0>         PASS [   0.009s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly112horae-tests-0.1.0>         PASS [   0.016s] horae-core duration::tests::parse_colon113horae-tests-0.1.0>         PASS [   0.005s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking114horae-tests-0.1.0>      Running [ 00:00:00] =>         32/245: 4 running, 32 passed, 0 skipped     115horae-tests-0.1.0>              [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign116horae-tests-0.1.0>              [ 00:00:00] horae-core se_preserves_u32_boundary_without_saturating117horae-tests-0.1.0>              [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator118horae-tests-0.1.0>      Running [ 00:00:00] =>         44/245: 4 running, 32 passed, 0 skipped     119horae-tests-0.1.0>              [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign120horae-tests-0.1.0>              [ 00:00:00] horae-core se_preserves_u32_boundary_without_saturating121horae-tests-0.1.0>              [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator122horae-tests-0.1.0>         PASS [   0.016s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating123horae-tests-0.1.0>         PASS [   0.013s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator124horae-tests-0.1.0>         PASS [   0.011s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values125horae-tests-0.1.0>         PASS [   0.010s] horae-core importers::harvest::client::tests::blank_secret_keeps_only_a_readable_secret_of_the_same_client126horae-tests-0.1.0>         PASS [   0.010s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day127horae-tests-0.1.0>         PASS [   0.011s] horae-core importers::harvest::client::tests::client_id_and_secret_are_bounded_and_not_blank128horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::client::tests::environment_client_and_missing_key_are_not_editable129horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::client::tests::environment_redirect_url_replaces_the_submitted_one130horae-tests-0.1.0>         PASS [   0.012s] horae-core importers::harvest::client::tests::first_save_trims_and_requires_a_secret131horae-tests-0.1.0>         PASS [   0.012s] horae-core importers::harvest::client::tests::only_a_stored_client_without_any_redirect_url_needs_one132horae-tests-0.1.0>         PASS [   0.012s] horae-core importers::harvest::client::tests::only_a_different_client_id_disconnects133horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::client::tests::redirect_url_must_be_the_harvest_callback_on_a_plain_origin134horae-tests-0.1.0>         PASS [   0.089s] horae-core duration::tests::format_hours2_keeps_ordinary_output_and_sign135horae-tests-0.1.0>      Running [ 00:00:00] =>         45/245: 4 running, 45 passed, 0 skipped     136horae-tests-0.1.0>              [ 00:00:00] horae-core high_precision_without_intermediate_overflow137horae-tests-0.1.0>              [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals138horae-tests-0.1.0>              [ 00:00:00] horae-core he_i64_boundary_and_rejects_rounding_past_it139horae-tests-0.1.0>      Running [ 00:00:00] ==>        60/245: 4 running, 60 passed, 0 skipped     140horae-tests-0.1.0>              [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals141horae-tests-0.1.0>              [ 00:00:00] horae-core ::tests::composite_components_do_not_collide142horae-tests-0.1.0>              [ 00:00:00] horae-core :normalize_matches_sql_harvest_norm_contract143horae-tests-0.1.0>         PASS [   0.017s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it144horae-tests-0.1.0>         PASS [   0.017s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow145horae-tests-0.1.0>         PASS [   0.012s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking146horae-tests-0.1.0>         PASS [   0.010s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits147horae-tests-0.1.0>         PASS [   0.010s] horae-core importers::harvest::convert::tests::garbage_is_rejected148horae-tests-0.1.0>         PASS [   0.012s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly149horae-tests-0.1.0>         PASS [   0.013s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact150horae-tests-0.1.0>         PASS [   0.016s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform151horae-tests-0.1.0>         PASS [   0.010s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse152horae-tests-0.1.0>         PASS [   0.005s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform153horae-tests-0.1.0>         PASS [   0.010s] horae-core importers::harvest::convert::tests::money_common_values_are_exact154horae-tests-0.1.0>         PASS [   0.006s] horae-core importers::harvest::convert::tests::negative_is_rejected155horae-tests-0.1.0>         PASS [   0.006s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary156horae-tests-0.1.0>         PASS [   0.013s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up157horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace158horae-tests-0.1.0>      Running [ 00:00:00] ==>        60/245: 4 running, 60 passed, 0 skipped     159horae-tests-0.1.0>              [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals160horae-tests-0.1.0>              [ 00:00:00] horae-core ::tests::composite_components_do_not_collide161horae-tests-0.1.0>              [ 00:00:00] horae-core :normalize_matches_sql_harvest_norm_contract162horae-tests-0.1.0>      Running [ 00:00:00] ==>        78/245: 4 running, 60 passed, 0 skipped     163horae-tests-0.1.0>              [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals164horae-tests-0.1.0>              [ 00:00:00] horae-core ::tests::composite_components_do_not_collide165horae-tests-0.1.0>              [ 00:00:00] horae-core :normalize_matches_sql_harvest_norm_contract166horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide167horae-tests-0.1.0>         PASS [   0.009s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract168horae-tests-0.1.0>         PASS [   0.010s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds169horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero170horae-tests-0.1.0>         PASS [   0.014s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent171horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name172horae-tests-0.1.0>         PASS [   0.083s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals173horae-tests-0.1.0>         PASS [   0.005s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work174horae-tests-0.1.0>         PASS [   0.014s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present175horae-tests-0.1.0>         PASS [   0.012s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches176horae-tests-0.1.0>         PASS [   0.005s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches177horae-tests-0.1.0>         PASS [   0.016s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects178horae-tests-0.1.0>         PASS [   0.005s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors179horae-tests-0.1.0>         PASS [   0.007s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error180horae-tests-0.1.0>         PASS [   0.008s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names181horae-tests-0.1.0>         PASS [   0.005s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow182horae-tests-0.1.0>         PASS [   0.012s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts183horae-tests-0.1.0>         PASS [   0.008s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order184horae-tests-0.1.0>      Running [ 00:00:00] ==>        78/245: 4 running, 78 passed, 0 skipped     185horae-tests-0.1.0>              [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line186horae-tests-0.1.0>              [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal187horae-tests-0.1.0>              [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available188horae-tests-0.1.0>      Running [ 00:00:00] ===>       98/245: 4 running, 78 passed, 0 skipped     189horae-tests-0.1.0>              [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line190horae-tests-0.1.0>              [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal191horae-tests-0.1.0>              [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available192horae-tests-0.1.0>         PASS [   0.015s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal193horae-tests-0.1.0>         PASS [   0.009s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available194horae-tests-0.1.0>         PASS [   0.026s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line195horae-tests-0.1.0>         PASS [   0.009s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow196horae-tests-0.1.0>         PASS [   0.008s] horae-core invoice::tests::invoice_adjustments_round_components_half_up197horae-tests-0.1.0>         PASS [   0.015s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes198horae-tests-0.1.0>         PASS [   0.009s] horae-core invoice::tests::line_amount_90_minutes199horae-tests-0.1.0>         PASS [   0.006s] horae-core invoice::tests::line_amount_half_hour200horae-tests-0.1.0>         PASS [   0.008s] horae-core invoice::tests::line_amount_exact_hour201horae-tests-0.1.0>         PASS [   0.011s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts202horae-tests-0.1.0>         PASS [   0.012s] horae-core invoice::tests::line_amount_odd_minutes203horae-tests-0.1.0>         PASS [   0.008s] horae-core invoice::tests::line_amount_zero_minutes204horae-tests-0.1.0>         PASS [   0.010s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results205horae-tests-0.1.0>         PASS [   0.015s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even206horae-tests-0.1.0>         PASS [   0.008s] horae-core invoice::tests::resolve_rate_cascade207horae-tests-0.1.0>         PASS [   0.009s] horae-core invoice::tests::line_amount_zero_rate208horae-tests-0.1.0>         PASS [   0.008s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate209horae-tests-0.1.0>         PASS [   0.006s] horae-core money::tests::addition_rejects_overflow_in_both_directions210horae-tests-0.1.0>         PASS [   0.006s] horae-core money::tests::a_withheld_amount_hides_every_currency_total211horae-tests-0.1.0>         PASS [   0.009s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources212horae-tests-0.1.0>         PASS [   0.005s] horae-core money::tests::currency_totals_are_exact_per_currency_and_ordered_by_code213horae-tests-0.1.0>         PASS [   0.006s] horae-core money::tests::currency_totals_keep_zero_and_signed_sums214horae-tests-0.1.0>      Running [ 00:00:00] ===>     100/245: 4 running, 100 passed, 0 skipped     215horae-tests-0.1.0>              [ 00:00:00] horae-core currency_checks_and_representable_boundaries216horae-tests-0.1.0>              [ 00:00:00] horae-core otals_report_only_the_final_sum_out_of_range217horae-tests-0.1.0>              [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign218horae-tests-0.1.0>      Running [ 00:00:00] ===>     119/245: 4 running, 119 passed, 0 skipped     219horae-tests-0.1.0>              [ 00:00:00] horae-core ate_grants_instead_of_silently_deduplicating220horae-tests-0.1.0>              [ 00:00:00] horae-core ored_tests::rejects_each_missing_floor_grant221horae-tests-0.1.0>              [ 00:00:00] horae-core ved_selection_instead_of_adding_member_floor222horae-tests-0.1.0>         PASS [   0.015s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries223horae-tests-0.1.0>         PASS [   0.007s] horae-core money::tests::currency_totals_report_only_the_final_sum_out_of_range224horae-tests-0.1.0>         PASS [   0.005s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign225horae-tests-0.1.0>         PASS [   0.008s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit226horae-tests-0.1.0>         PASS [   0.005s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift227horae-tests-0.1.0>         PASS [   0.008s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts228horae-tests-0.1.0>         PASS [   0.006s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs229horae-tests-0.1.0>         PASS [   0.011s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent230horae-tests-0.1.0>         PASS [   0.008s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable231horae-tests-0.1.0>         PASS [   0.012s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval232horae-tests-0.1.0>         PASS [   0.011s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection233horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants234horae-tests-0.1.0>         PASS [   0.013s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks235horae-tests-0.1.0>         PASS [   0.006s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope236horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success237horae-tests-0.1.0>         PASS [   0.014s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible238horae-tests-0.1.0>         PASS [   0.020s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set239horae-tests-0.1.0>         PASS [   0.021s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses240horae-tests-0.1.0>         PASS [   0.007s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains241horae-tests-0.1.0>      Running [ 00:00:00] ===>     119/245: 4 running, 119 passed, 0 skipped     242horae-tests-0.1.0>              [ 00:00:00] horae-core ate_grants_instead_of_silently_deduplicating243horae-tests-0.1.0>              [ 00:00:00] horae-core ored_tests::rejects_each_missing_floor_grant244horae-tests-0.1.0>              [ 00:00:00] horae-core ved_selection_instead_of_adding_member_floor245horae-tests-0.1.0>      Running [ 00:00:00] ====>    131/245: 4 running, 131 passed, 0 skipped     246horae-tests-0.1.0>              [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection247horae-tests-0.1.0>              [ 00:00:00] horae-core ce_edges_without_extra_cross_resource_grants248horae-tests-0.1.0>              [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog249horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating250horae-tests-0.1.0>         PASS [   0.006s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input251horae-tests-0.1.0>         PASS [   0.005s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults252horae-tests-0.1.0>         PASS [   0.014s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant253horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants254horae-tests-0.1.0>         PASS [   0.019s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor255horae-tests-0.1.0>         PASS [   0.009s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set256horae-tests-0.1.0>         PASS [   0.017s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants257horae-tests-0.1.0>         PASS [   0.017s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog258horae-tests-0.1.0>         PASS [   0.017s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids259horae-tests-0.1.0>         PASS [   0.007s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants260horae-tests-0.1.0>         PASS [   0.016s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management261horae-tests-0.1.0>      Running [ 00:00:00] ====>    131/245: 4 running, 131 passed, 0 skipped     262horae-tests-0.1.0>              [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection263horae-tests-0.1.0>              [ 00:00:00] horae-core ce_edges_without_extra_cross_resource_grants264horae-tests-0.1.0>              [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog265horae-tests-0.1.0>      Running [ 00:00:00] ====>    141/245: 4 running, 141 passed, 0 skipped     266horae-tests-0.1.0>              [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free267horae-tests-0.1.0>              [ 00:00:00] horae-core _reject_legacy_rank_names_and_unknown_values268horae-tests-0.1.0>              [ 00:00:00] horae-core ing_absent_permission_is_an_idempotent_no_op269horae-tests-0.1.0>         PASS [   0.013s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants270horae-tests-0.1.0>         PASS [   0.011s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog271horae-tests-0.1.0>         PASS [   0.016s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor272horae-tests-0.1.0>         PASS [   0.017s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies273horae-tests-0.1.0>         PASS [   0.012s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants274horae-tests-0.1.0>         PASS [   0.018s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent275horae-tests-0.1.0>         PASS [   0.060s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection276horae-tests-0.1.0>         PASS [   0.016s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified277horae-tests-0.1.0>         PASS [   0.019s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion278horae-tests-0.1.0>         PASS [   0.019s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access279horae-tests-0.1.0>      Running [ 00:00:00] ====>    141/245: 4 running, 141 passed, 0 skipped     280horae-tests-0.1.0>              [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free281horae-tests-0.1.0>              [ 00:00:00] horae-core _reject_legacy_rank_names_and_unknown_values282horae-tests-0.1.0>              [ 00:00:00] horae-core ing_absent_permission_is_an_idempotent_no_op283horae-tests-0.1.0>      Running [ 00:00:00] =====>   157/245: 4 running, 141 passed, 0 skipped     284horae-tests-0.1.0>              [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free285horae-tests-0.1.0>              [ 00:00:00] horae-core _reject_legacy_rank_names_and_unknown_values286horae-tests-0.1.0>              [ 00:00:00] horae-core ing_absent_permission_is_an_idempotent_no_op287horae-tests-0.1.0>         PASS [   0.014s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed288horae-tests-0.1.0>         PASS [   0.016s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op289horae-tests-0.1.0>         PASS [   0.020s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values290horae-tests-0.1.0>         PASS [   0.040s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free291horae-tests-0.1.0>         PASS [   0.013s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write292horae-tests-0.1.0>         PASS [   0.005s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority293horae-tests-0.1.0>         PASS [   0.011s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families294horae-tests-0.1.0>         PASS [   0.012s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals295horae-tests-0.1.0>         PASS [   0.008s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names296horae-tests-0.1.0>         PASS [   0.013s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces297horae-tests-0.1.0>         PASS [   0.016s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected298horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility299horae-tests-0.1.0>         PASS [   0.006s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants300horae-tests-0.1.0>         PASS [   0.007s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor301horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration302horae-tests-0.1.0>         PASS [   0.028s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair303horae-tests-0.1.0>         PASS [   0.007s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it304horae-tests-0.1.0>      Running [ 00:00:00] =====>   158/245: 4 running, 158 passed, 0 skipped     305horae-tests-0.1.0>              [ 00:00:00] horae-core ::tests::own_tracking_floor_does_not_qualify306horae-tests-0.1.0>              [ 00:00:00] horae-core _defaults_have_the_approved_financial_access307horae-tests-0.1.0>              [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope308horae-tests-0.1.0>      Running [ 00:00:00] =====>   180/245: 4 running, 180 passed, 0 skipped     309horae-tests-0.1.0>              [ 00:00:00] horae-core ct_missing_overlong_and_excessive_milestones310horae-tests-0.1.0>              [ 00:00:00] horae-core hedules_validate_amounts_and_milestone_total311horae-tests-0.1.0>              [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials312horae-tests-0.1.0>         PASS [   0.015s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify313horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access314horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension315horae-tests-0.1.0>         PASS [   0.013s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope316horae-tests-0.1.0>         PASS [   0.009s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write317horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value318horae-tests-0.1.0>         PASS [   0.005s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit319horae-tests-0.1.0>         PASS [   0.006s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants320horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection321horae-tests-0.1.0>         PASS [   0.009s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions322horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant323horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields324horae-tests-0.1.0>         PASS [   0.007s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates325horae-tests-0.1.0>         PASS [   0.005s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match326horae-tests-0.1.0>         PASS [   0.009s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension327horae-tests-0.1.0>         PASS [   0.012s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination328horae-tests-0.1.0>         PASS [   0.010s] horae-core permissions::tests::scope_union_obeys_set_laws329horae-tests-0.1.0>         PASS [   0.015s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions330horae-tests-0.1.0>         PASS [   0.010s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates331horae-tests-0.1.0>         PASS [   0.007s] horae-core project::tests::basics_reject_blank_and_overlong_names332horae-tests-0.1.0>         PASS [   0.010s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates333horae-tests-0.1.0>         PASS [   0.008s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency334horae-tests-0.1.0>      Running [ 00:00:00] =====>   180/245: 4 running, 180 passed, 0 skipped     335horae-tests-0.1.0>              [ 00:00:00] horae-core ct_missing_overlong_and_excessive_milestones336horae-tests-0.1.0>              [ 00:00:00] horae-core hedules_validate_amounts_and_milestone_total337horae-tests-0.1.0>              [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials338horae-tests-0.1.0>      Running [ 00:00:00] ======>  198/245: 4 running, 180 passed, 0 skipped     339horae-tests-0.1.0>              [ 00:00:00] horae-core ct_missing_overlong_and_excessive_milestones340horae-tests-0.1.0>              [ 00:00:00] horae-core hedules_validate_amounts_and_milestone_total341horae-tests-0.1.0>              [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials342horae-tests-0.1.0>         PASS [   0.005s] horae-core project::tests::monthly_fee_dates_follow_calendar_months343horae-tests-0.1.0>         PASS [   0.009s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials344horae-tests-0.1.0>         PASS [   0.013s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones345horae-tests-0.1.0>         PASS [   0.007s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs346horae-tests-0.1.0>         PASS [   0.013s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total347horae-tests-0.1.0>         PASS [   0.010s] horae-core project::tests::payment_terms_support_receipt_and_checked_days348horae-tests-0.1.0>         PASS [   0.011s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax349horae-tests-0.1.0>         PASS [   0.011s] horae-core project_activity::tests::absent_dates_mean_all_time350horae-tests-0.1.0>         PASS [   0.012s] horae-core project::tests::percentage_preserves_exact_hundredths351horae-tests-0.1.0>         PASS [   0.009s] horae-core project_activity::tests::accepts_canonical_signed_and_expanded_years352horae-tests-0.1.0>         PASS [   0.011s] horae-core project_activity::tests::accepts_the_largest_representable_total_without_saturation353horae-tests-0.1.0>         PASS [   0.011s] horae-core project_activity::tests::clips_boundary_weeks_and_preserves_empty_weeks354horae-tests-0.1.0>         PASS [   0.013s] horae-core project_activity::tests::calendar_bounds_support_the_representable_extremes355horae-tests-0.1.0>         PASS [   0.008s] horae-core project_activity::tests::clips_the_final_week_before_date_overflow356horae-tests-0.1.0>         PASS [   0.005s] horae-core project_activity::tests::duplicate_dates_and_input_order_do_not_change_the_series357horae-tests-0.1.0>         PASS [   0.011s] horae-core project_activity::tests::every_day_is_counted_once_for_each_week_start_in_full_calendar_years358horae-tests-0.1.0>         PASS [   0.014s] horae-core project_activity::tests::configured_week_start_changes_buckets_at_year_boundary359horae-tests-0.1.0>         PASS [   0.013s] horae-core project_activity::tests::explicit_dates_are_inclusive360horae-tests-0.1.0>         PASS [   0.011s] horae-core project_activity::tests::filters_inclusively_and_accumulates_exact_minutes_from_period_start361horae-tests-0.1.0>      Running [ 00:00:00] ======>  199/245: 4 running, 199 passed, 0 skipped     362horae-tests-0.1.0>              [ 00:00:00] horae-core :ignores_negative_minutes_outside_the_period363horae-tests-0.1.0>              [ 00:00:00] horae-core tivity::tests::includes_leap_day_in_february364horae-tests-0.1.0>              [ 00:00:00] horae-core ::tests::invalid_dates_never_become_all_time365horae-tests-0.1.0>      Running [ 00:00:00] =======> 215/245: 4 running, 215 passed, 0 skipped     366horae-tests-0.1.0>              [ 00:00:00] horae-core tivity::tests::rejects_reversed_custom_dates367horae-tests-0.1.0>              [ 00:00:00] horae-core tivity::tests::year_includes_both_boundaries368horae-tests-0.1.0>              [ 00:00:00] horae-core ucket_limit_is_an_error_even_without_entries369horae-tests-0.1.0>         PASS [   0.005s] horae-core project_activity::tests::month_boundaries_do_not_clamp_from_the_anchor_day370horae-tests-0.1.0>         PASS [   0.010s] horae-core project_activity::tests::ignores_negative_minutes_outside_the_period371horae-tests-0.1.0>         PASS [   0.010s] horae-core project_activity::tests::includes_leap_day_in_february372horae-tests-0.1.0>         PASS [   0.014s] horae-core project_activity::tests::invalid_dates_never_become_all_time373horae-tests-0.1.0>         PASS [   0.008s] horae-core project_activity::tests::negative_minutes_win_over_overflow_in_any_input_order374horae-tests-0.1.0>         PASS [   0.009s] horae-core project_activity::tests::quarters_are_calendar_quarters375horae-tests-0.1.0>         PASS [   0.012s] horae-core project_activity::tests::non_leap_february_ends_on_the_28th376horae-tests-0.1.0>         PASS [   0.006s] horae-core project_activity::tests::rejects_a_huge_range_before_allocating_buckets377horae-tests-0.1.0>         PASS [   0.005s] horae-core project_activity::tests::rejects_negative_billable_or_non_billable_minutes378horae-tests-0.1.0>         PASS [   0.014s] horae-core project_activity::tests::rejects_an_unrepresentable_first_week379horae-tests-0.1.0>         PASS [   0.014s] horae-core project_activity::tests::rejects_cumulative_overflow_across_weeks380horae-tests-0.1.0>         PASS [   0.009s] horae-core project_activity::tests::rejects_noncanonical_iso_dates_in_either_bound381horae-tests-0.1.0>         PASS [   0.023s] horae-core project_activity::tests::refuses_to_truncate_a_period_to_fit_the_bucket_limit382horae-tests-0.1.0>         PASS [   0.013s] horae-core project_activity::tests::rejects_overflow_across_the_billable_split383horae-tests-0.1.0>         PASS [   0.010s] horae-core project_activity::tests::rejects_overflow_within_a_bucket384horae-tests-0.1.0>         PASS [   0.008s] horae-core project_activity::tests::single_day_is_one_bucket_for_every_week_start385horae-tests-0.1.0>      Running [ 00:00:00] =======> 215/245: 4 running, 215 passed, 0 skipped     386horae-tests-0.1.0>              [ 00:00:00] horae-core tivity::tests::rejects_reversed_custom_dates387horae-tests-0.1.0>              [ 00:00:00] horae-core tivity::tests::year_includes_both_boundaries388horae-tests-0.1.0>              [ 00:00:00] horae-core ucket_limit_is_an_error_even_without_entries389horae-tests-0.1.0>      Running [ 00:00:00] =======> 233/245: 4 running, 215 passed, 0 skipped     390horae-tests-0.1.0>              [ 00:00:00] horae-core tivity::tests::rejects_reversed_custom_dates391horae-tests-0.1.0>              [ 00:00:00] horae-core tivity::tests::year_includes_both_boundaries392horae-tests-0.1.0>              [ 00:00:00] horae-core ucket_limit_is_an_error_even_without_entries393horae-tests-0.1.0>         PASS [   0.008s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero394horae-tests-0.1.0>         PASS [   0.018s] horae-core project_activity::tests::rejects_reversed_custom_dates395horae-tests-0.1.0>         PASS [   0.009s] horae-core project_activity::tests::zero_bucket_limit_is_an_error_even_without_entries396horae-tests-0.1.0>         PASS [   0.010s] horae-core project_activity::tests::year_includes_both_boundaries397horae-tests-0.1.0>         PASS [   0.005s] horae-core rounding::tests::result_is_multiple_of_inc398horae-tests-0.1.0>         PASS [   0.005s] horae-core state::tests::invoiced_is_final399horae-tests-0.1.0>         PASS [   0.014s] horae-core rounding::tests::up_and_down400horae-tests-0.1.0>         PASS [   0.017s] horae-core rounding::tests::identity_when_inc_zero401horae-tests-0.1.0>         PASS [   0.005s] horae-core state::tests::member_submit_and_reopen402horae-tests-0.1.0>         PASS [   0.021s] horae-core rounding::tests::nearest_ties_round_up403horae-tests-0.1.0>         PASS [   0.010s] horae-core state::tests::managers_invoice_open_and_approved_time404horae-tests-0.1.0>         PASS [   0.011s] horae-core state::tests::only_manager_can_approve405horae-tests-0.1.0>         PASS [   0.009s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight406horae-tests-0.1.0>         PASS [   0.008s] horae-core time_of_day::tests::format_round_trips407horae-tests-0.1.0>         PASS [   0.016s] horae-core time_of_day::tests::format_12h_matches_harvest_style408horae-tests-0.1.0>         PASS [   0.011s] horae-core time_of_day::tests::parse_reads_12h_including_edges409horae-tests-0.1.0>         PASS [   0.016s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage410horae-tests-0.1.0>         PASS [   0.009s] horae-core types::tests::budget_kind_wire_strings_match_db_enum411horae-tests-0.1.0>         PASS [   0.020s] horae-core time_of_day::tests::parse_reads_24h412horae-tests-0.1.0>      Running [ 00:00:00] =======> 234/245: 4 running, 234 passed, 0 skipped     413horae-tests-0.1.0>              [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step414horae-tests-0.1.0>              [ 00:00:00] horae-core nfigured_week_can_start_in_the_previous_year415horae-tests-0.1.0>              [ 00:00:00] horae-core k_contains_each_day_for_all_seven_start_days416horae-tests-0.1.0>         PASS [   0.016s] horae-core time_of_day::tests::snap_rounds_to_nearest_step417horae-tests-0.1.0>         PASS [   0.012s] horae-core week::tests::configured_week_can_start_in_the_previous_year418horae-tests-0.1.0>         PASS [   0.007s] horae-core week::tests::maps_any_weekday_to_its_monday419horae-tests-0.1.0>         PASS [   0.014s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days420horae-tests-0.1.0>         PASS [   0.012s] horae-core week::tests::configured_week_reports_an_unrepresentable_start421horae-tests-0.1.0>         PASS [   0.007s] horae-core week::tests::week_bounds::end_after_the_representable_range_is_none422horae-tests-0.1.0>         PASS [   0.005s] horae-core week::tests::week_bounds::last_whole_representable_week_is_some423horae-tests-0.1.0>         PASS [   0.005s] horae-core week::tests::week_bounds::week_crossing_a_year_keeps_both_ends424horae-tests-0.1.0>         PASS [   0.010s] horae-core week::tests::week_bounds::start_before_the_representable_range_is_none425horae-tests-0.1.0>         PASS [   0.011s] horae-core week::tests::week_bounds::sunday_start_spans_sunday_to_saturday426horae-tests-0.1.0>         PASS [   0.016s] horae-core week::tests::week_bounds::monday_start_spans_monday_to_sunday427horae-tests-0.1.0> ------------428horae-tests-0.1.0>      Summary [   0.732s] 245 tests run: 245 passed, 0 skipped429horae-tests-0.1.0>      Running [ 00:00:00] ======== 245/245: 4 running, 234 passed, 0 skipped     430horae-tests-0.1.0>              [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step431horae-tests-0.1.0>              [ 00:00:00] horae-core nfigured_week_can_start_in_the_previous_year432horae-tests-0.1.0>              [ 00:00:00] horae-core k_contains_each_day_for_all_seven_start_days433horae-tests-0.1.0> The files belonging to this database system will be owned by user "nixbld".434horae-tests-0.1.0> This user must also own the server process.435horae-tests-0.1.0> 436horae-tests-0.1.0> The database cluster will be initialized with locale "C".437horae-tests-0.1.0> The default text search configuration will be set to "english".438horae-tests-0.1.0> 439horae-tests-0.1.0> Data page checksums are disabled.440horae-tests-0.1.0> 441horae-tests-0.1.0> fixing permissions on existing directory /build/tmp.fOGSsmAgbn ... ok442horae-tests-0.1.0> creating subdirectories ... ok443horae-tests-0.1.0> selecting dynamic shared memory implementation ... posix444horae-tests-0.1.0> selecting default "max_connections" ... 100445horae-tests-0.1.0> selecting default "shared_buffers" ... 128MB446horae-tests-0.1.0> selecting default time zone ... UTC447horae-tests-0.1.0> creating configuration files ... ok448horae-tests-0.1.0> running bootstrap script ... ok449horae-tests-0.1.0> performing post-bootstrap initialization ... ok450horae-tests-0.1.0> syncing data to disk ... ok451horae-tests-0.1.0> 452horae-tests-0.1.0> initdb: warning: enabling "trust" authentication for local connections453horae-tests-0.1.0> initdb: 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.454horae-tests-0.1.0> 455horae-tests-0.1.0> Success. You can now start the database server using:456horae-tests-0.1.0> 457horae-tests-0.1.0>     pg_ctl -D /build/tmp.fOGSsmAgbn -l logfile start458horae-tests-0.1.0> 459horae-tests-0.1.0> waiting for server to start.... done460horae-tests-0.1.0> server started461horae-tests-0.1.0> +++ command cargo test -p horae --features server -- --test-threads 4462horae-tests-0.1.0>    Compiling horae v0.1.0 (/build/source/crates/horae)463horae-tests-0.1.0>    Compiling horae-core v0.1.0 (/build/source/crates/core)464horae-tests-0.1.0>     Finished `test` profile [unoptimized + debuginfo] target(s) in 7m 25s465horae-tests-0.1.0>      Running unittests src/main.rs (target/debug/deps/horae-bc062b60ce8deb2c)466horae-tests-0.1.0> 467horae-tests-0.1.0> running 1636 tests468horae-tests-0.1.0> test auth::oidc::link::tests::issuer_rejects_what_the_url_parser_would_silently_repair ... ok469horae-tests-0.1.0> test auth::oidc::link::tests::decide_follows_the_transition_table ... ok470horae-tests-0.1.0> test auth::oidc::link::tests::configured_issuer_must_match_exactly ... ok471horae-tests-0.1.0> test auth::oidc::link::tests::issuer_spelling_is_accepted_as_given ... ok472horae-tests-0.1.0> test auth::oidc::link::tests::subject_length_counts_utf8_bytes ... ok473horae-tests-0.1.0> test auth::oidc::link::tests::subject_is_kept_exactly_and_rejected_rather_than_trimmed ... ok474horae-tests-0.1.0> test auth::oidc::link::tests::issuer_must_be_https_or_loopback_http_without_query_or_fragment ... ok475horae-tests-0.1.0> test auth::oidc::tests::deactivated_email_match_is_denied ... ok476horae-tests-0.1.0> test auth::oidc::tests::deactivated_subject_match_is_denied ... ok477horae-tests-0.1.0> test auth::oidc::tests::first_login_links_subject_via_verified_email ... ok478horae-tests-0.1.0> test auth::oidc::tests::extra_audiences_are_trusted_only_when_listed ... ok479horae-tests-0.1.0> test auth::oidc::tests::link::a_callback_ordered_after_a_link_of_its_subject_gets_no_session ... ok480horae-tests-0.1.0> test auth::oidc::tests::link::a_deactivation_ordered_after_a_link_still_revokes_sign_in ... ok481horae-tests-0.1.0> test auth::oidc::tests::link::a_callback_ordered_before_a_link_of_the_same_identity_makes_it_a_no_op ... ok482horae-tests-0.1.0> test auth::oidc::tests::link::a_callback_ordered_before_a_link_of_another_subject_is_never_replaced ... ok483horae-tests-0.1.0> test auth::oidc::tests::link::a_deactivation_ordered_first_makes_the_link_write_nothing ... ok484horae-tests-0.1.0> test auth::oidc::tests::link::a_subject_taken_by_an_uncommitted_link_is_refused_by_the_unique_index ... ok485horae-tests-0.1.0> test auth::oidc::tests::link::a_link_ordered_before_another_subjects_callback_keeps_its_binding ... ok486horae-tests-0.1.0> test auth::oidc::tests::link::a_link_ordered_before_a_same_identity_callback_lets_it_resolve ... ok487horae-tests-0.1.0> test auth::oidc::tests::link::links_an_unbound_account_exactly_and_repeats_as_a_no_op ... ok488horae-tests-0.1.0> test auth::oidc::tests::link::records_the_issuer_on_a_legacy_binding_with_the_same_subject ... ok489horae-tests-0.1.0> test auth::oidc::tests::link::refusals_write_nothing ... ok490horae-tests-0.1.0> test auth::oidc::tests::link::two_links_of_one_subject_to_different_accounts_bind_exactly_one ... ok491horae-tests-0.1.0> test auth::oidc::tests::linking::deactivation_during_first_link_denies_login ... ok492horae-tests-0.1.0> test auth::oidc::tests::linking::different_subjects_cannot_both_claim_an_unlinked_account ... ok493horae-tests-0.1.0> test auth::oidc::tests::linking::existing_subject_wins_over_another_accounts_email ... ok494horae-tests-0.1.0> test auth::oidc::tests::linking::held_subject_with_another_accounts_verified_email_changes_nothing ... ok495horae-tests-0.1.0> test auth::oidc::tests::linking::legacy_binding_is_denied_without_adopting_an_issuer ... ok496horae-tests-0.1.0> test auth::oidc::tests::linking::sign_in_resolves_only_the_issuer_and_subject_pair ... ok497horae-tests-0.1.0> test auth::oidc::tests::no_account_is_denied_not_provisioned ... ok498horae-tests-0.1.0> test auth::oidc::tests::subject_match_logs_in_without_relinking ... ok499horae-tests-0.1.0> test auth::oidc::tests::subject_match_takes_precedence_over_email ... ok500horae-tests-0.1.0> test auth::oidc::tests::unverified_email_is_not_matched ... ok501horae-tests-0.1.0> test auth::page::tests::configured_label_is_html_escaped ... ok502horae-tests-0.1.0> test auth::page::tests::dev_variant_offers_the_admin_bypass_and_no_fake_controls ... ok503horae-tests-0.1.0> test auth::page::tests::oidc_variant_uses_the_configured_label_and_hands_off_to_start ... ok504horae-tests-0.1.0> test cli::imports::tests::api_submission_captures_generation_without_retrying_uncertain_acceptance ... ok505horae-tests-0.1.0> test cli::imports::tests::archived_errors_publish_without_clobbering_and_preserve_the_prior_file_on_failure ... ok506horae-tests-0.1.0> test cli::imports::tests::cancellation_racing_completion_does_not_claim_cancellation_was_requested ... ok507horae-tests-0.1.0> test cli::imports::tests::csv_connection_closed_without_response_remains_indeterminate ... ok508horae-tests-0.1.0> test cli::imports::tests::csv_named_pipe_is_rejected_without_waiting_for_a_writer ... ok509horae-tests-0.1.0> test auth::oidc::tests::linking::simultaneous_logins_with_the_same_subject_are_allowed ... ok510horae-tests-0.1.0> test cli::imports::tests::invalid_csv_files_fail_before_contacting_the_server ... ok511horae-tests-0.1.0> test cli::imports::tests::malformed_submission_acknowledgement_retains_its_request_identity ... ok512horae-tests-0.1.0> test cli::imports::tests::missing_and_mismatched_jobs_fail_without_substitution ... ok513horae-tests-0.1.0> test cli::imports::tests::missing_session_is_a_structured_configuration_failure ... ok514horae-tests-0.1.0> test auth::oidc::tests::linking::unverified_email_cannot_link_an_account ... ok515horae-tests-0.1.0> test cli::imports::tests::private_session_accepts_https_and_loopback_only ... ok516horae-tests-0.1.0> test cli::imports::tests::ordinary_json_is_bounded_and_invalid_replies_are_not_echoed ... ok517horae-tests-0.1.0> test cli::imports::tests::redirects_are_not_followed_or_exposed_as_server_error_text ... ok518horae-tests-0.1.0> test cli::imports::tests::retry_snapshot_is_compatible_with_missing_and_future_values ... ok519horae-tests-0.1.0> test cli::imports::tests::session_rejects_cookie_header_injection_without_echoing_the_value ... ok520horae-tests-0.1.0> test cli::imports::tests::session_rejects_plaintext_remote_and_credential_bearing_urls ... ok521horae-tests-0.1.0> test cli::imports::tests::report_marks_confirmed_failed_outcomes_as_incomplete ... ok522horae-tests-0.1.0> test cli::imports::tests::session_rejects_public_permissions_and_symlinks ... ok523horae-tests-0.1.0> test auth::oidc::tests::linking::verified_email_binding_records_the_tokens_issuer ... ok524horae-tests-0.1.0> test cli::imports::tests::status_and_wait_distinguish_failed_jobs_from_failed_reads ... ok525horae-tests-0.1.0> test cli::imports::tests::csv_upload_preserves_bytes_across_stream_chunk_boundaries ... ok526horae-tests-0.1.0> test cli::tests::default_command_rejects_invalid_environment_ports ... ok527horae-tests-0.1.0> test cli::tests::default_command_uses_the_same_defaults_and_environment_as_serve ... ok528horae-tests-0.1.0> test cli::tests::environment_probe ... ok529horae-tests-0.1.0> test cli::tests::link_oidc_requires_every_flag_and_a_uuid ... ok530horae-tests-0.1.0> test cli::tests::remote_commands_reject_conflicting_or_unbounded_options ... ok531horae-tests-0.1.0> test cli::tests::remote_import_and_job_commands_accept_the_documented_arguments ... ok532horae-tests-0.1.0> test components::admin_shell::tests::canonical_grants_choose_the_sections ... ok533horae-tests-0.1.0> test components::admin_shell::tests::policy_zero_follows_the_legacy_role ... ok534horae-tests-0.1.0> test components::admin_shell::tests::unknown_or_failed_state_fails_closed_except_importers_for_admins ... ok535horae-tests-0.1.0> test components::admin_shell::tests::waits_for_both_halves_of_the_session ... ok536horae-tests-0.1.0> test cli::imports::tests::wait_deadline_caps_a_pending_request_without_cancelling_the_job ... ok537horae-tests-0.1.0> test components::debounce::tests::a_re_render_returns_the_same_handle ... ok538horae-tests-0.1.0> test components::debounce::tests::a_burst_of_changes_settles_once_on_the_last_value ... ok539horae-tests-0.1.0> test components::permission_description::tests::permission_descriptions_cover_each_grant_distinctly ... ok540horae-tests-0.1.0> test components::sidebar::tests::clients_link_follows_client_read_and_fails_closed ... ok541horae-tests-0.1.0> test compression_tests::already_compressed_formats_are_sent_as_is ... ok542horae-tests-0.1.0> test compression_tests::html_is_gzipped_when_accepted ... ok543horae-tests-0.1.0> test compression_tests::precompressed_wasm_varies_and_is_not_gzipped_per_request ... ok544horae-tests-0.1.0> test cli::imports::tests::small_csv_upload_preserves_immediate_authorization_rejections ... ok545horae-tests-0.1.0> test config::tests::dev_login_is_allowed_on_loopback ... ok546horae-tests-0.1.0> test config::tests::dev_login_is_refused_off_loopback ... ok547horae-tests-0.1.0> test config::tests::environment::empty_environment_has_no_authentication_or_plugin_credentials ... ok548horae-tests-0.1.0> test config::tests::environment::environment_probe ... ok549horae-tests-0.1.0> test config::tests::environment::example_environment_can_configure_all_required_oidc_and_harvest_fields ... ok550horae-tests-0.1.0> test components::debounce::tests::returning_to_the_settled_value_cancels_the_pending_update ... ok551horae-tests-0.1.0> test config::tests::environment::job_attempt_limit_uses_the_documented_environment_variable ... ok552horae-tests-0.1.0> test compression_tests::streamed_csv_keeps_streaming_and_failures_still_abort ... ok553horae-tests-0.1.0> test config::tests::environment::obsolete_authentication_variables_do_not_configure_the_server ... ok554horae-tests-0.1.0> test config::tests::environment::mail_environment_requires_a_complete_valid_configuration ... ok555horae-tests-0.1.0> test config::tests::environment::invalid_job_attempt_limits_reject_startup ... ok556horae-tests-0.1.0> test config::tests::harvest_secrets_stay_out_of_debug_and_serialized_configuration ... ok557horae-tests-0.1.0> test config::tests::without_dev_login_any_bind_is_fine ... ok558horae-tests-0.1.0> test config::tests::environment::partial_oidc_configuration_remains_disabled_without_a_callback ... ok559horae-tests-0.1.0> test db::tests::pool_connections_force_custom_plans ... ok560horae-tests-0.1.0> test config::tests::environment::secure_cookies_use_the_documented_prefixed_variable ... ok561horae-tests-0.1.0> test cli::imports::tests::small_csv_upload_preserves_immediate_authorization_rejections_across_threads ... ok562horae-tests-0.1.0> test harvest::pagination_tests::client_permissions::client_api_allows_read_only_grants_without_legacy_management ... ok563horae-tests-0.1.0> test harvest::pagination_tests::client_permissions::client_api_preserves_filters_counts_and_foreign_id_denial ... ok564horae-tests-0.1.0> test db::tests::reset_empties_the_database_and_reapplies_migrations ... ok565horae-tests-0.1.0> test harvest::pagination_tests::client_permissions::client_api_observes_revocation_after_waiting_for_current_authority ... ok566horae-tests-0.1.0> test harvest::pagination_tests::client_permissions::client_api_rechecks_activity_after_session_authentication ... ok567horae-tests-0.1.0> test harvest::pagination_tests::harvest_pagination_catalog_links_preserve_filters_and_break_name_ties ... ok568horae-tests-0.1.0> test harvest::pagination_tests::client_permissions::client_api_rejects_unavailable_policy_and_inactive_sessions ... ok569horae-tests-0.1.0> test harvest::pagination_tests::harvest_own_time_omits_private_project_budget_metadata ... ok570horae-tests-0.1.0> test harvest::pagination_tests::harvest_pagination_malformed_filters_are_client_errors ... ok571horae-tests-0.1.0> test harvest::pagination_tests::harvest_pagination_empty_and_out_of_range_pages_keep_the_contract ... ok572horae-tests-0.1.0> test harvest::pagination_tests::harvest_pagination_router_preserves_session_and_tenant_guards ... ok573horae-tests-0.1.0> test harvest::pagination_tests::harvest_pagination_total_pages_does_not_overflow ... ok574horae-tests-0.1.0> test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback ... ok575horae-tests-0.1.0> test harvest::pagination_tests::client_permissions::client_api_does_not_inherit_legacy_role_or_related_workflow_authority ... ok576horae-tests-0.1.0> test harvest::pagination_tests::harvest_project_progress_permissions_cover_counts_pages_and_details ... ok577horae-tests-0.1.0> test harvest::pagination_tests::harvest_pagination_rejects_invalid_windows_on_every_collection ... ok578horae-tests-0.1.0> test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history ... ok579horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_api_managed_scope_requires_current_designation ... ok580horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_api_rechecks_financial_only_revocation ... ok581horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_api_rejects_malformed_state_even_without_visible_rows ... ok582horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_api_retains_filtered_total_past_last_page ... ok583horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_api_shared_member_keeps_hours_but_not_money ... ok584horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_api_does_not_inherit_legacy_administrator_scope ... ok585horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::concurrency::project_api_refreshes_scope_and_money_after_authority_wait ... ok586horae-tests-0.1.0> test harvest::pagination_tests::harvest_pagination_time_entries_keep_the_filtered_set_and_date_ties ... ok587horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_api_excludes_foreign_projects_and_foreign_client_parents ... ok588horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::canonical_project_reader_uses_list_count_and_detail_without_legacy_role ... ok589horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_does_not_inherit_legacy_admin_or_tracking_identity ... ok590horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_filters_archived_tasks_and_preserves_total_past_last_page ... ok591horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_rechecks_catalog_and_financial_grants_after_authority_wait ... ok592horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_rechecks_deactivation_after_session_lookup ... ok593horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_rejects_malformed_canonical_state_without_legacy_fallback ... ok594horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_rechecks_global_rate_access_independently_of_catalog ... ok595horae-tests-0.1.0> test harvest::pagination_tests::project_permissions::concurrency::project_api_rejects_actor_deactivated_after_session_lookup ... ok596horae-tests-0.1.0> test harvest::tests::a_manager_lists_users_with_their_rates ... ok597horae-tests-0.1.0> test harvest::tests::a_manager_sees_the_whole_org ... ok598horae-tests-0.1.0> test harvest::tests::a_member_cannot_fetch_a_colleagues_entry ... ok599horae-tests-0.1.0> test harvest::tests::a_member_cannot_filter_to_a_colleague ... ok600horae-tests-0.1.0> test harvest::tests::a_member_cannot_list_users ... ok601horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_rejects_unknown_policy_before_empty_or_direct_results ... ok602horae-tests-0.1.0> test harvest::tests::a_member_sees_only_their_own_time_entries ... ok603horae-tests-0.1.0> test harvest::pagination_tests::task_permissions::task_api_uses_canonical_catalog_scope_for_count_list_and_direct_id ... ok604horae-tests-0.1.0> test harvest::tests::harvest_effective_minutes_match_sql_for_open_and_frozen_time ... ok605horae-tests-0.1.0> test harvest::tests::harvest_entry_rates_follow_the_cascade_and_frozen_invoice_line ... ok606horae-tests-0.1.0> test harvest::tests::harvest_entry_rates_respect_selected_project_mode ... ok607horae-tests-0.1.0> test harvest::tests::page_window_defaults_and_checked_offsets ... ok608horae-tests-0.1.0> test harvest::tests::harvest_marks_unbilled_non_billable_contexts_consistently ... ok609horae-tests-0.1.0> test harvest::tests::imported_legacy_rates_survive_retry_in_harvest_list_and_detail ... ok610horae-tests-0.1.0> test harvest::tests::members_cannot_read_own_project_rates_or_cost_overrides ... ok611horae-tests-0.1.0> test importers::harvest::account_switch::tests::a_b_a_keeps_old_callbacks_requests_and_retries_fenced ... ok612horae-tests-0.1.0> test importers::harvest::account_switch::tests::change_preserves_terminal_history_and_rejects_stale_confirmation ... ok613horae-tests-0.1.0> test importers::harvest::account_switch::tests::queue_acceptance_does_not_wait_for_the_import_session_lock ... ok614horae-tests-0.1.0> test importers::harvest::account_switch::tests::competing_callbacks_and_confirmations_have_one_winner ... ok615horae-tests-0.1.0> test importers::harvest::account_switch::tests::competing_change_and_submission_cannot_both_succeed ... ok616horae-tests-0.1.0> test importers::harvest::account_switch::tests::disconnect_and_reconnect_fence_callbacks_but_not_same_account_work ... ok617horae-tests-0.1.0> test importers::harvest::account_switch::tests::queued_work_and_provenance_block_without_changing_binding ... ok618horae-tests-0.1.0> test importers::harvest::api_source::http::tests::cancelled_backoff_does_not_wait_or_retry ... ok619horae-tests-0.1.0> test importers::harvest::api_source::http::tests::cursor_links_are_authoritative_even_with_null_or_stale_page_numbers ... ok620horae-tests-0.1.0> test importers::harvest::api_source::http::tests::http_pages_follow_cursor_and_preserve_headers_and_encoded_filter ... ok621horae-tests-0.1.0> test importers::harvest::account_switch::tests::successful_change_preserves_business_rows_and_failure_rolls_back_secrets ... ok622horae-tests-0.1.0> test importers::harvest::account_switch::tests::running_jobs_block_change_and_old_execution_never_reaches_http ... ok623horae-tests-0.1.0> test importers::harvest::api_source::http::tests::missing_next_cursor_is_not_silently_treated_as_completed ... ok624horae-tests-0.1.0> test importers::harvest::account_switch::tests::retry_and_change_are_serialized ... ok625horae-tests-0.1.0> test importers::harvest::api_source::http::tests::persisted_cursor_resumes_with_a_new_client_and_stays_complete_at_eof ... ok626horae-tests-0.1.0> test importers::harvest::api_source::http::tests::pagination_cycle_detection_survives_restarting_after_every_page ... ok627horae-tests-0.1.0> test importers::harvest::api_source::http::tests::rejects_pagination_outside_the_authenticated_endpoint ... ok628horae-tests-0.1.0> test importers::harvest::api_source::http::tests::rejected_page_does_not_advance_the_cursor ... ok629horae-tests-0.1.0> test importers::harvest::api_source::http::tests::resumed_cursor_rejects_untrusted_destinations_and_invalid_state_before_http ... ok630horae-tests-0.1.0> test importers::harvest::api_source::tests::assembled_rows_convert_to_exact_minutes ... ok631horae-tests-0.1.0> test importers::harvest::api_source::tests::assembles_rows_joining_parents_by_id ... ok632horae-tests-0.1.0> test importers::harvest::api_source::tests::hours_render_as_exact_decimals ... ok633horae-tests-0.1.0> test importers::harvest::api_source::tests::http_page_preserves_decimal_values_before_integer_conversion ... ok634horae-tests-0.1.0> test importers::harvest::api_source::tests::json_exponents_expand_exactly_with_bounded_output ... ok635horae-tests-0.1.0> test importers::harvest::api_source::http::tests::http_retries_429_but_never_follows_redirects_or_shortens_long_backoff ... ok636horae-tests-0.1.0> test importers::harvest::api_source::http::tests::http_rejects_oversized_malformed_and_cyclic_pages ... ok637horae-tests-0.1.0> test importers::harvest::api_source::http::tests::slow_consumer_backpressures_http_and_cancellation_stops_further_pages ... ok638horae-tests-0.1.0> test importers::harvest::client_settings::tests::a_client_can_be_removed_without_the_encryption_key ... ok639horae-tests-0.1.0> test importers::harvest::client_settings::tests::a_client_saved_under_the_environment_redirect_url_asks_for_its_own ... ok640horae-tests-0.1.0> test importers::harvest::client_settings::tests::active_imports_and_the_import_lock_refuse_changes ... ok641horae-tests-0.1.0> test importers::harvest::client_settings::tests::authorization_started_before_a_change_cannot_store_tokens ... ok642horae-tests-0.1.0> test importers::harvest::client_settings::tests::disconnecting_needs_the_callers_confirmation ... ok643horae-tests-0.1.0> test importers::harvest::client_settings::tests::environment_client_wins_and_locks_the_stored_one ... ok644horae-tests-0.1.0> test importers::harvest::client_settings::tests::environment_redirect_url_wins_over_the_stored_client ... ok645horae-tests-0.1.0> test importers::harvest::client_settings::tests::missing_key_disables_the_client_and_refuses_saves ... ok646horae-tests-0.1.0> test importers::harvest::client_settings::tests::only_an_active_administrator_of_the_organization_may_change_it ... ok647horae-tests-0.1.0> test importers::harvest::client_settings::tests::new_client_id_disconnects_but_keeps_the_account_binding ... ok648horae-tests-0.1.0> test importers::harvest::client_settings::tests::removal_disconnects_and_unconfigures ... ok649horae-tests-0.1.0> test importers::harvest::client_settings::tests::replacing_the_secret_keeps_the_connection ... ok650horae-tests-0.1.0> test importers::harvest::client_settings::tests::rotated_key_requires_the_secret_again ... ok651horae-tests-0.1.0> test importers::harvest::client_settings::tests::stored_client_applies_without_restart_and_seals_the_secret ... ok652horae-tests-0.1.0> test importers::harvest::client_settings::tests::view_reports_the_stored_client_without_its_secret ... ok653horae-tests-0.1.0> test importers::harvest::credentials::authority_tests::connection_changes_hold_authority_until_commit ... ok654horae-tests-0.1.0> test importers::harvest::credentials::authority_tests::connection_changes_recheck_authority_after_actor_only_wait ... ok655horae-tests-0.1.0> test importers::harvest::credentials::authority_tests::denied_first_connection_creates_no_binding_credentials_or_generation ... ok656horae-tests-0.1.0> test importers::harvest::credentials::authority_tests::failed_connection_changes_roll_back_and_release_authority_and_reservation ... ok657horae-tests-0.1.0> test importers::harvest::credentials::tests::another_account_cannot_replace_credentials_or_watermarks ... ok658horae-tests-0.1.0> test importers::harvest::credentials::tests::bad_key_length_is_rejected ... ok659horae-tests-0.1.0> test importers::harvest::credentials::authority_tests::connection_changes_require_current_tenant_bound_administrator ... ok660horae-tests-0.1.0> test importers::harvest::credentials::tests::concurrent_first_connections_cannot_bind_different_accounts ... ok661horae-tests-0.1.0> test importers::harvest::credentials::authority_tests::connection_changes_recheck_authority_after_organization_wait ... ok662horae-tests-0.1.0> test importers::harvest::credentials::tests::connect_and_disconnect_share_import_exclusion_without_blocking_other_orgs ... ok663horae-tests-0.1.0> test importers::harvest::credentials::tests::decode_hex_rejects_bad_input ... ok664horae-tests-0.1.0> test importers::harvest::credentials::authority_tests::disconnected_noop_still_requires_authority ... ok665horae-tests-0.1.0> test importers::harvest::credentials::tests::encrypt_then_decrypt_round_trips ... ok666horae-tests-0.1.0> test importers::harvest::credentials::tests::connection_changes_work_with_a_single_connection_pool ... ok667horae-tests-0.1.0> test importers::harvest::credentials::tests::disconnect_preserves_identity_and_provenance_for_the_original_account ... ok668horae-tests-0.1.0> test importers::harvest::credentials::tests::nonce_makes_ciphertext_nondeterministic ... ok669horae-tests-0.1.0> test importers::harvest::credentials::tests::failed_credential_write_does_not_leave_an_account_binding ... ok670horae-tests-0.1.0> test importers::harvest::credentials::tests::migration_binds_existing_connections_without_changing_secrets_or_markers ... ok671horae-tests-0.1.0> test importers::harvest::credentials::tests::wrong_key_fails_to_decrypt ... ok672horae-tests-0.1.0> test importers::harvest::csv_source::tests::bad_date_becomes_a_row_error_not_a_rejection ... ok673horae-tests-0.1.0> test importers::harvest::csv_source::tests::conflicting_email_aliases_error_only_the_affected_row ... ok674horae-tests-0.1.0> test importers::harvest::csv_source::tests::csv_records_preserve_multiline_unicode_across_single_byte_reads ... ok675horae-tests-0.1.0> test importers::harvest::csv_source::tests::cursor_beyond_upload_is_rejected_without_parsing_rows ... ok676horae-tests-0.1.0> test importers::harvest::csv_source::tests::cursor_resumes_after_multiline_unicode_and_preserves_error_locations ... ok677horae-tests-0.1.0> test importers::harvest::csv_source::tests::delivers_a_row_before_reading_the_rest_of_the_file ... ok678horae-tests-0.1.0> test importers::harvest::csv_source::tests::empty_file_is_rejected ... ok679horae-tests-0.1.0> test importers::harvest::csv_source::tests::identity_columns_are_required_and_cannot_repeat ... ok680horae-tests-0.1.0> test importers::harvest::csv_source::tests::invalid_utf8_errors_one_record_and_continues ... ok681horae-tests-0.1.0> test importers::harvest::csv_source::tests::missing_required_columns_is_rejected ... ok682horae-tests-0.1.0> test importers::harvest::csv_source::tests::names_stay_separate_from_optional_email ... ok683horae-tests-0.1.0> test importers::harvest::csv_source::tests::parse_bool_accepts_yes_variants ... ok684horae-tests-0.1.0> test importers::harvest::csv_source::tests::parses_rows_case_insensitively ... ok685horae-tests-0.1.0> test importers::harvest::credentials::tests::same_account_reconnect_rotates_encryption_without_resetting_watermarks ... ok686horae-tests-0.1.0> test importers::harvest::credentials::tests::unidentified_legacy_provenance_requires_operator_review ... ok687horae-tests-0.1.0> test importers::harvest::credentials::tests::completed_credential_changes_allow_immediate_retries ... ok688horae-tests-0.1.0> test importers::harvest::engine_tests::an_import_waiting_for_a_client_archive_creates_no_project_under_it ... ok689horae-tests-0.1.0> test importers::harvest::engine_tests::api_and_csv_share_the_lock_but_other_organizations_can_import ... ok690horae-tests-0.1.0> test importers::harvest::engine_tests::api_connection_checks_work_with_a_single_connection_pool ... ok691horae-tests-0.1.0> test importers::harvest::engine_tests::api_sync_adopts_entries_from_a_prior_csv_import ... ok692horae-tests-0.1.0> test importers::harvest::engine_tests::bad_records_are_reported_and_run_continues ... ok693horae-tests-0.1.0> test importers::harvest::engine_tests::cancelled_http_waiter_keeps_the_lock_until_its_worker_exits ... ok694horae-tests-0.1.0> test importers::harvest::engine_tests::cancellation_rolls_back_rows_and_releases_the_import_session ... ok695horae-tests-0.1.0> test importers::harvest::engine_tests::concurrent_imports_reject_overlap_without_collapsing_repeated_entries ... ok696horae-tests-0.1.0> test importers::harvest::engine_tests::csv_ambiguous_names_include_inactive_users_but_unique_email_disambiguates ... ok697horae-tests-0.1.0> test importers::harvest::engine_tests::csv_import_populates_and_is_idempotent ... ok698horae-tests-0.1.0> test importers::harvest::engine_tests::csv_name_fallback_requires_a_full_unique_name_and_never_overrides_email ... ok699horae-tests-0.1.0> test importers::harvest::engine_tests::csv_malformed_file_is_rejected_with_no_writes ... ok700horae-tests-0.1.0> test importers::harvest::engine_tests::csv_lines_for_a_new_project_of_an_archived_client_fail_and_retry ... ok701horae-tests-0.1.0> test importers::harvest::engine_tests::csv_name_only_dry_run_and_duplicate_occurrences_preserve_history ... ok702horae-tests-0.1.0> test importers::harvest::engine_tests::csv_name_only_matches_one_org_user_and_reimports_without_duplicates ... ok703horae-tests-0.1.0> test importers::harvest::engine_tests::completed_imports_allow_immediate_retries ... ok704horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::cancelling_a_csv_waiting_for_more_bytes_releases_its_session ... ok705horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::csv_applies_before_eof_but_transport_failure_rolls_back_everything ... ok706horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::csv_preview_errors_and_repeated_rows_match_commit_and_reimport ... ok707horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::csv_sql_backpressure_stops_reading_later_input_rows ... ok708horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_joins_parser_and_preserves_committed_rows ... ok709horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry ... ok710horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_discards_incomplete_preparation_and_resumes_its_checkpoint ... ok711horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_crosses_batch_boundaries_without_committing_domain_data ... ok712horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry ... ok713horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch ... ok714horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows ... ok715horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_report_metadata_is_bounded_after_recovery ... ok716horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::csv_measurement_recovers_a_complete_batch_without_recounting ... ok717horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_stale_commit_is_fenced_without_a_heartbeat ... ok718horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch ... ok719horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_100k ... ignored, 100,000-row durable CSV measurement; run explicitly with --release --nocapture720horae-tests-0.1.0> test 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 --nocapture721horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_100k ... ignored, 100,000-row CSV measurement; run explicitly with --release --nocapture722horae-tests-0.1.0> test 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 --nocapture723horae-tests-0.1.0> test importers::harvest::engine_tests::distinct_harvest_ids_with_identical_fields_import_as_two ... ok724horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_waits_for_input_without_an_open_transaction ... ok725horae-tests-0.1.0> test importers::harvest::engine_tests::dry_run_writes_nothing_and_matches_commit ... ok726horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows ... ok727horae-tests-0.1.0> test importers::harvest::engine_tests::failed_source_releases_the_session_and_rolls_back_partial_rows ... ok728horae-tests-0.1.0> test importers::harvest::engine_tests::edited_entry_still_matched_by_provenance ... ok729horae-tests-0.1.0> test importers::harvest::engine_tests::full_import_creates_all_levels_with_exact_minutes ... ok730horae-tests-0.1.0> test importers::harvest::engine_tests::import_cleanup_recovers_unacknowledged_savepoint_release ... ok731horae-tests-0.1.0> test importers::harvest::engine_tests::import_cleanup_does_not_hide_a_backend_failure ... ok732horae-tests-0.1.0> test importers::harvest::engine_tests::import_cleanup_rolls_back_an_untracked_server_transaction ... ok733horae-tests-0.1.0> test importers::harvest::engine_tests::import_rejects_ambiguous_normalized_email_without_partial_writes ... ok734horae-tests-0.1.0> test importers::harvest::engine_tests::imported_project_task_activity_preserves_archival_and_legacy_links ... ok735horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::cached_project_task_still_validates_each_rows_rate ... ok736horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::cold_query_callsite_on_untraced_thread_is_still_captured ... ok737horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::cached_email_and_full_name_do_not_share_a_namespace ... ok738horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::new_run_rechecks_previously_cached_user_for_ambiguity ... ok739horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::lookup_index_migration_preserves_existing_ambiguous_identities ... ok740horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::project_task_cache_distinguishes_both_sides_of_the_link ... ok741horae-tests-0.1.0> test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_matches_existing_and_new_rows_with_one_connection ... ok742horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::rolled_back_row_does_not_cache_user_or_project_task ... ok743horae-tests-0.1.0> test importers::harvest::engine_tests::natural_key_reimport_normalizes_whitespace_and_ascii_case ... ok744horae-tests-0.1.0> test importers::harvest::engine_tests::overflowing_decimals_fail_only_their_rows ... ok745horae-tests-0.1.0> test importers::harvest::engine_tests::reimporting_identical_csv_rows_is_idempotent ... ok746horae-tests-0.1.0> test importers::harvest::engine_tests::submission_barrier_blocks_imported_time_entries ... ok747horae-tests-0.1.0> test importers::harvest::engine_tests::second_identical_run_creates_nothing ... ok748horae-tests-0.1.0> test importers::harvest::engine_tests::lookup_cache::repeated_rows_resolve_each_user_and_project_task_once ... ok749horae-tests-0.1.0> test importers::harvest::oauth::tests::authorize_url_carries_state_and_encoded_redirect ... ok750horae-tests-0.1.0> test importers::harvest::oauth::tests::authorize_url_preserves_query_values_without_injecting_parameters ... ok751horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::account_policy_failures_return_safe_actionable_conflicts ... ok752horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::mismatched_state_is_rejected_without_a_code ... ok753horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::missing_returned_state_is_rejected ... ok754horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::missing_stored_state_is_rejected ... ok755horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::provider_error_is_rejected_before_exchange ... ok756horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::revoked_callback_authority_returns_only_a_safe_forbidden_message ... ok757horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::valid_matching_state_yields_the_code ... ok758horae-tests-0.1.0> test importers::harvest::oauth_callback_tests::valid_state_but_missing_code_is_rejected ... ok759horae-tests-0.1.0> test importers::harvest::report::tests::archive_metadata_cannot_masquerade_as_a_legacy_or_inconsistent_report ... ok760horae-tests-0.1.0> test importers::harvest::report::tests::archived_report_round_trips_without_losing_error_accounting ... ok761horae-tests-0.1.0> test importers::harvest::report::tests::legacy_report_preserves_its_counts_and_error_details ... ok762horae-tests-0.1.0> test importers::harvest::report::tests::report_rejects_unsupported_and_invalid_versions ... ok763horae-tests-0.1.0> test importers::harvest::report::tests::serialized_report_has_a_supported_schema_version ... ok764horae-tests-0.1.0> test importers::harvest::resolve::checkpoint_tests::run_cache_round_trip_preserves_identity_namespaces_and_occurrences ... ok765horae-tests-0.1.0> test importers::harvest::engine_tests::two_identical_csv_rows_import_as_two_entries ... ok766horae-tests-0.1.0> test importers::harvest::engine_tests::watermark_advances_only_on_commit ... ok767horae-tests-0.1.0> test importers::harvest::resolve::preview::tests::checkpoint_restores_known_task_currency_and_keeps_old_currency_unknown ... ok768horae-tests-0.1.0> test importers::harvest::resolve::preview::tests::rejects_foreign_parent_snapshots_before_restoring_any_rows ... ok769horae-tests-0.1.0> test importers::harvest::resolve::preview::tests::checkpoint_retains_link_activity_and_derives_missing_legacy_field ... ok770horae-tests-0.1.0> test importers::harvest::streaming::durable::preview::tests::restoration_omits_unneeded_virtual_entries ... ok771horae-tests-0.1.0> test importers::harvest::streaming::tests::api_planning_policy_ends_with_the_transaction ... ok772horae-tests-0.1.0> test importers::harvest::streaming::tests::import_batches_join_the_access_gate_before_resource_locks ... ok773horae-tests-0.1.0> test importers::harvest::sync_tests::api_rejects_ambiguous_email_without_advancing_watermark ... ok774horae-tests-0.1.0> test importers::harvest::sync_tests::api_requires_email_even_when_full_name_matches ... ok775horae-tests-0.1.0> test importers::harvest::sync_tests::archived_clients::api_new_active_project_of_an_archived_client_fails_as_a_record ... ok776horae-tests-0.1.0> test importers::harvest::engine_tests::large_run_reuses_parents_and_reconciles_totals ... ok777horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_cancellation_preserves_confirmed_pages_for_manual_retry ... ok778horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_finalization_retry_does_not_repeat_completed_downloads ... ok779horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_cancellation_preserves_confirmed_pages_for_manual_retry ... ok780horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_finalization_retry_does_not_repeat_completed_downloads ... ok781horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page ... ok782horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_resume_preserves_row_errors ... ok783horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_catalog_download ... ok784horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_pages_without_publishing_domain_data ... ok785horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_after_a_confirmed_parent_batch ... ok786horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_preview_preserves_adoptions_and_repeated_ids_across_recovery ... ok787horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_reclaimed_worker_cannot_commit_its_next_page ... ok788horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_resume_keeps_earlier_errors_and_does_not_advance_watermark ... ok789horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_resume_remembers_an_earlier_missing_timestamp ... ok790horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_resumes_a_partially_downloaded_catalog ... ok791horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_resumes_committed_pages_and_preserves_the_high_watermark ... ok792horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::failed_api_commit_publishes_its_last_confirmed_page_report ... ok793horae-tests-0.1.0> test importers::harvest::sync_tests::disconnect_and_reconnect_preserves_imported_records_and_exact_identity ... ok794horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::failed_api_preview_publishes_its_last_confirmed_page_report ... ok795horae-tests-0.1.0> test importers::harvest::sync_tests::dry_run_leaves_data_provenance_and_watermark_unchanged ... ok796horae-tests-0.1.0> test importers::harvest::sync_tests::empty_sync_does_not_invent_a_watermark ... ok797horae-tests-0.1.0> test importers::harvest::sync_tests::exact_api_decimals_survive_preview_commit_and_reimport ... ok798horae-tests-0.1.0> test importers::harvest::sync_tests::failed_client_propagates_to_project_and_entry_without_placeholder_records ... ok799horae-tests-0.1.0> test importers::harvest::sync_tests::checkpoints::durable_api_resumes_after_a_confirmed_parent_batch ... ok800horae-tests-0.1.0> test importers::harvest::sync_tests::failed_rows_are_available_to_the_next_incremental_retry ... ok801horae-tests-0.1.0> test importers::harvest::sync_tests::missing_client_fallback_and_failed_project_savepoints_do_not_poison_cache ... ok802horae-tests-0.1.0> test importers::harvest::sync_tests::invalid_parent_blocks_dependent_time_but_other_catalog_records_survive ... ok803horae-tests-0.1.0> test importers::harvest::sync_tests::missing_source_timestamp_keeps_the_previous_watermark ... ok804horae-tests-0.1.0> test importers::harvest::sync_tests::out_of_range_api_decimals_error_per_row_and_leave_retry_watermark ... ok805horae-tests-0.1.0> test importers::harvest::sync_tests::paging::cancelled_page_consumer_retains_lock_until_worker_exits_and_rolls_back ... ok806horae-tests-0.1.0> test importers::harvest::sync_tests::paging::durable_api_stale_commit_cannot_advance_data_or_watermark ... ok807horae-tests-0.1.0> test importers::harvest::sync_tests::paging::later_download_failure_rolls_back_parents_rows_and_watermark ... ok808horae-tests-0.1.0> test importers::harvest::sync_tests::parent_catalog_preserves_metadata_and_counts_each_entity_once ... ok809horae-tests-0.1.0> test importers::harvest::sync_tests::parent_only_api_import_creates_catalog_and_reimport_skips_it ... ok810horae-tests-0.1.0> test importers::harvest::sync_tests::parent_only_dry_run_previews_without_persisting_catalog ... ok811horae-tests-0.1.0> test importers::harvest::sync_tests::scale::api_100k_commit_and_reimport ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture812horae-tests-0.1.0> test importers::harvest::sync_tests::scale::api_100k_dry_run ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture813horae-tests-0.1.0> test importers::harvest::sync_tests::scale::api_durable_100k_commit_and_reimport ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture814horae-tests-0.1.0> test importers::harvest::sync_tests::scale::api_durable_100k_dry_run ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture815horae-tests-0.1.0> test importers::harvest::sync_tests::refreshed_tokens_survive_a_dry_run_rollback_in_the_same_import_session ... ok816horae-tests-0.1.0> test importers::harvest::sync_tests::paging::invalid_and_missing_timestamp_rows_cross_page_boundaries_without_advancing ... ok817horae-tests-0.1.0> test importers::harvest::sync_tests::paging::durable_api_cancel_waits_for_the_producer_before_acknowledging ... ok818horae-tests-0.1.0> test importers::harvest::sync_tests::successful_sync_only_marks_the_incrementally_fetched_entity ... ok819horae-tests-0.1.0> test importers::harvest::sync_tests::watermark_never_passes_the_start_of_capture ... ok820horae-tests-0.1.0> test importers::harvest::sync_tests::watermark_write_failure_rolls_back_imported_data ... ok821horae-tests-0.1.0> test init::tests::init_creates_one_org_and_one_admin_and_nothing_else ... ok822horae-tests-0.1.0> test init::tests::init_refuses_when_an_organization_exists ... ok823horae-tests-0.1.0> test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it ... ok824horae-tests-0.1.0> test jobs::outbox::tests::invalid_payload_is_not_delivered_and_does_not_leak_into_errors ... ok825horae-tests-0.1.0> test jobs::outbox::tests::plugin_failure_retries_with_the_same_event_identity ... ok826horae-tests-0.1.0> test importers::harvest::sync_tests::scale::durable_measurement_finishes_from_its_eof_checkpoint ... ok827horae-tests-0.1.0> test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly ... ok828horae-tests-0.1.0> test importers::harvest::sync_tests::scale::http_pages_preview_commit_and_reimport ... ok829horae-tests-0.1.0> test jobs::report::stream_tests::download_boundaries_recheck_after_organization_and_actor_waits ... ok830horae-tests-0.1.0> test jobs::report::stream_tests::download_denies_revocation_before_first_page_and_inline_tail ... ok831horae-tests-0.1.0> test jobs::report::stream_tests::download_preparation_denies_revoked_authority ... ok832horae-tests-0.1.0> test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail ... ok833horae-tests-0.1.0> test jobs::report::stream_tests::download_readers_retain_authority_through_their_bounded_reads ... ok834horae-tests-0.1.0> test jobs::report::stream_tests::download_preparation_is_tenant_bound_and_releases_failed_transactions ... ok835horae-tests-0.1.0> test jobs::report::stream_tests::download_rechecks_after_buffered_pages_and_before_the_captured_tail ... ok836horae-tests-0.1.0> test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection ... ok837horae-tests-0.1.0> test jobs::report::tests::concurrent_legacy_converters_archive_each_error_once ... ok838horae-tests-0.1.0> test jobs::report::stream_tests::download_reports_missing_fragments_after_its_buffered_page ... ok839horae-tests-0.1.0> test jobs::report::tests::legacy_converter_gate_allows_a_job_locked_workers_chunk_foreign_keys ... ok840horae-tests-0.1.0> test importers::harvest::sync_tests::scale::durable_api_report_preserves_overflow_errors_after_recovery ... ok841horae-tests-0.1.0> test jobs::report::tests::legacy_converter_rediscovers_after_candidate_deletion ... ok842horae-tests-0.1.0> test jobs::report::tests::legacy_converter_uses_replaced_payload_after_waiting ... ok843horae-tests-0.1.0> test jobs::report::tests::legacy_upgrade_preserves_a_concurrently_archived_workers_lease ... ok844horae-tests-0.1.0> test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives ... ok845horae-tests-0.1.0> test jobs::tests::cancellation_and_retry_are_scoped_and_idempotent ... ok846horae-tests-0.1.0> test jobs::tests::api_job_keeps_its_policy_across_duplicate_enqueue_and_manual_retry ... ok847horae-tests-0.1.0> test jobs::report::tests::report_fragments_survive_until_the_owning_job_expires ... ok848horae-tests-0.1.0> test jobs::tests::claims_are_atomic_and_expired_leases_recover ... ok849horae-tests-0.1.0> test jobs::report::tests::upgrading_legacy_reports_preserves_errors_and_fences_old_attempts ... ok850horae-tests-0.1.0> test jobs::tests::cleanup_retains_retryable_uploads_and_deletes_expired_jobs ... ok851horae-tests-0.1.0> test jobs::tests::cancellation_survives_a_crash_before_the_worker_acknowledges ... ok852horae-tests-0.1.0> test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry ... ok853horae-tests-0.1.0> test jobs::tests::concurrent_csv_resubmission_preserves_identity_after_upload_cleanup ... ok854horae-tests-0.1.0> test jobs::tests::csv_job_persists_its_policy_with_the_upload ... ok855horae-tests-0.1.0> test jobs::tests::expired_lease_cannot_renew_or_commit_using_an_old_transaction_timestamp ... ok856horae-tests-0.1.0> test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry ... ok857horae-tests-0.1.0> test jobs::tests::final_failure_is_retained_and_manual_retry_gets_a_new_budget ... ok858horae-tests-0.1.0> test jobs::tests::history_paginates_tied_timestamps_and_rejects_foreign_cursors ... ok859horae-tests-0.1.0> test jobs::tests::expired_final_attempt_fails_without_claiming_again ... ok860horae-tests-0.1.0> test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry ... ok861horae-tests-0.1.0> test jobs::tests::invalid_stored_payloads_reach_a_terminal_error ... ok862horae-tests-0.1.0> test jobs::tests::import_adapters_reject_a_lease_from_another_organization ... ok863horae-tests-0.1.0> test jobs::tests::invalid_policy_cannot_enqueue_a_job_or_upload ... ok864horae-tests-0.1.0> test jobs::tests::outbox_delivery_is_idempotent ... ok865horae-tests-0.1.0> test jobs::tests::missing_configuration_records_error_and_requeues ... ok866horae-tests-0.1.0> test jobs::tests::missing_csv_upload_records_error_and_requeues ... ok867horae-tests-0.1.0> test jobs::tests::outbox_claims_only_the_requested_event_kind ... ok868horae-tests-0.1.0> test jobs::tests::payload_kind_is_stable_and_round_trips ... ok869horae-tests-0.1.0> test jobs::tests::payload_versions_preserve_legacy_jobs_and_reject_unknown_versions ... ok870horae-tests-0.1.0> test jobs::tests::outbox_rollback_does_not_publish_an_event ... ok871horae-tests-0.1.0> test jobs::tests::retry_snapshot_does_not_guess_unknown_payloads_or_sources ... ok872horae-tests-0.1.0> test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease ... ok873horae-tests-0.1.0> test jobs::tests::shutdown_deadline_drops_and_joins_in_flight_work ... ok874horae-tests-0.1.0> test jobs::tests::shutdown_waits_for_in_flight_work ... ok875horae-tests-0.1.0> test jobs::tests::retry_snapshot_matches_status_and_list_without_exposing_payload ... ok876horae-tests-0.1.0> test jobs::tests::outbox_stale_claims_cannot_acknowledge_or_reschedule_delivery ... ok877horae-tests-0.1.0> test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name ... ok878horae-tests-0.1.0> test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed ... ok879horae-tests-0.1.0> test jobs::tests::synthetic_job_uses_the_same_registered_envelope ... ok880horae-tests-0.1.0> test jobs::tests::submission_key_cannot_change_api_mode_or_scope ... ok881horae-tests-0.1.0> test models::project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok882horae-tests-0.1.0> test models::project_creation::tests::legacy_project_edit_roundtrip_keeps_omitted_identity_and_intent ... ok883horae-tests-0.1.0> test models::project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok884horae-tests-0.1.0> test models::project_creation::tests::unknown_draft_fields_are_rejected ... ok885horae-tests-0.1.0> test models::project_managers::tests::command_preserves_durable_intent_and_strictly_decodes_its_discriminator ... ok886horae-tests-0.1.0> test models::task::tests::rate_transport_distinguishes_preserve_clear_and_zero ... ok887horae-tests-0.1.0> test models::task::tests::rate_transport_rejects_ambiguous_or_imprecise_intent ... ok888horae-tests-0.1.0> test models::time_entry::tests::time_entry_wire_does_not_accept_invoice_identity_from_input ... ok889horae-tests-0.1.0> test models::time_entry::tests::time_entry_wire_omits_invoice_identity_without_mutating_internal_record ... ok890horae-tests-0.1.0> test jobs::tests::upload_organization_must_match_its_job ... ok891horae-tests-0.1.0> test jobs::tests::submission_key_cannot_change_csv_bytes_or_mode ... ok892horae-tests-0.1.0> test notifications::tests::acknowledged_email_is_never_claimed_again ... ok893horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_observes_winning_activation_and_alert_enable ... ok894horae-tests-0.1.0> test jobs::tests::synthetic_job_executes_through_claim_and_completion ... ok895horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_rejects_missing_settings_without_waiting_on_child_locks ... ok896horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_rechecks_claim_and_clock_after_final_wait ... ok897horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_refreshes_after_recipient_and_project_waits ... ok898horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_releases_all_gates_before_blocked_transport ... ok899horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_skips_notification_appearing_after_discovery ... ok900horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_skips_retargeted_notification_without_terminalizing ... ok901horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_skips_project_drift_or_disappearance ... ok902horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_terminal_rejections_preserve_existing_reasons ... ok903horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_uses_current_payload_after_recipient_wait ... ok904horae-tests-0.1.0> test notifications::tests::cancelling_delivery_kills_the_active_sender ... ok905horae-tests-0.1.0> test notifications::tests::authority::budget_delivery_waits_for_organization_and_rechecks_recipient ... ok906horae-tests-0.1.0> test notifications::tests::authority::budget_preparation_cancellation_and_deadline_release_single_connection ... ok907horae-tests-0.1.0> test notifications::tests::authority::budget_preparation_overrides_read_only_without_leaking_transaction_settings ... ok908horae-tests-0.1.0> test notifications::tests::mail_configuration_is_disabled_by_default_and_rejects_partial_values ... ok909horae-tests-0.1.0> test notifications::tests::mail_configuration_requires_an_executable_file_and_safe_sender ... ok910horae-tests-0.1.0> test notifications::tests::disabled_mail_worker_does_not_claim_pending_notifications ... ok911horae-tests-0.1.0> test notifications::tests::recipient_injection_is_rejected_before_starting_a_process ... ok912horae-tests-0.1.0> test notifications::tests::rendered_mail_bounds_body_lines_for_long_unicode_and_control_names ... ok913horae-tests-0.1.0> test notifications::tests::failed_email_retries_same_identity_and_eventually_stops ... ok914horae-tests-0.1.0> test notifications::tests::foreign_notification_payload_is_terminal_and_never_sent ... ok915horae-tests-0.1.0> test notifications::tests::sendmail_failure_does_not_expose_program_output ... ok916horae-tests-0.1.0> test notifications::tests::sendmail_receives_fixed_arguments_and_stable_message_identity ... ok917horae-tests-0.1.0> test notifications::tests::mail_worker_delivers_only_its_kind_and_drains_cleanly ... ok918horae-tests-0.1.0> test notifications::tests::retry_can_recover_without_changing_message_identity ... ok919horae-tests-0.1.0> test notifications::tests::stale_email_lease_cannot_start_delivery ... ok920horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::all_grants_do_not_make_an_individual_an_administrator ... ok921horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::dirty_state_includes_template_revision_and_independent_identity ... ok922horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::dirty_state_tracks_reverted_grants_and_profile_provenance ... ok923horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::editing_invalidates_preview_and_confirmation ... ok924horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::joint_losses_need_confirmation_and_retry_preserves_exact_command ... ok925horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::keeping_project_access_is_explicit_and_requires_new_effects ... ok926horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::load_keeps_exact_grants_and_explicit_edit_intent ... ok927horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::malformed_loaded_grants_are_not_normalized ... ok928horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::member_floor_and_explicit_administrator_are_not_customizable ... ok929horae-tests-0.1.0> test pages::admin::permission_editor::draft::tests::stale_or_mismatched_preview_cannot_be_confirmed ... ok930horae-tests-0.1.0> test pages::admin::permission_editor::tests::known_rejections_require_recovery_and_hide_authentication_diagnostics ... ok931horae-tests-0.1.0> test pages::admin::permission_editor::tests::no_op_preview_does_not_invent_permission_changes ... ok932horae-tests-0.1.0> test notifications::tests::revoked_recipient_does_not_receive_a_pending_email ... ok933horae-tests-0.1.0> test pages::admin::permission_editor::tests::unknown_save_failure_is_not_treated_as_a_definite_rejection ... ok934horae-tests-0.1.0> test pages::admin::permission_editor::tests::review_explains_identity_loss_and_both_exact_management_sets ... ok935horae-tests-0.1.0> test pages::clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok936horae-tests-0.1.0> test pages::clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok937horae-tests-0.1.0> test pages::clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok938horae-tests-0.1.0> test pages::clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok939horae-tests-0.1.0> test pages::clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok940horae-tests-0.1.0> test pages::clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok941horae-tests-0.1.0> test pages::clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok942horae-tests-0.1.0> test pages::clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok943horae-tests-0.1.0> test pages::clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok944horae-tests-0.1.0> test pages::clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok945horae-tests-0.1.0> test pages::importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok946horae-tests-0.1.0> test pages::importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok947horae-tests-0.1.0> test pages::importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok948horae-tests-0.1.0> test pages::importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok949horae-tests-0.1.0> test pages::importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok950horae-tests-0.1.0> test pages::invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok951horae-tests-0.1.0> test pages::invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok952horae-tests-0.1.0> test pages::invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok953horae-tests-0.1.0> test pages::invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok954horae-tests-0.1.0> test pages::invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok955horae-tests-0.1.0> test pages::invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok956horae-tests-0.1.0> test pages::invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok957horae-tests-0.1.0> test pages::invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok958horae-tests-0.1.0> test pages::invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok959horae-tests-0.1.0> test pages::invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok960horae-tests-0.1.0> test pages::new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok961horae-tests-0.1.0> test pages::new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok962horae-tests-0.1.0> test pages::new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok963horae-tests-0.1.0> test pages::new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok964horae-tests-0.1.0> test pages::new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok965horae-tests-0.1.0> test pages::new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok966horae-tests-0.1.0> test pages::new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok967horae-tests-0.1.0> test pages::new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok968horae-tests-0.1.0> test pages::new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok969horae-tests-0.1.0> test pages::new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok970horae-tests-0.1.0> test pages::new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok971horae-tests-0.1.0> test pages::new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok972horae-tests-0.1.0> test pages::new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok973horae-tests-0.1.0> test pages::new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok974horae-tests-0.1.0> test pages::new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok975horae-tests-0.1.0> test pages::new_project::team::tests::legacy_manager_checkbox_needs_no_canonical_selection ... ok976horae-tests-0.1.0> test pages::new_project::team::tests::manager_checkbox_updates_complete_selection_without_dropping_outside_managers ... ok977horae-tests-0.1.0> test pages::new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok978horae-tests-0.1.0> test pages::new_project::team::tests::tracking_removal_and_readdition_keep_independent_manager_intent ... ok979horae-tests-0.1.0> test pages::new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok980horae-tests-0.1.0> test pages::new_project::tests::only_known_validation_fields_can_target_a_control ... ok981horae-tests-0.1.0> test pages::projects::budget_display_tests::configured_summary_does_not_recompute_totals_from_private_breakdown ... ok982horae-tests-0.1.0> test pages::projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok983horae-tests-0.1.0> test pages::projects::budget_display_tests::project_spend_keeps_withheld_money_distinct_from_zero_and_visible_hours ... ok984horae-tests-0.1.0> test pages::projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok985horae-tests-0.1.0> test pages::projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok986horae-tests-0.1.0> test pages::projects::list_tests::catalog_groups_by_client_and_orders_names_case_insensitively ... ok987horae-tests-0.1.0> test pages::projects::list_tests::search_matches_project_or_client_names_ignoring_case ... ok988horae-tests-0.1.0> test pages::projects::list_tests::typing_a_search_renders_the_list_once_per_keystroke_without_rebuilding_it ... ok989horae-tests-0.1.0> test pages::reports::tests::a_page_re_render_leaves_the_report_tab_alone ... ok990horae-tests-0.1.0> test pages::reports::tests::a_withheld_cost_hides_every_currency_and_out_of_range_total ... ok991horae-tests-0.1.0> test pages::reports::tests::cost_total_uses_organization_currency_across_billing_currencies ... ok992horae-tests-0.1.0> test pages::reports::tests::mixed_currencies_are_totalled_separately_even_beyond_the_range_of_one_sum ... ok993horae-tests-0.1.0> test pages::reports::tests::monetary_total_overflow_is_visible_instead_of_panicking ... ok994horae-tests-0.1.0> test pages::reports::tests::padded_codes_stay_separate_groups_even_though_labels_are_trimmed ... ok995horae-tests-0.1.0> test pages::reports::tests::redacted_costs_do_not_become_zero_or_partial_totals ... ok996horae-tests-0.1.0> test pages::reports::tests::single_currency_totals_are_formatted_and_empty_reports_have_no_amount ... ok997horae-tests-0.1.0> test pages::reports::tests::zero_and_negative_currency_totals_are_still_shown ... ok998horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_admin_identity_is_explicit_not_derived_from_grants ... ok999horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_distinguishes_authentication_forbidden_and_failure ... ok1000horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_does_not_disclose_internal_fields_or_offer_edits ... ok1001horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_empty_grants_are_not_normalized ... ok1002horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_grants_do_not_promise_unavailable_features ... ok1003horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_legacy_is_not_empty_or_a_profile ... ok1004horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_loading_hides_previous_snapshot ... ok1005horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_preserves_exact_grants_without_profile_inference ... ok1006horae-tests-0.1.0> test pages::settings::own_permissions::tests::own_permissions_view_unsupported_catalog_hides_uninterpretable_grants ... ok1007horae-tests-0.1.0> test pages::timesheet::data::tests::completes_pages_while_pinning_subject_requester_and_policy ... ok1008horae-tests-0.1.0> test pages::timesheet::data::tests::empty_authorized_sheet_is_a_complete_result ... ok1009horae-tests-0.1.0> test pages::timesheet::data::tests::later_page_failure_does_not_return_partial_totals ... ok1010horae-tests-0.1.0> test pages::timesheet::data::tests::old_week_results_and_errors_are_not_current_even_before_restart ... ok1011horae-tests-0.1.0> test pages::timesheet::data::tests::refuses_a_changed_requester_subject_or_policy_between_pages ... ok1012horae-tests-0.1.0> test pages::timesheet::data::tests::rejects_a_nonadvancing_cursor_instead_of_looping ... ok1013horae-tests-0.1.0> test pages::timesheet::data::tests::rejects_mixed_subjects_out_of_window_rows_and_duplicates ... ok1014horae-tests-0.1.0> test pages::timesheet::data::tests::rejects_rows_repeated_across_pages ... ok1015horae-tests-0.1.0> test pages::timesheet::data::tests::rejects_the_wrong_first_subject_or_requester ... ok1016horae-tests-0.1.0> test pages::timesheet::refresh_tests::discarding_a_row_removes_its_drafts_only_for_the_captured_week ... ok1017horae-tests-0.1.0> test pages::timesheet::refresh_tests::draft_rows_lists_only_rows_nothing_else_shows_this_week ... ok1018horae-tests-0.1.0> test pages::new_project::picker_tests::pickers_show_the_loaded_catalog_without_requesting_it_again ... ok1019horae-tests-0.1.0> test pages::timesheet::refresh_tests::typing_in_a_cell_renders_only_that_cell ... ok1020horae-tests-0.1.0> test pages::timesheet::tests::cal_span_day_shows_only_the_anchor_column ... ok1021horae-tests-0.1.0> test pages::timesheet::tests::cal_span_defaults_to_week ... ok1022horae-tests-0.1.0> test pages::timesheet::tests::cal_span_unknown_falls_back_to_week ... ok1023horae-tests-0.1.0> test pages::timesheet::tests::cal_span_url_roundtrips ... ok1024horae-tests-0.1.0> test pages::timesheet::tests::cal_span_week_shows_all_seven_days ... ok1025horae-tests-0.1.0> test pages::timesheet::tests::cal_span_work_week_preserves_date_order_across_weekends ... ok1026horae-tests-0.1.0> test pages::timesheet::tests::cal_span_work_week_shows_monday_to_friday ... ok1027horae-tests-0.1.0> test pages::timesheet::tests::cal_span_work_week_skips_sunday_when_it_is_the_first_column ... ok1028horae-tests-0.1.0> test pages::timesheet::tests::day_col_class_marks_today ... ok1029horae-tests-0.1.0> test pages::timesheet::tests::day_col_class_marks_weekend ... ok1030horae-tests-0.1.0> test pages::timesheet::tests::day_col_class_plain_weekday ... ok1031horae-tests-0.1.0> test pages::timesheet::refresh_tests::typing_in_another_cell_survives_a_save_refresh ... ok1032horae-tests-0.1.0> test pages::timesheet::tests::day_col_class_today_wins_over_weekend ... ok1033horae-tests-0.1.0> test pages::timesheet::tests::drag_follows_only_real_pointer_changes ... ok1034horae-tests-0.1.0> test pages::timesheet::tests::delegated_stop_requires_the_exact_eligible_pair_and_keeps_state_locks ... ok1035horae-tests-0.1.0> test pages::timesheet::tests::invalid_duration_cannot_start_a_timer_save_or_clear_a_cell ... ok1036horae-tests-0.1.0> test pages::timesheet::tests::legacy_historical_edits_do_not_create_new_tracking_eligibility ... ok1037horae-tests-0.1.0> test pages::timesheet::tests::only_a_blank_duration_can_start_an_eligible_timer ... ok1038horae-tests-0.1.0> test pages::timesheet::tests::terminal_stop_recovery_is_owner_only_when_tracking_is_lost ... ok1039horae-tests-0.1.0> test pages::timesheet::tests::timed_lanes_still_widens_overlapping_entries ... ok1040horae-tests-0.1.0> test pages::timesheet::tests::timed_lanes_terminates_on_a_zero_length_entry ... ok1041horae-tests-0.1.0> test pages::timesheet::tests::today_offset_is_none_after_the_week ... ok1042horae-tests-0.1.0> test pages::timesheet::tests::today_offset_is_none_before_the_week ... ok1043horae-tests-0.1.0> test pages::timesheet::tests::today_offset_is_six_on_the_sunday ... ok1044horae-tests-0.1.0> test pages::timesheet::tests::today_offset_is_zero_on_the_monday ... ok1045horae-tests-0.1.0> test pages::timesheet::tests::tracking_starts_with_the_last_context_only_for_the_same_person ... ok1046horae-tests-0.1.0> test pages::timesheet::tests::read_only_day_keeps_facts_but_disables_edit_and_start_buttons ... ok1047horae-tests-0.1.0> test pages::timesheet::tests::value_cell_class_empty_wins_over_today ... ok1048horae-tests-0.1.0> test pages::timesheet::tests::value_cell_class_marks_today_when_nonzero ... ok1049horae-tests-0.1.0> test pages::timesheet::tests::visible_time_without_writable_tracking_does_not_enable_edit_controls ... ok1050horae-tests-0.1.0> test pages::timesheet::tests::weekend_style_follows_the_date_not_the_column_offset ... ok1051horae-tests-0.1.0> test pages::timesheet::tests::weekly_duration_edit_preserves_nine_am_start_notes_and_billability ... ok1052horae-tests-0.1.0> test pages::timesheet::tests::weekly_new_entries_are_untimed_and_explicit_clears_still_work ... ok1053horae-tests-0.1.0> test notifications::tests::verbose_sender_output_is_discarded_without_blocking_delivery ... ok1054horae-tests-0.1.0> test plugin::database::tests::application_database_owner_is_not_a_plugin_identity ... ok1055horae-tests-0.1.0> test plugin::database::tests::dedicated_reader_is_accepted_but_new_write_grants_are_rejected ... ok1056horae-tests-0.1.0> test notifications::tests::sendmail_timeout_kills_and_reaps_the_child ... ok1057horae-tests-0.1.0> test plugin::database::tests::project_configuration_is_private_even_when_plugin_grants_are_misconfigured ... ok1058horae-tests-0.1.0> test plugin::database::tests::reader_accepts_optional_first_party_rounding_helper ... ok1059horae-tests-0.1.0> test plugin::database::tests::reader_cannot_execute_security_definer_functions ... ok1060horae-tests-0.1.0> test plugin::database::tests::reader_cannot_have_access_to_credentials ... ok1061horae-tests-0.1.0> test plugin::event::tests::active_transition_fires_only_on_a_real_flip ... ok1062horae-tests-0.1.0> test plugin::event::tests::budget_and_timer_events_serialize ... ok1063horae-tests-0.1.0> test plugin::event::tests::new_events_have_stable_hook_names ... ok1064horae-tests-0.1.0> test plugin::event::tests::project_membership_payload_excludes_private_configuration ... ok1065horae-tests-0.1.0> test plugin::event::tests::role_change_event_carries_previous_role ... ok1066horae-tests-0.1.0> test plugin::event::tests::submission_event_serializes_payload ... ok1067horae-tests-0.1.0> test plugin::event::tests::us2_events_have_stable_hook_names ... ok1068horae-tests-0.1.0> test plugin::database::tests::reader_cannot_read_either_oidc_identity_column ... ok1069horae-tests-0.1.0> test plugin::host::tests::config_lookup::a_set_key_is_returned ... ok1070horae-tests-0.1.0> test plugin::host::tests::config_lookup::an_unset_key_is_none ... ok1071horae-tests-0.1.0> test plugin::database::tests::reader_cannot_switch_into_another_role ... ok1072horae-tests-0.1.0> test plugin::database::tests::reader_rejects_unapproved_invoker_functions ... ok1073horae-tests-0.1.0> test plugin::host::tests::database_queries_preserve_parameters_and_rollback_session_settings ... ok1074horae-tests-0.1.0> test plugin::host::tests::database_tests::query_discards_session_advisory_locks ... ok1075horae-tests-0.1.0> test plugin::host::tests::database_tests::unconfigured_sql_never_falls_back_to_application_state ... ok1076horae-tests-0.1.0> test plugin::host::tests::database_tests::query_results_are_bounded_without_silent_truncation ... ok1077horae-tests-0.1.0> test plugin::host::tests::response_shaping::error_json_wraps_the_message ... ok1078horae-tests-0.1.0> test plugin::host::tests::response_shaping::http_body_accepts_the_size_limit_and_rejects_larger_responses ... ok1079horae-tests-0.1.0> test plugin::host::tests::response_shaping::http_response_carries_status_and_body ... ok1080horae-tests-0.1.0> test plugin::host::tests::response_shaping::invalid_http_utf8_is_an_error_not_an_empty_success ... ok1081horae-tests-0.1.0> test plugin::host::tests::statement_is_read_only::a_cte_select_is_allowed ... ok1082horae-tests-0.1.0> test plugin::host::tests::statement_is_read_only::a_second_statement_is_rejected ... ok1083horae-tests-0.1.0> test plugin::host::tests::statement_is_read_only::a_single_trailing_semicolon_is_allowed ... ok1084horae-tests-0.1.0> test plugin::host::tests::statement_is_read_only::a_write_hidden_behind_a_comment_is_rejected ... ok1085horae-tests-0.1.0> test plugin::host::tests::statement_is_read_only::plain_select_is_allowed ... ok1086horae-tests-0.1.0> test plugin::host::tests::statement_is_read_only::writes_are_rejected ... ok1087horae-tests-0.1.0> test plugin::host::tests::wrap_select::strips_a_trailing_semicolon_before_wrapping ... ok1088horae-tests-0.1.0> test plugin::host::tests::wrap_select::wraps_as_a_bounded_row_query ... ok1089horae-tests-0.1.0> test plugin::manifest::tests::accepts_all_published_business_events ... ok1090horae-tests-0.1.0> test plugin::manifest::tests::config_defaults_to_empty_when_absent ... ok1091horae-tests-0.1.0> test plugin::manifest::tests::parse_valid_manifest ... ok1092horae-tests-0.1.0> test plugin::manifest::tests::parses_optional_config_table ... ok1093horae-tests-0.1.0> test plugin::manifest::tests::reject_empty_hooks ... ok1094horae-tests-0.1.0> test plugin::manifest::tests::reject_unknown_hook ... ok1095horae-tests-0.1.0> test plugin::host::tests::database_tests::select_cannot_write_or_gain_application_privileges ... ok1096horae-tests-0.1.0> test plugin::host::tests::database_tests::wasm_host_uses_the_restricted_connection_on_a_current_thread_runtime ... ok1097horae-tests-0.1.0> test plugin::registry::tests::dispatch_event_with_no_subscribers ... ok1098horae-tests-0.1.0> test plugin::registry::tests::collect_widgets_from_echo_plugin ... ok1099horae-tests-0.1.0> test plugin::registry::tests::dispatch_invoice_sent_to_echo_plugin ... ok1100horae-tests-0.1.0> 1101horae-tests-0.1.0> running 1 test1102horae-tests-0.1.0> test plugin::registry::tests::failing_plugin_does_not_block_caller ... ok1103horae-tests-0.1.0> test plugin::registry::tests::dispatch_to_echo_plugin_succeeds ... ok1104horae-tests-0.1.0> test plugin::registry::tests::initialization::instruction_budget_is_replenished_for_each_call ... ok1105horae-tests-0.1.0> test plugin::registry::tests::isolation::cancelling_a_waiter_keeps_capacity_reserved_until_the_host_call_exits ... ok1106horae-tests-0.1.0> test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1107horae-tests-0.1.0> 1108horae-tests-0.1.0> test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1635 filtered out; finished in 0.15s1109horae-tests-0.1.0> 1110horae-tests-0.1.0> 1111horae-tests-0.1.0> running 1 test1112horae-tests-0.1.0> test plugin::registry::tests::isolation::confirmed_dispatch_attempts_other_plugins_after_one_fails ... ok1113horae-tests-0.1.0> test plugin::registry::tests::isolation::confirmed_dispatch_returns_overload_for_retry ... ok1114horae-tests-0.1.0> test plugin::registry::tests::isolation::confirmed_dispatch_returns_plugin_failure_for_retry ... ok1115horae-tests-0.1.0> test plugin::registry::tests::isolation::confirmed_dispatch_waits_for_the_plugin_to_finish ... ok1116horae-tests-0.1.0> test plugin::registry::tests::isolation::different_plugins_share_the_running_call_limit ... ok1117horae-tests-0.1.0> test plugin::registry::tests::isolation::events_execute_outside_the_async_worker ... ok1118horae-tests-0.1.0> test plugin::registry::tests::isolation::loaded_plugins_cannot_grow_memory_past_the_limit ... ok1119horae-tests-0.1.0> test plugin::registry::tests::isolation::loaded_plugins_cannot_start_with_excessive_memory ... ok1120horae-tests-0.1.0> test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1121horae-tests-0.1.0> 1122horae-tests-0.1.0> test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1635 filtered out; finished in 0.16s1123horae-tests-0.1.0> 1124horae-tests-0.1.0> 1125horae-tests-0.1.0> running 1 test1126horae-tests-0.1.0> test plugin::registry::tests::isolation::oversized_event_payloads_are_not_queued ... ok1127horae-tests-0.1.0> test plugin::registry::tests::isolation::oversized_wasm_output_is_rejected_before_copying_it ... ok1128horae-tests-0.1.0> test plugin::registry::tests::isolation::pending_capacity_rejects_new_work_without_spawning_tasks ... ok1129horae-tests-0.1.0> test plugin::registry::tests::isolation::widgets_execute_outside_the_async_worker ... ok1130horae-tests-0.1.0> test plugin::registry::tests::load_empty_directory ... ok1131horae-tests-0.1.0> test plugin::registry::tests::load_nonexistent_directory ... ok1132horae-tests-0.1.0> test plugin::registry::tests::load_test_plugins ... ok1133horae-tests-0.1.0> test render::tests::invoice_template_formats_large_minor_units_exactly ... ok1134horae-tests-0.1.0> test reports::bounded::tests::cancelled_export_keeps_its_slot_until_the_renderer_exits ... ok1135horae-tests-0.1.0> test reports::bounded::tests::compressed_export_reads_to_the_end ... ok1136horae-tests-0.1.0> test reports::bounded::tests::export_admission_stays_reserved_until_the_body_is_dropped ... ok1137horae-tests-0.1.0> test reports::bounded::tests::export_rendering_runs_off_the_async_worker ... ok1138horae-tests-0.1.0> test reports::bounded::tests::output_budget_checks_writes_and_seeks_without_truncation ... ok1139horae-tests-0.1.0> test reports::bounded::tests::rendered_output_limit_rejects_oversized_files_and_releases_admission ... ok1140horae-tests-0.1.0> test reports::bounded::tests::renderer_errors_and_panics_release_admission ... ok1141horae-tests-0.1.0> test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1142horae-tests-0.1.0> 1143horae-tests-0.1.0> test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1635 filtered out; finished in 0.17s1144horae-tests-0.1.0> 1145horae-tests-0.1.0> 1146horae-tests-0.1.0> running 1 test1147horae-tests-0.1.0> test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1148horae-tests-0.1.0> 1149horae-tests-0.1.0> test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1635 filtered out; finished in 0.16s1150horae-tests-0.1.0> 1151horae-tests-0.1.0> test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1152horae-tests-0.1.0> test reports::export_params_tests::active_projects_only_filter_is_optional_and_strict ... ok1153horae-tests-0.1.0> test reports::export_params_tests::billability_filter_defaults_and_serializes_without_ambiguous_booleans ... ok1154horae-tests-0.1.0> test reports::export_params_tests::billability_filter_rejects_unknown_empty_and_repeated_values ... ok1155horae-tests-0.1.0> test reports::export_params_tests::download_identity_is_a_complete_optional_binding_not_authority ... ok1156horae-tests-0.1.0> test reports::export_params_tests::download_policy_binding_rejects_unknown_and_repeated_modes ... ok1157horae-tests-0.1.0> test reports::export_params_tests::downloads_reject_cursors_and_reversed_periods ... ok1158horae-tests-0.1.0> test reports::export_params_tests::legacy_scalar_and_empty_plural_filters_preserve_the_existing_scope ... ok1159horae-tests-0.1.0> test reports::export_params_tests::malformed_or_ambiguous_filters_never_become_unrestricted_downloads ... ok1160horae-tests-0.1.0> test reports::export_params_tests::plural_filters_preserve_every_dimension_and_deduplicate_ids ... ok1161horae-tests-0.1.0> test reports::export_params_tests::projects::project_download_accepts_legacy_links_and_matching_requester ... ok1162horae-tests-0.1.0> test reports::export_params_tests::projects::project_download_binding_is_not_authority_to_select_another_requester ... ok1163horae-tests-0.1.0> test reports::export_params_tests::projects::project_download_rejects_partial_malformed_and_repeated_identity ... ok1164horae-tests-0.1.0> test reports::groups::tests::active_projects_only_grouped_transport_is_optional_and_strict ... ok1165horae-tests-0.1.0> test reports::groups::tests::billability_grouped_transport_is_optional_and_strict ... ok1166horae-tests-0.1.0> test reports::groups::tests::grouped_xlsx_transport_rejects_ambiguous_or_invalid_parameters ... ok1167horae-tests-0.1.0> test plugin::host::tests::a_query_cannot_disable_its_own_deadline ... ok1168horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_deny_revoked_managers ... ok1169horae-tests-0.1.0> test reports::bounded::tests::timed_out_export_keeps_its_slot_until_the_renderer_exits ... ok1170horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_deny_winning_legacy_revocations ... ok1171horae-tests-0.1.0> test plugin::registry::tests::isolation::a_wasm_timeout_releases_the_worker_and_instance ... ok1172horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_keep_deadlines_and_restore_pool_defaults ... ok1173horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_refresh_after_access_revision_change ... ok1174horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_preserve_checked_snapshots ... ok1175horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_release_rendered_body_when_final_check_is_interrupted ... ok1176horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_recheck_after_render_without_retaining_authority ... ok1177horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_retain_authority_and_release_cancelled_reads ... ok1178horae-tests-0.1.0> test reports::limits::tests::bounded_entries_reject_large_fields_and_combined_text ... ok1179horae-tests-0.1.0> test reports::limits::tests::authorization::materialized_exports_require_same_tenant_active_actor ... ok1180horae-tests-0.1.0> test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters ... ok1181horae-tests-0.1.0> test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope ... ok1182horae-tests-0.1.0> test reports::limits::tests::bounded_projects_filter_archives_before_size_checks ... ok1183horae-tests-0.1.0> test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot ... ok1184horae-tests-0.1.0> test reports::limits::tests::bounded_exports_preserve_real_workbooks_and_deterministic_pdf ... ok1185horae-tests-0.1.0> test reports::limits::tests::measure_bounded_export_limits ... ignored, manual release export measurement; set HORAE_EXPORT_PROBE_DIR for artifacts1186horae-tests-0.1.0> test reports::limits::tests::invoice_exports_show_saved_adjustments_and_exact_large_amounts ... ok1187horae-tests-0.1.0> test reports::limits::tests::export_queries_are_read_only_and_have_a_database_deadline ... ok1188horae-tests-0.1.0> test reports::limits::tests::fee_exports_preserve_absent_quantities_and_render_a_real_pdf ... ok1189horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_cancel_loading_without_retaining_authority ... ok1190horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_bound_rows_and_text_after_scope_filtering ... ok1191horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_deny_actor_revoked_during_either_authority_wait ... ok1192horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_refresh_release_scope_after_parent_wait ... ok1193horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_preserve_membership_visibility_and_history_rules ... ok1194horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_reject_missing_foreign_and_unreadable_captured_ids ... ok1195horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_release_cancelled_and_timed_out_checks ... ok1196horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_release_every_captured_project_without_render_locks ... ok1197horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_require_current_tenant_bound_actor ... ok1198horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_refresh_scope_after_winning_relationship_changes ... ok1199horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_share_one_size_and_payload_snapshot ... ok1200horae-tests-0.1.0> test reports::limits::tests::project_canonical::canonical_project_export_accepts_project_reader_with_legacy_member_role ... ok1201horae-tests-0.1.0> test reports::limits::tests::project_authorization::project_exports_retain_parent_authority_until_release_check_finishes ... ok1202horae-tests-0.1.0> test reports::limits::tests::project_canonical::canonical_project_export_withholds_ordinary_monetary_budget ... ok1203horae-tests-0.1.0> test reports::limits::tests::project_canonical::canonical_project_workbook_rejects_financial_revocation_during_render ... ok1204horae-tests-0.1.0> test reports::limits::tests::project_canonical::canonical_project_export_does_not_inherit_legacy_administrator_scope ... ok1205horae-tests-0.1.0> test reports::limits::tests::tag_filter_applies_before_xlsx_size_checks_and_rendering ... ok1206horae-tests-0.1.0> test reports::limits::tests::time_authorization::grouped::grouped_xlsx_all_dimensions_render_exact_hours_without_private_scope ... ok1207horae-tests-0.1.0> test reports::limits::tests::time_authorization::grouped::grouped_xlsx_budget_includes_contexts_in_addition_to_names ... ok1208horae-tests-0.1.0> test reports::limits::tests::time_authorization::denied_time_export_releases_authority_before_pool_cleanup ... ok1209horae-tests-0.1.0> test reports::limits::tests::time_authorization::grouped::grouped_xlsx_limits_groups_not_source_entries_and_preserves_scope ... ok1210horae-tests-0.1.0> test reports::limits::tests::time_authorization::grouped::grouped_xlsx_rejects_partial_loss_of_a_multi_context_group ... ok1211horae-tests-0.1.0> test reports::limits::tests::time_authorization::grouped::grouped_xlsx_reauthorizes_original_pairs_after_reassignment ... ok1212horae-tests-0.1.0> test reports::limits::tests::time_authorization::grouped::grouped_xlsx_caps_groups_and_names_after_filters ... ok1213horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_deletion_keeps_recorded_scope_but_loss_of_person_access_denies ... ok1214horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_empty_files_still_validate_state_actor_and_policy_at_release ... ok1215horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_legacy_manager_role_does_not_expand_canonical_scope ... ok1216horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_member_reads_own_rows_without_financial_or_directory_access ... ok1217horae-tests-0.1.0> test reports::limits::tests::time_authorization::grouped::grouped_xlsx_rejects_wrong_identity_legacy_policy_and_page_cursor ... ok1218horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_reauthorizes_captured_project_not_reassigned_source ... ok1219horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_release_observes_direct_actor_update_commit_or_rollback ... ok1220horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_revoked_grants_after_render_deny_other_peoples_captured_rows ... ok1221horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_rejects_paged_reversed_or_wrong_requester_queries ... ok1222horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_source_refreshes_grant_gains_and_losses_after_org_wait ... ok1223horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_waits_for_scope_revocation_and_cancellation_releases_connection ... ok1224horae-tests-0.1.0> test reports::limits::tests::time_authorization::scoped_xlsx_scope_union_and_multi_filters_precede_size_checks ... ok1225horae-tests-0.1.0> test reports::privacy_tests::unauthorized_project_text_does_not_affect_export_size_limits ... ok1226horae-tests-0.1.0> test reports::streaming::database_tests::a_real_database_error_interrupts_the_csv_body ... ok1227horae-tests-0.1.0> test reports::privacy_tests::project_downloads_follow_progress_visibility ... ok1228horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_cancelled_authorization_reclaims_its_single_connection ... ok1229horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_cancelled_fetch_reclaims_connection_without_authority_locks ... ok1230horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_authority_releases_successful_locks_and_overrides_inherited_settings ... ok1231horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_compressible_unicode_payload_bounds_native_prefetch ... ok1232horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_exports_require_current_tenant_bound_actors_even_when_empty ... ok1233horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_exports_refresh_after_organization_or_actor_wait ... ok1234horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_header_and_total_blocks_recheck_manager_after_capacity ... ok1235horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_native_batches_keep_crossing_rows_and_reject_invalid_limits ... ok1236horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_project_release_refreshes_scope_after_parent_wait ... ok1237horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_native_projection_mismatch_fails_instead_of_coercing ... ok1238horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_pending_project_block_checks_all_captured_ids_after_capacity ... ok1239horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_projects_capture_scope_gained_during_initial_wait ... ok1240horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_source_stays_frozen_across_batches_while_authority_is_fresh ... ok1241horae-tests-0.1.0> test reports::streaming::database_tests::measure_streaming_csv_export ... ignored, Manual release measurement of a 100,000-row CSV download1242horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_invoice_keeps_original_metadata_lines_and_totals_between_batches ... ok1243horae-tests-0.1.0> test reports::streaming::database_tests::dropping_streamed_timesheet_closes_its_database_connection ... ok1244horae-tests-0.1.0> test reports::streaming::database_tests::project_canonical::project_csv_canonical_reader_exports_project_without_monetary_budget ... ok1245horae-tests-0.1.0> test reports::streaming::database_tests::project_canonical::project_csv_canonical_empty_scope_does_not_inherit_legacy_admin ... ok1246horae-tests-0.1.0> test reports::streaming::database_tests::authorization::streamed_timesheet_rechecks_after_backpressure_without_retaining_locks ... ok1247horae-tests-0.1.0> test reports::streaming::database_tests::project_canonical::project_csv_rejects_financial_revocation_after_capacity_wait ... ok1248horae-tests-0.1.0> test reports::streaming::database_tests::project_canonical::project_csv_source_masks_money_using_declare_snapshot ... ok1249horae-tests-0.1.0> test reports::streaming::database_tests::project_canonical::project_csv_invalid_source_state_cannot_be_repaired_before_fetch ... ok1250horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::billability::billability_empty_exports_still_require_active_authority ... ok1251horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::billability::billability_matches_effective_rows_totals_and_all_download_sources ... ok1252horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::billability::billability_csv_uses_the_captured_source_after_entry_changes ... ok1253horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::active_projects::active_projects_only_csv_captures_activity_at_source_snapshot ... ok1254horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::active_projects::active_projects_only_empty_downloads_still_require_current_authority ... ok1255horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::active_projects::active_projects_only_workbooks_retain_source_after_archiving ... ok1256horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_bounds_native_fragments_and_preserves_large_unicode_labels ... ok1257horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_checks_last_context_before_emitting_any_group_bytes ... ok1258horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_empty_source_still_requires_canonical_authority ... ok1259horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::active_projects::active_projects_only_matches_detailed_and_grouped_downloads ... ok1260horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_invalid_source_authority_cannot_be_repaired_after_declare ... ok1261horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_has_no_workbook_source_entry_cap ... ok1262horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_exports_all_four_dimensions_with_exact_rounded_hours ... ok1263horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_keeps_authority_between_fragment_batches_and_releases_on_cancel ... ok1264horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_preserves_distinct_ids_beyond_ten_thousand_groups ... ok1265horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_empty_header_rechecks_policy_and_state_after_capacity ... ok1266horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::grouped::grouped_csv_revocation_under_backpressure_does_not_hold_gates ... ok1267horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_invalid_captured_state_cannot_be_repaired_before_fetch ... ok1268horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_member_downloads_own_rows_without_financial_grants ... ok1269horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_missing_identity_has_invalid_sentinel_and_metadata_is_bounded ... ok1270horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_legacy_manager_does_not_expand_own_scope ... ok1271horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_rechecks_every_pending_context_but_not_previous_blocks ... ok1272horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_revocation_under_backpressure_interrupts_body_without_holding_locks ... ok1273horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_reassigned_or_deleted_entries_keep_captured_context ... ok1274horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_source_uses_management_edges_at_declare ... ok1275horae-tests-0.1.0> test reports::streaming::database_tests::streamed_fee_invoice_has_no_fabricated_hours_or_hourly_rate ... ok1276horae-tests-0.1.0> test reports::streaming::database_tests::scoped_time::scoped_csv_source_uses_declare_authority_not_initial_or_fetch_authority ... ok1277horae-tests-0.1.0> test reports::streaming::database_tests::streamed_invoice_uses_stored_exact_cents_and_tenant_scoped_metadata ... ok1278horae-tests-0.1.0> test reports::streaming::database_tests::streamed_project_exports_deny_inactive_actors ... ok1279horae-tests-0.1.0> test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot ... ok1280horae-tests-0.1.0> test reports::streaming::database_tests::streamed_tag_filter_excludes_other_projects_without_duplicating_rows ... ok1281horae-tests-0.1.0> test reports::streaming::tests::completed_csv_keeps_admission_until_body_drop ... ok1282horae-tests-0.1.0> test reports::streaming::tests::csv_backpressure_and_body_drop_bound_and_cancel_source_reads ... ok1283horae-tests-0.1.0> test reports::streaming::tests::csv_does_not_truncate_a_quoted_unicode_record_larger_than_a_chunk ... ok1284horae-tests-0.1.0> test reports::streaming::tests::csv_emits_a_chunk_before_the_source_finishes ... ok1285horae-tests-0.1.0> test reports::streaming::tests::csv_failure_or_panic_after_a_chunk_is_not_successful_eof ... ok1286horae-tests-0.1.0> test reports::streaming::tests::csv_startup_errors_are_http_errors_and_release_admission ... ok1287horae-tests-0.1.0> test reports::streaming::tests::csv_timeout_interrupts_an_already_started_body ... ok1288horae-tests-0.1.0> test reports::streaming::tests::dropping_csv_during_startup_cancels_the_producer ... ok1289horae-tests-0.1.0> test route::tests::client_detail_preserves_identity_and_highlights_only_clients ... ok1290horae-tests-0.1.0> test route::tests::client_workflow_paths_preserve_context_and_navigation_section ... ok1291horae-tests-0.1.0> test route::tests::detail_origin_edit_round_trips_and_returns_to_the_same_project ... ok1292horae-tests-0.1.0> test route::tests::edit_project_preserves_identity_and_highlights_only_projects ... ok1293horae-tests-0.1.0> test route::tests::existing_timesheet_links_without_a_person_still_select_own_time ... ok1294horae-tests-0.1.0> test route::tests::extra_encoded_targets_stay_invalid_after_the_router_rewrites_the_url ... ok1295horae-tests-0.1.0> test route::tests::extra_or_repeated_query_parameters_fail_closed ... ok1296horae-tests-0.1.0> test route::tests::foreign_unsafe_or_extended_return_targets_fall_back_to_projects ... ok1297horae-tests-0.1.0> test route::tests::invalid_timesheet_person_is_not_silently_removed_from_the_route ... ok1298horae-tests-0.1.0> test route::tests::list_origin_and_plain_edit_urls_keep_returning_to_projects ... ok1299horae-tests-0.1.0> test route::tests::malformed_context_reaches_the_workflow_for_validation_after_recovery ... ok1300horae-tests-0.1.0> test route::tests::new_project_is_static_and_highlights_only_projects ... ok1301horae-tests-0.1.0> test route::tests::return_target_never_selects_a_different_project ... ok1302horae-tests-0.1.0> test route::tests::timesheet_routes_preserve_selected_person_in_every_view ... ok1303horae-tests-0.1.0> test reports::streaming::database_tests::streamed_timesheet_exceeds_xlsx_row_limit_without_one_large_body_chunk ... ok1304horae-tests-0.1.0> test reports::streaming::database_tests::streamed_projects_preserve_scope_budget_and_tenant_isolation ... ok1305horae-tests-0.1.0> test seed::tests::concurrent_init_and_seed_cannot_mix_organizations ... ok1306horae-tests-0.1.0> test seed::tests::concurrent_initializers_cannot_create_two_organizations ... ok1307horae-tests-0.1.0> test reports::streaming::database_tests::streamed_timesheet_preserves_csv_escaping_frozen_zero_and_all_filters ... ok1308horae-tests-0.1.0> test seed::tests::late_seed_failure_rolls_back_all_demo_data ... ok1309horae-tests-0.1.0> test seed::tests::repeated_seed_preserves_every_row_and_user_edits ... ok1310horae-tests-0.1.0> test seed::tests::concurrent_seed_runs_create_only_one_demo ... ok1311horae-tests-0.1.0> test seed::tests::seed_refuses_a_second_organization_even_when_the_demo_exists ... ok1312horae-tests-0.1.0> test seed::tests::seed_refuses_an_initialized_organization_without_writes ... ok1313horae-tests-0.1.0> test seed::tests::seed_leaves_an_older_or_partial_demo_unchanged ... ok1314horae-tests-0.1.0> test server_fns::approvals::isolation_tests::foreign_approval_ids_do_not_change_another_organizations_week ... ok1315horae-tests-0.1.0> test server_fns::approvals::isolation_tests::foreign_reopen_is_not_found_and_preserves_pending_and_approved_work ... ok1316horae-tests-0.1.0> test server_fns::approvals::isolation_tests::bulk_approval_only_returns_and_transitions_own_organization ... ok1317horae-tests-0.1.0> test server_fns::approvals::period_tests::a_week_lists_only_its_own_organizations_approvals_starting_that_day ... ok1318horae-tests-0.1.0> test server_fns::approvals::period_tests::an_unusable_week_start_is_a_bad_request ... ok1319horae-tests-0.1.0> test server_fns::approvals::isolation_tests::own_organization_can_reopen_without_unlocking_invoiced_entries ... ok1320horae-tests-0.1.0> test server_fns::approvals::submission_tests::admitted_submission_finishes_before_access_change ... ok1321horae-tests-0.1.0> test server_fns::approvals::period_tests::reopening_a_week_leaves_the_next_week_approved ... ok1322horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_accepts_the_organizations_sunday_start ... ok1323horae-tests-0.1.0> test server_fns::approvals::submission_tests::cancelling_a_submission_releases_its_write_barrier ... ok1324horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_barrier_allows_shared_writers_for_the_same_user ... ok1325horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_does_not_wait_for_another_users_writer ... ok1326horae-tests-0.1.0> test server_fns::approvals::period_tests::approving_a_week_leaves_the_previous_week_pending ... ok1327horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_freezes_the_minutes_after_a_competing_edit ... ok1328horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_rechecks_policy_and_activity_after_access_change ... ok1329horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_rejects_a_start_that_is_not_the_organizations_week_start ... ok1330horae-tests-0.1.0> test server_fns::approvals::period_tests::the_status_filter_applies_within_the_week ... ok1331horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_uses_one_pool_connection ... ok1332horae-tests-0.1.0> test server_fns::approvals::submission_tests::submission_waits_for_a_new_timer_before_checking_the_week ... ok1333horae-tests-0.1.0> test server_fns::approvals::tests::ignores_stopped_and_out_of_week_timers ... ok1334horae-tests-0.1.0> test server_fns::approvals::tests::sees_a_running_timer_inside_the_week ... ok1335horae-tests-0.1.0> test server_fns::budget_tests::budget_notification_schema_enforces_tenants_and_no_public_access ... ok1336horae-tests-0.1.0> test server_fns::budget_tests::concurrent_budget_checks_have_one_band_claimant ... ok1337horae-tests-0.1.0> test server_fns::budget_tests::configured_alert_and_outbox_roll_back_together ... ok1338horae-tests-0.1.0> test server_fns::budget_tests::configured_alert_recipients_are_active_same_org_managers_and_project_leads ... ok1339horae-tests-0.1.0> test server_fns::budget_tests::configured_alerts_deduplicate_concurrent_checks_and_recrossing ... ok1340horae-tests-0.1.0> test server_fns::budget_tests::configured_alerts_require_enabled_active_project_and_authorized_recipient ... ok1341horae-tests-0.1.0> test server_fns::budget_tests::configured_amount_budget_uses_resolved_rates_and_explicit_zero ... ok1342horae-tests-0.1.0> test server_fns::budget_tests::configured_budget_does_not_read_foreign_or_legacy_projects ... ok1343horae-tests-0.1.0> test server_fns::budget_tests::configured_budget_sweep_recovers_missed_checks_without_duplicates ... ok1344horae-tests-0.1.0> test server_fns::budget_tests::configured_monthly_budget_excludes_other_months_and_nonbillable_time ... ok1345horae-tests-0.1.0> test server_fns::budget_tests::configured_nonbillable_projects_count_time_without_hidden_checkbox ... ok1346horae-tests-0.1.0> test server_fns::budget_tests::configured_monthly_budget_includes_leap_day_and_preserves_locked_rounding ... ok1347horae-tests-0.1.0> test server_fns::budget_tests::configured_person_budget_excludes_other_people_and_has_its_own_alert ... ok1348horae-tests-0.1.0> test server_fns::budget_tests::configured_task_and_person_budgets_do_not_share_consumption ... ok1349horae-tests-0.1.0> test server_fns::budget_tests::configured_task_fee_budget_respects_billability_and_alert_scope ... ok1350horae-tests-0.1.0> test server_fns::budget_tests::overview_budget_progress_batches_projects_without_mixing_scopes ... ok1351horae-tests-0.1.0> test server_fns::budget_tests::overview_budget_progress_includes_people_without_an_allowance ... ok1352horae-tests-0.1.0> test server_fns::budget_tests::overview_budget_progress_is_current_period_scoped_and_authorized ... ok1353horae-tests-0.1.0> test server_fns::clients::lifecycle_tests::archive_is_refused_while_any_linked_project_is_active ... ok1354horae-tests-0.1.0> test server_fns::clients::lifecycle_tests::archive_succeeds_without_active_projects_and_repeats_as_a_noop ... ok1355horae-tests-0.1.0> test server_fns::clients::lifecycle_tests::foreign_clients_are_indistinguishable_from_unknown_ones ... ok1356horae-tests-0.1.0> test server_fns::clients::lifecycle_tests::restore_changes_only_the_client ... ok1357horae-tests-0.1.0> test server_fns::clients::lifecycle_tests::archive_waiting_for_a_project_writer_sees_its_committed_project ... ok1358horae-tests-0.1.0> test server_fns::clients::lifecycle_tests::status_change_waits_for_a_role_change_and_then_fails_closed ... ok1359horae-tests-0.1.0> test server_fns::clients::page_tests::default_rate_requires_the_global_billable_rate_grant ... ok1360horae-tests-0.1.0> test server_fns::clients::page_tests::legacy_workflow_readers_are_unchanged_under_policy_one ... ok1361horae-tests-0.1.0> test server_fns::clients::page_tests::foreign_missing_and_rebound_requests_fail_closed ... ok1362horae-tests-0.1.0> test server_fns::clients::lifecycle_tests::status_changes_recheck_current_authority_before_project_state ... ok1363horae-tests-0.1.0> test server_fns::clients::page_tests::managed_project_counts_require_an_actual_management_link ... ok1364horae-tests-0.1.0> test server_fns::clients::page_tests::policy_zero_keeps_legacy_catalog_billing_and_manager_affordance ... ok1365horae-tests-0.1.0> test server_fns::clients::page_tests::project_counts_follow_the_policy_one_project_reader ... ok1366horae-tests-0.1.0> test server_fns::clients::page_tests::read_only_client_grant_shows_catalog_without_writes_rates_or_projects ... ok1367horae-tests-0.1.0> test server_fns::clients::page_tests::readers_observe_revocation_after_waiting_for_current_authority ... ok1368horae-tests-0.1.0> test server_fns::clients::page_tests::visible_default_rate_distinguishes_unset_from_zero ... ok1369horae-tests-0.1.0> test server_fns::clients::page_tests::unavailable_permission_state_and_inactive_actors_fail_closed ... ok1370horae-tests-0.1.0> test server_fns::clients::page_tests::unrelated_grants_and_legacy_roles_do_not_open_the_catalog ... ok1371horae-tests-0.1.0> test server_fns::clients::tests::both_activation_transitions_change_once_and_preserve_details ... ok1372horae-tests-0.1.0> test server_fns::clients::tests::client_default_rate_allows_detail_edits_and_equivalent_currency ... ok1373horae-tests-0.1.0> test server_fns::clients::tests::client_default_rate_prevents_currency_relabelling ... ok1374horae-tests-0.1.0> test server_fns::clients::tests::client_details_distinguish_unset_zero_and_positive_manager_rates ... ok1375horae-tests-0.1.0> test server_fns::clients::tests::client_details_hide_foreign_missing_and_inactive_actor_records ... ok1376horae-tests-0.1.0> test server_fns::clients::tests::client_details_keep_catalog_identity_but_omit_member_billing ... ok1377horae-tests-0.1.0> test server_fns::clients::tests::client_invoices_keep_exact_client_scope_statuses_and_currencies ... ok1378horae-tests-0.1.0> test server_fns::clients::tests::client_invoices_hold_authority_until_the_read_finishes ... ok1379horae-tests-0.1.0> test server_fns::clients::tests::client_invoices_reject_a_winning_concurrent_revocation ... ok1380horae-tests-0.1.0> test server_fns::clients::tests::client_invoices_require_manager_authority_even_without_invoices ... ok1381horae-tests-0.1.0> test server_fns::clients::tests::client_summaries_exclude_foreign_clients_and_unreadable_project_currencies ... ok1382horae-tests-0.1.0> test server_fns::clients::tests::client_summaries_follow_existing_progress_visibility_and_revoke_inactive_users ... ok1383horae-tests-0.1.0> test server_fns::clients::tests::client_summaries_keep_catalog_without_projects_and_count_archived_projects ... ok1384horae-tests-0.1.0> test server_fns::clients::tests::client_summaries_reject_a_foreign_actor_even_when_client_org_is_known ... ok1385horae-tests-0.1.0> test server_fns::clients::tests::concurrent_deletion_is_not_an_unchanged_mutation ... ok1386horae-tests-0.1.0> test server_fns::clients::tests::currency_edit_rechecks_a_concurrently_added_client_default_rate ... ok1387horae-tests-0.1.0> test server_fns::clients::tests::missing_and_foreign_clients_are_not_noops ... ok1388horae-tests-0.1.0> test server_fns::clients::tests::each_field_changes_once_and_preserves_inactive_status ... ok1389horae-tests-0.1.0> test server_fns::clients::tests::profile_create_persists_normalized_identity_and_exact_optional_rate ... ok1390horae-tests-0.1.0> test server_fns::clients::tests::profile_currency_change_without_a_rate_keeps_it_unset ... ok1391horae-tests-0.1.0> test server_fns::clients::tests::profile_noop_preserves_row_and_returns_no_update_event_signal ... ok1392horae-tests-0.1.0> test server_fns::clients::tests::profile_saves_recheck_manager_org_and_active_actor ... ok1393horae-tests-0.1.0> test server_fns::clients::tests::profile_saves_reject_invalid_input_without_partial_writes ... ok1394horae-tests-0.1.0> test server_fns::clients::tests::profile_update_preserves_historical_rows_and_inactive_status ... ok1395horae-tests-0.1.0> test server_fns::clients::tests::profile_update_rechecks_authority_after_waiting_for_a_concurrent_demotion ... ok1396horae-tests-0.1.0> test server_fns::clients::tests::profile_update_rechecks_financial_snapshot_after_waiting_for_a_concurrent_edit ... ok1397horae-tests-0.1.0> test server_fns::clients::tests::profile_update_rejects_stale_currency_even_when_the_rate_is_still_unset ... ok1398horae-tests-0.1.0> test server_fns::clients::tests::profile_update_rejects_stale_rate_even_when_the_target_currency_is_unchanged ... ok1399horae-tests-0.1.0> test server_fns::clients::tests::profile_update_requires_explicit_rate_intent_for_currency_changes ... ok1400horae-tests-0.1.0> test server_fns::clients::tests::repeating_a_competing_deactivation_does_not_report_a_transition ... ok1401horae-tests-0.1.0> test server_fns::clients::tests::repeating_a_competing_edit_does_not_report_a_change ... ok1402horae-tests-0.1.0> test server_fns::clients::tests::restoring_a_competing_deactivation_reports_reactivation ... ok1403horae-tests-0.1.0> test server_fns::importers::authorization_tests::cli_job_endpoints_have_stable_registered_paths ... ok1404horae-tests-0.1.0> test server_fns::clients::tests::restoring_values_after_a_competing_edit_reports_a_change ... ok1405horae-tests-0.1.0> test 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 --nocapture1406horae-tests-0.1.0> test server_fns::importers::authorization_tests::request_bound_import_endpoints_are_not_registered ... ok1407horae-tests-0.1.0> test server_fns::clients::tests::unchanged_activation_preserves_the_row ... ok1408horae-tests-0.1.0> test server_fns::clients::tests::unchanged_edit_preserves_the_row ... ok1409horae-tests-0.1.0> test server_fns::importers::authorization_tests::job_endpoints_enforce_session_role_and_organization ... ok1410horae-tests-0.1.0> test server_fns::importers::commands::tests::authorized_job_lifecycle_and_duplicate_retention_work_with_one_connection ... ok1411horae-tests-0.1.0> test server_fns::importers::commands::tests::authorized_submissions_do_not_wait_for_the_running_import_reservation ... ok1412horae-tests-0.1.0> test server_fns::importers::commands::tests::conflicting_and_stale_commands_preserve_payload_policy_and_retained_state ... ok1413horae-tests-0.1.0> test server_fns::importers::commands::tests::duplicate_submission_and_noop_cancellation_do_not_bypass_revocation ... ok1414horae-tests-0.1.0> test server_fns::importers::commands::tests::import_access_rechecks_revocation_after_organization_and_actor_waits ... ok1415horae-tests-0.1.0> test server_fns::importers::commands::tests::foreign_and_missing_jobs_never_reveal_or_change_another_tenant ... ok1416horae-tests-0.1.0> test server_fns::importers::commands::tests::failed_upload_insert_rolls_back_the_job_and_releases_authority ... ok1417horae-tests-0.1.0> test server_fns::importers::commands::tests::import_commands_and_results_hold_actor_authority_until_commit ... ok1418horae-tests-0.1.0> test server_fns::importers::commands::tests::requester::new_import_jobs_record_the_authorized_original_requester ... ok1419horae-tests-0.1.0> test server_fns::importers::commands::tests::commands_and_status_require_current_active_tenant_administrator ... ok1420horae-tests-0.1.0> test server_fns::importers::commands::tests::requester::requester_migration_preserves_unknown_authors_in_all_job_states ... ok1421horae-tests-0.1.0> test server_fns::importers::csv_upload::tests::csv_upload_extractor_preserves_raw_bytes ... ok1422horae-tests-0.1.0> test server_fns::importers::csv_upload::tests::csv_upload_requires_its_header_without_reading_the_body ... ok1423horae-tests-0.1.0> test server_fns::importers::tests::concurrent_api_import_returns_a_retryable_conflict ... ok1424horae-tests-0.1.0> test server_fns::importers::tests::csv_route_rejects_invalid_modes_and_headers_without_reading_uploads ... ok1425horae-tests-0.1.0> test server_fns::importers::tests::revoked_connection_authority_maps_to_forbidden_without_private_context ... ok1426horae-tests-0.1.0> test server_fns::importers::tests::submission_identity_rejects_expired_future_and_non_v7_keys ... ok1427horae-tests-0.1.0> test server_fns::importers::commands::tests::requester::duplicates_and_job_lifecycle_never_replace_or_invent_the_original_requester ... ok1428horae-tests-0.1.0> test server_fns::importers::commands::tests::requester::waiting_duplicate_keeps_the_first_committed_requester ... ok1429horae-tests-0.1.0> test server_fns::invoices::client_label_tests::invoice_labels_preserve_names_and_history_for_inactive_clients ... ok1430horae-tests-0.1.0> test server_fns::invoices::fee_tests::concurrent_invoices_claim_a_single_fee_once ... ok1431horae-tests-0.1.0> test server_fns::importers::commands::tests::requester::original_requester_foreign_key_preserves_tenant_and_known_identity ... ok1432horae-tests-0.1.0> test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution ... ok1433horae-tests-0.1.0> test server_fns::invoices::fee_tests::draft_fee_edit_rejects_invalid_lines_and_current_unauthorized_actors ... ok1434horae-tests-0.1.0> test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity ... ok1435horae-tests-0.1.0> test server_fns::invoices::fee_tests::draft_fee_edit_requires_current_balance_and_exact_excess_confirmation ... ok1436horae-tests-0.1.0> test server_fns::invoices::fee_tests::fee_invoice_does_not_claim_hours_or_another_clients_fee ... ok1437horae-tests-0.1.0> test server_fns::invoices::fee_tests::draft_fee_edit_serializes_retries_and_rejects_stale_revisions ... ok1438horae-tests-0.1.0> test server_fns::invoices::fee_tests::fee_occurrence_rejects_cross_organization_project ... ok1439horae-tests-0.1.0> test server_fns::invoices::fee_tests::fee_balance_migration_allocates_discount_without_rewriting_invoice_snapshots ... ok1440horae-tests-0.1.0> test server_fns::invoices::fee_tests::fee_total_overflow_rolls_back_occurrences_and_invoice ... ok1441horae-tests-0.1.0> test server_fns::invoices::fee_tests::concurrent_discounted_invoice_retries_return_one_invoice ... ok1442horae-tests-0.1.0> test server_fns::invoices::fee_tests::invoice_line_sources_reject_mixed_sources_and_invented_fee_quantities ... ok1443horae-tests-0.1.0> test server_fns::invoices::fee_tests::fee_preview_discount_ties_follow_source_keys_not_display_dates ... ok1444horae-tests-0.1.0> test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances ... ok1445horae-tests-0.1.0> test server_fns::invoices::fee_tests::milestones_include_unbilled_overdue_fees_but_not_future_fees ... ok1446horae-tests-0.1.0> test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects ... ok1447horae-tests-0.1.0> test server_fns::invoices::fee_tests::invoice_preview_does_not_materialize_fees_and_preserves_released_snapshots ... ok1448horae-tests-0.1.0> test server_fns::invoices::fee_tests::monthly_fees_use_calendar_dates_and_skip_already_claimed_months ... ok1449horae-tests-0.1.0> test server_fns::invoices::fee_tests::monthly_first_and_fifteenth_respect_partial_period_and_project_end ... ok1450horae-tests-0.1.0> test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time ... ok1451horae-tests-0.1.0> test server_fns::invoices::fee_tests::invoice_status_rechecks_authority_after_waiting_for_the_invoice_lock ... ok1452horae-tests-0.1.0> test server_fns::invoices::fee_tests::prepared_fee_selection_rejects_invalid_values_and_empty_generation ... ok1453horae-tests-0.1.0> test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate ... ok1454horae-tests-0.1.0> test server_fns::invoices::fee_tests::removing_discount_and_billing_the_remainder_cannot_both_succeed ... ok1455horae-tests-0.1.0> test server_fns::invoices::fee_tests::reviewed_generation_bills_partial_fees_and_rejects_stale_balances ... ok1456horae-tests-0.1.0> test server_fns::invoices::fee_tests::reviewed_generation_does_not_materialize_unselected_months ... ok1457horae-tests-0.1.0> test server_fns::invoices::fee_tests::reviewed_generation_rejects_changed_time_before_claiming_it ... ok1458horae-tests-0.1.0> test server_fns::invoices::fee_tests::single_fee_can_be_invoiced_without_time ... ok1459horae-tests-0.1.0> test server_fns::invoices::fee_tests::void_releases_fee_identity_without_rewriting_the_original_line ... ok1460horae-tests-0.1.0> test server_fns::invoices::fee_tests::settled_fee_sources_remain_reviewable_without_automatic_charges ... ok1461horae-tests-0.1.0> test server_fns::invoices::preview::tests::excess_rejects_an_unrepresentable_total_even_when_the_remainder_fits ... ok1462horae-tests-0.1.0> test server_fns::invoices::preview::tests::unselected_fee_currencies_do_not_relabel_or_block_selected_charges ... ok1463horae-tests-0.1.0> test server_fns::invoices::fee_tests::zero_fee_is_invoiced_once_until_voided ... ok1464horae-tests-0.1.0> test server_fns::invoices::fee_tests::project_fee_context_matches_invoice_balances_and_current_authority ... ok1465horae-tests-0.1.0> test server_fns::invoices::fee_tests::reviewed_generation_requires_exact_excess_and_current_authority ... ok1466horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::editor::editor_snapshots_keep_invoice_metadata_revision_and_lines_together ... ok1467horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::editor::editor_snapshots_preserve_rows_and_override_inherited_read_only ... ok1468horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::editor::editor_snapshots_refresh_after_organization_row_change_without_rebasing_edits ... ok1469horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::editor::editor_snapshots_retain_authority_and_release_cancelled_reads ... ok1470horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::races::financial_snapshots_deny_winning_actor_revocation_without_organization_change ... ok1471horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::editor::editor_snapshots_deny_winning_legacy_revocation ... ok1472horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::races::financial_snapshots_keep_fee_values_from_their_initial_snapshot ... ok1473horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::financial_snapshots_require_current_same_tenant_manager ... ok1474horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::races::financial_snapshots_hold_authority_until_materialization ... ok1475horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::races::financial_snapshots_retry_organization_row_change_and_refresh_amounts ... ok1476horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::settings::financial_snapshots_honor_stricter_lock_timeout_during_authorization ... ok1477horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::settings::financial_snapshots_retry_only_serialization_failures_and_stop_after_three ... ok1478horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::races::financial_snapshots_release_cancelled_reads_for_one_connection ... ok1479horae-tests-0.1.0> test server_fns::invoices::snapshot_tests::settings::financial_snapshots_override_isolation_but_restore_connection_settings ... ok1480horae-tests-0.1.0> test server_fns::invoices::tests::authority::cancelled_invoice_writers_roll_back_and_release_single_connection ... ok1481horae-tests-0.1.0> test server_fns::invoices::tests::assignment_gate_allows_inflight_invoice_organization_fks_to_finish ... ok1482horae-tests-0.1.0> test server_fns::invoices::tests::authority::invoice_generation_and_user_revocation_commit_in_gate_order ... ok1483horae-tests-0.1.0> test server_fns::invoices::tests::billing_cascade_agrees_across_all_four_levels_including_zero ... ok1484horae-tests-0.1.0> test server_fns::invoices::tests::configured_fixed_fee_hours_are_not_invoiced_but_legacy_fees_are_unchanged ... ok1485horae-tests-0.1.0> test server_fns::invoices::tests::authority::invoice_writers_override_readonly_defaults_without_changing_the_session ... ok1486horae-tests-0.1.0> test server_fns::invoices::tests::configured_project_currency_and_cost_override_keep_their_denominations ... ok1487horae-tests-0.1.0> test server_fns::invoices::tests::effective_minutes_migration_preserves_historical_invoice_quantities ... ok1488horae-tests-0.1.0> test server_fns::invoices::tests::authority::invoice_edit_and_transition_observe_user_revocation_order ... ok1489horae-tests-0.1.0> test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry ... ok1490horae-tests-0.1.0> test server_fns::invoices::tests::effective_minutes_sql_matches_domain_rounding ... ok1491horae-tests-0.1.0> test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links ... ok1492horae-tests-0.1.0> test server_fns::invoices::tests::imported_rates::rejected_import_rate_does_not_poison_the_next_row_or_its_catalog_rate ... ok1493horae-tests-0.1.0> test server_fns::invoices::tests::invoice_defaults_apply_exact_adjustments_and_payment_terms ... ok1494horae-tests-0.1.0> test server_fns::invoices::tests::invoice_defaults_legacy_insert_preserves_dates_and_exact_total ... ok1495horae-tests-0.1.0> test server_fns::invoices::tests::invoice_defaults_edit_rechecks_status_after_waiting_for_a_concurrent_send ... ok1496horae-tests-0.1.0> test server_fns::invoices::tests::invoice_defaults_validate_all_override_fields ... ok1497horae-tests-0.1.0> test server_fns::invoices::tests::invoice_line_overflow_leaves_time_unbilled ... ok1498horae-tests-0.1.0> test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable ... ok1499horae-tests-0.1.0> test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims ... ok1500horae-tests-0.1.0> test server_fns::invoices::tests::invoice_preview_rejects_large_results_instead_of_truncating_them ... ok1501horae-tests-0.1.0> test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time ... ok1502horae-tests-0.1.0> test server_fns::invoices::tests::invoice_defaults_selection_rejects_unavailable_projects_before_claiming ... ok1503horae-tests-0.1.0> test server_fns::invoices::tests::invoice_total_overflow_leaves_all_time_unbilled ... ok1504horae-tests-0.1.0> test server_fns::invoices::tests::invoice_preview_keeps_time_rates_and_defaults_in_one_snapshot ... ok1505horae-tests-0.1.0> test server_fns::invoices::tests::invoice_transitions_reject_invalid_states_and_foreign_organizations ... ok1506horae-tests-0.1.0> test server_fns::invoices::tests::invoiced_amounts_survive_rate_changes_and_void_uses_current_rates ... ok1507horae-tests-0.1.0> test server_fns::invoices::tests::invoicing_leaves_running_time_open ... ok1508horae-tests-0.1.0> test server_fns::invoices::tests::invoiced_billability_survives_later_project_changes ... ok1509horae-tests-0.1.0> test server_fns::invoices::tests::invoice_preview_requires_explicit_resolution_and_scopes_selected_projects ... ok1510horae-tests-0.1.0> test server_fns::invoices::tests::invoicing_uses_and_freezes_effective_minutes ... ok1511horae-tests-0.1.0> test server_fns::invoices::tests::mixed_project_currencies_cannot_partially_create_an_invoice ... ok1512horae-tests-0.1.0> test server_fns::invoices::tests::large_invoice_and_reports_agree_without_intermediate_overflow ... ok1513horae-tests-0.1.0> test server_fns::invoices::tests::only_running_time_does_not_create_an_invoice ... ok1514horae-tests-0.1.0> test server_fns::invoices::tests::non_billable_context_produces_no_unbilled_amount_on_any_report ... ok1515horae-tests-0.1.0> test server_fns::invoices::tests::project_rate_is_used_by_invoices_reports_and_spend ... ok1516horae-tests-0.1.0> test server_fns::invoices::tests::void_reopens_time_without_stale_rounding ... ok1517horae-tests-0.1.0> test server_fns::invoices::tests::void_waits_for_a_concurrent_payment_and_then_refuses ... ok1518horae-tests-0.1.0> test server_fns::organization::tests::branding_holds_actor_authority_until_its_write_commits ... ok1519horae-tests-0.1.0> test server_fns::invoices::tests::selected_project_rate_modes_agree_across_billing_consumers ... ok1520horae-tests-0.1.0> test server_fns::organization::tests::branding_rechecks_authority_after_an_actor_only_wait ... ok1521horae-tests-0.1.0> test server_fns::organization::tests::each_branding_field_changes_once_including_null_and_empty ... ok1522horae-tests-0.1.0> test server_fns::organization::tests::branding_rechecks_authority_after_the_organization_wait ... ok1523horae-tests-0.1.0> test server_fns::organization::tests::missing_organization_is_not_an_unchanged_update ... ok1524horae-tests-0.1.0> test server_fns::organization::tests::repeating_a_competing_branding_edit_does_not_report_a_change ... ok1525horae-tests-0.1.0> test server_fns::organization::tests::branding_requires_current_tenant_bound_authority_even_for_noops ... ok1526horae-tests-0.1.0> test server_fns::organization::tests::restoring_branding_after_a_competing_edit_reports_a_change ... ok1527horae-tests-0.1.0> test server_fns::organization::tests::unchanged_branding_preserves_the_row ... ok1528horae-tests-0.1.0> test server_fns::organization::tests::failed_branding_write_rolls_back_and_releases_authority ... ok1529horae-tests-0.1.0> test server_fns::permissions::audit_tests::administrator_reads_historical_template_without_intent_or_replay_result ... ok1530horae-tests-0.1.0> test server_fns::permissions::audit_tests::audit_reader_holds_requester_until_materialization_finishes ... ok1531horae-tests-0.1.0> test server_fns::permissions::audit_tests::audit_reader_overrides_transaction_defaults_without_changing_connection ... ok1532horae-tests-0.1.0> test server_fns::permissions::audit_tests::browsing::admitted_history_page_finishes_before_revocation_at_each_gate ... ok1533horae-tests-0.1.0> test server_fns::permissions::audit_tests::browsing::cancelling_history_page_releases_both_authority_gates ... ok1534horae-tests-0.1.0> test server_fns::permissions::audit_tests::browsing::history_page_reauthorizes_empty_and_continuation_requests_and_binds_requester ... ok1535horae-tests-0.1.0> test server_fns::permissions::audit_tests::audit_timeout_preserves_stricter_limits_and_releases_locks ... ok1536horae-tests-0.1.0> test server_fns::permissions::audit_tests::browsing::history_page_rejects_malformed_history_without_partial_success ... ok1537horae-tests-0.1.0> test server_fns::permissions::audit_tests::browsing::history_page_waits_for_revocation_commit_or_rollback_at_each_gate ... ok1538horae-tests-0.1.0> test server_fns::permissions::audit_tests::cancelled_audit_read_releases_both_gates_and_single_connection ... ok1539horae-tests-0.1.0> test server_fns::permissions::audit_tests::browsing::history_pages_scope_before_limit_and_use_stable_exclusive_timestamp_id_bounds ... ok1540horae-tests-0.1.0> test server_fns::permissions::audit_tests::historical_decoder_distinguishes_missing_change_from_explicit_noop ... ok1541horae-tests-0.1.0> test server_fns::permissions::audit_tests::historical_decoder_rejects_missing_template_snapshots_and_invalid_grants ... ok1542horae-tests-0.1.0> test server_fns::permissions::audit_tests::historical_decoder_rejects_unknown_mixed_fields_and_invalid_revision_steps ... ok1543horae-tests-0.1.0> test server_fns::permissions::audit_tests::historical_person_snapshot_validates_provenance_without_inferring_admin_identity ... ok1544horae-tests-0.1.0> test server_fns::permissions::audit_tests::direct_deactivation_winning_user_lock_denies_audit_read ... ok1545horae-tests-0.1.0> test server_fns::permissions::audit_tests::failed_mutation_has_no_success_audit_and_reads_do_not_write ... ok1546horae-tests-0.1.0> test server_fns::permissions::audit_tests::current_administrator_reads_inactive_authors_history_without_live_state ... ok1547horae-tests-0.1.0> test server_fns::permissions::audit_tests::operator_attribution_is_not_a_user_and_excludes_private_replay_payload ... ok1548horae-tests-0.1.0> test server_fns::permissions::audit_tests::profile_and_project_history_decode_exact_changes_and_noops ... ok1549horae-tests-0.1.0> test server_fns::permissions::audit_tests::legacy_admin_and_all_grants_without_explicit_identity_cannot_read_audit ... ok1550horae-tests-0.1.0> test server_fns::permissions::audit_tests::reader_winning_gate_finishes_before_revocation_and_later_reads_fail ... ok1551horae-tests-0.1.0> test server_fns::permissions::audit_tests::revocation_winning_gate_denies_waiting_historical_reader ... ok1552horae-tests-0.1.0> test server_fns::permissions::audit_tests::profile_history_keeps_removed_relationships_after_grants_change_again ... ok1553horae-tests-0.1.0> test server_fns::permissions::audit_tests::tenant_activity_and_policy_checks_precede_receipt_existence_and_decode ... ok1554horae-tests-0.1.0> test server_fns::permissions::own_tests::own_permissions_deny_invalid_identity_policy_and_state ... ok1555horae-tests-0.1.0> test server_fns::permissions::audit_tests::template_detachment_history_preserves_exact_grants_and_provenance ... ok1556horae-tests-0.1.0> test server_fns::permissions::own_tests::own_permissions_preserve_exact_grants_and_independent_identity ... ok1557horae-tests-0.1.0> test server_fns::permissions::own_tests::own_permissions_reader_retains_actor_activity_until_snapshot_is_loaded ... ok1558horae-tests-0.1.0> test server_fns::permissions::own_tests::own_permissions_legacy_mode_never_discloses_staging ... ok1559horae-tests-0.1.0> test server_fns::permissions::own_tests::own_permissions_scope_is_sorted_and_excludes_membership_and_other_managers ... ok1560horae-tests-0.1.0> test server_fns::permissions::own_tests::own_permissions_wait_for_current_actor_deactivation ... ok1561horae-tests-0.1.0> test server_fns::permissions::own_tests::own_permissions_reload_after_winning_gate_under_repeatable_read_defaults ... ok1562horae-tests-0.1.0> test server_fns::permissions::preflight_tests::preflight_lock_failure_releases_organization_without_mutating_data ... ok1563horae-tests-0.1.0> test server_fns::permissions::preflight_tests::preflight_counts_cross_tenant_memberships_from_both_ends ... ok1564horae-tests-0.1.0> test server_fns::permissions::preflight_tests::preflight_approval_diagnostics_preserve_stored_history ... ok1565horae-tests-0.1.0> test server_fns::permissions::preflight_tests::preflight_rechecks_revocation_after_organization_and_actor_waits ... ok1566horae-tests-0.1.0> test server_fns::permissions::preflight_tests::preflight_requires_current_legacy_administrator_not_staged_grants ... ok1567horae-tests-0.1.0> test server_fns::permissions::preflight_tests::preflight_cancellation_releases_organization_and_single_connection ... ok1568horae-tests-0.1.0> test server_fns::permissions::profile_tests::adjusted_template_reset_and_replay_after_deletion_use_explicit_intent ... ok1569horae-tests-0.1.0> test server_fns::permissions::profile_tests::all_grant_template_cannot_confer_identity_and_cross_command_keys_conflict ... ok1570horae-tests-0.1.0> test server_fns::permissions::preflight_tests::preflight_separates_unknown_import_requesters_without_changing_artifacts ... ok1571horae-tests-0.1.0> test server_fns::permissions::profile_tests::cancelled_profile_save_rolls_back_effects_and_releases_single_connection ... ok1572horae-tests-0.1.0> test server_fns::permissions::profile_tests::canonical_actor_policy_tenant_and_target_checks_precede_mutation ... ok1573horae-tests-0.1.0> test server_fns::permissions::profile_tests::audit_failure_rolls_back_profile_and_both_relationship_sets ... ok1574horae-tests-0.1.0> test server_fns::permissions::profile_tests::directory_tests::directory_cancellation_releases_connection_and_preserves_pool_defaults ... ok1575horae-tests-0.1.0> test server_fns::permissions::profile_tests::directory_tests::directory_denies_legacy_foreign_inactive_and_invalid_authority_even_for_empty_pages ... ok1576horae-tests-0.1.0> test server_fns::permissions::profile_tests::concurrent_self_demotions_leave_one_active_explicit_administrator ... ok1577horae-tests-0.1.0> test server_fns::permissions::profile_tests::directory_tests::directory_orders_by_name_then_id_and_accepts_deleted_cursor_without_extra_page ... ok1578horae-tests-0.1.0> test server_fns::permissions::profile_tests::directory_tests::directory_rechecks_grant_revocation_and_direct_deactivation_after_wait ... ok1579horae-tests-0.1.0> test server_fns::permissions::profile_tests::directory_tests::directory_does_not_use_project_management_and_rechecks_relationship_removal ... ok1580horae-tests-0.1.0> test server_fns::permissions::profile_tests::directory_tests::directory_uses_each_profiles_people_grants_not_legacy_role_or_other_scope ... ok1581horae-tests-0.1.0> test server_fns::permissions::profile_tests::editor_tests::editor_denies_wrong_authority_policy_and_foreign_targets ... ok1582horae-tests-0.1.0> test server_fns::permissions::profile_tests::editor_tests::editor_direct_actor_deactivation_wins_preview_and_load ... ok1583horae-tests-0.1.0> test server_fns::permissions::profile_tests::editor_tests::editor_loss_names_cover_only_current_outgoing_effects ... ok1584horae-tests-0.1.0> test server_fns::permissions::profile_tests::directory_tests::directory_scopes_before_activity_pagination_and_only_returns_basic_identity ... ok1585horae-tests-0.1.0> test server_fns::permissions::profile_tests::editor_tests::editor_preview_matches_saved_effects_without_writing ... ok1586horae-tests-0.1.0> test server_fns::permissions::profile_tests::editor_tests::every_builtin_preview_matches_its_actual_save ... ok1587horae-tests-0.1.0> test server_fns::permissions::profile_tests::editor_tests::template_deletion_preview_preserves_people_and_fences_its_affected_set ... ok1588horae-tests-0.1.0> test server_fns::permissions::profile_tests::existing_user_share_lock_does_not_block_profile_command ... ok1589horae-tests-0.1.0> test server_fns::permissions::profile_tests::editor_tests::editor_noop_and_last_admin_proposals_are_truthful ... ok1590horae-tests-0.1.0> test server_fns::permissions::profile_tests::explicit_identity_changes_and_inactive_targets_do_not_change_activation ... ok1591horae-tests-0.1.0> test server_fns::permissions::profile_tests::invalid_confirmations_and_noncanonical_grants_are_not_silently_repaired ... ok1592horae-tests-0.1.0> test server_fns::permissions::profile_tests::explicit_application_and_adjustments_preserve_confirmed_grants ... ok1593horae-tests-0.1.0> test server_fns::permissions::profile_tests::last_active_administrator_cannot_be_demoted_or_replaced_by_equivalent_grants ... ok1594horae-tests-0.1.0> test server_fns::permissions::profile_tests::malformed_person_or_remaining_administrator_state_fails_closed ... ok1595horae-tests-0.1.0> test server_fns::permissions::profile_tests::management_schema_rejects_foreign_parents_self_links_and_duplicate_pairs ... ok1596horae-tests-0.1.0> test server_fns::permissions::profile_tests::profile_command_retains_target_activity_through_receipt_insert ... ok1597horae-tests-0.1.0> test server_fns::permissions::profile_tests::profile_command_rechecks_target_activation_before_demotion ... ok1598horae-tests-0.1.0> test server_fns::permissions::profile_tests::profile_command_overrides_readonly_defaults_locally ... ok1599horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_accepts_unconfigured_targets_and_exact_page_without_more ... ok1600horae-tests-0.1.0> test server_fns::permissions::profile_tests::profile_demotion_retains_surviving_administrator_until_commit ... ok1601horae-tests-0.1.0> test server_fns::permissions::profile_tests::profile_command_rechecks_remaining_administrator_after_deactivation_wait ... ok1602horae-tests-0.1.0> test server_fns::permissions::profile_tests::profile_command_waits_for_direct_actor_deactivation_even_on_replay ... ok1603horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_cancellation_releases_connection_and_preserves_pool_defaults ... ok1604horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_denies_invalid_authority_even_for_empty_resolution ... ok1605horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_authorizes_the_operation_not_the_directory_or_legacy_role ... ok1606horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_holds_authority_until_read_finishes ... ok1607horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_rechecks_designation_after_waiting_for_revocation ... ok1608horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_filters_before_paging_and_resolves_outside_the_search ... ok1609horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_validates_bounded_input_only_after_authorization ... ok1610horae-tests-0.1.0> test server_fns::permissions::profile_tests::read_only_retention_and_explicit_keep_project_access_preserve_independent_person_losses ... ok1611horae-tests-0.1.0> test server_fns::permissions::profile_tests::project_people_tests::project_people_rechecks_grants_and_direct_deactivation_after_wait ... ok1612horae-tests-0.1.0> test server_fns::permissions::profile_tests::simultaneous_losses_require_exact_confirmation_preserve_history_and_never_restore_links ... ok1613horae-tests-0.1.0> test server_fns::permissions::profile_tests::revocation_winning_gate_denies_new_and_replayed_changes ... ok1614horae-tests-0.1.0> test server_fns::permissions::profile_tests::recreated_relationship_invalidates_waiting_confirmation_without_partial_removal ... ok1615horae-tests-0.1.0> test server_fns::permissions::profile_tests::stale_template_and_org_revision_and_exhausted_revisions_roll_back ... ok1616horae-tests-0.1.0> test server_fns::permissions::profile_tests::subjects_tests::subject_cursor_is_only_a_bound_and_exact_page_has_no_continuation ... ok1617horae-tests-0.1.0> test server_fns::permissions::profile_tests::reduced_administrator_and_stale_person_proposals_are_rejected ... ok1618horae-tests-0.1.0> test server_fns::permissions::profile_tests::subjects_tests::subject_discovery_rechecks_direct_deactivation ... ok1619horae-tests-0.1.0> test server_fns::permissions::profile_tests::subjects_tests::subject_discovery_rechecks_revocation_after_gate_wait_and_between_pages ... ok1620horae-tests-0.1.0> test server_fns::permissions::profile_tests::subjects_tests::subject_discovery_cancellation_releases_connection_and_preserves_pool_defaults ... ok1621horae-tests-0.1.0> test server_fns::permissions::profile_tests::subjects_tests::subject_discovery_requires_current_explicit_identity_and_supported_policy ... ok1622horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_cancel_without_leaking_locks_or_changing_pool_defaults ... ok1623horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_distinguish_project_management_from_membership_and_people_scope ... ok1624horae-tests-0.1.0> test server_fns::permissions::profile_tests::subjects_tests::subject_pages_preserve_all_local_identities_with_only_display_fields ... ok1625horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_fail_closed_for_policy_identity_and_invalid_state ... ok1626horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_finish_before_competing_revocation_when_read_admitted_first ... ok1627horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_exclude_foreign_parents_but_preserve_archived_history ... ok1628horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_recheck_grants_relationships_and_activity_after_wait ... ok1629horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_use_effective_profile_scope_and_union_without_duplicates ... ok1630horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_entries_tests::time_reads_page_ties_without_loss_and_filters_never_expand_scope ... ok1631horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_apply_scope_union_before_every_group ... ok1632horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::billability_narrows_every_grouping_before_totals_and_cursor ... ok1633horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::active_projects_only_narrows_every_grouping_before_totals ... ok1634horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_keep_duplicate_names_distinct_across_pages ... ok1635horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_filter_before_aggregation_and_keep_empty_totals ... ok1636horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_observe_revocation_after_wait_and_release_on_cancel ... ok1637horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_preserve_dimensions_own_scope_and_rounding ... ok1638horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_keep_history_but_exclude_foreign_parent_records ... ok1639horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_reject_wrong_requesters_cursors_and_policy ... ok1640horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_round_each_entry_before_summing_a_group ... ok1641horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_recheck_actor_deactivation_after_wait ... ok1642horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_sum_frozen_minutes_beyond_integer_column_range ... ok1643horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_report_groups_tests::grouped_reports_use_the_same_c_order_for_labels_and_cursor ... ok1644horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_billability_preserves_billed_status_and_frozen_minutes_after_configuration_changes ... ok1645horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_excludes_malformed_tenant_parents ... ok1646horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::active_projects_only_narrows_detailed_rows_and_period_totals ... ok1647horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_keeps_archived_history_and_report_rounding ... ok1648horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_keyset_exhausts_ties_without_repeating_rows ... ok1649horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_observes_revocation_after_wait_and_releases_on_cancel ... ok1650horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_profiles_and_custom_scope_union_do_not_duplicate_rows ... ok1651horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_filters_are_any_within_and_between_dimensions ... ok1652horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_rejects_invalid_queries_requesters_and_policy_without_fallback ... ok1653horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_totals_round_each_entry_before_summing_billable_time ... ok1654horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_rechecks_direct_actor_deactivation_after_wait ... ok1655horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_totals_use_bigint_and_count_zero_duration_entries ... ok1656horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_context_tests::sheet_exhausts_pages_and_does_not_reuse_scope_or_silently_change_policy ... ok1657horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_context_tests::sheet_holds_selected_activity_through_entry_delivery_and_releases_on_cancel ... ok1658horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_context_tests::sheet_rechecks_selected_activity_after_waiting_for_archive ... ok1659horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_context_tests::sheet_rejects_changed_requester_or_policy_and_inaccessible_subject ... ok1660horae-tests-0.1.0> test server_fns::permissions::profile_tests::time_reports_tests::detailed_report_uses_own_scope_without_directory_or_financial_grants ... ok1661horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_context_tests::sheet_resolves_legacy_own_context_without_canonical_state ... ok1662horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_context_tests::sheet_selects_empty_managed_participant_without_widening_record_scope ... ok1663horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::admitted_discovery_finishes_before_competing_revocation ... ok1664horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::candidates_include_empty_project_members_and_retained_history_without_directory_access ... ok1665horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::discovery_fails_closed_for_policy_identity_and_invalid_state ... ok1666horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::cancellation_releases_discovery_locks_and_keeps_pool_defaults ... ok1667horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::discovery_rechecks_revocation_and_actor_activity_after_waiting ... ok1668horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::paging_search_and_identity_filters_only_narrow_current_scope ... ok1669horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::profiles_and_custom_grants_use_time_scope_not_legacy_role_or_directory ... ok1670horae-tests-0.1.0> test server_fns::permissions::profile_tests::timesheet_people_tests::history_keeps_archived_context_but_excludes_inactive_people_and_foreign_parents ... ok1671horae-tests-0.1.0> test server_fns::permissions::profile_tests::unchanged_edit_preserves_identity_source_timestamp_and_revisions ... ok1672horae-tests-0.1.0> test server_fns::permissions::project_management_tests::cancelled_project_delegation_rolls_back_and_releases_single_connection ... ok1673horae-tests-0.1.0> test server_fns::permissions::profile_tests::unchanged_and_unrelated_edits_do_not_clean_up_preexisting_incompatible_links ... ok1674horae-tests-0.1.0> test server_fns::permissions::project_management_tests::actual_template_command_receipt_cannot_be_reused_for_project_delegation ... ok1675horae-tests-0.1.0> test server_fns::permissions::project_management_tests::canonical_actor_grants_activity_tenant_and_policy_are_required ... ok1676horae-tests-0.1.0> test server_fns::permissions::project_management_tests::audit_failure_rolls_back_removal_addition_and_revision ... ok1677horae-tests-0.1.0> test server_fns::permissions::project_management_tests::concurrent_replacements_commit_only_one_current_revision ... ok1678horae-tests-0.1.0> test server_fns::permissions::project_management_tests::designation_is_required_before_managed_editor_can_delegate ... ok1679horae-tests-0.1.0> test server_fns::permissions::project_management_tests::foreign_missing_inactive_and_malformed_additions_fail_without_disclosure ... ok1680horae-tests-0.1.0> test server_fns::permissions::project_management_tests::historical_replay_does_not_reapply_removed_or_now_ineligible_designations ... ok1681horae-tests-0.1.0> test server_fns::permissions::project_management_tests::legacy_project_lock_returns_busy_instead_of_forming_an_org_fk_cycle ... ok1682horae-tests-0.1.0> test server_fns::permissions::project_management_tests::managed_scope_never_uses_another_project_or_legacy_membership ... ok1683horae-tests-0.1.0> test server_fns::permissions::project_management_tests::mixed_invalid_addition_preserves_entire_previous_set ... ok1684horae-tests-0.1.0> test server_fns::permissions::project_management_tests::legacy_user_share_locks_allow_manager_and_receipt_foreign_keys ... ok1685horae-tests-0.1.0> test server_fns::permissions::project_management_tests::project_delegation_denies_actor_deactivated_before_check ... ok1686horae-tests-0.1.0> test server_fns::permissions::project_management_tests::project_delegation_denies_manager_deactivated_before_check ... ok1687horae-tests-0.1.0> test server_fns::permissions::project_management_tests::project_delegation_overrides_readonly_defaults_locally ... ok1688horae-tests-0.1.0> test server_fns::permissions::project_management_tests::project_delegation_retains_actor_activity_until_commit ... ok1689horae-tests-0.1.0> test server_fns::permissions::project_management_tests::project_delegation_retains_added_manager_activity_until_commit ... ok1690horae-tests-0.1.0> test server_fns::permissions::project_management_tests::project_editor_delegates_existing_read_grants_without_promotion ... ok1691horae-tests-0.1.0> test server_fns::permissions::project_management_tests::reader_tests::manager_reader_holds_authority_and_cancellation_releases_it ... ok1692horae-tests-0.1.0> test server_fns::permissions::project_management_tests::reader_tests::manager_reader_materializes_before_a_waiting_actor_deactivation ... ok1693horae-tests-0.1.0> test server_fns::permissions::project_management_tests::reader_tests::manager_reader_preserves_the_complete_retained_set_without_private_fields ... ok1694horae-tests-0.1.0> test server_fns::permissions::project_management_tests::receipt_conflicts_precede_decoding_and_replay_requires_current_authority ... ok1695horae-tests-0.1.0> test server_fns::permissions::project_management_tests::reader_tests::manager_reader_observes_direct_deactivation_before_its_actor_lock ... ok1696horae-tests-0.1.0> test server_fns::permissions::project_management_tests::reader_tests::manager_reader_requires_current_project_edit_scope_not_identity_or_membership ... ok1697horae-tests-0.1.0> test server_fns::permissions::project_management_tests::replacement_audits_exact_delta_and_preserves_membership_history_and_other_scopes ... ok1698horae-tests-0.1.0> test server_fns::permissions::project_management_tests::retained_ineligible_managers_and_archived_projects_allow_noop_and_removal ... ok1699horae-tests-0.1.0> test server_fns::permissions::project_management_tests::reader_tests::manager_reader_rechecks_revocation_after_the_organization_wait ... ok1700horae-tests-0.1.0> test server_fns::permissions::project_management_tests::revocation_winning_gate_denies_waiting_delegation ... ok1701horae-tests-0.1.0> test server_fns::permissions::project_management_tests::stale_duplicate_and_exhausted_revisions_never_replace_the_set ... ok1702horae-tests-0.1.0> test server_fns::permissions::project_management_tests::transaction_tests::delegation_reuses_editor_gate_without_upgrading_past_foreign_keys ... ok1703horae-tests-0.1.0> test server_fns::permissions::project_management_tests::transaction_tests::project_and_manager_changes_commit_with_the_same_receipt ... ok1704horae-tests-0.1.0> test server_fns::permissions::project_management_tests::transaction_tests::project_rollback_discards_managers_revision_and_receipt ... ok1705horae-tests-0.1.0> test server_fns::permissions::storage_tests::additive_migration_preserves_populated_legacy_records ... ok1706horae-tests-0.1.0> test server_fns::permissions::storage_tests::concurrent_equivalent_names_create_only_one_template ... ok1707horae-tests-0.1.0> test server_fns::permissions::storage_tests::malformed_stored_grants_fail_without_repair ... ok1708horae-tests-0.1.0> test server_fns::permissions::storage_tests::person_grants_and_identity_round_trip_independently_of_source ... ok1709horae-tests-0.1.0> test server_fns::permissions::storage_tests::person_state_rejects_duplicates_and_foreign_users_and_templates ... ok1710horae-tests-0.1.0> test server_fns::permissions::storage_tests::source_shape_and_revision_constraints_reject_invalid_rows ... ok1711horae-tests-0.1.0> test server_fns::permissions::storage_tests::storage_does_not_activate_or_infer_legacy_roles ... ok1712horae-tests-0.1.0> test server_fns::permissions::storage_tests::referenced_template_deletion_requires_detaching_without_grant_or_identity_loss ... ok1713horae-tests-0.1.0> test server_fns::permissions::storage_tests::template_names_are_case_insensitive_and_tenant_local ... ok1714horae-tests-0.1.0> test server_fns::permissions::storage_tests::unicode_name_collision_rolls_back_migration_without_changing_profiles ... ok1715horae-tests-0.1.0> test server_fns::permissions::template_tests::actor_share_lock_does_not_block_template_command ... ok1716horae-tests-0.1.0> test server_fns::permissions::template_tests::command_receipts_are_not_shared_between_administrators ... ok1717horae-tests-0.1.0> test server_fns::permissions::storage_tests::unicode_name_migration_preserves_existing_templates ... ok1718horae-tests-0.1.0> test server_fns::permissions::template_tests::concurrent_creators_never_exceed_fifty_profiles ... ok1719horae-tests-0.1.0> test server_fns::permissions::template_tests::create_canonical_retry_returns_one_historical_change ... ok1720horae-tests-0.1.0> test server_fns::permissions::template_tests::delete_preserves_adjusted_grants_identity_and_business_rows ... ok1721horae-tests-0.1.0> test server_fns::permissions::template_tests::concurrent_exact_retry_creates_one_receipt_without_changing_people ... ok1722horae-tests-0.1.0> test server_fns::permissions::template_tests::invalid_stored_authority_and_template_grants_fail_closed ... ok1723horae-tests-0.1.0> test server_fns::permissions::template_tests::failed_audit_insert_rolls_back_creation_and_detachment ... ok1724horae-tests-0.1.0> test server_fns::permissions::template_tests::delete_replay_does_not_touch_a_same_name_replacement ... ok1725horae-tests-0.1.0> test server_fns::permissions::template_tests::legacy_future_missing_foreign_and_non_admin_authority_deny ... ok1726horae-tests-0.1.0> test server_fns::permissions::template_tests::malformed_assignee_aborts_all_detachments ... ok1727horae-tests-0.1.0> test server_fns::permissions::template_tests::equivalent_names_and_invalid_confirmed_selections_roll_back ... ok1728horae-tests-0.1.0> test server_fns::permissions::template_tests::revocation_winning_org_gate_denies_pending_replay_and_new_command ... ok1729horae-tests-0.1.0> test server_fns::permissions::template_tests::stale_foreign_and_exhausted_revisions_never_partially_delete ... ok1730horae-tests-0.1.0> test server_fns::permissions::template_tests::unknown_grants_and_authority_fields_cannot_deserialize_as_commands ... ok1731horae-tests-0.1.0> test server_fns::permissions::template_tests::receipts_enforce_tenant_exclusive_principal_and_request_uniqueness ... ok1732horae-tests-0.1.0> test server_fns::permissions::template_tests::template_command_waits_for_direct_actor_deactivation_on_replay ... ok1733horae-tests-0.1.0> test server_fns::permissions::transaction_tests::administration_transactions_bound_limits_and_commit_durably ... ok1734horae-tests-0.1.0> test server_fns::permissions::template_tests::unsupported_receipt_version_fails_without_repeating_the_change ... ok1735horae-tests-0.1.0> test server_fns::permissions::transaction_tests::lock_only_reads_bound_limits_and_commit_asynchronously ... ok1736horae-tests-0.1.0> test server_fns::project_creation::assignment_tests::finalization_reuses_catalog_and_keeps_lead_overrides_local_on_retry ... ok1737horae-tests-0.1.0> test server_fns::project_creation::assignment_tests::invalid_assignment_graphs_leave_no_partial_creation_or_draft_change ... ok1738horae-tests-0.1.0> test server_fns::permissions::template_tests::template_command_overrides_readonly_defaults_and_keeps_stricter_timeouts ... ok1739horae-tests-0.1.0> test server_fns::project_creation::client_lifecycle_tests::creation_and_reassignment_waiting_for_a_client_archive_write_nothing ... ok1740horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_concurrency::canonical_save_rechecks_authority_after_concurrent_revocation ... ok1741horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_concurrency::canonical_editor_operations_finish_before_waiting_designation_revocation ... ok1742horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_concurrency::canonical_replay_rechecks_recorded_effects_after_concurrent_revocation ... ok1743horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_concurrency::canonical_read_discards_snapshot_after_concurrent_revocation ... ok1744horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_blank_task_removal_preserves_stale_fee_total_without_financial_writes ... ok1745horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_editor_cannot_save_after_switching_to_another_authorized_person ... ok1746horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_editor_keeps_hour_budgets_without_financial_grants ... ok1747horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_editor_managed_rates_require_designation_and_withhold_catalog_defaults ... ok1748horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_cost_reader_does_not_require_legacy_administrator ... ok1749horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_editor_uses_designations_instead_of_legacy_team_roles ... ok1750horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_editor_withholds_monetary_settings_without_billable_read ... ok1751horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_editor_never_projects_stale_task_money_as_hours ... ok1752horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_fee_to_hours_requires_financial_authority_on_save_and_replay ... ok1753horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_financial_grants_do_not_replace_project_editing_authority ... ok1754horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_editor_without_rate_read_withholds_stored_task_rate ... ok1755horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_managed_editor_requires_the_project_designation ... ok1756horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_member_removal_recomputes_hour_budget_without_financial_writes ... ok1757horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_new_task_alias_cannot_bypass_billable_write_authority ... ok1758horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_project_editor_is_not_rejected_by_legacy_member_role ... ok1759horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_hour_budget_edits_preserve_inactive_parent_money ... ok1760horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_save_rejects_equal_value_edit_without_write_authority ... ok1761horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_read_only_billable_grant_rejects_task_rate_update ... ok1762horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_save_requires_the_requester_that_opened_the_editor ... ok1763horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_task_rate_zero_reset_and_revoked_retry_remain_distinct ... ok1764horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_save_preserves_withheld_fields_and_original_retry_intent ... ok1765horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_task_removal_recomputes_hour_budget_without_financial_writes ... ok1766horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::project_editor_explicit_hour_budget_change_clears_inactive_member_budget ... ok1767horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::project_editor_keeps_inactive_member_budgets_on_name_save_and_replay ... ok1768horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_managers::canonical_form_cannot_reuse_an_independent_delegation_receipt ... ok1769horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_managers::canonical_form_manager_only_change_and_historical_replay_do_not_need_team_changes ... ok1770horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_managers::canonical_form_retains_archived_manager_with_different_legacy_role ... ok1771horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_managers::canonical_form_rejects_invalid_or_stale_manager_selection_atomically ... ok1772horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_managers::canonical_form_receipt_failure_rolls_back_delegation_and_project ... ok1773horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_fields::canonical_task_removal_recomputes_fee_budget_with_financial_authority ... ok1774horae-tests-0.1.0> test server_fns::project_creation::editing::tests::catalog::editor_catalog_filters_candidates_before_bounded_literal_search_pages ... ok1775horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_managers::canonical_form_saves_managers_without_changing_legacy_membership_roles ... ok1776horae-tests-0.1.0> test server_fns::project_creation::editing::tests::canonical_managers::canonical_form_self_removal_commits_but_cannot_replay_without_authority ... ok1777horae-tests-0.1.0> test server_fns::project_creation::editing::tests::catalog::editor_catalog_managed_scope_needs_designation_but_never_opens_global_rates ... ok1778horae-tests-0.1.0> test server_fns::project_creation::editing::tests::catalog::editor_catalog_rechecks_revocation_after_waiting_for_the_organization ... ok1779horae-tests-0.1.0> test server_fns::project_creation::editing::tests::catalog::editor_catalog_has_no_implicit_legacy_policy_fallback ... ok1780horae-tests-0.1.0> test server_fns::project_creation::editing::tests::catalog::editor_catalog_rejects_switched_requesters_and_out_of_scope_projects ... ok1781horae-tests-0.1.0> test server_fns::project_creation::editing::tests::concurrent_edits_have_one_winner_and_association_writes_invalidate_open_forms ... ok1782horae-tests-0.1.0> test server_fns::project_creation::editing::tests::cost_edits_distinguish_zero_override_from_reset_without_changing_person_default ... ok1783horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editing_milestones_keeps_invoice_snapshots_and_fee_identities_immutable ... ok1784horae-tests-0.1.0> test server_fns::project_creation::editing::tests::catalog::editor_catalog_requires_operation_authority_not_legacy_role_or_rate_grant ... ok1785horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editor_keeps_archived_selected_identities_and_nullable_overrides ... ok1786horae-tests-0.1.0> test server_fns::project_creation::editing::tests::catalog::editor_catalog_withholds_defaults_without_their_financial_authority ... ok1787horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editor_loads_legacy_values_without_fabricating_a_billing_mode_or_draft ... ok1788horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editor_preserves_fee_schedule_and_operational_milestone_ids ... ok1789horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editor_rechecks_tenant_role_and_active_status ... ok1790horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editor_recovers_each_budget_scope_without_turning_absence_into_zero ... ok1791horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editor_recovers_full_configuration_and_redacts_private_values_after_role_change ... ok1792horae-tests-0.1.0> test server_fns::project_creation::editing::tests::editor_load_uses_current_role_across_all_billing_configurations ... ok1793horae-tests-0.1.0> test server_fns::project_creation::editing::tests::foreign_actor_cannot_save_or_retry_another_organizations_edit ... ok1794horae-tests-0.1.0> test server_fns::project_creation::editing::tests::manager_edit_preserves_private_settings_and_cannot_remove_them_indirectly ... ok1795horae-tests-0.1.0> test server_fns::project_creation::editing::tests::save_edits_the_same_legacy_project_and_never_creates_a_draft_or_configuration ... ok1796horae-tests-0.1.0> test server_fns::project_creation::editing::tests::save_preserves_recorded_time_and_rejects_removing_its_task_or_person ... ok1797horae-tests-0.1.0> test server_fns::project_creation::editing::tests::save_updates_configured_sections_atomically_and_rejects_stale_or_invalid_edits ... ok1798horae-tests-0.1.0> test server_fns::project_creation::editing::tests::saves_recheck_current_authority_and_do_not_repeat_noops ... ok1799horae-tests-0.1.0> test server_fns::project_creation::editing::tests::task_activity::invalid_task_activity_targets_and_global_restore_order_rollback_the_whole_edit ... ok1800horae-tests-0.1.0> test server_fns::project_creation::editing::tests::task_catalog_and_graph_changes_roll_back_together_on_duplicate_resolution ... ok1801horae-tests-0.1.0> test server_fns::project_creation::editing::tests::task_activity::project_settings_save_without_activity_intent_does_not_restore_archived_links ... ok1802horae-tests-0.1.0> test server_fns::project_creation::editing::tests::task_activity::project_task_archive_restore_preserves_hidden_configuration_history_and_replays ... ok1803horae-tests-0.1.0> test server_fns::project_creation::tests::billing_schema_rejects_partial_fee_schedules ... ok1804horae-tests-0.1.0> test server_fns::project_creation::tests::client_dialog_validates_details_and_persists_an_explicit_zero_rate ... ok1805horae-tests-0.1.0> test server_fns::project_creation::tests::creation_actor_is_revalidated_inside_the_transaction ... ok1806horae-tests-0.1.0> test server_fns::project_creation::tests::creation_client_must_be_active_and_in_the_same_organization ... ok1807horae-tests-0.1.0> test server_fns::project_creation::tests::creation_options_are_scoped_bounded_and_redact_manager_costs ... ok1808horae-tests-0.1.0> test server_fns::project_creation::import_tests::imports_preserve_finalized_project_configuration_and_restricted_access ... ok1809horae-tests-0.1.0> test server_fns::project_creation::tests::draft_ownership_discard_and_role_changes_are_enforced ... ok1810horae-tests-0.1.0> test server_fns::project_creation::tests::draft_save_retries_do_not_overwrite_a_newer_revision ... ok1811horae-tests-0.1.0> test server_fns::project_creation::tests::draft_schema_enforces_one_current_draft_per_creator ... ok1812horae-tests-0.1.0> test server_fns::project_creation::import_tests::imported_catalog_rate_cannot_be_relabelled_as_workspace_currency ... ok1813horae-tests-0.1.0> test server_fns::project_creation::tests::draft_validation_preserves_incomplete_input_but_bounds_its_size ... ok1814horae-tests-0.1.0> test server_fns::project_creation::tests::draft_schema_rejects_foreign_creator_and_completed_project ... ok1815horae-tests-0.1.0> test server_fns::project_creation::tests::final_validation_checks_invoice_defaults_and_scoped_budget_totals ... ok1816horae-tests-0.1.0> test server_fns::project_creation::tests::final_validation_preserves_exact_budgets_and_rejects_unavailable_email ... ok1817horae-tests-0.1.0> test server_fns::project_creation::tests::final_validation_requires_complete_fee_schedules_and_distinct_entities ... ok1818horae-tests-0.1.0> test server_fns::project_creation::tests::final_validation_requires_real_details_and_ignores_hidden_type_settings ... ok1819horae-tests-0.1.0> test server_fns::project_creation::tests::draft_schema_rejects_oversize_payload_and_invalid_revision ... ok1820horae-tests-0.1.0> test server_fns::project_creation::tests::existing_projects_have_no_implicit_new_billing_configuration ... ok1821horae-tests-0.1.0> test server_fns::project_creation::locking_tests::every_project_entry_gates_before_actor_and_rechecks_revocation ... ok1822horae-tests-0.1.0> test server_fns::project_creation::tests::finalization_persists_task_access_and_project_only_financial_overrides ... ok1823horae-tests-0.1.0> test server_fns::project_creation::tests::managers_cannot_store_administrator_notes_or_costs_in_a_draft ... ok1824horae-tests-0.1.0> test server_fns::project_creation::tests::finalization_rechecks_client_role_revision_and_rate_currency ... ok1825horae-tests-0.1.0> test server_fns::project_creation::tests::finalize_is_atomic_and_repeated_submission_returns_one_project ... ok1826horae-tests-0.1.0> test server_fns::project_creation::tests::invalid_task_rolls_back_project_and_keeps_the_draft ... ok1827horae-tests-0.1.0> test server_fns::project_creation::tests::missing_draft_responses_do_not_disclose_foreign_ownership ... ok1828horae-tests-0.1.0> test server_fns::project_creation::tests::selected_catalog_bounds_requests_and_excludes_inactive_people ... ok1829horae-tests-0.1.0> test server_fns::project_creation::validation::tests::assignment_rejections_identify_the_invalid_row ... ok1830horae-tests-0.1.0> test server_fns::project_creation::validation::tests::basic_rejections_identify_the_field_without_echoing_input ... ok1831horae-tests-0.1.0> test server_fns::project_creation::validation::tests::billing_rejections_identify_the_active_control ... ok1832horae-tests-0.1.0> test server_fns::project_creation::validation::tests::inactive_billing_inputs_remain_in_the_draft_without_blocking_creation ... ok1833horae-tests-0.1.0> test server_fns::project_creation::validation::tests::invoice_rejections_identify_the_field_without_echoing_input ... ok1834horae-tests-0.1.0> test server_fns::project_creation::validation::tests::milestone_rejections_target_the_invalid_row_by_identity ... ok1835horae-tests-0.1.0> test server_fns::project_creation::validation::tests::non_billable_projects_ignore_hidden_invoice_inputs ... ok1836horae-tests-0.1.0> test server_fns::project_creation::validation::tests::task_name_and_access_rejections_identify_the_invalid_row ... ok1837horae-tests-0.1.0> test server_fns::project_creation::tests::selected_catalog_is_scoped_deduplicated_and_redacts_manager_costs ... ok1838horae-tests-0.1.0> test server_fns::project_creation::tests::selected_client_lookup_is_scoped_and_keeps_archived_identity ... ok1839horae-tests-0.1.0> test server_fns::project_creation::tests::simultaneous_draft_updates_have_one_winner ... ok1840horae-tests-0.1.0> test server_fns::projects::assignment_tests::assignment_mutations_wait_for_revocation_and_recheck_authority ... ok1841horae-tests-0.1.0> test server_fns::projects::assignment_tests::creation_rejects_foreign_and_unknown_project_or_person ... ok1842horae-tests-0.1.0> test server_fns::projects::assignment_tests::own_assignment_lifecycle_preserves_role_and_duplicate_behavior ... ok1843horae-tests-0.1.0> test server_fns::projects::assignment_tests::project_membership_and_task_callers_wait_before_authorizing ... ok1844horae-tests-0.1.0> test server_fns::projects::bulk_tests::bulk_accepts_one_hundred_projects_and_mixed_status_noops ... ok1845horae-tests-0.1.0> test server_fns::projects::bulk_tests::bulk_ids_validate_before_writes_and_normalize_duplicates ... ok1846horae-tests-0.1.0> test server_fns::projects::bulk_tests::bulk_database_failure_rolls_back_earlier_changes ... ok1847horae-tests-0.1.0> test server_fns::projects::assignment_tests::stale_administrator_cannot_create_or_remove_after_revocation ... ok1848horae-tests-0.1.0> test server_fns::projects::bulk_tests::bulk_missing_or_foreign_project_rolls_back_earlier_changes ... ok1849horae-tests-0.1.0> test server_fns::projects::bulk_tests::bulk_reversed_overlapping_batches_finish_without_deadlock ... ok1850horae-tests-0.1.0> test server_fns::projects::assignment_tests::removal_preserves_foreign_and_malformed_assignments ... ok1851horae-tests-0.1.0> test server_fns::projects::bulk_tests::bulk_status_preserves_details_history_and_noop_versions ... ok1852horae-tests-0.1.0> test server_fns::projects::bulk_tests::bulk_preserves_invoiced_history_assignments_and_spend ... ok1853horae-tests-0.1.0> test server_fns::projects::bulk_tests::status_write_waits_for_a_policy_change_and_then_fails_closed ... ok1854horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_budget_financial_revocation_withholds_allowance_and_consumption ... ok1855horae-tests-0.1.0> test server_fns::projects::bulk_tests::status_writes_recheck_current_actor_role_and_policy ... ok1856horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_budget_managed_financial_scope_is_independent_of_project_read_all ... ok1857horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_budget_managed_scope_requires_current_designation ... ok1858horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_budget_reader_does_not_require_legacy_management ... ok1859horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_shared_budget_does_not_disclose_other_person_allocations ... ok1860horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_shared_budget_does_not_disclose_individual_task_allocations ... ok1861horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_own_only_member_does_not_inherit_legacy_manager_project_details ... ok1862horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_managed_project_reads_require_current_designation ... ok1863horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_budget_skips_hidden_monetary_overflow ... ok1864horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::budgets::canonical_budget_summaries_exclude_unallocated_hours_and_money_but_not_zero ... ok1865horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_project_details_withhold_legacy_admin_notes_and_rate_controls ... ok1866horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_project_financial_projection_matches_owning_project_evaluator ... ok1867horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_own_only_member_does_not_inherit_legacy_manager_project_list ... ok1868horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_project_read_does_not_inherit_legacy_admin_financial_fields ... ok1869horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_project_reader_lists_without_legacy_management_or_tracking ... ok1870horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_project_reader_opens_without_legacy_management_or_tracking ... ok1871horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_project_reads_exclude_foreign_client_parent_links ... ok1872horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_project_reads_reject_unknown_policy_and_invalid_grants ... ok1873horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_shared_report_and_historical_tracking_are_distinct ... ok1874horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::canonical_tags_follow_project_reads_and_revocation ... ok1875horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::detail_view_observes_report_visibility_revoked_by_the_project_editor ... ok1876horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::detail_view_observes_membership_removed_behind_the_lock_only_access_gate ... ok1877horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::access_change_gate_keeps_the_stored_organization_unchanged ... ok1878horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::cancelling_project_readers_releases_organization_and_actor_fences ... ok1879horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::detail_view_reads_identity_and_workflow_labels_from_one_snapshot ... ok1880horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::detail_view_reports_a_conflict_after_three_serialization_failures ... ok1881horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::detail_view_reads_identity_and_budget_from_one_snapshot ... ok1882horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::membership_removal_waits_for_a_reader_that_already_holds_authority ... ok1883horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::project_readers_hold_authority_until_materialization_before_deactivation ... ok1884horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::project_readers_observe_grant_revocation_after_waiting_for_organization ... ok1885horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::detail_view_snapshot_preserves_inherited_connection_settings ... ok1886horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail::detail_view_contains_only_scoped_workflow_labels_and_current_edit_authority ... ok1887horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail::detail_view_identity_and_lifecycle_affordances_match_policy_zero_authority ... ok1888horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::concurrency::project_readers_observe_deactivation_after_waiting_for_actor ... ok1889horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail::detail_view_rejects_changed_requester_and_current_resource_denial ... ok1890horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail::detail_view_shared_member_gets_own_identity_not_other_people_or_legacy_actions ... ok1891horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail::detail_view_policy_one_offers_no_role_derived_status_change_and_scopes_client_link ... ok1892horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::archived_project_keeps_its_configured_budget ... ok1893horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::configured_budget_applies_rounding_and_saved_nonbillable_inclusion ... ok1894horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::configured_budget_unit_none_ignores_leftover_legacy_columns ... ok1895horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::blank_scope_overflow_cannot_hide_an_exact_allocated_total ... ok1896horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::configured_fee_valuation_overflow_is_unavailable_not_a_failed_detail ... ok1897horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::detail_budget_sends_no_scope_details ... ok1898horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::configured_fee_sum_overflow_is_unavailable ... ok1899horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::fee_figures_require_current_financial_authority ... ok1900horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::foreign_client_parent_hides_configured_and_legacy_budgets ... ok1901horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::explicit_zero_allowance_overflow_is_unavailable ... ok1902horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::legacy_fee_figures_follow_spend_redaction_for_canonical_readers ... ok1903horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::legacy_fee_line_and_sum_overflow_are_unavailable ... ok1904horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::legacy_budget_uses_lifetime_raw_minutes_and_list_fee_spend ... ok1905horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::monthly_budget_counts_only_the_current_calendar_month ... ok1906horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::other_consumption_failures_still_fail_the_detail ... ok1907horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::reading_the_budget_writes_nothing ... ok1908horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::legacy_hours_budget_ignores_unrelated_money_overflow ... ok1909horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::person_budget_uses_saved_member_allowances ... ok1910horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::task_allowance_overflow_is_unavailable_not_unallocated ... ok1911horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::task_budgets_exclude_blank_count_zero_and_report_unallocated ... ok1912horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::shared_member_person_budget_is_aggregate_only ... ok1913horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::unallocated_fee_budget_is_still_withheld_without_financial_authority ... ok1914horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::overview::legacy_overview_uses_current_role_not_the_captured_user_role ... ok1915horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::detail_budget::unallocated_configured_budgets_keep_metadata_and_value_nothing ... ok1916horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::overview::overview_edit_affordance_requires_current_project_write_scope ... ok1917horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::overview::overview_observes_edit_revocation_after_waiting_for_organization ... ok1918horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::overview::overview_denies_unavailable_actor_instead_of_binding_an_empty_success ... ok1919horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::overview::overview_resolves_only_visible_client_identity_without_directory_or_rates ... ok1920horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::canonical_shared_progress_and_report_permissions_do_not_open_ordinary_money ... ok1921horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::overview::overview_rejects_changed_requester_including_empty_results ... ok1922horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::canonical_spend_excludes_entries_with_foreign_person_parents ... ok1923horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::canonical_spend_managed_scope_requires_current_project_designation ... ok1924horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::canonical_spend_withholds_money_after_financial_revocation ... ok1925horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::canonical_spend_zero_and_withheld_money_remain_distinct_without_entries ... ok1926horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::canonical_spend_reads_do_not_require_a_legacy_manager_role ... ok1927horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::spend_rechecks_financial_only_revocation_after_organization_wait ... ok1928horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::spend_totals_are_exact_for_invoiced_hidden_empty_and_missing_invoice_entries ... ok1929horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::spend::hidden_spend_overflow_does_not_prevent_authorized_hour_totals ... ok1930horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::project_task_labels_require_project_scope_not_global_task_scope ... ok1931horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::project_task_reader_requires_current_manager_designation ... ok1932horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::assigned_tracking_task_survives_private_progress_without_catalog_grant ... ok1933horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_catalog_accepts_current_read_grant_without_legacy_role ... ok1934horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_catalog_all_rate_grant_is_independent_of_legacy_role ... ok1935horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_catalog_refreshes_permissions_after_organization_wait ... ok1936horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_catalog_uses_current_actor_and_never_foreign_tasks ... ok1937horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_catalog_withholds_global_rates_without_all_rate_read ... ok1938horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_reader_rejects_unknown_policy_even_with_legacy_admin ... ok1939horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_reads_do_not_inherit_legacy_administrator_catalog ... ok1940horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::task_workflow_identity_rejects_foreign_client_parents ... ok1941horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::team::canonical_member_does_not_inherit_legacy_admin_team_or_rates ... ok1942horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::team::project_reader_can_read_retained_team_without_people_directory_or_rates ... ok1943horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::team::team_reader_does_not_disclose_cross_tenant_assignment_targets ... ok1944horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::team::team_reader_denies_foreign_projects_and_unavailable_actors ... ok1945horae-tests-0.1.0> test server_fns::projects::client_lifecycle_tests::a_project_restores_once_its_client_is_restored ... ok1946horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::tasks::tracking_history_is_not_task_catalog_authority ... ok1947horae-tests-0.1.0> test server_fns::projects::client_lifecycle_tests::an_already_active_project_of_an_archived_client_stays_a_noop ... ok1948horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::team::project_team_and_override_rates_follow_independent_current_project_scope ... ok1949horae-tests-0.1.0> test server_fns::projects::client_lifecycle_tests::a_restore_waiting_for_a_client_archive_writes_nothing ... ok1950horae-tests-0.1.0> test server_fns::projects::canonical_read_tests::team::team_reader_rejects_malformed_canonical_state_including_empty_projects ... ok1951horae-tests-0.1.0> test server_fns::projects::client_lifecycle_tests::restoring_a_project_of_an_archived_client_is_refused_single_and_bulk ... ok1952horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::both_activation_transitions_preserve_details_and_change_once ... ok1953horae-tests-0.1.0> test server_fns::projects::details_tests::project_details_and_tags_follow_current_progress_and_private_permissions ... ok1954horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::concurrent_deletion_is_rejected_by_both_mutations ... ok1955horae-tests-0.1.0> test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers ... ok1956horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::budgets_and_rates_distinguish_null_zero_and_normalized_values ... ok1957horae-tests-0.1.0> test server_fns::projects::details_tests::unlinked_and_private_project_tags_do_not_leak_into_filters ... ok1958horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::configured_edits_recheck_settings_after_waiting_for_the_project ... ok1959horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::configured_edits_preserve_non_hourly_billing ... ok1960horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::configured_edits_preserve_compatible_changes_and_idempotence ... ok1961horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::configured_edits_reject_incompatible_financial_changes_atomically ... ok1962horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::inactive_project_edits_preserve_identity_and_reject_implicit_migrations ... ok1963horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::missing_and_foreign_rows_are_not_noops ... ok1964horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::invalid_project_fields_leave_the_row_unchanged ... ok1965horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::repeating_a_competing_deactivation_reports_no_transition ... ok1966horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::repeating_a_competing_edit_requires_a_fresh_revision ... ok1967horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::restoring_a_competing_deactivation_reports_reactivation ... ok1968horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::restoring_a_competing_edit_does_not_overwrite_the_other_session ... ok1969horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::unchanged_activation_preserves_the_row ... ok1970horae-tests-0.1.0> test server_fns::projects::mutation_tests::project::unchanged_edit_preserves_the_row ... ok1971horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::both_activation_transitions_preserve_details_and_change_once ... ok1972horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::concurrent_deletion_returns_not_found_for_both_mutations ... ok1973horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::each_detail_field_changes_once_and_preserves_inactive_status ... ok1974horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::missing_and_foreign_rows_are_not_noops ... ok1975horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::rate_edits_set_currency_without_relabelling_renames_or_noops ... ok1976horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::repeating_a_competing_deactivation_reports_no_transition ... ok1977horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::repeating_a_competing_edit_does_not_report_a_change ... ok1978horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::restoring_a_competing_deactivation_reports_reactivation ... ok1979horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::restoring_a_competing_edit_reports_a_change ... ok1980horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::unchanged_activation_preserves_the_row ... ok1981horae-tests-0.1.0> test server_fns::projects::mutation_tests::task::unchanged_edit_preserves_the_row ... ok1982horae-tests-0.1.0> test server_fns::projects::privacy_tests::client_project_filter_preserves_progress_access_and_rate_redaction ... ok1983horae-tests-0.1.0> test server_fns::projects::privacy_tests::legacy_members_retain_progress_without_new_settings ... ok1984horae-tests-0.1.0> test server_fns::projects::privacy_tests::outsiders_and_inactive_viewers_have_no_project_reads ... ok