[INFO] cloning repository https://github.com/Entropy-Financial-Technologies/entropyfa-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Entropy-Financial-Technologies/entropyfa-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEntropy-Financial-Technologies%2Fentropyfa-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEntropy-Financial-Technologies%2Fentropyfa-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eb22f3590b22de41e98dc2ec9453d156561cb08b
[INFO] testing Entropy-Financial-Technologies/entropyfa-cli against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEntropy-Financial-Technologies%2Fentropyfa-cli" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Entropy-Financial-Technologies/entropyfa-cli
[INFO] finished tweaking git repo https://github.com/Entropy-Financial-Technologies/entropyfa-cli
[INFO] tweaked toml for git repo https://github.com/Entropy-Financial-Technologies/entropyfa-cli written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Entropy-Financial-Technologies/entropyfa-cli on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Entropy-Financial-Technologies/entropyfa-cli already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df
[INFO] running `Command { std: "docker" "start" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling entropyfa-engine v0.1.6 (/opt/rustwide/workdir/engine)
[INFO] [stderr]    Compiling entropyfa v0.1.6 (/opt/rustwide/workdir/cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling entropyfa v0.1.6 (/opt/rustwide/workdir/cli)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling entropyfa-engine v0.1.6 (/opt/rustwide/workdir/engine)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.79s
[INFO] running `Command { std: "docker" "inspect" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/entropyfa/1c085da5d378e5f2/out/entropyfa-1c085da5d378e5f2)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test input::tests::merge_none_base ... ok
[INFO] [stdout] test input::tests::merge_deep ... ok
[INFO] [stdout] test support::reference_packs::tests::extract_machine_block_returns_json_payload ... ok
[INFO] [stdout] test chart::tests::test_request_summary_lines_use_bucketed_request_fields_without_panicking ... ok
[INFO] [stdout] test support::reference_packs::tests::load_retirement_pack_rejects_duplicate_default_variants ... ok
[INFO] [stdout] test chart::tests::test_request_summary_lines_use_legacy_request_fields ... ok
[INFO] [stdout] test support::reference_paths::tests::detect_install_profile_detects_full_from_user_root ... ok
[INFO] [stdout] test support::reference_packs::tests::load_rmd_reference_bundle_reports_missing_file ... ok
[INFO] [stdout] test support::reference_packs::tests::load_retirement_pack_requires_default_variant ... ok
[INFO] [stdout] test support::reference_paths::tests::detect_install_profile_falls_back_to_binary_only ... ok
[INFO] [stdout] test support::reference_packs::tests::load_rmd_reference_bundle_reports_invalid_json ... ok
[INFO] [stdout] test support::reference_paths::tests::detect_install_profile_detects_platform_from_system_binary_when_managed_root_exists ... ok
[INFO] [stdout] test support::reference_paths::tests::install_profile_uses_wire_vocabulary ... ok
[INFO] [stdout] test support::reference_paths::tests::load_install_metadata_reads_sidecar ... ok
[INFO] [stdout] test support::reference_paths::tests::resolve_compute_reference_root_uses_install_metadata ... ok
[INFO] [stdout] test support::reference_paths::tests::resolve_reference_root_prefers_explicit_path ... ok
[INFO] [stdout] test support::reference_paths::tests::resolve_reference_root_uses_install_metadata_before_defaults ... ok
[INFO] [stdout] test version::tests::test_detect_target ... ok
[INFO] [stdout] test support::reference_paths::tests::resolve_reference_root_uses_platform_default_for_platform_profile ... ok
[INFO] [stdout] test version::tests::test_is_newer ... ok
[INFO] [stdout] test version::tests::test_parse_semver_basic ... ok
[INFO] [stdout] test version::tests::test_parse_semver_invalid ... ok
[INFO] [stdout] test version::tests::test_release_asset_kind_uses_full_bundle_for_pack_installs ... ok
[INFO] [stdout] test version::tests::test_release_asset_url_matches_artifact_kind ... ok
[INFO] [stdout] test version::tests::test_user_binary_path ... ok
[INFO] [stdout] test webhook::tests::rejects_empty_hook_url ... ok
[INFO] [stdout] test webhook::tests::truncates_by_char_boundary ... ok
[INFO] [stdout] test version::tests::test_preferred_path_export_for_default_dir ... ok
[INFO] [stdout] test support::reference_paths::tests::detect_install_profile_uses_explicit_override ... ok
[INFO] [stdout] test support::reference_paths::tests::detect_install_profile_prefers_install_metadata_for_custom_layouts ... ok
[INFO] [stdout] test support::reference_paths::tests::detect_install_profile_ignores_invalid_override ... ok
[INFO] [stdout] test support::reference_packs::tests::extract_machine_block_preserves_triple_backticks_inside_json_strings ... ok
[INFO] [stdout] test support::reference_paths::tests::detect_install_profile_detects_platform_from_path_when_no_override ... ok
[INFO] [stdout] test support::reference_packs::tests::load_rmd_reference_bundle_reads_installed_packs ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/build/entropyfa/b112fa2d0482f19b/out/integration-b112fa2d0482f19b)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test compute_estate_tax_valid_input ... ok
[INFO] [stdout] test compute_federal_tax_missing_json_flag ... ok
[INFO] [stdout] test compute_estate_tax_schema ... ok
[INFO] [stdout] test compute_federal_tax_schema ... ok
[INFO] [stdout] test compute_pension_comparison_schema ... ok
[INFO] [stdout] test compute_federal_tax_invalid_json ... ok
[INFO] [stdout] test compute_federal_tax_valid_input ... ok
[INFO] [stdout] test compute_goal_solver_schema ... ok
[INFO] [stdout] test compute_projection_legacy_request_still_works ... ok
[INFO] [stdout] test compute_projection_bucketed_request_returns_bucket_aware_output ... ok
[INFO] [stdout] test compute_projection_help_shows_visual_flag ... ok
[INFO] [stdout] test compute_projection_rejects_invalid_tax_policy_mode ... ok
[INFO] [stdout] test compute_projection_rejects_missing_filing_status_for_tax_enabled_bucketed_requests ... ok
[INFO] [stdout] test compute_projection_rejects_incomplete_withdrawal_order ... ok
[INFO] [stdout] test compute_projection_does_not_auto_add_visual_percentiles ... ok
[INFO] [stdout] test compute_projection_rejects_reserved_household_cash_bucket_id ... ok
[INFO] [stdout] test compute_projection_schema_documents_normalization_rules_for_current_cli_contract ... ok
[INFO] [stdout] test compute_projection_visual_adds_dashboard_percentiles ... ok
[INFO] [stdout] test compute_projection_schema_documents_detail_row_shapes_and_omission_semantics ... ok
[INFO] [stdout] test compute_rmd_malformed_input_stays_assembly_error_with_missing_reference_pack ... ok
[INFO] [stdout] test compute_rmd_non_object_parameters_are_assembly_error ... ok
[INFO] [stdout] test compute_projection_schema_mentions_bucketed_and_legacy_requests ... ok
[INFO] [stdout] test compute_rmd_missing_owner_birth_date_stays_assembly_error_with_missing_reference_pack ... ok
[INFO] [stdout] test compute_rmd_response_reports_overrides_used ... ok
[INFO] [stdout] test compute_rmd_invalid_reference_pack ... ok
[INFO] [stdout] test compute_rmd_missing_reference_pack ... ok
[INFO] [stdout] test compute_projection_rejects_invalid_filing_status_for_tax_enabled_bucketed_requests ... ok
[INFO] [stdout] test compute_rmd_object_parameters_bypass_installed_packs ... ok
[INFO] [stdout] test compute_rmd_schedule_missing_annual_growth_rate_stays_assembly_error_with_missing_reference_pack ... ok
[INFO] [stdout] test compute_projection_schema_includes_output_schema_and_preserves_existing_keys ... ok
[INFO] [stdout] test compute_projection_schema ... ok
[INFO] [stdout] test compute_rmd_schedule_schema ... ok
[INFO] [stdout] test compute_rmd_schema ... ok
[INFO] [stdout] test compute_rmd_schedule_object_parameters_bypass_installed_packs ... ok
[INFO] [stdout] test compute_roth_conversion_strategy_schema ... ok
[INFO] [stdout] test compute_roth_conversion_schema ... ok
[INFO] [stdout] test data_lookup_irmaa_mfs_lived_apart ... ok
[INFO] [stdout] test compute_rmd_response_reports_references_used ... ok
[INFO] [stdout] test data_coverage_returns_entries ... ok
[INFO] [stdout] test data_coverage_filtered_by_category ... ok
[INFO] [stdout] test data_lookup_full_retirement_age_rules ... ok
[INFO] [stdout] test data_lookup_unknown_category_returns_error ... ok
[INFO] [stdout] test data_lookup_tax_brackets_single ... ok
[INFO] [stdout] test data_lookup_medicare_base_premiums ... ok
[INFO] [stdout] test data_lookup_irmaa_mfs_requires_spouse_flag ... ok
[INFO] [stdout] test env_json_reference_root_defaults_to_entropyfa_home_reference ... ok
[INFO] [stdout] test compute_rmd_null_parameters_falls_back_to_installed_packs ... ok
[INFO] [stdout] test env_json_reference_root_env_var_takes_precedence_over_default ... ok
[INFO] [stdout] test env_json_reference_root_flag_takes_precedence_over_env_var ... ok
[INFO] [stdout] test env_json_includes_manifest_metadata_when_available ... ok
[INFO] [stdout] test env_json_reports_missing_manifest_cleanly ... ok
[INFO] [stdout] test env_json_platform_install_profile_override_uses_platform_root ... ok
[INFO] [stdout] test env_json_unreadable_manifest_does_not_report_packs_present ... ok
[INFO] [stdout] test env_json_reports_retirement_manifest_and_pack_files ... ok
[INFO] [stdout] test env_json_zero_pack_manifest_does_not_report_packs_present ... ok
[INFO] [stdout] test env_plain_text_prints_human_summary ... ok
[INFO] [stdout] test update_alias_help_works ... ok
[INFO] [stdout] test env_json_install_metadata_beats_profile_hint_for_reference_root ... ok
[INFO] [stdout] test version_flag_shows_version ... ok
[INFO] [stdout] test help_flag_shows_usage ... ok
[INFO] [stdout] test env_json_user_root_binary_with_managed_reference_root_is_full ... ok
[INFO] [stdout] test compute_rmd_valid_without_inline_parameters ... ok
[INFO] [stdout] test compute_rmd_schedule_null_parameters_falls_back_to_installed_packs ... ok
[INFO] [stdout] test env_json_custom_full_install_uses_install_metadata_reference_root ... ok
[INFO] [stdout] test env_json_user_root_binary_without_managed_reference_root_is_binary_only ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/entropyfa-engine/da1c8e010a107c53/out/entropyfa_engine-da1c8e010a107c53)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 320 tests
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_basis_recovery_reduces_first_year_tax ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_pv_joint_50_vs_100 ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_pv_single_life_with_discount ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_pv_single_life_with_mortality ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_pv_single_life_zero_discount_zero_mortality ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_break_even_with_cola ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_pv_joint_survivor ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_break_even_zero_return ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_cola_cap_rate ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_pv_period_certain ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_compute_monthly_survival_decreasing ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_compute_monthly_survival_starts_at_one ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_break_even_never_depletes ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_annuity_pv_with_cola ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_cumulative_income_first_year_zero ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_cola_end_age ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_exclusion_ratio_reduces_taxable ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_cola_start_delay ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_compute_monthly_survival_zero_qx ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_joint_survivor_66_pct ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_joint_survivor_explicit_payment_overrides_pct ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_break_even_positive_return ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_cashout_projection_uses_net_investable_balance ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_level_income_higher_early_payments ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_label_passthrough ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_level_income_pv ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_no_spouse_skips_joint ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_per_option_cola_overrides_global ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_no_lump_sum_no_mc ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_popup_increases_joint_pv ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_period_certain_15_years ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_resolve_joint_50_alias ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_period_certain_survivor_value_survives_guarantee_window ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_resolve_joint_75_alias ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_resolve_period_certain_10_alias ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_resolve_period_certain_20_alias ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_select_mortality_table_fallback_to_unisex ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_select_mortality_table_male ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_select_mortality_table_no_gender_uses_unisex ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_tax_pension_income_increases_tax ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_validation_rejects_basis_above_lump_sum ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_tax_cashout_penalty_under_55 ... ok
[INFO] [stdout] test compute::retirement::rmd::tests::beneficiary_ten_year_terminal_distribution ... ok
[INFO] [stdout] test compute::retirement::rmd::tests::non_designated_before_rbd_uses_five_year_rule ... ok
[INFO] [stdout] test compute::retirement::rmd::tests::owner_roth_ira_not_required ... ok
[INFO] [stdout] test compute::retirement::rmd::tests::owner_designated_roth_plan_account_not_required ... ok
[INFO] [stdout] test compute::retirement::rmd::tests::owner_spouse_joint_table_when_spouse_more_than_ten_years_younger ... ok
[INFO] [stdout] test compute::retirement::rmd::tests::owner_uniform_table_rmd ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_auto_bracket_fill ... ok
[INFO] [stdout] test compute::retirement::rmd::tests::schedule_applies_rmd_then_growth ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_compute_taxable_ss_above_upper ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_bracket_fill_22_pct ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_compute_taxable_ss_between_thresholds ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_compute_taxable_ss_below_base ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_compute_taxable_ss_mfj_thresholds ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_do_nothing_baseline ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_conversion_pushes_bracket ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_income_events ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_irmaa_cliff ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_mfj_irmaa_two_persons ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_niit_interaction ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_pro_rata_with_sep ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_pro_rata_rule ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_rmd_reduction ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_two_year_fixed_conversion ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_ss_taxability ... ok
[INFO] [stdout] test compute::simulation::buckets::tests::test_apply_monthly_returns_per_bucket ... ok
[INFO] [stdout] test compute::retirement::roth_conversion::tests::test_zero_conversion ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_detail_not_included_by_default ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_bucketed_projection_reports_ending_balances_by_bucket ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_bucketed_tax_deferred_withdrawal_reports_annual_tax_paid ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_detail_annual ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_no_cashflows ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_return_earned ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_detail_monthly ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_rmd_internal_transfer_does_not_count_as_withdrawal_or_return ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_time_series ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_tax_payment_is_separate_from_investment_return_and_reported_in_bucket_withdrawals ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_with_contributions ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_withdrawal_order_depletes_taxable_before_ira ... ok
[INFO] [stdout] test compute::simulation::linear::tests::test_linear_with_withdrawals ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_bucketed_mc_depletion_counts_track_refilled_buckets ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_selected_option_drives_mc_tax_and_cumulative_outputs ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_bucketed_mc_failure_tracks_depletion_months ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_full_comparison_runs ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_bucketed_mc_terminal_bucket_summaries_include_household_cash ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_mc_time_series_length ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_mc_bucketed_tax_deferred_withdrawal_reports_annual_tax_paid ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_bucketed_mc_reports_terminal_balances_by_bucket ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_mc_success_rate_bounds ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_custom_percentiles ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_different_seed_different_results ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_mc_high_return_higher_success ... ok
[INFO] [stdout] test compute::pension::comparison::tests::test_mc_deterministic_seed ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_deterministic_with_same_seed ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_no_sample_paths_by_default ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_mc_detail_not_included_by_default ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_path_indices_specific ... ok
[INFO] [stdout] test compute::simulation::normalized::tests::test_normalize_bucketed_request_requires_withdrawal_order_when_multiple_buckets ... ok
[INFO] [stdout] test compute::simulation::normalized::tests::test_normalize_invalid_legacy_request_missing_starting_balance_returns_error ... ok
[INFO] [stdout] test compute::simulation::normalized::tests::test_normalize_legacy_request_into_single_taxable_bucket ... ok
[INFO] [stdout] test compute::simulation::normalized::tests::test_normalize_preserves_household_config ... ok
[INFO] [stdout] test compute::simulation::normalized::tests::test_normalized_bucket_contract_uses_spending_policy_as_order_authority ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_annual_cash_flows ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_bounded_cash_flow ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_monthly_cash_flows ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_multiple_cash_flows_combine ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_one_time_cash_flow ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_quarterly_cash_flows ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_simulate_path_compound_growth ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_simulate_path_floors_at_zero ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_simulate_path_no_return_no_cashflow ... ok
[INFO] [stdout] test compute::simulation::path_simulator::tests::test_simulate_path_with_return ... ok
[INFO] [stdout] test compute::simulation::rmd::tests::test_rmd_forces_tax_deferred_withdrawal_before_normal_spending_order ... ok
[INFO] [stdout] test compute::simulation::rmd::tests::test_rmd_is_generated_for_tax_deferred_bucket_when_enabled ... ok
[INFO] [stdout] test compute::simulation::rmd::tests::test_rmd_reallocates_household_shortfall_across_remaining_tax_deferred_buckets ... ok
[INFO] [stdout] test compute::simulation::rmd::tests::test_rmd_rejects_enabled_request_without_birth_years ... ok
[INFO] [stdout] test compute::simulation::rmd::tests::test_rmd_rejects_mixed_age_household_birth_years ... ok
[INFO] [stdout] test compute::simulation::rmd::tests::test_rmd_uses_last_uniform_lifetime_divisor_for_ages_above_table_coverage ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_build_sim_request_annual_return ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_build_sim_request_cash_flow ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_build_sim_request_starting_balance ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_build_sim_request_time_horizon ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_default_bounds ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_mc_detail_annual ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_is_increasing ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_zero_volatility_bucketed_monte_carlo_matches_linear ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_zero_volatility_matches_linear ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_extract_metric_success_rate ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_time_series_has_correct_months ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_success_rate_bounds ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_compute_bucket_depletion_counts ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_compute_bucket_terminal_percentiles ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_depletion_histogram_no_depletion ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_depletion_histogram_with_depletion ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_mean_basic ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_percentile_basic ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_std_dev_basic ... ok
[INFO] [stdout] test compute::simulation::statistics::tests::test_time_series_bands ... ok
[INFO] [stdout] test compute::simulation::tax::tests::test_tax_deferred_withdrawals_are_taxed_as_ordinary_income ... ok
[INFO] [stdout] test compute::simulation::tax::tests::test_tax_free_withdrawals_do_not_increase_taxable_income ... ok
[INFO] [stdout] test compute::simulation::tax::tests::test_tax_settlement_recomputes_for_tax_deferred_payment_source ... ok
[INFO] [stdout] test compute::simulation::tax::tests::test_taxable_withdrawals_use_realized_gain_ratio ... ok
[INFO] [stdout] test compute::simulation::withdrawals::tests::test_withdrawal_order_marks_unfunded_shortfall_when_all_buckets_exhausted ... ok
[INFO] [stdout] test compute::simulation::withdrawals::tests::test_withdrawal_order_uses_taxable_before_tax_deferred ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_above_exemption ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_adjusted_taxable_gifts ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_all_deductions ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_at_exemption ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_below_exemption ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_dsue_portability ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_large_estate ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_marital_deduction ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_sample_paths_count ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_post_sunset_2026 ... ok
[INFO] [stdout] test compute::tax::estate::tests::test_zero_estate ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_additional_medicare ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_capital_loss_limit ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_high_income ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_itemized_deduction_applies_salt_cap ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_itemized_deduction ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_itemized_deduction_applies_salt_phaseout_floor ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_low_income_ltcg_zero_rate ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_ltcg_stacking ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_mfs_spouse_itemizes ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_niit_components ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_niit_not_triggered ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_niit_triggered ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_qualified_dividends_preferential ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_safety_check ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_se_deduction_reduces_agi ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_se_tax ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_se_tax_deduction ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_se_tax_with_wages ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_ss_caps_at_wage_base ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_standard_deduction_ignores_detailed_itemized_inputs ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_wages_only_single ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_zero_income ... ok
[INFO] [stdout] test data::gifting::annual_exclusion::tests::gift_annual_exclusion_2026 ... ok
[INFO] [stdout] test data::insurance::irmaa::tests::base_premium ... ok
[INFO] [stdout] test data::insurance::irmaa::tests::mfj_irmaa_tiers ... ok
[INFO] [stdout] test compute::tax::federal::tests::test_marginal_rates ... ok
[INFO] [stdout] test data::insurance::irmaa::tests::mfs_lived_apart_uses_individual_tiers ... ok
[INFO] [stdout] test data::insurance::irmaa::tests::mfs_lived_with_spouse_only_three_tiers ... ok
[INFO] [stdout] test data::insurance::irmaa::tests::mfs_requires_lived_with_spouse_flag ... ok
[INFO] [stdout] test data::insurance::irmaa::tests::single_irmaa_tiers ... ok
[INFO] [stdout] test data::insurance::medicare::tests::medicare_base_premiums_2026 ... ok
[INFO] [stdout] test data::pension::mortality::tests::qx_increases_with_age ... ok
[INFO] [stdout] test data::pension::mortality::tests::table_417e_key_values ... ok
[INFO] [stdout] test data::pension::mortality::tests::table_417e_range ... ok
[INFO] [stdout] test data::rates::afr::tests::afr_2026_02_rates ... ok
[INFO] [stdout] test data::rates::afr::tests::afr_2026_01_rates ... ok
[INFO] [stdout] test data::rates::afr::tests::afr_2026_03_rates ... ok
[INFO] [stdout] test data::rates::section_7520::tests::section_7520_2026_02_rate ... ok
[INFO] [stdout] test data::rates::section_7520::tests::section_7520_2026_03_rate ... ok
[INFO] [stdout] test data::retirement::contribution_limits::tests::contribution_limits_2026 ... ok
[INFO] [stdout] test data::rates::section_7520::tests::section_7520_2026_01_rate ... ok
[INFO] [stdout] test compute::simulation::monte_carlo::tests::test_percentiles_ordered ... ok
[INFO] [stdout] test data::retirement::rmd_rules::tests::designated_roth_owner_exemption_effective_year ... ok
[INFO] [stdout] test data::retirement::rmd_rules::tests::distribution_rules_required_beginning_ages ... ok
[INFO] [stdout] test data::retirement::rmd_rules::tests::relief_years ... ok
[INFO] [stdout] test data::retirement::rmd_rules::tests::ten_year_rule ... ok
[INFO] [stdout] test data::retirement::rmd_tables::tests::joint_life_has_entries ... ok
[INFO] [stdout] test data::retirement::rmd_rules::tests::edb_classes ... ok
[INFO] [stdout] test data::retirement::rmd_rules::tests::still_working_exception ... ok
[INFO] [stdout] test data::retirement::rmd_tables::tests::single_life_age_72 ... ok
[INFO] [stdout] test data::retirement::rmd_tables::tests::single_life_ends_at_last_age ... ok
[INFO] [stdout] test data::retirement::rmd_tables::tests::uniform_lifetime_last_age ... ok
[INFO] [stdout] test data::retirement::rmd_tables::tests::single_life_starts_at_zero ... ok
[INFO] [stdout] test data::retirement::rmd_tables::tests::uniform_lifetime_age_72 ... ok
[INFO] [stdout] test data::social_security::earnings_test::tests::earnings_test_thresholds_2026 ... ok
[INFO] [stdout] test data::social_security::retirement_age::tests::fra_birth_year_1937 ... ok
[INFO] [stdout] test data::social_security::retirement_age::tests::fra_birth_year_1959 ... ok
[INFO] [stdout] test data::social_security::retirement_age::tests::fra_birth_year_1960_and_later ... ok
[INFO] [stdout] test data::retirement::rmd_tables::tests::uniform_lifetime_range ... ok
[INFO] [stdout] test data::social_security::taxation::tests::mfs_lived_apart_thresholds ... ok
[INFO] [stdout] test data::social_security::taxation::tests::mfs_lived_with_spouse_thresholds ... ok
[INFO] [stdout] test data::social_security::taxation::tests::mfj_thresholds ... ok
[INFO] [stdout] test data::social_security::taxation::tests::single_thresholds ... ok
[INFO] [stdout] test data::tax::estate::tests::applicable_credit_2026 ... ok
[INFO] [stdout] test data::tax::estate::tests::bracket_count ... ok
[INFO] [stdout] test data::social_security::retirement_age::tests::fra_rules_include_january_1_note ... ok
[INFO] [stdout] test data::tax::estate::tests::exemption_2026 ... ok
[INFO] [stdout] test data::tax::estate::tests::brackets_contiguous ... ok
[INFO] [stdout] test data::tax::federal::tests::brackets_default_to_2026 ... ok
[INFO] [stdout] test data::tax::federal::tests::capital_loss_limit_mfs ... ok
[INFO] [stdout] test data::tax::federal::tests::cg_brackets_single ... ok
[INFO] [stdout] test data::tax::federal::tests::niit_thresholds ... ok
[INFO] [stdout] test data::tax::federal::tests::payroll_ss_wage_base_2026 ... ok
[INFO] [stdout] test data::tax::federal::tests::qbi_deduction_mfj ... ok
[INFO] [stdout] test data::tax::federal::tests::mfj_first_bracket_double_single_2026 ... ok
[INFO] [stdout] test data::tax::federal::tests::qbi_deduction_single ... ok
[INFO] [stdout] test data::tax::federal::tests::hoh_brackets ... ok
[INFO] [stdout] test data::tax::federal::tests::qss_equals_mfj ... ok
[INFO] [stdout] test data::tax::federal::tests::salt_deduction_parameters_mfs ... ok
[INFO] [stdout] test data::tax::federal::tests::salt_deduction_parameters_single ... ok
[INFO] [stdout] test data::tax::federal::tests::single_bracket_count_2025 ... ok
[INFO] [stdout] test data::tax::federal::tests::standard_deduction_values ... ok
[INFO] [stdout] test data::tax::hsa::tests::hsa_limits_2026 ... ok
[INFO] [stdout] test data::tests::coverage_all ... ok
[INFO] [stdout] test data::tests::coverage_filter_category ... ok
[INFO] [stdout] test data::tests::coverage_filter_tag ... ok
[INFO] [stdout] test data::tests::data_version_present ... ok
[INFO] [stdout] test data::tests::lookup_capital_loss_limit ... ok
[INFO] [stdout] test data::tax::federal::tests::single_bracket_count_2026 ... ok
[INFO] [stdout] test data::tests::lookup_estate_exemption ... ok
[INFO] [stdout] test data::tests::lookup_full_retirement_age_rules ... ok
[INFO] [stdout] test data::tests::lookup_irmaa ... ok
[INFO] [stdout] test data::tests::lookup_irmaa_mfs_lived_apart ... ok
[INFO] [stdout] test data::tests::lookup_irmaa_mfs_lived_with_spouse ... ok
[INFO] [stdout] test data::tests::lookup_irmaa_mfs_requires_spouse_flag ... ok
[INFO] [stdout] test data::tests::lookup_distribution_rules ... ok
[INFO] [stdout] test data::tests::lookup_medicare_base_premiums ... ok
[INFO] [stdout] test data::tests::lookup_pension_mortality ... ok
[INFO] [stdout] test data::tests::lookup_qbi_deduction ... ok
[INFO] [stdout] test data::tests::lookup_ss_taxation ... ok
[INFO] [stdout] test data::tests::lookup_missing_filing_status ... ok
[INFO] [stdout] test data::tests::lookup_retirement_uniform ... ok
[INFO] [stdout] test data::tests::lookup_ss_taxation_mfs_lived_apart ... ok
[INFO] [stdout] test data::tests::lookup_ss_taxation_mfs_lived_with_spouse ... ok
[INFO] [stdout] test data::tests::lookup_ss_taxation_mfs_requires_spouse_flag ... ok
[INFO] [stdout] test data::tests::lookup_tax_brackets_single ... ok
[INFO] [stdout] test data::tests::lookup_tax_entry_rejects_year_not_supported_for_entry ... ok
[INFO] [stdout] test data::tests::lookup_tax_niit ... ok
[INFO] [stdout] test data::tests::lookup_tax_salt_deduction_parameters ... ok
[INFO] [stdout] test data::tests::lookup_tax_standard_deductions ... ok
[INFO] [stdout] test data::tests::lookup_unknown_key ... ok
[INFO] [stdout] test data::tests::lookup_unsupported_year ... ok
[INFO] [stdout] test data::tests::lookup_unknown_category ... ok
[INFO] [stdout] test data::tests::supported_years_includes_2025 ... ok
[INFO] [stdout] test data::tests::supported_years_includes_2026 ... ok
[INFO] [stdout] test data::types::tests::filing_status_display ... ok
[INFO] [stdout] test data::types::tests::filing_status_parse_variants ... ok
[INFO] [stdout] test data::types::tests::filing_status_invalid ... ok
[INFO] [stdout] test data_pipeline::tests::canonicalization_sorts_object_keys ... ok
[INFO] [stdout] test data_pipeline::workflow::tests::status_recommendation_tracks_verification_status ... ok
[INFO] [stdout] test data_pipeline::workflow::tests::wildcard_host_patterns_match_subdomains ... ok
[INFO] [stdout] test validation::tests::test_bucketed_request_passes_validation ... ok
[INFO] [stdout] test validation::tests::test_collects_multiple_errors ... ok
[INFO] [stdout] test validation::tests::test_contract_rejects_bucketed_fields_without_buckets ... ok
[INFO] [stdout] test validation::tests::test_contract_rejects_empty_bucket_id ... ok
[INFO] [stdout] test data_pipeline::tests::fnv_checksum_is_stable ... ok
[INFO] [stdout] test validation::tests::test_contract_rejects_missing_or_empty_birth_years_when_rmd_enabled ... ok
[INFO] [stdout] test validation::tests::test_contract_rejects_mixed_age_household_when_rmd_enabled ... ok
[INFO] [stdout] test validation::tests::test_contract_rejects_mixed_legacy_and_bucketed_asset_inputs ... ok
[INFO] [stdout] test validation::tests::test_contract_rejects_multi_bucket_request_without_withdrawal_order ... ok
[INFO] [stdout] test validation::tests::test_duplicate_bucket_ids_rejected ... ok
[INFO] [stdout] test validation::tests::test_federal_tax_request_allows_detailed_itemized_inputs ... ok
[INFO] [stdout] test validation::tests::test_federal_tax_request_rejects_mixed_itemized_inputs ... ok
[INFO] [stdout] test validation::tests::test_federal_tax_request_requires_salt_params_for_detailed_inputs ... ok
[INFO] [stdout] test validation::tests::test_incomplete_withdrawal_order_rejected ... ok
[INFO] [stdout] test validation::tests::test_invalid_filing_status_rejected_for_simulation_request ... ok
[INFO] [stdout] test validation::tests::test_invalid_mode ... ok
[INFO] [stdout] test validation::tests::test_invalid_tax_policy_mode_rejected ... ok
[INFO] [stdout] test validation::tests::test_negative_balance ... ok
[INFO] [stdout] test validation::tests::test_negative_std_dev ... ok
[INFO] [stdout] test validation::tests::test_rmd_request_rejects_invalid_beneficiary_election ... ok
[INFO] [stdout] test validation::tests::test_reserved_household_cash_bucket_id_rejected ... ok
[INFO] [stdout] test validation::tests::test_rmd_request_rejects_missing_owner_required_account_types ... ok
[INFO] [stdout] test validation::tests::test_rmd_request_rejects_unsupported_account_type ... ok
[INFO] [stdout] test validation::tests::test_rmd_schedule_invalid_growth_rate ... ok
[INFO] [stdout] test validation::tests::test_solver_cash_flow_index_out_of_range ... ok
[INFO] [stdout] test validation::tests::test_solver_invalid_bounds_ordering ... ok
[INFO] [stdout] test validation::tests::test_solver_invalid_variable ... ok
[INFO] [stdout] test validation::tests::test_solver_percentile_balance_missing_percentile ... ok
[INFO] [stdout] test validation::tests::test_solver_success_rate_out_of_range ... ok
[INFO] [stdout] test validation::tests::test_tax_enabled_bucketed_request_requires_filing_status ... ok
[INFO] [stdout] test validation::tests::test_unknown_bucket_references_in_spending_policy_rejected ... ok
[INFO] [stdout] test validation::tests::test_valid_request_passes ... ok
[INFO] [stdout] test validation::tests::test_valid_rmd_request_passes ... ok
[INFO] [stdout] test validation::tests::test_solver_invalid_metric ... ok
[INFO] [stdout] test validation::tests::test_valid_solver_request_passes ... ok
[INFO] [stdout] test validation::tests::test_zero_horizon ... ok
[INFO] [stdout] test validation::tests::test_zero_cash_flow_amount ... ok
[INFO] [stdout] test data::tests::lookup_tax_brackets_single_2025 ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_solver_time_horizon_integer ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_solver_converges_cash_flow ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_solver_starting_balance ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_solver_percentile_balance_target ... ok
[INFO] [stdout] test compute::simulation::solver::tests::test_solver_deterministic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 320 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 34.87s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/data-pipeline.rs (/opt/rustwide/target/debug/build/entropyfa-engine/82feeb8eae0aece8/out/data_pipeline-82feeb8eae0aece8)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::auto_applied_summary_includes_apply_artifacts ... ok
[INFO] [stdout] test tests::auto_repair_summary_includes_repair_artifacts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/data_pipeline.rs (/opt/rustwide/target/debug/build/entropyfa-engine/e129eb14e2eddff2/out/data_pipeline-e129eb14e2eddff2)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test data_pipeline_validate_non_strict ... ok
[INFO] [stdout] test data_pipeline_validate_strict_allows_corroborated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s
[INFO] [stderr]      Running tests/data_pipeline_workflow.rs (/opt/rustwide/target/debug/build/entropyfa-engine/84d1c33d6449d5b6/out/data_pipeline_workflow-84d1c33d6449d5b6)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test prepare_review_apply_estate_applicable_credit_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_estate_exemption_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_estate_brackets_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_full_retirement_age_rules_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_distribution_rules_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_capital_loss_limit_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_capital_gains_brackets_happy_path ... ok
[INFO] [stdout] test apply_writes_reference_pack_with_required_primer_sections ... ok
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] test prepare_review_apply_medicare_base_premiums_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_irmaa_happy_path ... ok
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] test prepare_review_apply_mortality_417e_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_payroll_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_qbi_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_niit_happy_path ... ok
[INFO] [stdout] [repair claude] repair-complete
[INFO] [stdout] test prepare_review_apply_salt_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_social_security_taxation_happy_path ... ok
[INFO] [stdout] [repair_verifier codex] verifier-complete
[INFO] [stdout] test prepare_review_apply_standard_deductions_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_single_life_table_happy_path ... ok
[INFO] [stdout] test prepare_review_apply_tax_brackets_2025_happy_path ... ok
[INFO] [stdout] test review_blocks_when_verifier_disputes_required_primer_section ... ok
[INFO] [stdout] test review_blocks_when_reference_pack_primer_is_missing ... ok
[INFO] [stdout] test manual_review_uses_repair_artifacts_after_blocked_repair ... ok
[INFO] [stdout] test prepare_review_apply_tax_brackets_happy_path ... ok
[INFO] [stdout] test review_tolerates_missing_verifier_agent_metadata ... ok
[INFO] [stdout] test review_tolerates_structured_primary_unresolved_issues ... ok
[INFO] [stdout] test review_run_suggests_contract_changes_for_irmaa_schema_gaps ... ok
[INFO] [stdout] test prepare_review_apply_uniform_lifetime_table_happy_path ... ok
[INFO] [stdout] test review_run_blocks_verifier_dispute ... ok
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] test review_run_blocks_schema_change_required ... ok
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [repair claude] repair-complete
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] [repair claude] repair-complete
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] [repair_verifier codex] verifier-complete
[INFO] [stdout] [repair_verifier codex] verifier-complete
[INFO] [stdout] test run_agents_does_not_auto_repair_manual_required_value_dispute ... ok
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] test run_agents_preserves_initial_verifier_and_review_artifacts_before_rereview ... ok
[INFO] [stdout] test run_agents_auto_repairs_source_level_citation_locator_inexact ... ok
[INFO] [stdout] [repair claude] repair-complete
[INFO] [stdout] [verifier codex] verifier-blocked
[INFO] [stdout] test run_agents_does_not_auto_apply_when_review_blocks ... ok
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [repair_verifier codex] verifier-complete
[INFO] [stdout] [primary claude] primary-complete
[INFO] [stdout] [verifier codex] verifier-delayed
[INFO] [stdout] [verifier codex] verifier-complete
[INFO] [stdout] test verifier_prompt_explains_primary_vs_current_value_for_updates ... ok
[INFO] [stdout] [repair claude] repair-complete
[INFO] [stdout] test run_agents_prepares_executes_and_auto_applies_on_clean_review ... ok
[INFO] [stdout] [repair_verifier codex] verifier-complete
[INFO] [stdout] test status_report_summarizes_registry_and_pipeline_state ... ok
[INFO] [stdout] test run_agents_auto_repairs_safe_primer_disputes_and_applies ... ok
[INFO] [stdout] test run_agents_auto_repairs_field_level_citation_locator_inexact ... ok
[INFO] [stdout] [repair claude] repair-complete
[INFO] [stdout] [repair_verifier codex] verifier-complete
[INFO] [stdout] test run_agents_rejects_repair_that_mutates_value_during_safe_repair ... ok
[INFO] [stdout] test prepare_review_apply_joint_life_table_happy_path ... ok
[INFO] [stderr]      Running tests/golden.rs (/opt/rustwide/target/debug/build/entropyfa-engine/5be6c4ca226984d4/out/golden-5be6c4ca226984d4)
[INFO] [stdout] test run_agents_waits_for_delayed_verifier_outputs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.62s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test federal_tax_200k_single_wages_2026 ... ok
[INFO] [stdout] test federal_tax_500k_mfj_mixed_income_2026 ... ok
[INFO] [stdout] test rmd_age_75_uniform_table_2026 ... ok
[INFO] [stdout] test estate_tax_20m_estate_2026 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests entropyfa_engine
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df", kill_on_drop: false }`
[INFO] [stdout] f934ab28adea56c6bd8e70379317fdffdaa7925fbc199058fbb480dcc82146df
