[INFO] cloning repository https://github.com/BitcoinLifeboat/bitcoin-lifeboat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BitcoinLifeboat/bitcoin-lifeboat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBitcoinLifeboat%2Fbitcoin-lifeboat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBitcoinLifeboat%2Fbitcoin-lifeboat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5810c5db11b5120ad78075e2fc3e296fced7ad5e
[INFO] testing BitcoinLifeboat/bitcoin-lifeboat against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBitcoinLifeboat%2Fbitcoin-lifeboat" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/BitcoinLifeboat/bitcoin-lifeboat
[INFO] finished tweaking git repo https://github.com/BitcoinLifeboat/bitcoin-lifeboat
[INFO] tweaked toml for git repo https://github.com/BitcoinLifeboat/bitcoin-lifeboat written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BitcoinLifeboat/bitcoin-lifeboat on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BitcoinLifeboat/bitcoin-lifeboat 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.98.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-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938
[INFO] running `Command { std: "docker" "start" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938", 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" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938", 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" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling bitcoin-io v0.1.100
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling self_cell v1.2.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling hex-conservative v0.2.2
[INFO] [stderr]    Compiling bitcoin v0.32.100
[INFO] [stderr]    Compiling bech32 v0.11.1
[INFO] [stderr]    Compiling bitcoin-units v0.1.100
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]    Compiling hex-conservative v1.2.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling type-map v0.5.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling log v0.4.30
[INFO] [stderr]    Compiling bitcoin-private v0.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling minicbor v0.19.1
[INFO] [stderr]    Compiling bitcoin_hashes v0.14.100
[INFO] [stderr]    Compiling g2poly v1.2.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling ttf-parser v0.19.2
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling bitcoin_hashes v0.12.0
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling lru v0.16.4
[INFO] [stderr]    Compiling radix_fmt v1.0.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling base58ck v0.1.100
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling qrcode v0.14.1
[INFO] [stderr]    Compiling sensitive-input-detector v0.1.0 (/opt/rustwide/workdir/crates/sensitive-input-detector)
[INFO] [stderr]    Compiling codex32 v0.1.0
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling image v0.25.6
[INFO] [stderr]    Compiling roff v0.2.2
[INFO] [stderr]    Compiling desktop-commands v0.1.0 (/opt/rustwide/workdir/crates/desktop-commands)
[INFO] [stderr]    Compiling owned_ttf_parser v0.19.0
[INFO] [stderr]    Compiling pom v3.4.0
[INFO] [stderr]    Compiling lopdf v0.31.0
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling g2gen v1.2.2
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling g2p v1.2.2
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling rqrr v0.10.1
[INFO] [stderr]    Compiling ur v0.4.1
[INFO] [stderr]    Compiling unic-langid-impl v0.9.5
[INFO] [stderr]    Compiling secp256k1 v0.29.1
[INFO] [stderr]    Compiling printpdf v0.7.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling unic-langid v0.9.5
[INFO] [stderr]    Compiling intl_pluralrules v7.0.2
[INFO] [stderr]    Compiling intl-memoizer v0.5.3
[INFO] [stderr]    Compiling fluent-langneg v0.13.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling fluent-syntax v0.12.0
[INFO] [stderr]    Compiling bbqr v0.4.1
[INFO] [stderr]    Compiling clap_complete v4.5.38
[INFO] [stderr]    Compiling clap_mangen v0.2.24
[INFO] [stderr]    Compiling fluent-bundle v0.16.0
[INFO] [stderr]    Compiling clap_complete_nushell v4.5.5
[INFO] [stderr]    Compiling error-taxonomy v0.1.0 (/opt/rustwide/workdir/crates/error-taxonomy)
[INFO] [stderr]    Compiling bip39 v2.2.2
[INFO] [stderr]    Compiling qr-psbt v0.1.0 (/opt/rustwide/workdir/crates/qr-psbt)
[INFO] [stderr]    Compiling hwi-bridge v0.1.0 (/opt/rustwide/workdir/crates/hwi-bridge)
[INFO] [stderr]    Compiling miniscript v13.0.0
[INFO] [stderr]    Compiling descriptor-audit v0.1.0 (/opt/rustwide/workdir/crates/descriptor-audit)
[INFO] [stderr]    Compiling psbt-tools v0.1.0 (/opt/rustwide/workdir/crates/psbt-tools)
[INFO] [stderr]    Compiling address-derive v0.1.0 (/opt/rustwide/workdir/crates/address-derive)
[INFO] [stderr]    Compiling wallet-imports v0.1.0 (/opt/rustwide/workdir/crates/wallet-imports)
[INFO] [stderr]    Compiling miniscript-viz v0.1.0 (/opt/rustwide/workdir/crates/miniscript-viz)
[INFO] [stderr]    Compiling readiness-score v0.1.0 (/opt/rustwide/workdir/crates/readiness-score)
[INFO] [stderr]    Compiling report-engine v0.1.0 (/opt/rustwide/workdir/crates/report-engine)
[INFO] [stderr]    Compiling runbook-engine v0.1.0 (/opt/rustwide/workdir/crates/runbook-engine)
[INFO] [stderr]    Compiling lifeboat-core v0.1.0 (/opt/rustwide/workdir/crates/lifeboat-core)
[INFO] [stderr]    Compiling lifeboat v0.1.0 (/opt/rustwide/workdir/cli/lifeboat)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.54s
[INFO] running `Command { std: "docker" "inspect" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938", 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" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling half v2.4.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling readiness-score v0.1.0 (/opt/rustwide/workdir/crates/readiness-score)
[INFO] [stderr]    Compiling sensitive-input-detector v0.1.0 (/opt/rustwide/workdir/crates/sensitive-input-detector)
[INFO] [stderr]    Compiling wallet-imports v0.1.0 (/opt/rustwide/workdir/crates/wallet-imports)
[INFO] [stderr]    Compiling miniscript-viz v0.1.0 (/opt/rustwide/workdir/crates/miniscript-viz)
[INFO] [stderr]    Compiling error-taxonomy v0.1.0 (/opt/rustwide/workdir/crates/error-taxonomy)
[INFO] [stderr]    Compiling descriptor-audit v0.1.0 (/opt/rustwide/workdir/crates/descriptor-audit)
[INFO] [stderr]    Compiling psbt-tools v0.1.0 (/opt/rustwide/workdir/crates/psbt-tools)
[INFO] [stderr]    Compiling hwi-bridge v0.1.0 (/opt/rustwide/workdir/crates/hwi-bridge)
[INFO] [stderr]    Compiling qr-psbt v0.1.0 (/opt/rustwide/workdir/crates/qr-psbt)
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling insta v1.44.3
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling report-engine v0.1.0 (/opt/rustwide/workdir/crates/report-engine)
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling clap_complete v4.5.38
[INFO] [stderr]    Compiling clap_mangen v0.2.24
[INFO] [stderr]    Compiling clap_complete_nushell v4.5.5
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling pom v3.4.0
[INFO] [stderr]    Compiling lopdf v0.31.0
[INFO] [stderr]    Compiling printpdf v0.7.0
[INFO] [stderr]    Compiling address-derive v0.1.0 (/opt/rustwide/workdir/crates/address-derive)
[INFO] [stderr]    Compiling runbook-engine v0.1.0 (/opt/rustwide/workdir/crates/runbook-engine)
[INFO] [stderr]    Compiling lifeboat-core v0.1.0 (/opt/rustwide/workdir/crates/lifeboat-core)
[INFO] [stderr]    Compiling desktop-commands v0.1.0 (/opt/rustwide/workdir/crates/desktop-commands)
[INFO] [stderr]    Compiling lifeboat v0.1.0 (/opt/rustwide/workdir/cli/lifeboat)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 34.15s
[INFO] running `Command { std: "docker" "inspect" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938", 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" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/address_derive-6a316af2cf0626e2)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test tests::bip44_pkh_matches_vector ... ok
[INFO] [stdout] test tests::invalid_address_is_rejected ... ok
[INFO] [stdout] test tests::bip86_tr_matches_published_vector ... ok
[INFO] [stdout] test tests::known_address_match_json_shape_matches_schema ... ok
[INFO] [stdout] test tests::comparison_count_out_of_range_is_refused ... ok
[INFO] [stdout] test tests::bip49_sh_wpkh_matches_published_vector ... ok
[INFO] [stdout] test tests::derived_address_json_shape_matches_schema ... ok
[INFO] [stdout] test tests::known_address_hits_on_receive ... ok
[INFO] [stdout] test tests::empty_address_is_rejected ... ok
[INFO] [stdout] test tests::fixed_descriptor_matches_its_single_address ... ok
[INFO] [stdout] test tests::meets_expectation_logic ... ok
[INFO] [stdout] test tests::mixed_network_descriptor_is_refused_before_derivation ... ok
[INFO] [stdout] test tests::bip84_wpkh_matches_published_vectors ... ok
[INFO] [stdout] test tests::no_wildcard_refuses_many_but_allows_one ... ok
[INFO] [stdout] test tests::derive_chain_rejects_multipath_input ... ok
[INFO] [stdout] test tests::xprv_descriptor_is_refused_before_derivation ... ok
[INFO] [stdout] test tests::wrong_network_address_is_rejected ... ok
[INFO] [stdout] test tests::liana_timelock_fixture_derives_receive_and_change ... ok
[INFO] [stdout] test tests::derivation_is_deterministic ... ok
[INFO] [stdout] test tests::known_address_hits_on_change ... ok
[INFO] [stdout] test tests::chain_labels_and_indices_are_correct ... ok
[INFO] [stdout] test tests::taproot_scriptpath_multi_a_fixture_derives_expected_addresses ... ok
[INFO] [stdout] test tests::wsh_sortedmulti_testnet_fixture_derives ... ok
[INFO] [stdout] test tests::known_address_tb1_fixture_matches_testnet_multisig ... ok
[INFO] [stdout] test tests::derives_100_singlesig_under_200ms ... ok
[INFO] [stdout] test tests::multipath_fixture_splits_receive_and_change ... ok
[INFO] [stdout] test tests::search_expands_past_first_n_up_to_1000 ... ok
[INFO] [stdout] test tests::count_out_of_range_is_refused ... ok
[INFO] [stdout] test tests::known_address_miss_is_a_fact_and_satisfies_expect_not_to_match ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.85s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/descriptor_audit-0651631bf04895b3)
[INFO] [stdout] 
[INFO] [stdout] running 47 tests
[INFO] [stdout] test tests::compute_checksum_rejects_blank_input ... ok
[INFO] [stdout] test tests::empty_input_is_e_input_001 ... ok
[INFO] [stdout] test tests::descriptor_with_xprv_is_blocked_with_e_parse_005 ... ok
[INFO] [stdout] test tests::absolute_and_relative_timelock_fragments_are_detected ... ok
[INFO] [stdout] test tests::compute_checksum_round_trips ... ok
[INFO] [stdout] test tests::duplicate_xpub_is_a_non_fatal_fact ... ok
[INFO] [stdout] test tests::hardened_marker_style_classifies_apostrophe_h_mixed_and_none ... ok
[INFO] [stdout] test tests::missing_checksum_is_non_fatal_and_recorded ... ok
[INFO] [stdout] test tests::infers_ambiguous_test_network_from_tpub ... ok
[INFO] [stdout] test tests::key_origins_detect_singlesig_standard_schemes ... ok
[INFO] [stdout] test tests::mixed_network_descriptor_is_e_parse_004 ... ok
[INFO] [stdout] test tests::liana_timelock_fixture_is_first_class_miniscript ... ok
[INFO] [stdout] test tests::insane_descriptor_surfaces_typed_error_not_panic ... ok
[INFO] [stdout] test tests::leading_and_trailing_whitespace_is_tolerated ... ok
[INFO] [stdout] test tests::key_origins_flag_missing_fingerprint_and_path ... ok
[INFO] [stdout] test tests::infers_mainnet_from_xpub_version_bytes ... ok
[INFO] [stdout] test tests::normalize_slip132_leaves_standard_descriptors_unchanged ... ok
[INFO] [stdout] test tests::normalize_slip132_rejects_blank_input ... ok
[INFO] [stdout] test tests::classifies_multi_vs_sortedmulti ... ok
[INFO] [stdout] test tests::canonical_form_uses_h_markers_and_a_valid_checksum ... ok
[INFO] [stdout] test tests::clean_descriptors_have_no_duplicates_and_one_network ... ok
[INFO] [stdout] test tests::multipath_singlesig_expands_to_two_branches ... ok
[INFO] [stdout] test tests::key_origins_classify_nonstandard_and_taproot_paths ... ok
[INFO] [stdout] test tests::multisig_fixture_infers_ambiguous_test_network ... ok
[INFO] [stdout] test tests::normalization_round_trip_is_stable ... ok
[INFO] [stdout] test tests::normalizes_slip132_vpub_to_testnet_tpub ... ok
[INFO] [stdout] test tests::key_origins_extract_multisig_provenance_in_descriptor_order ... ok
[INFO] [stdout] test tests::present_invalid_checksum_is_e_parse_003 ... ok
[INFO] [stdout] test tests::parses_singlesig_fixtures_with_correct_type ... ok
[INFO] [stdout] test tests::hardened_markers_h_and_apostrophe_are_equivalent ... ok
[INFO] [stdout] test tests::same_xpub_under_different_paths_is_a_duplicate ... ok
[INFO] [stdout] test tests::multisig_quorum_bounds_violations_are_e_parse_007 ... ok
[INFO] [stdout] test tests::raw_pubkey_descriptor_has_no_inferable_network ... ok
[INFO] [stdout] test tests::rejects_unsupported_functions_with_e_parse_006 ... ok
[INFO] [stdout] test tests::non_multipath_descriptors_expand_to_themselves ... ok
[INFO] [stdout] test tests::present_valid_checksum_is_present ... ok
[INFO] [stdout] test tests::extracts_quorum_across_wrapper_forms ... ok
[INFO] [stdout] test tests::unparseable_input_is_e_parse_001 ... ok
[INFO] [stdout] test tests::private_keys_are_blocked_at_any_key_position_and_for_every_prefix ... ok
[INFO] [stdout] test tests::singlesig_and_complex_policy_have_no_multisig_info ... ok
[INFO] [stdout] test tests::taproot_descriptors_parse_as_first_class_descriptors ... ok
[INFO] [stdout] test tests::taproot_multi_a_quorum_bounds_are_checked_before_parse ... ok
[INFO] [stdout] test tests::parses_multisig_fixtures_with_correct_quorum ... ok
[INFO] [stdout] test tests::normalizes_slip132_zpub_to_mainnet_xpub ... ok
[INFO] [stdout] test tests::sortedmulti_key_ordering_is_detected ... ok
[INFO] [stdout] test tests::multipath_descriptor_is_detected_and_expands_to_receive_and_change ... ok
[INFO] [stdout] test tests::watch_only_descriptors_are_never_flagged_as_private ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/desktop_commands-a3e4bf8a8a0480f3)
[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] [stderr]      Running tests/commands.rs (/opt/rustwide/target/debug/deps/commands-8281f7ad89b203cb)
[INFO] [stdout] 
[INFO] [stdout] running 54 tests
[INFO] [stdout] test clear_all_data_is_ok_when_nothing_is_stored ... ok
[INFO] [stdout] test check_external_link_rejects_off_allowlist_urls ... ok
[INFO] [stdout] test compute_checksum_blocks_an_xprv_before_echoing_it ... ok
[INFO] [stdout] test audit_descriptor_rejects_empty_input ... ok
[INFO] [stdout] test audit_descriptor_rejects_unparseable_input_with_typed_error ... ok
[INFO] [stdout] test clear_all_data_removes_the_settings_file ... ok
[INFO] [stdout] test compare_address_rejects_a_malformed_address_with_a_typed_error ... ok
[INFO] [stdout] test compare_address_finds_a_derived_address ... ok
[INFO] [stdout] test corrupt_settings_file_is_schema_migration_required ... ok
[INFO] [stdout] test compute_checksum_rejects_empty_input ... ok
[INFO] [stdout] test external_link_allowlist_entries_are_all_allowed ... ok
[INFO] [stdout] test detect_sensitive_input_allows_clean_text ... ok
[INFO] [stdout] test audit_descriptor_blocks_an_xprv_before_parsing ... ok
[INFO] [stdout] test generate_report_rejects_empty_input ... ok
[INFO] [stdout] test compute_checksum_appends_an_eight_char_checksum_and_is_idempotent ... ok
[INFO] [stdout] test derive_addresses_refuses_an_ambiguous_network ... ok
[INFO] [stdout] test generate_report_blocks_an_xprv_before_parsing ... ok
[INFO] [stdout] test derive_addresses_accepts_an_explicit_network_override ... ok
[INFO] [stdout] test generate_runbook_blocks_an_xprv_descriptor ... ok
[INFO] [stdout] test generate_runbook_rejects_an_unknown_template ... ok
[INFO] [stdout] test generate_runbook_prefills_from_a_descriptor ... ok
[INFO] [stdout] test derive_addresses_matches_published_vectors ... ok
[INFO] [stdout] test parse_wallet_export_blocks_a_secret_bearing_file ... ok
[INFO] [stdout] test generate_runbook_renders_markdown ... ok
[INFO] [stdout] test load_settings_returns_defaults_when_absent ... ok
[INFO] [stdout] test derive_addresses_supports_sh_wpkh_single_path ... ok
[INFO] [stdout] test missing_fields_fall_back_to_defaults ... ok
[INFO] [stdout] test app_info_reports_version_and_config_urls ... ok
[INFO] [stdout] test render_liana_recovery_tree_rejects_empty_input ... ok
[INFO] [stdout] test render_miniscript_policy_dot_rejects_empty_input ... ok
[INFO] [stdout] test parse_wallet_export_missing_file_is_e_fs_001 ... ok
[INFO] [stdout] test render_miniscript_policy_dot_returns_redacted_dot_for_multisig_and_liana ... ok
[INFO] [stdout] test render_liana_recovery_tree_screens_secrets_before_rendering ... ok
[INFO] [stdout] test save_export_unwritable_destination_is_e_fs_002 ... ok
[INFO] [stdout] test save_export_writes_the_content_to_the_chosen_path ... ok
[INFO] [stdout] test settings_default_is_safe ... ok
[INFO] [stdout] test save_then_load_round_trips_public_prefs ... ok
[INFO] [stdout] test settings_file_uses_snake_case_public_keys_only ... ok
[INFO] [stdout] test validate_checksum_rejects_empty_input ... ok
[INFO] [stdout] test render_miniscript_policy_dot_screens_secrets_before_rendering ... ok
[INFO] [stdout] test render_liana_recovery_tree_at_block_returns_countdown ... ok
[INFO] [stdout] test render_liana_recovery_tree_returns_public_safe_paths_and_dot ... ok
[INFO] [stdout] test derive_addresses_honors_the_chain_filter ... ok
[INFO] [stdout] test validate_checksum_reports_present_missing_and_invalid ... ok
[INFO] [stdout] test generate_runbook_renders_a_pdf ... ok
[INFO] [stdout] test audit_descriptor_builds_a_serializable_report ... ok
[INFO] [stdout] test audit_descriptor_is_deterministic_for_fixed_inputs ... ok
[INFO] [stdout] test generate_report_applies_redaction ... ok
[INFO] [stdout] test generate_report_is_deterministic_for_fixed_inputs ... ok
[INFO] [stdout] test audit_descriptor_blocks_a_pasted_mnemonic ... ok
[INFO] [stdout] test detect_sensitive_input_blocks_a_mnemonic_without_leaking_it ... ok
[INFO] [stdout] test parse_wallet_export_reads_and_normalizes_a_file ... ok
[INFO] [stdout] test generate_report_renders_each_format ... ok
[INFO] [stdout] test compare_address_reports_a_miss_as_a_successful_result ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.77s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/error_taxonomy-1d1a897a5432a689)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test tests::lifeboat_error_chains_an_underlying_source ... ok
[INFO] [stdout] test tests::every_code_maps_to_the_severity_from_appendix_c ... ok
[INFO] [stdout] test tests::en_json_catalog_mirrors_every_code ... ok
[INFO] [stdout] test tests::all_codes_are_present_and_unique ... ok
[INFO] [stdout] test tests::lifeboat_error_exposes_code_severity_and_message ... ok
[INFO] [stdout] test tests::severity_serializes_to_snake_case ... ok
[INFO] [stdout] test tests::lifeboat_error_serializes_leak_free ... ok
[INFO] [stdout] test tests::unsupported_fluent_locale_falls_back_to_english ... ok
[INFO] [stdout] test tests::error_code_serializes_to_its_stable_string ... ok
[INFO] [stdout] test tests::metadata_is_well_formed_for_every_code ... ok
[INFO] [stdout] test tests::english_fluent_catalog_matches_error_meta ... ok
[INFO] [stdout] test tests::fluent_catalogs_cover_every_error_code_without_dead_keys ... ok
[INFO] [stdout] test tests::fluent_catalogs_localize_every_error_code ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/docs.rs (/opt/rustwide/target/debug/deps/docs-5cf33fe3adb8b015)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test error_code_docs_cover_every_shipping_code ... ok
[INFO] [stdout] test required_docs_exist ... ok
[INFO] [stdout] test relative_markdown_doc_links_point_to_existing_files ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/governance.rs (/opt/rustwide/target/debug/deps/governance-8831e938cb47adb9)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test security_policy_reflects_project_config ... ok
[INFO] [stdout] test codeowners_requests_two_maintainer_groups_for_sensitive_paths ... ok
[INFO] [stdout] test readme_contains_public_promises_and_configured_links ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hwi_bridge-bee99b1600b060d5)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test tests::missing_sidecar_is_e_dep_002 ... ok
[INFO] [stdout] test tests::parses_hwi_version_from_cli_output ... ok
[INFO] [stdout] test tests::unsupported_firmware_is_a_warning_not_a_crash ... ok
[INFO] [stdout] test tests::hwi_emulator_smoke_trezor ... ok
[INFO] [stdout] test tests::enumerates_supported_hwi_device_families ... ok
[INFO] [stdout] test tests::invokes_sidecar_as_subprocess ... ok
[INFO] [stdout] test tests::sign_psbt_uses_hwi_signtx_selector_arguments ... ok
[INFO] [stdout] test tests::get_xpub_uses_hwi_selector_arguments ... ok
[INFO] [stdout] test tests::sidecar_nonzero_exit_is_isolated ... ok
[INFO] [stdout] test tests::supported_version_check_requires_hwi_3_2_plus ... ok
[INFO] [stdout] test tests::getxpub_unsupported_firmware_is_a_verification_warning ... ok
[INFO] [stdout] test tests::verifies_fingerprint_and_xpub_match_mismatch_cases ... ok
[INFO] [stdout] test tests::hwi_emulator_smoke_bitbox02 ... ok
[INFO] [stdout] test tests::hwi_emulator_smoke_coldcard ... ok
[INFO] [stdout] test tests::sidecar_timeout_is_bounded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lifeboat-f04309c68a5167cb)
[INFO] [stdout] 
[INFO] [stdout] running 119 tests
[INFO] [stdout] test cli::tests::color_policy_honors_flag_env_and_tty ... ok
[INFO] [stdout] test cli::tests::audit_parses_all_shared_flags ... ok
[INFO] [stdout] test cli::tests::derive_addresses_defaults_count_to_10_and_chain_to_both ... ok
[INFO] [stdout] test cli::tests::compare_address_parses_all_flags ... ok
[INFO] [stdout] test cli::tests::derive_count_rejects_zero_and_overflow ... ok
[INFO] [stdout] test cli::tests::derive_addresses_requires_a_descriptor ... ok
[INFO] [stdout] test cli::tests::compare_address_requires_descriptor_and_address ... ok
[INFO] [stdout] test cli::tests::clap_command_definition_is_valid ... ok
[INFO] [stdout] test cli::tests::checksum_requires_exactly_one_operation ... ok
[INFO] [stdout] test cli::tests::audit_requires_exactly_one_descriptor_source ... ok
[INFO] [stdout] test cli::tests::derive_addresses_parses_all_flags ... ok
[INFO] [stdout] test cli::tests::completions_parses_every_named_shell ... ok
[INFO] [stdout] test cli::tests::generate_runbook_requires_a_template ... ok
[INFO] [stdout] test cli::tests::detect_secrets_parses_bare_and_with_a_source ... ok
[INFO] [stdout] test cli::tests::parse_export_requires_a_file_and_defaults_format_to_auto ... ok
[INFO] [stdout] test cli::tests::long_help_contains_the_verbatim_not_a_wallet_banner ... ok
[INFO] [stdout] test cli::tests::generate_runbook_rejects_an_unknown_format ... ok
[INFO] [stdout] test cli::tests::man_parses_as_a_bare_subcommand ... ok
[INFO] [stdout] test cli::tests::parse_export_parses_format_and_repeated_decryption_inputs ... ok
[INFO] [stdout] test cli::tests::global_flags_work_before_and_after_a_subcommand ... ok
[INFO] [stdout] test cli::tests::help_and_version_requests_map_to_success ... ok
[INFO] [stdout] test cli::tests::version_string_is_the_package_version ... ok
[INFO] [stdout] test cli::tests::generate_runbook_parses_flags_and_defaults ... ok
[INFO] [stdout] test cli::tests::short_flags_and_combinations_parse ... ok
[INFO] [stdout] test cli::tests::verify_build_parses_version_and_optional_sources ... ok
[INFO] [stdout] test cli::tests::parses_each_global_flag ... ok
[INFO] [stdout] test commands::runbook_tests::every_template_id_renders_markdown ... ok
[INFO] [stdout] test commands::runbook_tests::a_secret_descriptor_is_blocked_and_never_echoed ... ok
[INFO] [stdout] test cli::tests::unknown_flag_and_unknown_subcommand_are_distinct_errors ... ok
[INFO] [stdout] test cli::tests::psbt_subcommands_parse ... ok
[INFO] [stdout] test commands::runbook_tests::pdf_without_output_is_invalid_args ... ok
[INFO] [stdout] test commands::tests::checksum_compute_reproduces_the_fixture_checksum ... ok
[INFO] [stdout] test commands::runbook_tests::produces_a_runbook_for_a_template ... ok
[INFO] [stdout] test commands::runbook_tests::unknown_template_is_invalid_args ... ok
[INFO] [stdout] test commands::runbook_tests::txt_and_html_formats_render ... ok
[INFO] [stdout] test commands::tests::checksum_validate_invalid_is_nonzero ... ok
[INFO] [stdout] test commands::tests::checksum_validate_missing_exits_1 ... ok
[INFO] [stdout] test commands::tests::checksum_validate_present_exits_0 ... ok
[INFO] [stdout] test commands::runbook_tests::a_descriptor_pre_fills_the_runbook ... ok
[INFO] [stdout] test commands::runbook_tests::completion_scripts_track_the_live_command_tree ... ok
[INFO] [stdout] test commands::runbook_tests::man_page_builds ... ok
[INFO] [stdout] test commands::tests::compare_address_blocks_a_secret_descriptor ... ok
[INFO] [stdout] test commands::runbook_tests::rendered_runbook_passes_the_anti_overclaim_lint ... ok
[INFO] [stdout] test commands::tests::derive_addresses_blocks_a_descriptor_with_a_private_key ... ok
[INFO] [stdout] test cli::tests::every_export_format_value_parses_and_unknown_is_rejected ... ok
[INFO] [stdout] test commands::runbook_tests::generate_runbook_is_deterministic ... ok
[INFO] [stdout] test commands::tests::derive_addresses_unparseable_descriptor_is_invalid_args ... ok
[INFO] [stdout] test commands::tests::derive_addresses_requires_a_network_for_an_ambiguous_tpub ... ok
[INFO] [stdout] test commands::tests::descriptor_with_private_key_is_blocked_with_exit_5 ... ok
[INFO] [stdout] test commands::tests::detect_secrets_allows_a_watch_only_descriptor ... ok
[INFO] [stdout] test commands::tests::detect_secrets_blocks_a_real_secret_and_exits_5 ... ok
[INFO] [stdout] test commands::tests::checksum_blocks_a_secret_descriptor_before_echoing_it ... ok
[INFO] [stdout] test commands::tests::detect_secrets_human_output_never_echoes_the_secret ... ok
[INFO] [stdout] test cli::tests::derive_count_rejects_out_of_range ... ok
[INFO] [stdout] test commands::tests::compare_address_invalid_for_network_exits_2 ... ok
[INFO] [stdout] test commands::tests::detect_secrets_missing_file_is_file_io_exit_6 ... ok
[INFO] [stdout] test commands::tests::detect_secrets_is_deterministic ... ok
[INFO] [stdout] test commands::tests::detect_secrets_warns_on_a_bare_64_hex_run_and_exits_1 ... ok
[INFO] [stdout] test commands::tests::detect_secrets_reads_from_a_file ... ok
[INFO] [stdout] test cli::tests::every_mvp_subcommand_parses_to_its_variant ... ok
[INFO] [stdout] test commands::tests::missing_descriptor_file_is_file_io_exit_6 ... ok
[INFO] [stdout] test commands::tests::parse_export_blocks_a_secret_bearing_file ... ok
[INFO] [stdout] test commands::tests::derive_count_flag_controls_the_address_sample ... ok
[INFO] [stdout] test commands::tests::derive_addresses_receive_only_omits_change ... ok
[INFO] [stdout] test commands::runbook_tests::completions_generate_for_all_five_shells ... ok
[INFO] [stdout] test commands::runbook_tests::pdf_format_writes_a_valid_pdf_file ... ok
[INFO] [stdout] test commands::tests::parse_export_liana_requires_and_accepts_a_decryption_input ... ok
[INFO] [stdout] test commands::tests::parse_export_missing_file_is_file_io_exit_6 ... ok
[INFO] [stdout] test commands::tests::parse_export_human_passes_anti_overclaim_lint ... ok
[INFO] [stdout] test commands::tests::parse_export_stamps_imported_at_and_source_filename ... ok
[INFO] [stdout] test commands::tests::compare_address_match_exits_0 ... ok
[INFO] [stdout] test commands::tests::psbt_extract_tx_rejects_unfinalized_fixture ... ok
[INFO] [stdout] test commands::tests::psbt_inspect_json_works_on_bip174_fixture ... ok
[INFO] [stdout] test commands::tests::psbt_inspect_json_works_on_bip370_fixture ... ok
[INFO] [stdout] test commands::tests::psbt_validate_human_works_on_fixture ... ok
[INFO] [stdout] test commands::tests::parse_export_is_deterministic ... ok
[INFO] [stdout] test commands::tests::detect_secrets_json_allow_snapshot ... ok
[INFO] [stdout] test commands::tests::human_audit_singlesig_snapshot ... ok
[INFO] [stdout] test commands::tests::compare_address_human_snapshot ... ok
[INFO] [stdout] test commands::tests::derive_addresses_human_snapshot ... ok
[INFO] [stdout] test commands::tests::parse_export_json_snapshot ... ok
[INFO] [stdout] test commands::tests::parse_export_human_snapshot ... ok
[INFO] [stdout] test commands::tests::derive_addresses_json_snapshot ... ok
[INFO] [stdout] test commands::tests::unix_to_iso8601_matches_known_vectors ... ok
[INFO] [stdout] test commands::tests::unparseable_descriptor_is_not_ready_with_exit_2 ... ok
[INFO] [stdout] test commands::tests::unparseable_descriptor_json_emits_a_not_ready_object ... ok
[INFO] [stdout] test commands::tests::verify_build_accepts_matching_local_checksums ... ok
[INFO] [stdout] test commands::tests::verify_build_reports_a_hash_mismatch ... ok
[INFO] [stdout] test exit::tests::converts_into_std_process_exit_code ... ok
[INFO] [stdout] test commands::tests::compare_address_json_snapshot ... ok
[INFO] [stdout] test exit::tests::error_codes_map_by_family ... ok
[INFO] [stdout] test commands::tests::unknown_scoring_engine_is_invalid_args_exit_4 ... ok
[INFO] [stdout] test exit::tests::from_error_delegates_to_the_code ... ok
[INFO] [stdout] test exit::tests::every_error_code_has_a_defined_exit_code ... ok
[INFO] [stdout] test exit::tests::status_maps_to_codes_zero_through_three ... ok
[INFO] [stdout] test exit::tests::strict_promotes_warnings_to_critical_only ... ok
[INFO] [stdout] test exit::tests::discriminants_match_the_normative_table ... ok
[INFO] [stdout] Bitcoin Lifeboat is not a wallet, not a custody service, not a
[INFO] [stdout] seed phrase manager, not an inheritance legal service, and not a
[INFO] [stdout] recovery company. It is a free, open-source diagnostic tool that
[INFO] [stdout] helps you test whether your recovery plan works.
[INFO] [stdout] 
[INFO] [stdout] Test whether your Bitcoin self-custody recovery plan actually works (offline).
[INFO] [stdout] 
[INFO] [stdout] Usage: lifeboat [OPTIONS] [COMMAND]
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   audit-descriptor  Audit a wallet output descriptor for recovery readiness (US-036)
[INFO] [stdout]   report-json       Emit the full machine-readable readiness report as JSON (US-036)
[INFO] [stdout]   derive-addresses  Derive receive/change addresses from a descriptor (US-037)
[INFO] [stdout]   compare-address   Check whether an address belongs to a descriptor (US-037)
[INFO] [stdout]   checksum          Validate or compute a descriptor checksum (US-037)
[INFO] [stdout]   detect-secrets    Scan input for sensitive material without echoing it (US-038)
[INFO] [stdout]   parse-export      Parse and normalize a wallet export file (US-038)
[INFO] [stdout]   generate-runbook  Generate a recovery / inheritance runbook (US-039)
[INFO] [stdout]   psbt              Inspect and validate PSBT files for recovery drills (US-077)
[INFO] [stdout]   verify-build      Compare local build artifacts to the release SHA256SUMS (US-098)
[INFO] [stdout]   completions       Print a shell-completion script for the CLI (US-039)
[INFO] [stdout]   man               Print the manual page (roff) for the CLI (US-039)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --json
[INFO] [stdout]           Emit machine-readable JSON instead of human-readable text
[INFO] [stdout] 
[INFO] [stdout]       --no-color
[INFO] [stdout]           Disable ANSI colors (also honored via the `NO_COLOR` environment variable)
[INFO] [stdout] 
[INFO] [stdout]   -q, --quiet
[INFO] [stdout]           Suppress non-essential output
[INFO] [stdout] 
[INFO] [stdout]   -v, --verbose
[INFO] [stdout]           Enable verbose (INFO-level) logging to stderr
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (see a summary with '-h')
[INFO] [stdout] 
[INFO] [stdout]   -V, --version
[INFO] [stdout]           Print version
[INFO] [stdout] Bitcoin Lifeboat is not a wallet, not a custody service, not a
[INFO] [stdout] seed phrase manager, not an inheritance legal service, and not a
[INFO] [stdout] recovery company. It is a free, open-source diagnostic tool that
[INFO] [stdout] helps you test whether your recovery plan works.
[INFO] [stdout] 
[INFO] [stdout] Test whether your Bitcoin self-custody recovery plan actually works (offline).
[INFO] [stdout] 
[INFO] [stdout] Usage: lifeboat [OPTIONS] [COMMAND]
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   audit-descriptor  Audit a wallet output descriptor for recovery readiness (US-036)
[INFO] [stdout]   report-json       Emit the full machine-readable readiness report as JSON (US-036)
[INFO] [stdout]   derive-addresses  Derive receive/change addresses from a descriptor (US-037)
[INFO] [stdout]   compare-address   Check whether an address belongs to a descriptor (US-037)
[INFO] [stdout]   checksum          Validate or compute a descriptor checksum (US-037)
[INFO] [stdout]   detect-secrets    Scan input for sensitive material without echoing it (US-038)
[INFO] [stdout]   parse-export      Parse and normalize a wallet export file (US-038)
[INFO] [stdout]   generate-runbook  Generate a recovery / inheritance runbook (US-039)
[INFO] [stdout]   psbt              Inspect and validate PSBT files for recovery drills (US-077)
[INFO] [stdout]   verify-build      Compare local build artifacts to the release SHA256SUMS (US-098)
[INFO] [stdout]   completions       Print a shell-completion script for the CLI (US-039)
[INFO] [stdout]   man               Print the manual page (roff) for the CLI (US-039)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --json
[INFO] [stdout]           Emit machine-readable JSON instead of human-readable text
[INFO] [stdout] 
[INFO] [stdout]       --no-color
[INFO] [stdout]           Disable ANSI colors (also honored via the `NO_COLOR` environment variable)
[INFO] [stdout] 
[INFO] [stdout]   -q, --quiet
[INFO] [stdout]           Suppress non-essential output
[INFO] [stdout] 
[INFO] [stdout]   -v, --verbose
[INFO] [stdout]           Enable verbose (INFO-level) logging to stderr
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (see a summary with '-h')
[INFO] [stdout] 
[INFO] [stdout]   -V, --version
[INFO] [stdout]           Print version
[INFO] [stdout] test tests::help_request_exits_success ... ok
[INFO] [stdout] test tests::bare_invocation_prints_help_and_exits_success ... ok
[INFO] [stdout] test tests::issues_url_is_built_from_the_package_repository ... ok
[INFO] [stdout] test tests::parse_export_with_a_missing_file_is_a_file_error_not_a_stub ... ok
[INFO] [stderr] error: unexpected argument '--nope' found
[INFO] [stderr] 
[INFO] [stderr] Usage: lifeboat [OPTIONS] [COMMAND]
[INFO] [stderr] 
[INFO] [stderr] For more information, try '--help'.
[INFO] [stderr] error: unexpected argument '--nope' found
[INFO] [stderr] 
[INFO] [stderr] Usage: lifeboat [OPTIONS] [COMMAND]
[INFO] [stderr] 
[INFO] [stderr] For more information, try '--help'.
[INFO] [stdout] test tests::unknown_flag_exits_4 ... ok
[INFO] [stderr] error: unrecognized subcommand 'frobnicate'
[INFO] [stderr] 
[INFO] [stderr] Usage: lifeboat [OPTIONS] [COMMAND]
[INFO] [stderr] 
[INFO] [stderr] For more information, try '--help'.
[INFO] [stderr] error: unrecognized subcommand 'frobnicate'
[INFO] [stderr] 
[INFO] [stderr] Usage: lifeboat [OPTIONS] [COMMAND]
[INFO] [stderr] 
[INFO] [stderr] For more information, try '--help'.
[INFO] [stdout] test tests::unknown_subcommand_exits_10 ... ok
[INFO] [stdout] lifeboat 0.1.0
[INFO] [stdout] test tests::version_request_exits_success ... ok
[INFO] [stdout] test commands::tests::pinned_scoring_engine_is_accepted ... ok
[INFO] [stdout] test commands::tests::derive_addresses_is_deterministic ... ok
[INFO] [stdout] test commands::tests::report_json_singlesig_snapshot ... ok
[INFO] [stdout] test tests::implemented_command_audits_an_inline_descriptor ... ok
[INFO] [stdout] test commands::tests::report_json_equals_the_engine_output ... ok
[INFO] [stdout] test commands::tests::parse_export_parses_each_format_fixture ... ok
[INFO] [stdout] test commands::tests::reads_descriptor_from_stdin ... ok
[INFO] [stdout] test commands::tests::utility_human_output_passes_the_anti_overclaim_lint ... ok
[INFO] [stdout] test commands::tests::strict_promotes_a_warnings_verdict_to_critical ... ok
[INFO] [stdout] test commands::tests::report_json_multisig_snapshot ... ok
[INFO] [stdout] test commands::tests::human_audit_multisig_snapshot ... ok
[INFO] [stdout] test commands::tests::human_audit_output_passes_the_anti_overclaim_lint ... ok
[INFO] [stdout] test commands::tests::report_json_is_byte_identical_across_two_runs ... ok
[INFO] [stdout] test tests::a_panic_during_the_run_becomes_exit_20 ... ok
[INFO] [stdout] test commands::tests::compare_address_no_match_exits_1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 119 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 13.06s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lifeboat_core-9faaf3e4141bdeae)
[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] [stderr]      Running tests/facade.rs (/opt/rustwide/target/debug/deps/facade-3161360adfe0c689)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test every_core_crate_is_reachable_through_the_facade ... ok
[INFO] [stdout] test descriptor_to_report_pipeline_runs_through_the_facade ... ok
[INFO] [stdout] test multisig_report_has_survivability_through_the_facade ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/no_tauri.rs (/opt/rustwide/target/debug/deps/no_tauri-4f298007f1edcdd3)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test guard_detects_a_tauri_dependency ... ok
[INFO] [stdout] test no_core_crate_depends_on_tauri ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/miniscript_viz-06afe531d46c5866)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test tests::dot_label_escaping_handles_graphviz_special_characters ... ok
[INFO] [stdout] test tests::liana_path_number_formatting_uses_commas ... ok
[INFO] [stdout] test tests::singlesig_descriptor_renders_key_policy_dot ... ok
[INFO] [stdout] test tests::liana_recovery_tree_extracts_primary_and_timelocked_paths ... ok
[INFO] [stdout] test tests::liana_timelock_descriptor_renders_recovery_policy_dot ... ok
[INFO] [stdout] test tests::liana_recovery_tree_computes_absolute_height_delta_from_current_block ... ok
[INFO] [stdout] test tests::liana_recovery_tree_adds_relative_countdown_from_current_block ... ok
[INFO] [stdout] test tests::liana_recovery_tree_marks_elapsed_absolute_height_active_now ... ok
[INFO] [stdout] test tests::multisig_descriptor_renders_threshold_policy_dot ... ok
[INFO] [stdout] test tests::liana_recovery_tree_requires_a_timelocked_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/psbt_tools-f6bb9ac52a09bf2a)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::malformed_base64_is_typed_input_error ... ok
[INFO] [stdout] test tests::v2_round_trip_stays_bip370 ... ok
[INFO] [stdout] test tests::imports_and_inspects_bip174_v0 ... ok
[INFO] [stdout] test tests::imports_and_inspects_bip370_v2 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/qr_psbt-72bfbb42b4498f93)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test tests::rejects_non_psbt_payloads ... ok
[INFO] [stdout] test tests::cbor_byte_string_is_deterministic ... ok
[INFO] [stdout] test tests::decoder_accepts_uppercase_frames_from_qr_readers ... ok
[INFO] [stdout] test tests::rejects_incomplete_multiframe_sequence ... ok
[INFO] [stdout] test tests::decoder_accepts_legacy_crypto_psbt_type_for_import_only ... ok
[INFO] [stdout] test tests::renders_payload_as_svg_qr_code ... ok
[INFO] [stdout] test tests::rejects_non_psbt_ur_type ... ok
[INFO] [stdout] test tests::psbt_round_trips_through_multiframe_ur ... ok
[INFO] [stdout] test tests::psbt_round_trips_through_bbqr ... ok
[INFO] [stdout] test tests::incremental_bbqr_decoder_reports_progress ... ok
[INFO] [stdout] test tests::fountain_frames_recover_after_missed_scans ... ok
[INFO] [stdout] test tests::rqrr_decodes_generated_qr_from_rgb ... ok
[INFO] [stdout] test tests::rqrr_decodes_generated_qr_from_luminance ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/readiness_score-e92b0592a560934a)
[INFO] [stdout] 
[INFO] [stdout] running 61 tests
[INFO] [stdout] test tests::active_warning_weights_match_the_section_16_4_table ... ok
[INFO] [stdout] test tests::a_fully_prepared_wallet_scores_100_with_an_empty_audit ... ok
[INFO] [stdout] test tests::cannot_determine_when_wizard_aborted_before_address_comparison ... ok
[INFO] [stdout] test tests::cannot_determine_for_an_unrecognized_export ... ok
[INFO] [stdout] test tests::any_critical_forces_not_ready_regardless_of_score ... ok
[INFO] [stdout] test tests::check_result_serializes_snake_case ... ok
[INFO] [stdout] test tests::audit_trail_matches_the_section_19_1_example ... ok
[INFO] [stdout] test tests::c4_warns_when_scheme_does_not_match_script_type ... ok
[INFO] [stdout] test tests::all_twelve_critical_codes_are_defined ... ok
[INFO] [stdout] test tests::all_warnings_fire_in_table_order_and_reconstruct_the_score ... ok
[INFO] [stdout] test tests::critical_code_serializes_to_its_stable_string ... ok
[INFO] [stdout] test tests::check_serializes_to_the_section_19_1_shape ... ok
[INFO] [stdout] test tests::criticals_take_precedence_over_cannot_determine ... ok
[INFO] [stdout] test tests::critical_issue_serializes_to_the_section_19_1_shape ... ok
[INFO] [stdout] test tests::descriptor_with_xprv_forces_not_ready ... ok
[INFO] [stdout] test tests::each_warning_applies_its_exact_impact_in_isolation ... ok
[INFO] [stdout] test tests::detected_secret_forces_not_ready ... ok
[INFO] [stdout] test tests::g_checks_are_unknown_without_a_resolvable_network ... ok
[INFO] [stdout] test tests::catalog_is_24_checks_in_a1_to_g3_order ... ok
[INFO] [stdout] test tests::generic_parse_failure_forces_not_ready ... ok
[INFO] [stdout] test tests::headline_strings_match_the_section_16_2_wording ... ok
[INFO] [stdout] test tests::invalid_checksum_forces_not_ready ... ok
[INFO] [stdout] test tests::cannot_determine_when_network_is_undeterminable_and_undeclared ... ok
[INFO] [stdout] test tests::integrates_with_run_checks_on_a_singlesig_fixture ... ok
[INFO] [stdout] test tests::a_clean_wallet_has_no_criticals_and_forces_no_status ... ok
[INFO] [stdout] test tests::f2_passes_when_the_user_confirms_an_ambiguous_network ... ok
[INFO] [stdout] test tests::f1_passes_for_a_determinable_mainnet_descriptor ... ok
[INFO] [stdout] test tests::missing_checksum_warns_a2_and_na_a3 ... ok
[INFO] [stdout] test tests::multisig_with_no_descriptor_forces_not_ready ... ok
[INFO] [stdout] test tests::only_yes_suppresses_a_checklist_warning ... ok
[INFO] [stdout] test tests::parse_failure_fails_a1_and_marks_the_rest_na ... ok
[INFO] [stdout] test tests::cannot_determine_when_key_origin_is_entirely_absent ... ok
[INFO] [stdout] test tests::declared_wallet_type_mismatch_fails_b2 ... ok
[INFO] [stdout] test tests::declared_multisig_without_quorum_forces_not_ready ... ok
[INFO] [stdout] test tests::numeric_bands_map_to_the_section_16_2_statuses ... ok
[INFO] [stdout] test tests::readiness_status_serializes_snake_case ... ok
[INFO] [stdout] test tests::scoring_engine_version_is_pinned ... ok
[INFO] [stdout] test tests::recovery_checklist_round_trips_h_answers ... ok
[INFO] [stdout] test tests::scoring_audit_entry_serializes_to_the_section_19_1_shape ... ok
[INFO] [stdout] test tests::survivability_2of3_matches_the_section_19_1_example ... ok
[INFO] [stdout] test tests::ready_requires_the_d8_known_address_match ... ok
[INFO] [stdout] test tests::taproot_keypath_has_no_survivability ... ok
[INFO] [stdout] test tests::singlesig_has_no_survivability ... ok
[INFO] [stdout] test tests::threshold_exceeds_keys_forces_not_ready ... ok
[INFO] [stdout] test tests::taproot_no_longer_fires_a_preview_warning ... ok
[INFO] [stdout] test tests::survivability_3of5_survives_both_signer_losses ... ok
[INFO] [stdout] test tests::warning_code_serializes_to_its_stable_string ... ok
[INFO] [stdout] test tests::undocumented_passphrase_forces_not_ready ... ok
[INFO] [stdout] test tests::required_but_missing_change_descriptor_forces_not_ready ... ok
[INFO] [stdout] test tests::liana_miniscript_no_longer_fires_a_preview_warning ... ok
[INFO] [stdout] test tests::c4_taproot_multi_a_uses_bip86_not_legacy_multisig_bip48 ... ok
[INFO] [stdout] test tests::singlesig_fixtures_share_the_expected_results ... ok
[INFO] [stdout] test tests::duplicate_xpub_forces_not_ready ... ok
[INFO] [stdout] test tests::duplicate_xpub_fails_d4 ... ok
[INFO] [stdout] test tests::wallet_type_mismatch_forces_not_ready ... ok
[INFO] [stdout] test tests::multiple_criticals_accumulate_in_table_order ... ok
[INFO] [stdout] test tests::multipath_descriptor_has_a_change_branch ... ok
[INFO] [stdout] test tests::a_complete_wallet_with_a_matched_address_is_ready ... ok
[INFO] [stdout] test tests::multisig_fixtures_pass_the_quorum_checks ... ok
[INFO] [stdout] test tests::address_mismatch_forces_not_ready ... ok
[INFO] [stdout] test tests::g3_matches_a_known_address_and_flags_a_mismatch ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/report_engine-a7454748ece83727)
[INFO] [stdout] test result: ok. 61 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.50s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test tests::anti_overclaim_lint_rejects_banned_and_accepts_approved ... ok
[INFO] [stdout] test tests::every_warning_code_has_complete_text ... ok
[INFO] [stdout] test tests::every_critical_code_has_a_next_step ... ok
[INFO] [stdout] test tests::every_warning_code_is_partitioned_and_buckets_are_stable ... ok
[INFO] [stdout] test tests::count_phrase_pluralizes ... ok
[INFO] [stdout] test tests::descriptor_entry_redacts_xpubs_in_raw ... ok
[INFO] [stdout] test tests::disclaimers_are_the_verbatim_section_15_6_text ... ok
[INFO] [stdout] test tests::next_drill_adds_twelve_or_six_months ... ok
[INFO] [stdout] test tests::derive_count_controls_the_address_sample_without_changing_wallet_identity ... ok
[INFO] [stdout] test tests::markdown_never_overclaims ... ok
[INFO] [stdout] test tests::liana_timelock_report_is_first_class_not_preview ... ok
[INFO] [stdout] test tests::markdown_singlesig_ready_snapshot ... ok
[INFO] [stdout] test tests::public_safe_mode_trims_change_addresses_too ... ok
[INFO] [stdout] test tests::private_mode_returns_the_full_report_unchanged ... ok
[INFO] [stdout] test tests::redact_xpub_keeps_first_six_and_last_four ... ok
[INFO] [stdout] test tests::multisig_2of3_reports_survivability_and_quorum ... ok
[INFO] [stdout] test tests::markdown_multisig_warn_snapshot ... ok
[INFO] [stdout] test tests::markdown_answers_the_ten_section_15_10_items_in_order ... ok
[INFO] [stdout] test tests::duplicate_xpub_forces_not_ready_and_drives_a_next_step ... ok
[INFO] [stdout] test tests::ready_markdown_shows_status_and_passes_no_failures ... ok
[INFO] [stdout] test tests::markdown_is_deterministic_and_under_64kb ... ok
[INFO] [stdout] test tests::markdown_reproduces_the_verbatim_15_8_and_15_6_blocks ... ok
[INFO] [stdout] test tests::modes_share_input_hash_but_differ_in_report_hash ... ok
[INFO] [stdout] test tests::xpub_privacy_warning_is_the_verbatim_section_14_3_text ... ok
[INFO] [stdout] test tests::private_markdown_prepends_the_section_14_3_xpub_warning ... ok
[INFO] [stdout] test tests::generated_text_avoids_overclaim_phrases ... ok
[INFO] [stdout] test tests::public_safe_json_round_trips_with_xpub_field_omitted ... ok
[INFO] [stdout] test tests::public_safe_mode_redacts_xpubs_descriptor_and_addresses ... ok
[INFO] [stdout] test tests::singlesig_with_matched_address_is_ready ... ok
[INFO] [stdout] test tests::authored_copy_and_both_render_modes_pass_the_lint ... ok
[INFO] [stdout] test tests::public_safe_report_hash_self_verifies ... ok
[INFO] [stdout] test tests::input_hash_is_stable_and_input_sensitive ... ok
[INFO] [stdout] test tests::report_has_every_section_19_1_top_level_key ... ok
[INFO] [stdout] test tests::warn_markdown_partitions_warnings_between_attention_and_missing ... ok
[INFO] [stdout] test tests::report_round_trips_through_serde ... ok
[INFO] [stdout] test tests::report_hash_is_verifiable_by_blanking_the_field ... ok
[INFO] [stdout] test tests::warn_markdown_reports_multisig_survivability_in_status ... ok
[INFO] [stdout] test tests::report_is_byte_identical_across_two_runs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.53s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/golden_corpus.rs (/opt/rustwide/target/debug/deps/golden_corpus-58fcffe704758e44)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test golden_reports_match_committed_fixtures ... ok
[INFO] [stdout] test corpus_manifest_snapshot ... ok
[INFO] [stdout] test corpus_is_anonymized_never_mainnet ... ok
[INFO] [stdout] test corpus_covers_the_required_categories ... ok
[INFO] [stdout] test corpus_has_unique_names_and_enough_fixtures ... ok
[INFO] [stdout] test report_json_is_byte_identical_across_runs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 50.94s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/runbook_engine-59db29ee6e2bb90e)
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stdout] test heir::tests::every_template_has_the_sixteen_required_sections ... ok
[INFO] [stdout] test heir::tests::liana_template_covers_timelock_paths_and_blank_fields ... ok
[INFO] [stdout] test heir::tests::heir_templates_carry_an_inline_glossary ... ok
[INFO] [stdout] test heir::tests::stop_and_call_a_trusted_helper_section_is_present ... ok
[INFO] [stdout] test heir::tests::heir_facing_copy_avoids_bare_jargon ... ok
[INFO] [stdout] test owner::tests::every_template_has_the_sixteen_required_sections ... ok
[INFO] [stdout] test heir::tests::public_safe_hides_the_descriptor_private_shows_it ... ok
[INFO] [stdout] test heir::tests::sections_json_shape_is_stable ... ok
[INFO] [stdout] test owner::tests::hardware_model_shown_only_in_private_mode ... ok
[INFO] [stdout] test owner::tests::public_safe_hides_the_descriptor_private_shows_it ... ok
[INFO] [stdout] test owner::tests::passphrase_section_notes_existence_but_carries_no_value ... ok
[INFO] [stdout] test heir::tests::heir_disclaimer_is_present_verbatim_in_heir_templates ... ok
[INFO] [stdout] test tests::app_version_const_is_usable_as_footer_version ... ok
[INFO] [stdout] test heir::tests::every_template_renders_markdown_in_both_modes ... ok
[INFO] [stdout] test tests::footer_disclaimer_passes_anti_overclaim_lint ... ok
[INFO] [stdout] test owner::tests::multisig_summary_reflects_the_quorum ... ok
[INFO] [stdout] test owner::tests::privacy_banner_appears_only_in_private_mode_with_an_xpub ... ok
[INFO] [stdout] test owner::tests::markdown_is_deterministic ... ok
[INFO] [stdout] test owner::tests::forbidden_content_is_never_emitted ... ok
[INFO] [stdout] test tests::heir_typ_source_selects_distinct_templates ... ok
[INFO] [stdout] test heir::tests::forbidden_content_is_never_emitted ... ok
[INFO] [stdout] test heir::tests::markdown_is_deterministic ... ok
[INFO] [stdout] test tests::liana_timelock_typst_template_is_complete ... ok
[INFO] [stdout] test tests::owner_typ_source_selects_distinct_templates ... ok
[INFO] [stdout] test owner::tests::no_rendered_form_overclaims ... ok
[INFO] [stdout] test tests::missing_typst_binary_is_e_dep_001 ... ok
[INFO] [stdout] test heir::tests::no_rendered_form_overclaims ... ok
[INFO] [stdout] test tests::owner_typst_data_json_carries_sections_and_banner ... ok
[INFO] [stdout] test tests::template_data_json_carries_footer_and_paper ... ok
[INFO] [stdout] test tests::heir_template_data_json_carries_disclaimer_and_sections ... ok
[INFO] [stdout] test tests::auto_backend_falls_back_to_printpdf_when_typst_missing ... ok
[INFO] [stdout] test tests::pinned_pdf_sha256_is_stable ... ok
[INFO] [stdout] test tests::typst_subprocess_success_path_captures_output ... ok
[INFO] [stdout] test tests::printpdf_fallback_produces_valid_pdf ... ok
[INFO] [stdout] test tests::private_and_public_modes_both_render ... ok
[INFO] [stdout] test tests::a4_and_us_letter_both_render_and_differ ... ok
[INFO] [stdout] test tests::printpdf_output_is_byte_deterministic ... ok
[INFO] [stdout] test tests::owner_auto_backend_falls_back_to_printpdf_when_typst_missing ... ok
[INFO] [stdout] test owner::tests::owner_markdown_snapshots ... ok
[INFO] [stdout] test heir::tests::heir_markdown_snapshots ... ok
[INFO] [stdout] test tests::largest_owner_template_renders_under_3s ... ok
[INFO] [stdout] test tests::largest_template_renders_under_3s ... ok
[INFO] [stdout] test tests::owner_pdf_modes_and_page_sizes_differ ... ok
[INFO] [stdout] test tests::typst_timeout_is_bounded_and_does_not_hang ... ok
[INFO] [stdout] test tests::owner_pdf_sha256_table_is_stable ... ok
[INFO] [stdout] test tests::heir_pdf_sha256_table_is_stable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.66s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sensitive_input_detector-53bea8b0c76adbca)
[INFO] [stdout] 
[INFO] [stdout] running 64 tests
[INFO] [stdout] test mnemonic::tests::prefix_helper_respects_char_boundaries ... ok
[INFO] [stdout] test codex::tests::pattern_compiles ... ok
[INFO] [stdout] test codex::tests::no_action_on_bad_checksum ... ok
[INFO] [stdout] test codex::tests::no_action_on_mixed_case ... ok
[INFO] [stdout] test mnemonic::tests::fewer_than_twelve_words_is_allowed ... ok
[INFO] [stdout] test codex::tests::report_omits_codex32_json_and_debug ... ok
[INFO] [stdout] test raw_hex::tests::keyword_outside_window_does_not_block ... ok
[INFO] [stdout] test codex::tests::blocks_official_vectors_with_correct_threshold ... ok
[INFO] [stdout] test codex::tests::detects_codex32_embedded_in_text ... ok
[INFO] [stdout] test codex::tests::no_action_on_too_short ... ok
[INFO] [stdout] test codex::tests::detects_committed_codex32_fixture ... ok
[INFO] [stdout] test codex::tests::no_action_on_non_codex32_bech32 ... ok
[INFO] [stdout] test raw_hex::tests::long_hex_run_does_not_match_a_64_window ... ok
[INFO] [stdout] test raw_hex::tests::pattern_compiles ... ok
[INFO] [stdout] test raw_hex::tests::no_action_for_hash_embedded_in_text ... ok
[INFO] [stdout] test raw_hex::tests::block_beats_warn_for_labelled_own_line ... ok
[INFO] [stdout] test raw_hex::tests::report_omits_hex_json_and_debug ... ok
[INFO] [stdout] test raw_hex::tests::not_sixty_four_hex_is_ignored ... ok
[INFO] [stdout] test raw_hex::tests::warns_when_alone_on_short_line ... ok
[INFO] [stdout] test raw_hex::tests::blocks_when_preceded_by_context_keyword ... ok
[INFO] [stdout] test mnemonic::tests::warn_reports_correct_language_for_distinct_word_phrase ... ok
[INFO] [stdout] test slip39::tests::blocks_official_20_word_vector ... ok
[INFO] [stdout] test slip39::tests::detects_committed_slip39_fixture ... ok
[INFO] [stdout] test slip39::tests::no_finding_when_a_word_is_not_in_wordlist ... ok
[INFO] [stdout] test slip39::tests::fewer_than_twenty_words_is_allowed ... ok
[INFO] [stdout] test tests::block_headline_is_verbatim_and_warn_allow_have_none ... ok
[INFO] [stdout] test tests::action_severity_orders_allow_warn_block ... ok
[INFO] [stdout] test slip39::tests::no_finding_on_invalid_checksum ... ok
[INFO] [stdout] test tests::byte_range_geometry ... ok
[INFO] [stdout] test tests::cli_exit_codes_match_prd_17_10_6 ... ok
[INFO] [stdout] test mnemonic::tests::detects_seed_embedded_in_surrounding_text ... ok
[INFO] [stdout] test tests::detect_never_echoes_input ... ok
[INFO] [stdout] test tests::clean_input_is_allowed ... ok
[INFO] [stdout] test slip39::tests::report_omits_share_words_json_and_debug ... ok
[INFO] [stdout] test tests::detect_secret_screens_then_zeroizes ... ok
[INFO] [stdout] test slip39::tests::blocks_official_33_word_vector ... ok
[INFO] [stdout] test tests::error_code_maps_every_secret_kind ... ok
[INFO] [stdout] test tests::json_shape_is_stable_snake_case ... ok
[INFO] [stdout] test tests::reason_codes_dedup_in_first_seen_order ... ok
[INFO] [stdout] test tests::report_contains_no_secret_substring ... ok
[INFO] [stdout] test mnemonic::tests::detects_committed_bip39_fixtures ... ok
[INFO] [stdout] test mnemonic::tests::clean_prose_does_not_block ... ok
[INFO] [stdout] test tests::report_json_round_trips ... ok
[INFO] [stdout] test wif::tests::pattern_compiles ... ok
[INFO] [stdout] test mnemonic::tests::detects_comma_and_ideographic_space_separators ... ok
[INFO] [stdout] test mnemonic::tests::report_omits_seed_words_json_and_debug ... ok
[INFO] [stdout] test slip39::tests::detects_share_embedded_in_text ... ok
[INFO] [stdout] test wif::tests::report_omits_wif_json_and_debug ... ok
[INFO] [stdout] test tests::warn_override_phrase_is_canonical ... ok
[INFO] [stdout] test wif::tests::no_action_on_invalid_lookalikes ... ok
[INFO] [stdout] test wif::tests::detects_wif_embedded_in_text ... ok
[INFO] [stdout] test slip39::tests::counts_two_shares_in_one_input ... ok
[INFO] [stdout] test wif::tests::detects_committed_wif_mainnet_fixture ... ok
[INFO] [stdout] test xprv::tests::detects_committed_xprv_mainnet_fixture ... ok
[INFO] [stdout] test xprv::tests::pattern_compiles ... ok
[INFO] [stdout] test wif::tests::blocks_valid_wif_all_four_variants ... ok
[INFO] [stdout] test xprv::tests::detects_xprv_embedded_in_descriptor ... ok
[INFO] [stdout] test xprv::tests::report_omits_xprv_json_and_debug ... ok
[INFO] [stdout] test xprv::tests::blocks_standard_xprv_and_tprv ... ok
[INFO] [stdout] test xprv::tests::no_action_on_invalid_lookalikes ... ok
[INFO] [stdout] test tests::messages_never_contain_detected_content ... ok
[INFO] [stdout] test mnemonic::tests::blocks_valid_vectors_all_languages_12_and_24 ... ok
[INFO] [stdout] test xprv::tests::blocks_slip132_variants_xpriv_from_str_would_reject ... ok
[INFO] [stdout] test mnemonic::tests::warns_on_invalid_checksum_all_languages_12_and_24 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fuzz_properties.rs (/opt/rustwide/target/debug/deps/fuzz_properties-eef7226e42d08b51)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test valid_secrets_always_block ... ok
[INFO] [stdout] test descriptors_with_xprv_always_block ... ok
[INFO] [stdout] test clean_corpus_never_blocks ... ok
[INFO] [stdout] test arbitrary_input_never_panics ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.82s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wallet_imports-a468b021c0b43a82)
[INFO] [stdout] 
[INFO] [stdout] running 58 tests
[INFO] [stdout] test tests::bluewallet_rejects_empty_malformed_and_refuses_private_key ... ok
[INFO] [stdout] test tests::coldcard_descriptor_rejects_empty_no_descriptor_and_too_many ... ok
[INFO] [stdout] test tests::bitcoin_core_good_import ... ok
[INFO] [stdout] test tests::coldcard_json_rejects_empty_malformed_and_no_branch ... ok
[INFO] [stdout] test tests::coldcard_json_accepts_full_real_export_fields ... ok
[INFO] [stdout] test tests::core_major_version_parsing ... ok
[INFO] [stdout] test tests::coldcard_descriptor_singlesig_single_line ... ok
[INFO] [stdout] test tests::detect_format_routes_every_existing_fixture ... ok
[INFO] [stdout] test tests::coldcard_descriptor_two_line_receive_change ... ok
[INFO] [stdout] test tests::detect_format_routes_new_fixtures_and_rejects_unknown ... ok
[INFO] [stdout] test tests::epoch_value_to_iso8601_forms ... ok
[INFO] [stdout] test tests::bluewallet_vault_import_assembles_known_descriptor ... ok
[INFO] [stdout] test tests::electrum_rejects_empty_malformed_and_refuses_private_key ... ok
[INFO] [stdout] test tests::coldcard_descriptor_handles_starstar_shorthand_and_comments ... ok
[INFO] [stdout] test tests::coldcard_json_singlesig_import ... ok
[INFO] [stdout] test tests::coldcard_json_branch_priority_and_assembly ... ok
[INFO] [stdout] test tests::coldcard_and_nunchuk_json_shape_is_snake_case ... ok
[INFO] [stdout] test tests::inactive_descriptors_are_ignored ... ok
[INFO] [stdout] test tests::jade_rejects_empty_malformed_and_invalid ... ok
[INFO] [stdout] test tests::bluewallet_p2sh_p2wsh_format_selects_nested_segwit_wrapper ... ok
[INFO] [stdout] test tests::liana_bed_refuses_descriptor_with_private_key ... ok
[INFO] [stdout] test tests::liana_bed_rejects_empty_and_malformed ... ok
[INFO] [stdout] test tests::liana_bed_requires_a_matching_decryption_input ... ok
[INFO] [stdout] test tests::accepts_29x_and_unknown_version ... ok
[INFO] [stdout] test tests::coldcard_descriptor_multisig_import ... ok
[INFO] [stdout] test tests::jade_unsorted_uses_multi_not_sortedmulti ... ok
[INFO] [stdout] test tests::jade_sh_wsh_variant ... ok
[INFO] [stdout] test tests::jade_accepts_byte_array_fingerprint_and_string_derivation ... ok
[INFO] [stdout] test tests::jade_multisig_import ... ok
[INFO] [stdout] test tests::coldcard_descriptor_refuses_private_key_and_accepts_sig ... ok
[INFO] [stdout] test tests::jade_json_shape_is_snake_case ... ok
[INFO] [stdout] test tests::json_shape_is_snake_case ... ok
[INFO] [stdout] test tests::nunchuk_bsms_rejects_malformed ... ok
[INFO] [stdout] test tests::rejects_bitcoin_core_30x ... ok
[INFO] [stdout] test tests::nunchuk_bsms_refuses_private_key ... ok
[INFO] [stdout] test tests::nunchuk_bsms_tolerates_unparseable_descriptor ... ok
[INFO] [stdout] test tests::rejects_empty_and_malformed ... ok
[INFO] [stdout] test tests::refuses_descriptor_with_private_key ... ok
[INFO] [stdout] test tests::passport_rejects_empty_and_refuses_private_key ... ok
[INFO] [stdout] test tests::electrum_multisig_import_assembles_known_descriptor ... ok
[INFO] [stdout] test tests::passport_json_shape_is_snake_case ... ok
[INFO] [stdout] test tests::passport_descriptor_import ... ok
[INFO] [stdout] test tests::nunchuk_bsms_import ... ok
[INFO] [stdout] test tests::guard_input_rejects_empty_then_oversize ... ok
[INFO] [stdout] test tests::sparrow_refuses_keystore_with_private_material ... ok
[INFO] [stdout] test tests::sparrow_rejects_empty_malformed_and_unsupported ... ok
[INFO] [stdout] test tests::electrum_and_bluewallet_json_shape_is_snake_case ... ok
[INFO] [stdout] test tests::liana_bed_decryption_input_flow ... ok
[INFO] [stdout] test tests::specter_refuses_descriptor_with_private_key ... ok
[INFO] [stdout] test tests::unix_to_iso8601_known_vectors ... ok
[INFO] [stdout] test tests::specter_rejects_empty_and_malformed ... ok
[INFO] [stdout] test tests::timestamp_now_is_not_a_birth_hint ... ok
[INFO] [stdout] test tests::sparrow_singlesig_import ... ok
[INFO] [stdout] test tests::specter_multisig_import ... ok
[INFO] [stdout] test tests::sparrow_json_shape_is_snake_case ... ok
[INFO] [stdout] test tests::import_auto_dispatches_to_the_detected_importer ... ok
[INFO] [stdout] test tests::sparrow_multisig_import_assembles_known_descriptor ... ok
[INFO] [stdout] test tests::rejects_oversize_before_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests address_derive
[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] [stderr]    Doc-tests descriptor_audit
[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] [stderr]    Doc-tests desktop_commands
[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] [stderr]    Doc-tests error_taxonomy
[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] [stderr]    Doc-tests hwi_bridge
[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] [stderr]    Doc-tests lifeboat_core
[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] [stderr]    Doc-tests miniscript_viz
[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] [stderr]    Doc-tests psbt_tools
[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] [stderr]    Doc-tests qr_psbt
[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] [stderr]    Doc-tests readiness_score
[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] [stderr]    Doc-tests report_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] [stderr]    Doc-tests runbook_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] [stderr]    Doc-tests sensitive_input_detector
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/sensitive-input-detector/src/lib.rs - (line 40) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wallet_imports
[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" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938", kill_on_drop: false }`
[INFO] [stdout] eb383cc42f7307b9cb7ed93129364c713117427cf10ce2b3231bdde0929af938
