[INFO] fetching crate tirith 0.3.0...
[INFO] testing tirith-0.3.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate tirith 0.3.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate tirith 0.3.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tirith 0.3.0
[INFO] tweaked toml for crates.io crate tirith 0.3.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tirith 0.3.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tirith 0.3.0 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d60facb373216fe60a4631ff84dd26064fe74ca7dcde19b2b2cc073101a88f0
[INFO] running `Command { std: "docker" "start" "-a" "9d60facb373216fe60a4631ff84dd26064fe74ca7dcde19b2b2cc073101a88f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d60facb373216fe60a4631ff84dd26064fe74ca7dcde19b2b2cc073101a88f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d60facb373216fe60a4631ff84dd26064fe74ca7dcde19b2b2cc073101a88f0", kill_on_drop: false }`
[INFO] [stdout] 9d60facb373216fe60a4631ff84dd26064fe74ca7dcde19b2b2cc073101a88f0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 008353945bfa6384e60011983c8d1c17d692ff17d2473b2caba596a39910433c
[INFO] running `Command { std: "docker" "start" "-a" "008353945bfa6384e60011983c8d1c17d692ff17d2473b2caba596a39910433c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[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 zerofrom v0.1.6
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling time v0.3.37
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling tirith-core v0.3.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling rangemap v1.7.1
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling etcetera v0.8.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling lopdf v0.34.0
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling roff v0.2.2
[INFO] [stderr]    Compiling unicode-script v0.5.8
[INFO] [stderr]    Compiling clap_mangen v0.2.31
[INFO] [stderr]    Compiling clap_complete v4.5.65
[INFO] [stderr]    Compiling tirith v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 07s
[INFO] running `Command { std: "docker" "inspect" "008353945bfa6384e60011983c8d1c17d692ff17d2473b2caba596a39910433c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "008353945bfa6384e60011983c8d1c17d692ff17d2473b2caba596a39910433c", kill_on_drop: false }`
[INFO] [stdout] 008353945bfa6384e60011983c8d1c17d692ff17d2473b2caba596a39910433c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb844ee6eb6b8da32d11ad72f6d255fa8c258916c63d0139a88a28835e64b664
[INFO] running `Command { std: "docker" "start" "-a" "cb844ee6eb6b8da32d11ad72f6d255fa8c258916c63d0139a88a28835e64b664", kill_on_drop: false }`
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling mockito v1.7.2
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tirith-core v0.3.0
[INFO] [stderr]    Compiling tirith v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "cb844ee6eb6b8da32d11ad72f6d255fa8c258916c63d0139a88a28835e64b664", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb844ee6eb6b8da32d11ad72f6d255fa8c258916c63d0139a88a28835e64b664", kill_on_drop: false }`
[INFO] [stdout] cb844ee6eb6b8da32d11ad72f6d255fa8c258916c63d0139a88a28835e64b664
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d202317a14a1b1952dbbb05a0d308f950e6c2933e9af1a936e3bfb3463929a4c
[INFO] running `Command { std: "docker" "start" "-a" "d202317a14a1b1952dbbb05a0d308f950e6c2933e9af1a936e3bfb3463929a4c", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tirith-4bb56fd325db8609)
[INFO] [stdout] 
[INFO] [stdout] running 259 tests
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_does_not_classify_home_kiro_as_project ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_passes_kiro_project_scope_from_subdir ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_passes_kiro_user_scope ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_kiro_prefers_project_over_user ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_kiro_user_bootstrap_only ... ok
[INFO] [stdout] test cli::gateway::tests::test_audit_entry_escapes_special_chars ... ok
[INFO] [stdout] test cli::gateway::tests::test_audit_entry_serializes_valid_json ... ok
[INFO] [stdout] test cli::gateway::tests::test_augment_if_pending_matches_and_removes ... ok
[INFO] [stdout] test cli::explain::tests::test_suggest_close_typo ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_kiro_project_bootstrap_beats_user_bootstrap ... ok
[INFO] [stdout] test cli::gateway::tests::test_batch_empty ... ok
[INFO] [stdout] test cli::gateway::tests::test_augment_if_pending_string_id ... ok
[INFO] [stdout] test cli::gateway::tests::test_batch_invalid_id_types ... ok
[INFO] [stdout] test cli::gateway::tests::test_batch_notifications_only ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_kiro_project_bootstrap_from_subdir ... ok
[INFO] [stdout] test cli::gateway::tests::test_batch_with_ids ... ok
[INFO] [stdout] test cli::gateway::tests::test_bounded_read_exact_limit ... ok
[INFO] [stdout] test cli::gateway::tests::test_bounded_read_no_trailing_newline ... ok
[INFO] [stdout] test cli::gateway::tests::test_bounded_read_normal ... ok
[INFO] [stdout] test cli::gateway::tests::test_bounded_read_oversize ... ok
[INFO] [stdout] test cli::gateway::tests::test_bounded_read_preserves_invalid_utf8 ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_kiro_prefers_user_over_bootstrap ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_passes_kiro_project_scope ... ok
[INFO] [stdout] test cli::doctor::tests::detect_ai_tools_home_kiro_only_is_user_bootstrap_not_project ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_allow_synonym_normalized_to_forward ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_bad_fail_mode ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_bad_json_pointer ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_bad_json_pointer_invalid_escape ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_bad_regex ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_bad_json_pointer_trailing_tilde ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_defaults ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_valid_forward_closed ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_bad_warn_action ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_rejects_zero_max_message_bytes ... ok
[INFO] [stdout] test cli::gateway::tests::test_deny_response_uses_wire_format_enums ... ok
[INFO] [stdout] test cli::gateway::tests::test_extraction_failed ... ok
[INFO] [stdout] test cli::gateway::tests::test_fail_mode_deny_extraction_failed_no_double_prefix ... ok
[INFO] [stdout] test cli::gateway::tests::test_fail_mode_deny_no_double_prefix ... ok
[INFO] [stdout] test cli::gateway::tests::test_fail_mode_deny_reports_elapsed_ms ... ok
[INFO] [stdout] test cli::gateway::tests::test_forward_to_broken_writer_returns_error ... ok
[INFO] [stdout] test cli::gateway::tests::test_config_parse_valid ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_boolean_id_rejected ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_array_id_rejected ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_notification_extraction_failed ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_notification ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_object_id_rejected ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_null_id_preserved ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_with_id ... ok
[INFO] [stdout] test cli::gateway::tests::test_json_pointer_against_params ... ok
[INFO] [stdout] test cli::gateway::tests::test_invalid_guarded_id_returns_local_error ... ok
[INFO] [stdout] test cli::gateway::tests::test_guarded_string_id_preserved ... ok
[INFO] [stdout] test cli::gateway::tests::test_invalid_id_request_response_wire_format ... ok
[INFO] [stdout] test cli::gateway::tests::test_json_pointer_escape ... ok
[INFO] [stdout] test cli::gateway::tests::test_json_pointer_missing ... ok
[INFO] [stdout] test cli::gateway::tests::test_json_pointer_root ... ok
[INFO] [stdout] test cli::gateway::tests::test_not_guarded_different_method ... ok
[INFO] [stdout] test cli::gateway::tests::test_warn_augmented_response_returns_none_for_empty_findings ... ok
[INFO] [stdout] test cli::gateway::tests::test_no_id_notification_not_guarded ... ok
[INFO] [stdout] test cli::gateway::tests::test_not_guarded_different_tool ... ok
[INFO] [stdout] test cli::gateway::tests::test_warn_augmented_response_returns_none_for_no_content ... ok
[INFO] [stdout] test cli::init::tests::normalize_shell_name_from_paths_and_login_shells ... ok
[INFO] [stdout] test cli::init::tests::normalize_shell_name_no_false_positive_on_gnu ... ok
[INFO] [stdout] test cli::init::tests::normalize_shell_name_rejects_unknown_values ... ok
[INFO] [stdout] test cli::init::tests::normalize_shell_name_supports_case_insensitive_names ... ok
[INFO] [stdout] test cli::init::tests::normalize_shell_name_supports_nushell ... ok
[INFO] [stdout] test cli::gateway::tests::test_augment_if_pending_no_match_passes_through ... ok
[INFO] [stdout] test cli::init::tests::quote_helpers_escape_shell_metacharacters ... ok
[INFO] [stdout] test cli::last_trigger::tests::test_redact_assignment_values_scrubs_exports ... ok
[INFO] [stdout] test cli::last_trigger::tests::test_redact_assignment_values_scrubs_quoted_values ... ok
[INFO] [stdout] test cli::gateway::tests::test_warn_augmented_response_returns_none_for_non_array_content ... ok
[INFO] [stdout] test cli::gateway::tests::test_warn_augmented_response_prepends_findings ... ok
[INFO] [stdout] test cli::gateway::tests::test_warn_augmented_response_returns_none_for_error_response ... ok
[INFO] [stdout] test cli::gateway::tests::test_process_object_to_broken_writer_returns_error ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::atomic_write_refuses_symlink ... ok
[INFO] [stdout] test cli::last_trigger::tests::test_last_trigger_no_predictable_tmp ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::atomic_write_creates_file ... ok
[INFO] [stdout] test cli::gateway::tests::test_recursion_depth ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::backup_creates_and_retains_five ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::validate_target_dir_accepts_normal_path ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::atomic_write_preserves_permissions ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::validate_target_dir_rejects_symlink_escape ... ok
[INFO] [stdout] test cli::explain::tests::test_suggest_no_match ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::write_hook_script_errors_on_different_content_without_force ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::write_hook_script_overwrites_with_force ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::write_hook_script_refuses_symlink ... ok
[INFO] [stdout] test cli::setup::fs_helpers::tests::write_hook_script_skip_on_same_content ... ok
[INFO] [stdout] test cli::setup::merge::tests::claude_inner_idempotent ... ok
[INFO] [stdout] test cli::setup::merge::tests::claude_settings_creates_new ... ok
[INFO] [stdout] test cli::setup::merge::tests::claude_inner_preserves_other_hooks_in_bash_matcher ... ok
[INFO] [stdout] test cli::setup::merge::tests::claude_settings_preserves_other_matchers ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_dry_run_no_write ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_creates_new ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_drift_error_without_force ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_preserves_other_hooks_in_same_matcher ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_preserves_other_matchers ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_force_consolidates_mixed_hooks_from_duplicates ... ok
[INFO] [stdout] test cli::setup::merge::tests::hooks_json_drift_error_without_force ... ok
[INFO] [stdout] test cli::setup::merge::tests::hooks_json_creates_new_file_with_version ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_multiple_matchers_force_deduplicates ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_skip_if_identical ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_multiple_matchers_error_without_force ... ok
[INFO] [stdout] test cli::setup::merge::tests::hooks_json_skip_if_identical ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_creates_new_file ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_drift_error_without_force ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_force_handles_malformed_matcher_hooks ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_dry_run_force_no_backup ... ok
[INFO] [stdout] test cli::setup::merge::tests::gemini_settings_force_replaces_only_tirith_hook ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_preserves_existing_servers ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_vscode_preserves_existing_servers ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_skip_if_identical ... ok
[INFO] [stdout] test cli::setup::merge::tests::remove_managed_block_errors_on_missing_end ... ok
[INFO] [stdout] test cli::setup::merge::tests::remove_managed_block_errors_on_orphan_end ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_vscode_servers_key ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_dry_run_no_write ... ok
[INFO] [stdout] test cli::setup::merge::tests::hooks_json_preserves_other_hooks ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_drift_warning_in_dry_run ... ok
[INFO] [stdout] test cli::setup::merge::tests::remove_managed_block_removes_block ... ok
[INFO] [stdout] test cli::setup::merge::tests::mcp_json_force_replaces_entry ... ok
[INFO] [stdout] test cli::setup::merge::tests::vscode_settings_creates_managed_block ... ok
[INFO] [stdout] test cli::setup::merge::tests::vscode_settings_force_preserves_jsonc_outside_block ... ok
[INFO] [stdout] test cli::setup::run_impl::tests::resolve_scope_accepts_project_for_copilot_cli ... ok
[INFO] [stdout] test cli::setup::run_impl::tests::resolve_scope_rejects_user_for_copilot_cli ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::detects_eval_form ... ok
[INFO] [stdout] test cli::setup::merge::tests::vscode_settings_hard_error_on_existing_hooks_key ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::end_marker_exact_match_only ... ok
[INFO] [stdout] test cli::setup::merge::tests::vscode_settings_preserves_content_outside_block ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::drift_detected_when_content_differs ... ok
[INFO] [stdout] test cli::setup::run_impl::tests::resolve_scope_accepts_both_for_kiro ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::detects_fish_form ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::extract_no_block ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::nested_begin_markers ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::missing_end_marker ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::extract_existing_block ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::orphan_end_marker ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_path_with_redirection_and_glob_chars ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_path_with_dollar_sign ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_path_with_spaces_powershell ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_path_with_spaces_posix ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_simple_name_unchanged ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_path_with_single_quote_posix ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_path_with_single_quote_powershell ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::quote_path_with_spaces_fish ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::remove_multiple_blocks ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::remove_no_blocks ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::remove_preserves_surrounding_content ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::skips_commented_line ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::remove_single_block ... ok
[INFO] [stdout] test cli::setup::tools::tests::env_override_skips_containment_check ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::valid_no_blocks ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::valid_single_block ... ok
[INFO] [stdout] test cli::setup::tools::tests::gemini_cli_home_env_override_writes_correct_path ... ok
[INFO] [stdout] test cli::setup::tools::tests::pi_coding_agent_dir_env_override_writes_correct_path ... ok
[INFO] [stdout] test cli::setup::tools::tests::setup_copilot_cli_writes_both_files_in_project ... ok
[INFO] [stdout] test cli::setup::shell_profile::tests::skips_empty_file ... ok
[INFO] [stdout] test cli::setup::tools::tests::setup_kiro_project_creates_new_kiro_dir_when_none_upward ... ok
[INFO] [stdout] test cli::setup::merge::tests::vscode_settings_preserves_jsonc_features ... ok
[INFO] [stdout] test cli::setup::merge::tests::vscode_settings_skip_if_block_exists ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::dry_run_no_write ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::install_creates_zshenv_with_guard ... ok
[INFO] [stdout] test cli::setup::tools::tests::setup_kiro_user_scope_writes_hook_and_agent ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::guard_blocks_without_bypass_env ... ok
[INFO] [stdout] test cli::setup::tools::tests::setup_kiro_project_honors_ancestor_kiro_dir ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::install_preserves_existing_content ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::install_force_replaces_block ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::tirith_skip_bypass_skips_guard_and_continues_zshenv ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::vscode_bypass_skips_guard_and_continues_zshenv ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::invalid_zsh_syntax ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::pairing_missing_end_marker ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::pairing_nested_begin_markers ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::multiple_blocks_error_without_force ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::multiple_blocks_deduped_with_force ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::install_idempotent_skips_second_run ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::pairing_orphan_end_marker ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::pairing_valid_multiple_blocks ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::remove_multiple_blocks ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::pairing_valid_no_blocks ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::pairing_valid_single_block ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::remove_single_block ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::remove_no_blocks ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::remove_preserves_surrounding_content ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::backoff_differs_from_normal_interval ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::integration::tirith_bin_placeholder_replaced ... ok
[INFO] [stdout] test cli::setup::tools::tests::setup_kiro_project_scope_uses_absolute_command ... ok
[INFO] [stdout] test cli::setup::zshenv::tests::valid_zsh_syntax ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::cache_200_then_304_round_trip ... ok
[INFO] [stdout] test cli::setup::tools::tests::setup_copilot_cli_errors_outside_git_repo ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::cache_304_with_corrupt_body_cleans_etag ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::cache_304_with_missing_body_cleans_etag ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::cached_body_round_trips_through_json ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::canonical_payload_excludes_signature_field ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::canonical_payload_no_whitespace ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::canonical_payload_is_valid_utf8_json ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::canonical_payload_format_sorted_keys_no_whitespace ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::auto_update_hours_zero_disables_background_child ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::canonical_payload_round_trips_through_json_parse ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::etag_and_body_files_are_per_url ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::lock_dedup_second_acquire_fails ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::failure_backoff_sets_one_hour ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::next_check_at_exactly_now_allows ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::manifest_cache_key_is_deterministic ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::lock_file_is_created_in_state_dir ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::next_check_at_future_skips_update ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::manifest_cache_key_is_url_specific ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::next_check_at_missing_allows_update ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::next_check_at_past_allows_update ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::primary_and_fallback_independent_cache_state ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::next_check_at_corrupt_allows_update ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::read_bounded_bytes_rejects_declared_oversize_body ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_200_returns_fresh ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_200_ignores_cached_body ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_201_accepted_as_success ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_304_with_no_cache_returns_retry ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_304_with_valid_cache_returns_cached ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_200_with_no_body_returns_error ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_500_returns_error ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_404_returns_error ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::spawned_at_exactly_at_boundary_allows ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::resolve_cache_304_with_corrupt_cache_returns_retry ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::read_bounded_bytes_rejects_stream_that_exceeds_limit ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::spawned_at_missing_allows_update ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::spawned_at_recent_skips_update ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::spawned_at_exactly_at_boundary_skips ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::spawned_at_old_allows_update ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::success_sets_next_check_at_auto_update_hours ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::update_attempted_guard_fires_once ... ok
[INFO] [stdout] test cli::trust::tests::test_extract_host_full_url ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::transport_invalid_json_not_cached ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::transport_404_returns_error ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::transport_304_with_cached_body_returns_cached_manifest ... ok
[INFO] [stdout] test cli::trust::tests::test_extract_host_schemeless ... ok
[INFO] [stdout] test cli::trust::tests::test_extract_host_no_dot ... ok
[INFO] [stdout] test cli::trust::tests::test_extract_host_with_port ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::transport_sends_user_agent_header ... ok
[INFO] [stdout] test cli::trust::tests::test_gc_removes_expired ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::transport_304_without_cache_retries_and_succeeds ... ok
[INFO] [stdout] test cli::threatdb_cmd::tests::transport_200_returns_manifest_and_caches_body ... ok
[INFO] [stdout] test cli::trust::tests::test_is_expired_future ... ok
[INFO] [stdout] test cli::trust::tests::test_is_expired_past ... ok
[INFO] [stdout] test cli::trust::tests::test_is_expired_no_ttl ... ok
[INFO] [stdout] test cli::trust::tests::test_parse_ttl_days ... ok
[INFO] [stdout] test cli::trust::tests::test_parse_ttl_hours ... ok
[INFO] [stdout] test cli::trust::tests::test_parse_ttl_invalid ... ok
[INFO] [stdout] test cli::trust::tests::test_parse_ttl_minutes ... ok
[INFO] [stdout] test cli::trust::tests::test_validate_pattern_blocklisted ... ok
[INFO] [stdout] test cli::trust::tests::test_store_roundtrip ... ok
[INFO] [stdout] test cli::trust::tests::test_validate_pattern_empty ... ok
[INFO] [stdout] test cli::trust::tests::test_validate_pattern_ok ... ok
[INFO] [stdout] test cli::trust::tests::test_validate_pattern_tab_ok ... ok
[INFO] [stdout] test cli::warnings::tests::test_extract_time_iso8601 ... ok
[INFO] [stdout] test cli::warnings::tests::test_extract_time_no_t_separator ... ok
[INFO] [stdout] test cli::warnings::tests::test_hidden_only_session_at_threshold_shows_output ... ok
[INFO] [stdout] test cli::warnings::tests::test_hidden_only_session_below_threshold_no_output ... ok
[INFO] [stdout] test cli::warnings::tests::test_truncate_session_id_short ... ok
[INFO] [stdout] test cli::warnings::tests::test_truncate_session_id_uuid ... ok
[INFO] [stdout] test cli::warnings::tests::test_truncate_str_exact ... ok
[INFO] [stdout] test cli::warnings::tests::test_truncate_str_long ... ok
[INFO] [stdout] test cli::warnings::tests::test_truncate_str_short ... ok
[INFO] [stdout] test cli::trust::tests::test_validate_pattern_control_chars ... ok
[INFO] [stdout] test cli::last_trigger::tests::test_redact_command_truncates_after_scrubbing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 259 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/tirith_threatdb_compile.rs (/opt/rustwide/target/debug/deps/tirith_threatdb_compile-531b4c9618e52f5a)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::test_deduplication_merges_all_versions_flag ... ok
[INFO] [stdout] test tests::test_cisa_kev_parsing ... ok
[INFO] [stdout] test tests::test_ecosystem_from_str ... ok
[INFO] [stdout] test tests::test_deduplication_keeps_highest_confidence ... ok
[INFO] [stdout] test tests::test_normalize_crates_lowercase ... ok
[INFO] [stdout] test tests::test_normalize_npm_case_sensitive ... ok
[INFO] [stdout] test tests::test_normalize_pypi ... ok
[INFO] [stdout] test tests::test_popular_csv_parsing ... ok
[INFO] [stdout] test tests::test_ossv_confidence_mapping ... ok
[INFO] [stdout] test tests::test_parse_feodo_skips_comments ... ok
[INFO] [stdout] test tests::test_default_popular_csv_loads ... ok
[INFO] [stdout] test tests::test_typosquats_csv_parsing ... ok
[INFO] [stdout] test tests::test_sign_payload_deterministic ... ok
[INFO] [stdout] test tests::test_binary_roundtrip_via_core_writer ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bash_hook_exports.rs (/opt/rustwide/target/debug/deps/bash_hook_exports-121443fa06a75785)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test doctor_distinguishes_requested_from_effective_on_degrade ... ok
[INFO] [stdout] test hook_does_not_export_in_noninteractive_shell ... ok
[INFO] [stdout] test hook_exports_enter_by_default_outside_ssh ... ok
[INFO] [stdout] test doctor_reports_not_loaded_when_exports_absent ... ok
[INFO] [stdout] test doctor_shows_effective_state_when_hook_loaded ... ok
[INFO] [stdout] test hook_exports_preexec_in_ssh_sessions ... ok
[INFO] [stdout] test hook_exports_preexec_warn_only_when_mode_requested ... ok
[INFO] [stderr]      Running tests/bash_preexec_enforce.rs (/opt/rustwide/target/debug/deps/bash_preexec_enforce-59d57bb1f5ebd32d)
[INFO] [stdout] test doctor_default_requested_mode_shown_when_env_unset ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test enforce_off_preserves_warn_only_behavior ... ok
[INFO] [stdout] test enforce_blocks_whole_pipeline ... ok
[INFO] [stdout] test enforce_blocks_whole_sequence ... ok
[INFO] [stdout] test enforce_allows_clean_commands ... ok
[INFO] [stdout] test hostile_config_exports_warn_only ... ok
[INFO] [stdout] test enforce_treats_warn_rc2_as_allow ... ok
[INFO] [stdout] test extdebug_left_alone_when_user_enabled_it_first ... ok
[INFO] [stdout] test enforce_blocks_bare_command_with_rc1 ... ok
[INFO] [stdout] test hostile_histignore_refuses_enforcement ... ok
[INFO] [stdout] test hostile_histcontrol_ignorespace_refuses_enforcement ... ok
[INFO] [stdout] test hostile_ignoredups_refuses_enforcement ... ok
[INFO] [stdout] test install_time_hostile_config_uses_bash_command_for_warn_only ... ok
[INFO] [stdout] test enforcement_exports_blocks_protection ... ok
[INFO] [stdout] test warn_only_does_not_dedupe_identical_commands_across_prompts ... ok
[INFO] [stdout] test mid_session_ignorespace_does_not_bypass_via_stale_cache ... ok
[INFO] [stdout] test install_debug_trap_is_idempotent ... ok
[INFO] [stdout] test post_degrade_warn_only_scans_bash_command_not_history ... ok
[INFO] [stdout] test unexpected_rc_blocks_then_degrades_session ... ok
[INFO] [stdout] test debug_trap_chains_user_trap ... ok
[INFO] [stderr]      Running tests/cli_integration.rs (/opt/rustwide/target/debug/deps/cli_integration-a7d801aa31c56970)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.68s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 67 tests
[INFO] [stdout] test bash_hook_noninteractive_no_safe_mode_flag ... ok
[INFO] [stdout] test bash_hook_noninteractive_no_debug_trap ... ok
[INFO] [stdout] test bash_hook_enter_default_outside_ssh ... ok
[INFO] [stdout] test bash_hook_explicit_override_trumps_safe_mode ... ok
[INFO] [stdout] test bash_hook_runtime_delivery_failure_degrades_in_pty ... ok
[INFO] [stdout] test bash_hook_defaults_to_preexec_in_ssh_sessions ... ok
[INFO] [stdout] test bash_hook_noninteractive_mode_is_enter ... ok
[INFO] [stdout] test bash_hook_unexpected_rc_degrades_in_pty ... ok
[INFO] [stdout] test bash_hook_respects_explicit_mode_override_in_ssh_sessions ... ok
[INFO] [stdout] test bash_hook_unexpected_rc_logic_test ... ok
[INFO] [stdout] test bash_hook_honors_persistent_safe_mode ... ok
[INFO] [stdout] test bash_hook_prompt_hook_reattaches ... ok
[INFO] [stdout] test bash_hook_startup_gate_degrade_persists ... ok
[INFO] [stdout] test auto_checkpoint_cli_wiring_compiles_and_runs ... ok
[INFO] [stdout] test check_clean_command_allows ... ok
[INFO] [stdout] test check_audit_failures_are_silent_by_default ... ok
[INFO] [stdout] test check_audit_failures_are_visible_with_debug_env ... FAILED
[INFO] [stdout] test bypass_in_interactive_mode ... ok
[INFO] [stdout] test check_curl_pipe_bash_blocks ... ok
[INFO] [stdout] test check_curl_pipe_bash_shows_remediation_hint ... ok
[INFO] [stdout] test check_http_to_sink_blocks ... ok
[INFO] [stdout] test check_json_clean_output ... ok
[INFO] [stdout] test check_iwr_pipe_iex_no_tirith_run_hint ... ok
[INFO] [stdout] test check_last_trigger_failures_are_silent_by_default ... ok
[INFO] [stdout] test check_json_output ... ok
[INFO] [stdout] test check_json_output_redacts_assignment_values_in_findings ... ok
[INFO] [stdout] test check_powershell_invoke_expression_blocks ... ok
[INFO] [stdout] test check_last_trigger_failures_are_visible_with_debug_env ... ok
[INFO] [stdout] test embedded_shell_hooks_match_repo_hooks ... ok
[INFO] [stdout] test diff_url ... ok
[INFO] [stdout] test check_last_trigger_redacts_assignment_values_in_findings ... ok
[INFO] [stdout] test fish_unexpected_rc_branch_logic_test ... ok
[INFO] [stdout] test init_bash_output ... ok
[INFO] [stdout] test init_unsupported_shell ... ok
[INFO] [stdout] test init_zsh_output ... ok
[INFO] [stdout] test check_powershell_iwr_iex_blocks ... ok
[INFO] [stdout] test check_shortened_url_warns ... ok
[INFO] [stdout] test check_warn_only_block_renders_as_detected ... ok
[INFO] [stdout] test check_without_warn_only_still_renders_blocked ... ok
[INFO] [stdout] test json_includes_observability ... ok
[INFO] [stdout] test paste_clean_text_allows ... ok
[INFO] [stdout] test paranoia_filters_low_finding_to_allow ... ok
[INFO] [stdout] test paste_ansi_escape_blocks ... ok
[INFO] [stdout] test paste_audit_failures_are_silent_by_default ... ok
[INFO] [stdout] test paste_audit_failures_are_visible_with_debug_env ... FAILED
[INFO] [stdout] test paste_oversized_input_rejected ... ok
[INFO] [stdout] test paste_embedded_cr_blocks ... ok
[INFO] [stderr] tirith: BLOCKED
[INFO] [stderr]   [HIGH] pipe_to_interpreter — Pipe to interpreter: env | sh
[INFO] [stderr]     Command pipes output from 'env' directly to interpreter 'sh'. Downloaded content will be executed without inspection.
[INFO] [stderr]   Bypass: prefix your command with TIRITH=0 (applies to that command only)
[INFO] [stdout] test paste_env_wrapper_bypass_not_honored_with_interactive_flag ... ok
[INFO] [stdout] test check_wrapped_tirith_run_preserves_sink_rules ... ok
[INFO] [stdout] test receipt_list_empty ... ok
[INFO] [stdout] test paste_process_level_bypass_still_honored_with_interactive_flag ... ok
[INFO] [stdout] test receipt_verify_invalid_sha256_rejected ... ok
[INFO] [stdout] test paste_trailing_cr_allows ... ok
[INFO] [stdout] test escalation_blocked_not_recorded_as_warning ... ok
[INFO] [stdout] test escalation_repeat_count_blocks_at_threshold ... ok
[INFO] [stdout] test paste_windows_crlf_allows ... ok
[INFO] [stdout] test score_json_output ... ok
[INFO] [stderr] tirith: BLOCKED
[INFO] [stderr]   [HIGH] curl_pipe_shell — Pipe to interpreter: curl | sh
[INFO] [stderr]     Command pipes output from 'curl' directly to interpreter 'sh'. Downloaded content will be executed without inspection.
[INFO] [stderr]   Safer: tirith run https://example.com/install.sh  — or: vet https://example.com/install.sh  (https://getvet.sh)
[INFO] [stderr]   Bypass: prefix your command with TIRITH=0 (applies to that command only)
[INFO] [stdout] test paste_inline_bypass_not_honored_with_interactive_flag ... ok
[INFO] [stdout] test why_no_trigger ... ok
[INFO] [stdout] test score_suspicious_url ... ok
[INFO] [stdout] test score_clean_url ... ok
[INFO] [stdout] test zsh_unexpected_rc_branch_logic_test ... ok
[INFO] [stderr] tirith: BLOCKED
[INFO] [stderr]   [HIGH] curl_pipe_shell — Pipe to interpreter: curl | sh
[INFO] [stderr]     Command pipes output from 'curl' directly to interpreter 'sh'. Downloaded content will be executed without inspection.
[INFO] [stderr]   Safer: tirith run https://example.com/install.sh  — or: vet https://example.com/install.sh  (https://getvet.sh)
[INFO] [stdout] test paste_inline_bypass_requires_interactive_mode ... ok
[INFO] [stdout] test tier1_exit_fast_for_ls ... ok
[INFO] [stdout] test warnings_clear_resets_session ... ok
[INFO] [stdout] test tier3_reached_for_curl ... ok
[INFO] [stdout] test warn_only_json_output_matches_plain_when_timings_stripped ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- check_audit_failures_are_visible_with_debug_env stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'check_audit_failures_are_visible_with_debug_env' (1334) panicked at tests/cli_integration.rs:1218:5:
[INFO] [stdout] debug env should surface audit diagnostics, got: tirith: BLOCKED
[INFO] [stdout]   [HIGH] curl_pipe_shell — Pipe to interpreter: curl | bash
[INFO] [stdout]     Command pipes output from 'curl' directly to interpreter 'bash'. Downloaded content will be executed without inspection.
[INFO] [stdout]   Safer: tirith run https://example.com/install.sh  — or: vet https://example.com/install.sh  (https://getvet.sh)
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cd2f5dbb33a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cd2f5dbb33a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cd2f5dbb33a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cd2f5dbb33a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cd2f5dcfb6a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cd2f5dcfb6a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x5cd2f5dbfcf2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cd2f5dbfcf2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cd2f5d97d2f - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cd2f5d97d2f - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cd2f5db2b49 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cd2f5d4d49c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x5cd2f5d4d49c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cd2f5db2d02 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x5cd2f5db2d02 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cd2f5d97de8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5cd2f5d8cdc9 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cd2f5d98b8d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cd2f5dd02fc - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cd2f5ce5f19 - cli_integration::check_audit_failures_are_visible_with_debug_env::hec7268c08fbee292
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_integration.rs:1218:5
[INFO] [stdout]   20:     0x5cd2f5ce5f67 - cli_integration::check_audit_failures_are_visible_with_debug_env::{{closure}}::h40f5572337337abd
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_integration.rs:1209:53
[INFO] [stdout]   21:     0x5cd2f5cf7e66 - core::ops::function::FnOnce::call_once::haca0d5ae2938dc1f
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5cd2f5d4159b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cd2f5d4159b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5cd2f5d4df6b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5cd2f5d4df6b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5cd2f5d4df6b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5cd2f5d4df6b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5cd2f5d4df6b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5cd2f5d4df6b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5cd2f5d4df6b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5cd2f5d483c4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5cd2f5d483c4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5cd2f5d50b72 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5cd2f5d50b72 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5cd2f5d50b72 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5cd2f5d50b72 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5cd2f5d50b72 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5cd2f5d50b72 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5cd2f5d50b72 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5cd2f5dba72f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   41:     0x5cd2f5dba72f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7e150e388aa4 - <unknown>
[INFO] [stdout]   43:     0x7e150e415a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- paste_audit_failures_are_visible_with_debug_env stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'paste_audit_failures_are_visible_with_debug_env' (1481) panicked at tests/cli_integration.rs:1294:5:
[INFO] [stdout] debug env should surface audit diagnostics, got: tirith: BLOCKED
[INFO] [stdout]   [HIGH] curl_pipe_shell — Pipe to interpreter: curl | bash
[INFO] [stdout]     Command pipes output from 'curl' directly to interpreter 'bash'. Downloaded content will be executed without inspection.
[INFO] [stdout]   Safer: tirith run https://example.com/install.sh  — or: vet https://example.com/install.sh  (https://getvet.sh)
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cd2f5dbb33a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cd2f5dbb33a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cd2f5dbb33a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cd2f5dbb33a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cd2f5dcfb6a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cd2f5dcfb6a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x5cd2f5dbfcf2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cd2f5dbfcf2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cd2f5d97d2f - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cd2f5d97d2f - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cd2f5db2b49 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cd2f5d4d49c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x5cd2f5d4d49c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cd2f5db2d02 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x5cd2f5db2d02 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cd2f5d97de8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5cd2f5d8cdc9 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cd2f5d98b8d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cd2f5dd02fc - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cd2f5ce6189 - cli_integration::paste_audit_failures_are_visible_with_debug_env::h1ea3e01a622c4143
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_integration.rs:1294:5
[INFO] [stdout]   20:     0x5cd2f5ce61d7 - cli_integration::paste_audit_failures_are_visible_with_debug_env::{{closure}}::he334e7b1f0d7a9e1
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_integration.rs:1285:53
[INFO] [stdout]   21:     0x5cd2f5cf7426 - core::ops::function::FnOnce::call_once::h0a8e80e6b8300406
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5cd2f5d4159b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cd2f5d4159b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5cd2f5d4df6b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5cd2f5d4df6b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5cd2f5d4df6b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5cd2f5d4df6b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5cd2f5d4df6b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5cd2f5d4df6b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5cd2f5d4df6b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5cd2f5d483c4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5cd2f5d483c4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5cd2f5d50b72 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5cd2f5d50b72 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5cd2f5d50b72 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5cd2f5d50b72 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5cd2f5d50b72 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5cd2f5d50b72 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5cd2f5d50b72 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5cd2f5dba72f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   41:     0x5cd2f5dba72f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7e150e388aa4 - <unknown>
[INFO] [stdout]   43:     0x7e150e415a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     check_audit_failures_are_visible_with_debug_env
[INFO] [stdout]     paste_audit_failures_are_visible_with_debug_env
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 65 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 30.83s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test cli_integration`
[INFO] running `Command { std: "docker" "inspect" "d202317a14a1b1952dbbb05a0d308f950e6c2933e9af1a936e3bfb3463929a4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d202317a14a1b1952dbbb05a0d308f950e6c2933e9af1a936e3bfb3463929a4c", kill_on_drop: false }`
[INFO] [stdout] d202317a14a1b1952dbbb05a0d308f950e6c2933e9af1a936e3bfb3463929a4c
