[INFO] cloning repository https://github.com/basidiocarp/stipe [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/basidiocarp/stipe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbasidiocarp%2Fstipe", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbasidiocarp%2Fstipe'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 71e3f669cc671294ad7c45b2db3ab276f47843f5 [INFO] testing basidiocarp/stipe against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbasidiocarp%2Fstipe" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/basidiocarp/stipe [INFO] finished tweaking git repo https://github.com/basidiocarp/stipe [INFO] tweaked toml for git repo https://github.com/basidiocarp/stipe written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/basidiocarp/stipe on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/basidiocarp/stipe 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/basidiocarp/spore` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded which v7.0.3 [INFO] [stderr] Downloaded utf8-zero v0.8.1 [INFO] [stderr] Downloaded toml v1.1.2+spec-1.1.0 [INFO] [stderr] Downloaded serde_spanned v1.1.1 [INFO] [stderr] Downloaded toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded fuzzy-matcher v0.3.7 [INFO] [stderr] Downloaded dialoguer v0.12.0 [INFO] [stderr] Downloaded colored v3.1.1 [INFO] [stderr] Downloaded ureq-proto v0.6.0 [INFO] [stderr] Downloaded tar v0.4.45 [INFO] [stderr] Downloaded cc v1.2.57 [INFO] [stderr] Downloaded rustls-webpki v0.103.10 [INFO] [stderr] Downloaded console v0.16.3 [INFO] [stderr] Downloaded toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Downloaded filetime v0.2.27 [INFO] [stderr] Downloaded ureq v3.3.0 [INFO] [stderr] Downloaded toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded rustls v0.23.37 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 056b0eb17c862adf71db840a09b7e1b216504afb8faad2974e19aa1d8cef96c9 [INFO] running `Command { std: "docker" "start" "-a" "056b0eb17c862adf71db840a09b7e1b216504afb8faad2974e19aa1d8cef96c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "056b0eb17c862adf71db840a09b7e1b216504afb8faad2974e19aa1d8cef96c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "056b0eb17c862adf71db840a09b7e1b216504afb8faad2974e19aa1d8cef96c9", kill_on_drop: false }` [INFO] [stdout] 056b0eb17c862adf71db840a09b7e1b216504afb8faad2974e19aa1d8cef96c9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d6d9c8bed5d61a112be66c29ef05b090c5c86e175f88f6c161ed541cd21f78f3 [INFO] running `Command { std: "docker" "start" "-a" "d6d9c8bed5d61a112be66c29ef05b090c5c86e175f88f6c161ed541cd21f78f3", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling winnow v1.0.1 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling ureq-proto v0.6.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling env_home v0.1.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling spore v0.4.9 (https://github.com/basidiocarp/spore?tag=v0.4.9#a899dbd6) [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling utf8-zero v0.8.1 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling console v0.16.3 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling tar v0.4.45 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling colored v3.1.1 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling ureq v3.3.0 [INFO] [stderr] Compiling stipe v0.5.23 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 31s [INFO] running `Command { std: "docker" "inspect" "d6d9c8bed5d61a112be66c29ef05b090c5c86e175f88f6c161ed541cd21f78f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6d9c8bed5d61a112be66c29ef05b090c5c86e175f88f6c161ed541cd21f78f3", kill_on_drop: false }` [INFO] [stdout] d6d9c8bed5d61a112be66c29ef05b090c5c86e175f88f6c161ed541cd21f78f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fe9437c633025e8bfab03618c68ac5944f595a1f35ed279cb2ce5a75fa1dcf69 [INFO] running `Command { std: "docker" "start" "-a" "fe9437c633025e8bfab03618c68ac5944f595a1f35ed279cb2ce5a75fa1dcf69", kill_on_drop: false }` [INFO] [stderr] Compiling stipe v0.5.23 (/opt/rustwide/workdir) [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/backup.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | / unsafe { [INFO] [stdout] 194 | | std::env::set_var("STIPE_BACKUP_DIR", tmp.path().join("backups").to_str().unwrap()); [INFO] [stdout] 195 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W unsafe-code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/backup.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | / unsafe { [INFO] [stdout] 211 | | std::env::set_var("STIPE_BACKUP_DIR", dir); [INFO] [stdout] 212 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/backup.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | / unsafe { [INFO] [stdout] 215 | | std::env::remove_var("STIPE_BACKUP_DIR"); [INFO] [stdout] 216 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/backup.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | / unsafe { [INFO] [stdout] 223 | | std::env::set_var("STIPE_BACKUP_DIR", "/tmp/stipe-test-nonexistent-backup-dir-xyz"); [INFO] [stdout] 224 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `unsafe` block [INFO] [stdout] --> src/backup.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | / unsafe { [INFO] [stdout] 228 | | std::env::remove_var("STIPE_BACKUP_DIR"); [INFO] [stdout] 229 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.82s [INFO] running `Command { std: "docker" "inspect" "fe9437c633025e8bfab03618c68ac5944f595a1f35ed279cb2ce5a75fa1dcf69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe9437c633025e8bfab03618c68ac5944f595a1f35ed279cb2ce5a75fa1dcf69", kill_on_drop: false }` [INFO] [stdout] fe9437c633025e8bfab03618c68ac5944f595a1f35ed279cb2ce5a75fa1dcf69 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d84881bce365aafa5e69d8242c37eb69dadb4b6215833859b20660c1d66cde6c [INFO] running `Command { std: "docker" "start" "-a" "d84881bce365aafa5e69d8242c37eb69dadb4b6215833859b20660c1d66cde6c", kill_on_drop: false }` [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/backup.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | / unsafe { [INFO] [stderr] 194 | | std::env::set_var("STIPE_BACKUP_DIR", tmp.path().join("backups").to_str().unwrap()); [INFO] [stderr] 195 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: requested on the command line with `-W unsafe-code` [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/backup.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | / unsafe { [INFO] [stderr] 211 | | std::env::set_var("STIPE_BACKUP_DIR", dir); [INFO] [stderr] 212 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/backup.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | / unsafe { [INFO] [stderr] 215 | | std::env::remove_var("STIPE_BACKUP_DIR"); [INFO] [stderr] 216 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/backup.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / unsafe { [INFO] [stderr] 223 | | std::env::set_var("STIPE_BACKUP_DIR", "/tmp/stipe-test-nonexistent-backup-dir-xyz"); [INFO] [stderr] 224 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: usage of an `unsafe` block [INFO] [stderr] --> src/backup.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | / unsafe { [INFO] [stderr] 228 | | std::env::remove_var("STIPE_BACKUP_DIR"); [INFO] [stderr] 229 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] [INFO] [stderr] warning: `stipe` (bin "stipe" test) generated 5 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/stipe-71fe04162032d8d3) [INFO] [stdout] [INFO] [stdout] running 220 tests [INFO] [stdout] test backup::tests::list_backups_empty_when_no_dir ... ok [INFO] [stdout] test banner::tests::test_resolve_banner_color_profile_uses_truecolor_when_available ... ok [INFO] [stdout] test banner::tests::test_render_banner_lines_ansi_fallback_avoids_truecolor_sequences ... ok [INFO] [stdout] test banner::tests::test_resolve_banner_color_profile_falls_back_to_basic_ansi ... ok [INFO] [stdout] test banner::tests::test_render_banner_lines_preserves_shape_and_adds_truecolor ... ok [INFO] [stdout] test backup::tests::create_and_load_manifest ... ok [INFO] [stdout] test commands::bin_paths::tests::test_local_bin_dir_uses_home_on_non_windows ... ok [INFO] [stdout] test commands::claude_hooks::tests::test_claude_hooks_configured_at_path_detects_missing_hook ... ok [INFO] [stdout] test commands::codex_notify::tests::test_codex_notify_configured_at_path_detects_required_entries_with_extras ... ok [INFO] [stdout] test commands::codex_notify::tests::test_codex_notify_repair_action_points_at_host_setup ... ok [INFO] [stdout] test commands::developer_tools::tests::install_advice_mentions_advisory_boundary ... ok [INFO] [stdout] test commands::developer_tools::tests::unknown_requested_tools_are_reported ... ok [INFO] [stdout] test commands::doctor::package_checks::tests::test_lamella_roots_include_workspace_sibling ... ok [INFO] [stdout] test commands::developer_tools::tests::parse_version_handles_plain_and_prefixed_output ... ok [INFO] [stdout] test banner::tests::test_resolve_banner_color_profile_prefers_plain_for_non_interactive_or_no_color ... ok [INFO] [stdout] test commands::codex_notify::tests::test_install_codex_notify_preserves_existing_notify_entries ... ok [INFO] [stdout] test commands::claude_hooks::tests::test_claude_hooks_configured_at_path_detects_missing_statusline ... ok [INFO] [stdout] test commands::doctor::plugin_inventory_checks::tests::collect_plugin_inventory_returns_without_panicking ... ok [INFO] [stdout] test commands::developer_tools::tests::developer_profile_tools_cover_all_tiers ... ok [INFO] [stdout] test commands::bin_paths::tests::test_local_bin_dir_prefers_override ... ok [INFO] [stdout] test commands::doctor::plugin_inventory_checks::tests::discover_lamella_skills_deduplicates_by_name ... ok [INFO] [stdout] test commands::doctor::plugin_inventory_checks::tests::pinned_tool_versions_table_is_non_empty ... ok [INFO] [stdout] test commands::doctor::plugin_inventory_checks::tests::version_drift_behind_when_versions_differ ... ok [INFO] [stdout] test commands::doctor::plugin_inventory_checks::tests::version_drift_unknown_when_tool_not_in_pins ... ok [INFO] [stdout] test commands::doctor::plugin_inventory_checks::tests::version_drift_up_to_date_when_versions_match ... ok [INFO] [stdout] test commands::doctor::provider_checks::tests::anthropic_key_missing_when_value_is_empty ... ok [INFO] [stdout] test commands::doctor::provider_checks::tests::anthropic_key_unexpected_format_when_prefix_wrong ... ok [INFO] [stdout] test commands::doctor::provider_checks::tests::anthropic_key_output_never_contains_key_value ... ok [INFO] [stdout] test commands::doctor::provider_checks::tests::collect_api_key_health_returns_two_entries ... ok [INFO] [stdout] test commands::doctor::server_checks::tests::collect_mcp_server_health_returns_one_entry_per_server ... ok [INFO] [stdout] test commands::doctor::server_checks::tests::mcp_server_health_check_completes_without_hanging ... ok [INFO] [stdout] test commands::doctor::server_checks::tests::mcp_server_health_status_is_one_of_three_categories ... ok [INFO] [stdout] test commands::doctor::provider_checks::tests::volva_backend_config_check_does_not_panic ... ok [INFO] [stdout] test commands::doctor::plugin_inventory_checks::tests::discover_lamella_skills_finds_skill_md_recursively ... ok [INFO] [stdout] test commands::claude_hooks::tests::test_install_claude_hooks_at_path_is_idempotent ... ok [INFO] [stdout] test commands::doctor::tests::test_build_report_includes_repair_actions_for_failures ... ok [INFO] [stdout] test commands::doctor::tests::test_check_hyphae_db_exists ... ok [INFO] [stdout] test commands::doctor::tests::test_codex_notify_adapter_configured_at_path_detects_notify_entry ... ok [INFO] [stdout] test commands::doctor::tests::test_health_check_struct ... ok [INFO] [stdout] test commands::doctor::tests::test_optional_canopy_missing_is_not_a_failure ... ok [INFO] [stdout] test commands::doctor::tests::test_config_mentions_servers_detects_codex_toml ... ok [INFO] [stdout] test commands::doctor::tests::test_render_mcp_health_keeps_detail_for_unhealthy_entries_only ... ok [INFO] [stdout] test commands::doctor::tests::test_render_package_drift_skips_cleanly_without_saved_profile ... ok [INFO] [stdout] test commands::doctor::tests::test_codex_notify_helpers_are_shared ... ok [INFO] [stdout] test commands::doctor::tests::test_render_provider_health_compacts_healthy_entries ... ok [INFO] [stdout] test commands::doctor::tests::test_render_report_includes_drift_section ... ok [INFO] [stdout] test commands::doctor::tests::test_render_report_deep_widens_human_sections ... ok [INFO] [stdout] test commands::doctor::tests::test_render_report_includes_hook_paths_section ... ok [INFO] [stdout] test commands::doctor::tests::test_render_report_includes_runtime_policy_section ... ok [INFO] [stdout] test commands::doctor::tests::test_render_package_inventory_prefers_counts_and_families ... ok [INFO] [stdout] test commands::doctor::tests::test_render_report_snapshot_for_failure ... ok [INFO] [stdout] test commands::doctor::tests::test_render_report_summarizes_host_checks_before_detail ... ok [INFO] [stdout] test commands::doctor::tests::test_check_hyphae_db_missing ... ok [INFO] [stdout] test commands::doctor::tests::test_task_linked_council_check_passes_when_all_prereqs_exist ... ok [INFO] [stdout] test commands::doctor::tests::test_task_linked_council_check_reports_missing_prereqs ... ok [INFO] [stdout] test commands::doctor::provider_checks::tests::anthropic_key_configured_when_prefix_correct ... ok [INFO] [stdout] test commands::doctor::tests::test_config_mentions_servers_detects_required_names ... ok [INFO] [stdout] test commands::doctor::tool_checks::tests::manual_tools_detect_standalone_repo_roots ... ok [INFO] [stdout] test commands::doctor::tool_checks::tests::parse_initialize_response_accepts_expected_server ... ok [INFO] [stdout] test commands::doctor::tool_checks::tests::manual_tools_detect_workspace_sibling_repos ... ok [INFO] [stdout] test commands::doctor::tool_checks::tests::parse_initialize_response_rejects_wrong_server ... ok [INFO] [stdout] test commands::host::tests::test_host_mode_mappings_are_explicit ... ok [INFO] [stdout] test commands::host::tests::test_doctor_checks_reflect_inventory_entry ... ok [INFO] [stdout] test commands::host::tests::test_codex_doctor_report_includes_notify_repair ... ok [INFO] [stdout] test commands::doctor::tests::test_build_report_can_include_developer_tools ... ok [INFO] [stdout] test commands::doctor::tests::test_build_report_includes_host_inventory_checks ... ok [INFO] [stdout] test commands::host::tests::test_inventory_entry_uses_shared_host_descriptor_metadata ... ok [INFO] [stdout] test commands::host::tests::test_render_doctor_skips_duplicate_optional_follow_up_in_additional_actions ... ok [INFO] [stdout] test commands::host::tests::test_render_setup_preview_keeps_host_level_next_step ... ok [INFO] [stdout] test commands::host_policy::tests::test_claude_hook_settings_paths_follow_scope ... ok [INFO] [stdout] test commands::host::tests::test_render_doctor_snapshot_for_failure ... ok [INFO] [stdout] test commands::host_policy::tests::test_codex_notify_paths_follow_scope ... ok [INFO] [stdout] test commands::host::tests::test_render_list_snapshot_includes_known_sections ... ok [INFO] [stdout] test commands::host_policy::tests::test_host_modes_resolve_config_paths_via_clients ... ok [INFO] [stdout] test commands::host_policy::tests::test_local_scope_is_not_supported_for_codex_notify ... ok [INFO] [stdout] test commands::host_policy::tests::test_supported_host_modes_have_explicit_descriptors ... ok [INFO] [stdout] test commands::host_policy::tests::test_host_setup_repair_action_points_at_new_host_surface ... ok [INFO] [stdout] test commands::init::baseline::tests::checksum_bytes_changes_with_content ... ok [INFO] [stdout] test commands::doctor::tool_checks::tests::missing_volva_has_an_install_repair_action ... ok [INFO] [stdout] test commands::host_policy::tests::test_supported_scope_hint_is_stable_for_host_modes ... ok [INFO] [stdout] test commands::init::tests::test_build_plan_contains_repair_actions ... ok [INFO] [stdout] test commands::doctor::tool_checks::tests::probe_mcp_server_accepts_initialize_response ... ok [INFO] [stdout] test commands::init::tests::test_build_plan_does_not_switch_to_codex_profile_for_non_codex_targets ... ok [INFO] [stdout] test commands::init::tests::test_build_plan_prefers_codex_profile_when_codex_is_detected_by_default ... ok [INFO] [stdout] test commands::init::baseline::tests::evaluate_drift_reports_missing_mcp_registration ... ok [INFO] [stdout] test commands::init::baseline::tests::evaluate_drift_reports_modified_config_file ... ok [INFO] [stdout] test commands::host_policy::tests::test_install_profile_repair_action_keeps_cursor_distinct ... ok [INFO] [stdout] test commands::init::tests::test_claude_hooks_step_skips_broken_cortina_with_repair_guidance ... ok [INFO] [stdout] test commands::init::tests::test_build_plan_uses_host_setup_for_supported_target_hosts ... ok [INFO] [stdout] test commands::init::tests::test_mcp_registration_step_skips_broken_tools_with_repair_guidance ... ok [INFO] [stdout] test commands::init::tests::test_render_embedded_preview_omits_footer_actions ... ok [INFO] [stdout] test commands::init::tests::test_render_preview_lists_detected_clients_when_unfiltered ... ok [INFO] [stdout] test commands::init::tests::test_render_preview_mentions_target_client_and_actions ... ok [INFO] [stdout] test commands::init::tests::test_codex_notify_helpers_use_expected_values ... ok [INFO] [stdout] test commands::init::tests::test_render_preview_mentions_codex_notify_adapter ... ok [INFO] [stdout] test commands::init::tests::test_render_preview_mentions_claude_hooks_when_cortina_is_available ... ok [INFO] [stdout] test commands::init::tests::test_targeted_claude_plan_does_not_pull_in_codex_repairs_from_detected_hosts ... ok [INFO] [stdout] test commands::init::tests::test_render_preview_snapshot_for_cursor_target ... ok [INFO] [stdout] test commands::init::tests::test_render_preview_reports_multiple_detected_hosts ... ok [INFO] [stdout] test commands::install::release::tests::parse_initialize_response_requires_protocol_version ... ok [INFO] [stdout] test commands::install::tests::test_find_matching_asset_missing_platform ... ok [INFO] [stdout] test commands::install::tests::test_find_matching_asset_success ... ok [INFO] [stdout] test commands::install::tests::test_extract_tarball_missing_binary ... ok [INFO] [stdout] test commands::install::tests::test_install_run_fails_when_project_runtime_policy_cannot_load ... ok [INFO] [stdout] test commands::install::tests::test_install_run_honors_project_runtime_policy_deny ... ok [INFO] [stdout] test commands::install::tests::test_find_matching_asset_requires_tar_gz ... ok [INFO] [stdout] test commands::install::tests::test_format_install_preview_reports_existing_and_missing_tools ... ok [INFO] [stdout] test commands::init::tests::test_build_plan_prefers_codex_profile_for_codex_targets ... ok [INFO] [stdout] test commands::install::tests::test_install_run_honors_user_runtime_policy_deny_without_project_override ... ok [INFO] [stdout] test commands::install::tests::test_platform_key_known ... ok [INFO] [stdout] test commands::install::tests::test_profile_mode_labels_make_codex_explicit ... ok [INFO] [stdout] test commands::install::tests::test_profile_tools_cover_expected_sets ... ok [INFO] [stdout] test commands::install::tests::test_render_embedded_profile_install_preview_omits_next_step ... ok [INFO] [stdout] test commands::install::release::tests::verify_mcp_handshake_accepts_initialize_round_trip ... ok [INFO] [stdout] test commands::install::release::tests::verify_functional_checks_expected_output ... ok [INFO] [stdout] test commands::install::tests::test_profile_config_round_trips ... ok [INFO] [stdout] test commands::install::tests::test_render_install_preview_snapshot_for_interactive_mode ... ok [INFO] [stdout] test commands::install::tests::test_render_install_preview_snapshot_for_explicit_tools ... ok [INFO] [stdout] test commands::install::tests::test_install_run_prefers_project_runtime_policy_over_user_policy ... ok [INFO] [stdout] test commands::install::tests::test_install_run_persists_profile_and_approval_memory_on_success ... ok [INFO] [stdout] test commands::install::tests::test_extract_tarball_with_binary ... ok [INFO] [stdout] test commands::install::tests::test_render_profile_install_preview_snapshot ... ok [INFO] [stdout] test commands::install::tests::test_resolve_requested_tools_handles_all_mode ... ok [INFO] [stdout] test commands::install::tests::test_resolve_requested_tools_includes_manual_profile_members ... ok [INFO] [stdout] test commands::install::tests::test_render_install_success_summary_mentions_manual_follow_up_when_needed ... ok [INFO] [stdout] test commands::install::tests::test_render_install_success_summary_stages_next_step ... ok [INFO] [stdout] test commands::install::tests::test_resolve_requested_tools_uses_profile_and_dedupes_extras ... ok [INFO] [stdout] test commands::install::tests::test_selected_profile_for_persistence_keeps_successful_non_developer_profile ... ok [INFO] [stdout] test commands::install::tests::test_selected_profile_for_persistence_skips_failed_installs ... ok [INFO] [stdout] test commands::install::tests::test_split_requested_tools_keeps_manual_members_out_of_managed_installs ... ok [INFO] [stdout] test commands::package_repair::tests::test_audit_event_includes_rollback_details_on_failure ... ok [INFO] [stdout] test commands::package_repair::tests::test_audit_log_best_effort_returns_warning_when_write_fails ... ok [INFO] [stdout] test commands::package_repair::tests::test_cursor_profile_has_no_package_repair_surface ... ok [INFO] [stdout] test commands::package_repair::tests::test_lamella_invocations_for_codex_profile ... ok [INFO] [stdout] test commands::package_repair::tests::test_lamella_invocations_for_full_profile_include_both_surfaces ... ok [INFO] [stdout] test commands::package_repair::tests::test_lamella_root_candidates_include_workspace_sibling ... ok [INFO] [stdout] test commands::package_repair::tests::test_missing_backup_is_treated_as_issue_in_failure_messaging ... ok [INFO] [stdout] test commands::package_repair::tests::test_package_targets_for_claude_profile_stay_on_claude_surface ... ok [INFO] [stdout] test commands::package_repair::tests::test_package_targets_for_codex_profile_stay_on_codex_surface ... ok [INFO] [stdout] test commands::package_repair::tests::test_prepare_backups_roll_back_partial_state_when_later_backup_fails ... ok [INFO] [stdout] test commands::package_repair::tests::test_resolve_profile_prefers_explicit_then_saved_then_detected_default ... ok [INFO] [stdout] test commands::package_repair::tests::test_rollback_decisions_restore_and_preserve_expected_paths ... ok [INFO] [stdout] test commands::package_repair::tests::test_rollback_summary_lines_call_out_manual_inspection_when_needed ... ok [INFO] [stdout] test commands::package_repair::tests::test_sibling_backup_path_includes_timestamp_suffix ... ok [INFO] [stdout] test commands::package_repair::tests::test_supports_profile_only_for_host_package_surfaces ... ok [INFO] [stdout] test commands::provider::tests::provider_list_always_includes_anthropic ... ok [INFO] [stdout] test commands::provider::tests::provider_list_builds_without_panic ... ok [INFO] [stdout] test commands::provider::tests::provider_list_status_values_are_known ... ok [INFO] [stdout] test commands::provider::tests::run_setup_unknown_provider_errors ... ok [INFO] [stdout] test commands::provider::tests::validate_anthropic_key_accepts_correct_prefix ... ok [INFO] [stdout] test commands::provider::tests::validate_anthropic_key_rejects_empty ... ok [INFO] [stdout] test commands::provider::tests::validate_anthropic_key_rejects_wrong_prefix ... ok [INFO] [stdout] test commands::provider::tests::volva_config_path_is_under_home ... ok [INFO] [stdout] test commands::runtime_policy::tests::test_enforce_install_profile_policy_blocks_load_errors ... ok [INFO] [stdout] test commands::runtime_policy::tests::test_enforce_install_profile_policy_blocks_remembered_deny ... ok [INFO] [stdout] test commands::runtime_policy::tests::test_project_scope_takes_precedence_over_user_scope ... ok [INFO] [stdout] test commands::runtime_policy::tests::test_render_install_policy_lines_mentions_approval_memory ... ok [INFO] [stdout] test commands::runtime_policy::tests::test_runtime_policy_round_trips_remembered_decisions ... ok [INFO] [stdout] test commands::self_update::tests::normalize_version_trims_release_prefix ... ok [INFO] [stdout] test commands::self_update::tests::replacement_path_uses_neighbor_file ... ok [INFO] [stdout] test commands::tool_registry::probe::tests::supported_ecosystem_binaries_map_to_spore_tools ... ok [INFO] [stdout] test commands::tool_registry::probe::tests::unmanaged_binaries_stay_outside_spore_mapping ... ok [INFO] [stdout] test commands::tool_registry::probe::tests::verify_levels_are_ordered_from_shallow_to_deep ... ok [INFO] [stdout] test commands::tool_registry::tests::test_doctor_specs_include_optional_canopy_and_volva ... ok [INFO] [stdout] test commands::tool_registry::tests::test_ecosystem_and_status_views_only_reference_visible_tools ... ok [INFO] [stdout] test commands::tool_registry::tests::test_install_all_and_update_all_cover_same_managed_release_tools ... ok [INFO] [stdout] test commands::tool_registry::tests::test_install_profiles_only_reference_installable_tools ... ok [INFO] [stdout] test commands::tool_registry::tests::test_mcp_serve_specs_match_expected_tools ... ok [INFO] [stdout] test commands::tool_registry::tests::test_optional_doctor_tools_have_install_hints ... ok [INFO] [stdout] test commands::tool_registry::tests::test_profile_tools_cover_expected_sets ... ok [INFO] [stdout] test commands::tool_registry::tests::test_release_archive_binaries_include_managed_tools_and_stipe ... ok [INFO] [stdout] test commands::tool_registry::tests::test_smoke_test_specs_match_expected_tools ... ok [INFO] [stdout] test commands::tool_registry::tests::test_status_specs_include_optional_and_managed_tools ... ok [INFO] [stdout] test commands::tool_registry::tests::test_volva_has_the_intended_operator_surface_membership ... ok [INFO] [stdout] test commands::uninstall::tests::test_build_uninstall_targets_marks_existing_files ... ok [INFO] [stdout] test commands::uninstall::tests::test_render_preview_output_snapshot ... ok [INFO] [stdout] test commands::uninstall::tests::test_render_uninstall_preview_mentions_manual_cleanup ... ok [INFO] [stdout] test commands::uninstall::tests::test_resolve_uninstall_tools_all_mode_includes_stipe ... ok [INFO] [stdout] test commands::update::tests::installed_profile_tools_only_keep_installed_or_broken_members ... ok [INFO] [stdout] test commands::update::tests::installed_profile_tools_with_helper_keeps_only_present_tools ... ok [INFO] [stdout] test commands::update::tests::unique_tools_appends_explicit_extras_without_duplicates ... ok [INFO] [stdout] test ecosystem::clients::tests::test_client_flag_roundtrip ... ok [INFO] [stdout] test ecosystem::clients::tests::test_client_name_not_empty ... ok [INFO] [stdout] test ecosystem::clients::tests::test_collect_detected_clients_does_not_map_vscode_to_cline ... ok [INFO] [stdout] test ecosystem::clients::tests::test_collect_detected_clients_keeps_claude_hybrid_detection ... ok [INFO] [stdout] test ecosystem::clients::tests::test_collect_detected_clients_keeps_continue_outside_shared_overlap ... ok [INFO] [stdout] test ecosystem::clients::tests::test_collect_detected_clients_preserves_inventory_order ... ok [INFO] [stdout] test ecosystem::clients::tests::test_ecosystem_special_case_clients_stay_explicit ... ok [INFO] [stdout] test ecosystem::clients::tests::test_from_flag_aliases ... ok [INFO] [stdout] test ecosystem::clients::tests::test_print_generic_config ... ok [INFO] [stdout] test ecosystem::clients::tests::test_detect_clients_does_not_panic ... ok [INFO] [stdout] test ecosystem::clients::tests::test_shared_editor_mapping_covers_supported_shared_hosts ... ok [INFO] [stdout] test ecosystem::status::tests::test_installed_version_does_not_panic_for_optional_tool ... ok [INFO] [stdout] test ecosystem::clients::tests::test_shared_host_config_paths_resolve_via_spore ... ok [INFO] [stdout] test ecosystem::status::tests::test_claude_is_available_does_not_panic ... ok [INFO] [stdout] test ecosystem::status::tests::test_render_status_report_snapshot ... ok [INFO] [stdout] test ecosystem::status::tests::test_discover_codex_version_does_not_panic ... ok [INFO] [stdout] test ecosystem::status::tests::test_render_tool_status_snapshot_for_installed ... ok [INFO] [stdout] test ecosystem::status::tests::test_render_tool_status_snapshot_for_optional_missing ... ok [INFO] [stdout] test lockfile::tests::acquire_and_release_lock ... ok [INFO] [stdout] test tests::test_doctor_accepts_deep_flag ... ok [INFO] [stdout] test tests::test_init_accepts_repair_flag ... ok [INFO] [stdout] test lockfile::tests::stale_lock_can_be_reclaimed ... ok [INFO] [stdout] test tests::test_doctor_accepts_developer_flag ... ok [INFO] [stdout] test tests::test_install_accepts_developer_profile_alias ... ok [INFO] [stdout] test tests::test_install_accepts_full_profile_alias ... ok [INFO] [stdout] test commands::provider::tests::provider_list_api_key_field_never_shows_key_value ... ok [INFO] [stdout] test verify::tests::check_completeness_binary_absent_when_not_installed ... ok [INFO] [stdout] test tests::test_removed_setup_shim_is_rejected ... ok [INFO] [stdout] test tests::test_init_accepts_force_alias ... ok [INFO] [stdout] test tests::test_self_update_check_subcommand_parses ... ok [INFO] [stdout] test verify::tests::completeness_report_all_passed_when_all_true ... ok [INFO] [stdout] test verify::tests::check_completeness_binary_present_uses_install_dir ... ok [INFO] [stdout] test verify::tests::completeness_report_not_all_passed_when_one_fails ... ok [INFO] [stdout] test tests::test_install_accepts_standard_profile ... ok [INFO] [stdout] test tests::test_package_accepts_profile_and_dry_run ... ok [INFO] [stdout] test tests::test_update_accepts_profile_flag ... ok [INFO] [stdout] test verify::tests::epoch_to_ymd_hms_known_epoch ... ok [INFO] [stdout] test verify::tests::ownership_state_roundtrips_json ... ok [INFO] [stdout] test commands::doctor::tool_checks::tests::probe_mcp_server_times_out_cleanly ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 220 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d84881bce365aafa5e69d8242c37eb69dadb4b6215833859b20660c1d66cde6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d84881bce365aafa5e69d8242c37eb69dadb4b6215833859b20660c1d66cde6c", kill_on_drop: false }` [INFO] [stdout] d84881bce365aafa5e69d8242c37eb69dadb4b6215833859b20660c1d66cde6c