[INFO] fetching crate dotagents 0.1.3...
[INFO] testing dotagents-0.1.3 against 1.98.0-beta.1 for beta-1.98-1
[INFO] extracting crate dotagents 0.1.3 into /workspace/builds/worker-0-tc2/source
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate dotagents 0.1.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate dotagents 0.1.3
[INFO] tweaked toml for crates.io crate dotagents 0.1.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate dotagents 0.1.3 on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dotagents 0.1.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3
[INFO] running `Command { std: "docker" "start" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling pest v2.8.3
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling hybrid-array v0.4.11
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling rustls v0.23.39
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling clap_builder v4.5.48
[INFO] [stderr]    Compiling pest_meta v2.8.3
[INFO] [stderr]    Compiling deranged v0.5.4
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling pest_generator v2.8.3
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling num-modular v0.6.1
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling num-order v1.2.0
[INFO] [stderr]    Compiling yaml-rust2 v0.10.4
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling pest_derive v2.8.3
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling clap v4.5.48
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling simplelog v0.12.2
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling clap_complete v4.5.58
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling cliclack v0.5.4
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling handlebars v6.3.2
[INFO] [stderr]    Compiling gray_matter v0.3.2
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling serde_json5 v0.2.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling jsonc-parser v0.32.4
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling dotagents v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 59s
[INFO] running `Command { std: "docker" "inspect" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling mockall v0.13.1
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling handlebars v6.3.2
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling dotagents v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling mockito v1.7.2
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/dotagents-c1565bea77645593)
[INFO] [stdout] 
[INFO] [stdout] running 353 tests
[INFO] [stdout] test cli::commands::tests::to_json_array_handles_non_object_frontmatter ... ok
[INFO] [stdout] test cli::commands::tests::to_json_array_with_content_includes_content_key ... ok
[INFO] [stdout] test cli::commands::tests::maybe_prompt_deploy_no_deploy_true_skips_deploy ... ok
[INFO] [stdout] test cli::config::tests::app_display_from_empty_config ... ok
[INFO] [stdout] test cli::commands::tests::load_commands_empty_dir_returns_empty_vec ... ok
[INFO] [stdout] test cli::commands::tests::to_json_array_without_content_omits_content_key ... ok
[INFO] [stdout] test cli::commands::tests::load_commands_includes_body_content ... ok
[INFO] [stdout] test cli::commands::tests::load_commands_reads_md_frontmatter ... ok
[INFO] [stdout] test cli::config::tests::validate_edit_accepts_global_tty ... ok
[INFO] [stdout] test cli::config::tests::app_display_json_serializes ... ok
[INFO] [stdout] test cli::config::tests::app_display_providers_sorted ... ok
[INFO] [stdout] test cli::commands::tests::load_commands_returns_full_frontmatter ... ok
[INFO] [stdout] test cli::config::tests::app_display_provider_detail ... ok
[INFO] [stdout] test cli::config::tests::validate_edit_ok_when_not_editing ... ok
[INFO] [stdout] test cli::config::tests::validate_edit_accepts_local_tty ... ok
[INFO] [stdout] test cli::config::tests::validate_edit_rejects_non_tty ... ok
[INFO] [stdout] test cli::init::tests::build_config_content_writes_selected_features ... ok
[INFO] [stdout] test cli::config::tests::app_display_features_sorted ... ok
[INFO] [stdout] test cli::config::tests::validate_edit_rejects_app_target ... ok
[INFO] [stdout] test cli::init::tests::init_file_should_not_skip_without_condition ... ok
[INFO] [stdout] test cli::init::tests::init_file_should_skip_when_feature_disabled ... ok
[INFO] [stdout] test cli::init::tests::build_config_content_advanced_appends_provider_block ... ok
[INFO] [stdout] test cli::init::tests::build_config_content_defaults_to_empty_features ... ok
[INFO] [stdout] test cli::init::tests::init_file_should_skip_when_features_absent ... ok
[INFO] [stdout] test cli::init::tests::build_config_content_blank_skips_local_config ... ok
[INFO] [stdout] test cli::init::tests::build_config_content_starter_global_and_local_are_identical ... ok
[INFO] [stdout] test cli::options::tests::config_options_default ... ok
[INFO] [stdout] test cli::init::tests::initialize_agents_dir_no_dir_uses_cwd ... ok
[INFO] [stdout] test cli::init::tests::is_tui_enabled_false_when_ci_mode_set ... ok
[INFO] [stdout] test cli::options::tests::config_target_value_enum_variants ... ok
[INFO] [stdout] test cli::options::tests::config_target_default_is_app ... ok
[INFO] [stdout] test cli::options::tests::has_feature_returns_false_for_unlisted_feature ... ok
[INFO] [stdout] test cli::options::tests::has_feature_returns_true_for_all_listed ... ok
[INFO] [stdout] test cli::options::tests::has_feature_returns_false_when_features_absent ... ok
[INFO] [stdout] test cli::options::tests::test_init_options_defaults ... ok
[INFO] [stdout] test cli::options::tests::test_init_template_variants ... ok
[INFO] [stdout] test cli::options::tests::test_options_default ... ok
[INFO] [stdout] test cli::providers::tests::collect_providers_preserves_name_and_url ... ok
[INFO] [stdout] test cli::options::tests::test_verbosity_clamping ... ok
[INFO] [stdout] test cli::init::tests::initialize_agents_dir_creates_missing_workspace ... ok
[INFO] [stdout] test cli::init::tests::initialize_agents_dir_with_explicit_dir ... ok
[INFO] [stdout] test cli::providers::tests::collect_providers_returns_sorted ... ok
[INFO] [stdout] test cli::providers::tests::collect_providers_handles_missing_name_url ... ok
[INFO] [stdout] test cli::providers::tests::print_text_does_not_panic ... ok
[INFO] [stdout] Nothing deployed
[INFO] [stdout] test cli::skills::tests::maybe_prompt_deploy_no_deploy_true_skips_deploy ... ok
[INFO] [stdout] test cli::skills::tests::to_json_array_includes_frontmatter_fields ... ok
[INFO] [stdout] test cli::commands::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false ... ok
[INFO] [stdout] test cli::ui::common::tests::truncate_long_string_appends_ellipsis ... ok
[INFO] [stdout] test cli::skills::tests::to_json_array_with_content_includes_body_for_skills ... ok
[INFO] [stdout] test cli::providers::tests::print_json_includes_all_fields ... ok
[INFO] [stdout] test cli::ui::common::tests::truncate_short_string_unchanged ... ok
[INFO] [stdout] test cli::ui::common::tests::truncate_zero_width_returns_empty ... ok
[INFO] [stdout] test cli::ui::common::tests::wrap_long_text_breaks_at_width ... ok
[INFO] [stdout] test cli::ui::common::tests::wrap_short_text_unchanged ... ok
[INFO] [stdout] test cli::ui::deploy::tests::non_tty_summary_with_written_and_skipped ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::deploy_summary_all_new ... ok
[INFO] [stdout] test cli::ui::deploy::tests::non_tty_summary_with_nothing_deployed ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::deploy_summary_all_modified ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::deploy_summary_empty ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::deploy_summary_mixed ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::undeploy_summary_all_delete ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::undeploy_summary_all_edited ... ok
[INFO] [stdout] test cli::skills::tests::load_skills_returns_full_frontmatter ... ok
[INFO] [stdout] test cli::skills::tests::load_skills_includes_body_content ... ok
[INFO] [stdout] test cli::undeploy::tests::undeploy_item_deletes_deployed_file_and_clears_cache ... ok
[INFO] [stdout] test cli::skills::tests::load_skills_reads_skill_md_frontmatter ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::undeploy_summary_empty ... ok
[INFO] [stdout] test constants::mocks::tests::command_mock_has_frontmatter ... ok
[INFO] [stdout] test constants::mocks::tests::default_config_empty_slices ... ok
[INFO] [stdout] test cli::undeploy::tests::undeploy_item_warns_when_no_cache_entries ... ok
[INFO] [stdout] test constants::mocks::tests::skill_mock_has_frontmatter ... ok
[INFO] [stdout] test constants::templates::tests::render_starter_substitutes_name_in_command_template ... ok
[INFO] [stdout] test cli::ui::dry_run::tests::undeploy_summary_mixed ... ok
[INFO] [stdout] test constants::mocks::tests::default_config_produces_valid_toml ... ok
[INFO] [stdout] test cli::undeploy::tests::undeploy_item_continues_when_file_already_deleted ... ok
[INFO] [stdout] test constants::templates::tests::render_starter_substitutes_name_in_skill_template ... ok
[INFO] [stdout] test core::config::app::mode_tests::resolve_mode_item_override_wins ... ok
[INFO] [stdout] test core::config::app::mode_tests::resolve_mode_defaults_to_link ... ok
[INFO] [stdout] test core::config::app::mode_tests::resolve_mode_none_item_returns_feature_level ... ok
[INFO] [stdout] test core::config::app::mode_tests::resolve_mode_unknown_feature_defaults_to_template ... ok
[INFO] [stdout] test core::config::app::mode_tests::resolve_mode_uses_feature_level ... ok
[INFO] [stdout] test core::config::cache::tests::cache_remove_returns_entry_and_deletes_it ... ok
[INFO] [stdout] test core::config::app::mode_tests::resolve_mode_falls_back_to_feature_level ... ok
[INFO] [stdout] test core::config::cache::tests::test_clear_empties_cache ... ok
[INFO] [stdout] test core::config::cache::tests::test_get_missing_returns_none ... ok
[INFO] [stdout] test core::config::cache::tests::test_iter_entries_empty ... ok
[INFO] [stdout] test core::config::cache::tests::cache_remove_returns_none_when_absent ... ok
[INFO] [stdout] test core::config::cache::tests::test_iter_entries_yields_all ... ok
[INFO] [stdout] test core::config::cache::tests::test_set_overwrites_existing ... ok
[INFO] [stdout] test core::config::cache::tests::test_set_and_get ... ok
[INFO] [stdout] test core::config::common::tests::test_config_agent_ability_settings_get_config ... ok
[INFO] [stdout] test core::config::common::tests::test_features_has_configured_overrides_true_when_any_override_present ... ok
[INFO] [stdout] test core::config::common::tests::test_config_agent_settings_merge ... ok
[INFO] [stdout] test core::config::cache::tests::test_load_corrupt_toml_returns_default ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_config_merge_local_absent_preserves_global ... ok
[INFO] [stdout] test core::config::common::tests::test_features_has_configured_overrides_false_when_empty ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_config_toml_rejects_invalid_override ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_config_toml_deserialize ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_config_toml_rejects_invalid_mode ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_deserialize_invalid ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_config_merge_local_wins ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_deserialize_link ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_display_link ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_display_template ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_deserialize_template ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_serialize_template ... ok
[INFO] [stdout] test core::config::mode::tests::feature_mode_serialize_link ... ok
[INFO] [stdout] test core::features::command::tests::test_from_markdown ... ok
[INFO] [stdout] test core::features::command::tests::test_get_file_name ... ok
[INFO] [stdout] test core::features::command::tests::test_from_string ... ok
[INFO] [stdout] test core::features::command::tests::test_scaffold_empty_optional_fields_omitted ... ok
[INFO] [stdout] test core::features::command::tests::test_scaffold_returns_markdown_with_body ... ok
[INFO] [stdout] test core::features::command::tests::test_to_markdown ... ok
[INFO] [stdout] test core::features::command::tests::test_to_string ... ok
[INFO] [stdout] test core::features::command::tests::test_to_value ... ok
[INFO] [stdout] test core::features::command::tests::test_to_value_with_category_and_tags ... ok
[INFO] [stdout] test core::features::ignore::tests::from_string_handles_empty_input ... ok
[INFO] [stdout] test core::features::ignore::tests::from_string_parses_newline_separated_patterns ... ok
[INFO] [stdout] test core::features::ignore::tests::from_string_skips_empty_lines ... ok
[INFO] [stdout] test core::features::ignore::tests::get_file_name_returns_none ... ok
[INFO] [stdout] test core::features::ignore::tests::roundtrip_preserves_patterns ... ok
[INFO] [stdout] test core::features::ignore::tests::to_string_empty_patterns_produces_empty_string ... ok
[INFO] [stdout] test core::features::ignore::tests::to_string_produces_newline_separated_patterns ... ok
[INFO] [stdout] test core::features::ignore::tests::to_value_returns_correct_json_structure ... ok
[INFO] [stdout] test core::config::traits::tests::test_from_toml ... ok
[INFO] [stdout] test core::config::traits::tests::test_roundtrip ... ok
[INFO] [stdout] test core::config::traits::tests::test_to_toml ... ok
[INFO] [stdout] test core::features::instruction::tests::test_from_string ... ok
[INFO] [stdout] test core::features::instruction::tests::test_to_string ... ok
[INFO] [stdout] test core::features::command::tests::test_roundtrip ... ok
[INFO] [stdout] test core::features::instruction::tests::test_to_value ... ok
[INFO] [stdout] test core::features::instruction::tests::test_empty_content ... ok
[INFO] [stdout] test core::features::instruction::tests::test_roundtrip ... ok
[INFO] [stdout] test core::features::mcp::tests::test_disabled_tools ... ok
[INFO] [stdout] test core::features::mcp::tests::test_from_json_http ... ok
[INFO] [stdout] test core::features::mcp::tests::test_from_json_sse ... ok
[INFO] [stdout] test core::features::mcp::tests::test_from_json_with_env ... ok
[INFO] [stdout] test core::features::mcp::tests::test_from_string ... ok
[INFO] [stdout] test core::features::mcp::tests::test_from_json_stdio ... ok
[INFO] [stdout] test core::features::mcp::tests::test_to_json ... ok
[INFO] [stdout] test core::features::mcp::tests::test_to_string ... ok
[INFO] [stdout] test core::features::mcp::tests::test_public_schema_includes_expanded_mcp_fields ... ok
[INFO] [stdout] test core::features::mcp::tests::test_roundtrip ... ok
[INFO] [stdout] test core::features::mcp::tests::test_expanded_common_fields_roundtrip_as_camel_case ... ok
[INFO] [stdout] test core::features::mcp::tests::test_unset_optional_fields_are_omitted ... ok
[INFO] [stdout] test core::features::skill::tests::test_get_name_variable_uses_skill_namespace ... ok
[INFO] [stdout] test core::features::skill::tests::test_allowed_tools_rename ... ok
[INFO] [stdout] test core::features::skill::tests::test_from_string ... ok
[INFO] [stdout] test core::features::skill::tests::test_parse_all_extension_fields_together ... ok
[INFO] [stdout] test core::features::skill::tests::test_parse_paths ... ok
[INFO] [stdout] test core::features::skill::tests::test_parse_all_fields ... ok
[INFO] [stdout] test core::features::skill::tests::test_parse_user_invocable ... ok
[INFO] [stdout] test core::features::skill::tests::test_roundtrip ... ok
[INFO] [stdout] test core::features::skill::tests::test_scaffold_empty_optional_fields_omitted ... ok
[INFO] [stdout] test core::features::skill::tests::test_scaffold_produces_valid_markdown ... ok
[INFO] [stdout] test core::features::skill::tests::test_serialize_new_fields_when_present ... ok
[INFO] [stdout] test core::features::skill::tests::test_serialize_omits_absent_optionals ... ok
[INFO] [stdout] test core::features::skill::tests::test_get_file_name ... ok
[INFO] [stdout] test core::features::skill::tests::test_parse_required_only ... ok
[INFO] [stdout] test core::features::skill::tests::test_to_string ... ok
[INFO] [stdout] test core::features::skill::tests::test_parse_disable_model_invocation ... ok
[INFO] [stdout] test core::features::skill::tests::test_to_value_includes_all_metadata_fields ... ok
[INFO] [stdout] test core::features::skill::tests::test_to_value_omits_absent_optional_fields ... ok
[INFO] [stdout] test schema::list_item::tests::to_json_array_empty_body_omits_content ... ok
[INFO] [stdout] test schema::list_item::tests::to_json_array_no_body_ok ... ok
[INFO] [stdout] test schema::list_item::tests::to_json_array_non_object_frontmatter_handled ... ok
[INFO] [stdout] test schema::list_item::tests::to_json_array_without_content_omits_content ... ok
[INFO] [stdout] test schema::registry::tests::deserialise_entry_without_checksums ... ok
[INFO] [stdout] test schema::registry::tests::deserialise_entry_with_name_and_url ... ok
[INFO] [stdout] test schema::registry::tests::deserialise_entry_with_checksums ... ok
[INFO] [stdout] test schema::registry::tests::deserialise_entry_without_name_and_url ... ok
[INFO] [stdout] test schema::list_item::tests::to_json_array_with_content_returns_content_field ... ok
[INFO] [stdout] test schema::registry::tests::deserialise_ignores_unknown_fields ... ok
[INFO] [stdout] test schema::registry::tests::deserialise_mixed_entries ... ok
[INFO] [stdout] test templates::cache::tests::read_returns_none_on_cache_miss ... ok
[INFO] [stdout] test templates::cache::tests::checksum_matches_returns_false_on_mismatch ... ok
[INFO] [stdout] test templates::cache::tests::write_creates_parent_directories ... ok
[INFO] [stdout] test templates::cache::tests::checksum_matches_returns_true_on_match ... ok
[INFO] [stdout] test templates::cache::tests::write_then_read_roundtrips ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_defined_helper_false_value ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_defined_helper_empty_string ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_defined_helper_undefined ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_defined_helper_true_value ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_defined_helper_null ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_eq_helper_equal_numbers ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_defined_helper_zero ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_eq_helper_equal_strings ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_eq_helper_not_equal ... ok
[INFO] [stdout] test templates::helpers::tests::test_if_eq_helper_no_else_branch ... ok
[INFO] [stdout] test templates::helpers::tests::test_json_helper_number ... ok
[INFO] [stdout] test templates::helpers::tests::test_json_helper_object ... ok
[INFO] [stdout] test templates::helpers::tests::test_json_helper_string ... ok
[INFO] [stdout] test templates::helpers::tests::test_snake_case_helper_camel_case ... ok
[INFO] [stdout] test templates::helpers::tests::test_snake_case_helper_errors_on_non_string ... ok
[INFO] [stdout] test templates::helpers::tests::test_json_helper_array ... ok
[INFO] [stdout] test templates::helpers::tests::test_snake_case_helper_pascal_case ... ok
[INFO] [stdout] test templates::helpers::tests::test_snake_case_helper_preserves_snake_case ... ok
[INFO] [stdout] test templates::helpers::tests::test_toml_helper_errors_on_array ... ok
[INFO] [stdout] test templates::helpers::tests::test_toml_helper_errors_on_string ... ok
[INFO] [stdout] test templates::helpers::tests::test_toml_helper_object ... ok
[INFO] [stdout] test templates::helpers::tests::test_toml_inline_helper_errors_on_null ... ok
[INFO] [stdout] test templates::helpers::tests::test_yaml_helper_object ... ok
[INFO] [stdout] test templates::helpers::tests::test_yaml_helper_string ... ok
[INFO] [stdout] test templates::remote::tests::fetch_or_cache_file_uses_cache_on_checksum_match ... ok
[INFO] [stdout] test templates::remote::tests::parse_provider_toml_returns_none_for_missing_feature ... ok
[INFO] [stdout] test templates::remote::tests::parse_provider_toml_returns_settings_for_known_feature ... ok
[INFO] [stdout] test templates::remote::tests::resolve_provider_defaults_offline_cold_cache_errors ... ok
[INFO] [stdout] test templates::remote::tests::resolve_provider_defaults_registry_unavailable_falls_back_to_cache ... ok
[INFO] [stdout] test templates::remote::tests::resolve_provider_defaults_skips_fully_configured_provider ... ok
[INFO] [stdout] test templates::remote::tests::resolve_provider_defaults_unknown_provider_skips ... ok
[INFO] [stdout] test templates::helpers::tests::test_toml_inline_helper_object ... ok
[INFO] [stdout] test templates::helpers::tests::test_yaml_helper_array ... ok
[INFO] [stdout] test core::config::cache::tests::test_load_missing_file_returns_default ... ok
[INFO] [stdout] test core::config::traits::tests::test_from_toml_invalid ... ok
[INFO] [stdout] test cli::skills::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false ... FAILED
[INFO] [stdout] test templates::cache::tests::checksum_matches_returns_false_on_missing_file ... ok
[INFO] [stdout] test templates::variables::tests::load_env_from_paths_empty_slice_returns_empty_map ... ok
[INFO] [stdout] test core::features::mcp::tests::test_rejects_invalid_transport_specific_configs ... ok
[INFO] [stdout] test templates::renderer::tests::render_feature_broken_template_content_emits_phase_context ... ok
[INFO] [stdout] test templates::renderer::tests::render_feature_broken_target_path_emits_phase_context ... ok
[INFO] [stdout] test templates::renderer::tests::resolve_target_path_with_variables ... ok
[INFO] [stdout] test templates::templater::tests::render_template_error_does_not_contain_generic_message ... ok
[INFO] [stdout] test templates::renderer::tests::resolve_target_path_plain_string ... ok
[INFO] [stdout] test templates::variables::tests::load_env_from_paths_missing_file_returns_error ... ok
[INFO] [stdout] test templates::variables::tests::test_get_env_variables_structure ... ok
[INFO] [stdout] test templates::variables::tests::test_get_skill_name_variable ... ok
[INFO] [stdout] test templates::variables::tests::test_get_user_defined_variables_none ... ok
[INFO] [stdout] test templates::variables::tests::test_get_user_defined_variables_some ... ok
[INFO] [stdout] test templates::variables::tests::load_env_from_paths_two_files_later_wins_on_duplicate ... ok
[INFO] [stdout] test utils::dedup::tests::dedup_alphabetical_winner_three_providers ... ok
[INFO] [stdout] test templates::variables::tests::test_get_user_defined_variables_empty_object ... ok
[INFO] [stdout] test utils::dedup::tests::dedup_no_collision_different_paths ... ok
[INFO] [stdout] test templates::variables::tests::test_get_user_defined_variables_nested ... ok
[INFO] [stdout] test utils::dedup::tests::dedup_mixed_some_collide ... ok
[INFO] [stdout] test utils::error::tests::format_error_chain_two_level_shows_outer_and_inner ... ok
[INFO] [stdout] test utils::error::tests::test_display_error_io_error ... ok
[INFO] [stdout] test utils::error::tests::format_error_chain_single_message_no_double_prefix ... ok
[INFO] [stdout] test utils::error::tests::test_display_error_with_context ... ok
[INFO] [stdout] test utils::format::tests::test_case_insensitive ... ok
[INFO] [stdout] test utils::format::tests::test_jsonc_extension ... ok
[INFO] [stdout] test utils::format::tests::test_json_extension ... ok
[INFO] [stdout] test utils::format::tests::test_no_extension ... ok
[INFO] [stdout] test utils::format::tests::test_toml_extension ... ok
[INFO] [stdout] test utils::format::tests::test_unknown_extension ... ok
[INFO] [stdout] test utils::format::tests::test_yaml_extension ... ok
[INFO] [stdout] test utils::format::tests::test_yml_extension ... ok
[INFO] [stdout] test utils::fs::tests::test_delete_file_missing_returns_error ... ok
[INFO] [stdout] test templates::variables::tests::test_get_command_name_variable ... ok
[INFO] [stdout] test utils::fs::tests::test_delete_file_existing ... ok
[INFO] [stdout] test utils::fs::tests::test_prune_empty_dir_removes_empty_parent ... ok
[INFO] [stdout] test templates::variables::tests::load_env_from_paths_single_file_lowercases_keys ... ok
[INFO] [stdout] test utils::fs::tests::test_prune_empty_dir_leaves_non_empty_parent ... ok
[INFO] [stdout] test utils::fs::tests::test_read_nonexistent_file ... ok
[INFO] [stdout] test templates::variables::tests::test_get_command_name_variable_empty ... ok
[INFO] [stdout] test templates::variables::tests::test_get_skill_name_variable_empty ... ok
[INFO] [stdout] test utils::fs::tests::test_write_empty_content ... ok
[INFO] [stdout] test utils::fs::tests::test_write_file_creates_parent_dirs ... ok
[INFO] [stdout] test utils::fs::tests::test_write_and_read_file ... ok
[INFO] [stdout] test utils::fs::tests::test_write_multiline_content ... ok
[INFO] [stdout] test utils::gitignore::tests::collapse_paths_non_generated_file_prevents_collapse ... ok
[INFO] [stdout] test utils::gitignore::tests::collapse_paths_mixed_collapsible_and_non_generated ... ok
[INFO] [stdout] test utils::gitignore::tests::collapse_paths_empty_input ... ok
[INFO] [stdout] test utils::gitignore::tests::collapse_paths_all_files_in_dir_collapses ... ok
[INFO] [stdout] test utils::gitignore::tests::collapse_paths_nested_collapse ... ok
[INFO] [stdout] test utils::gitignore::tests::rebuild_fence_handles_missing_gitignore ... ok
[INFO] [stdout] test utils::gitignore::tests::rebuild_fence_creates_fence_for_new_gitignore ... ok
[INFO] [stdout] test utils::gitignore::tests::collapse_paths_root_files_stay_individual ... ok
[INFO] [stdout] test utils::fs::tests::test_write_overwrite_file ... ok
[INFO] [stdout] test utils::gitignore::tests::rebuild_fence_clears_fence_when_no_targets ... ok
[INFO] [stdout] test utils::gitignore::tests::rebuild_fence_preserves_user_content ... ok
[INFO] [stdout] test utils::gitignore::tests::rewrite_fence_appends_to_existing_content ... ok
[INFO] [stdout] test utils::gitignore::tests::rebuild_fence_skips_write_when_unchanged ... ok
[INFO] [stdout] test utils::gitignore::tests::rewrite_fence_preserves_user_content_around_fence ... ok
[INFO] [stdout] test utils::gitignore::tests::rewrite_fence_replaces_existing_fence ... ok
[INFO] [stdout] test utils::gitignore::tests::test_remove_fence_no_fence_unchanged ... ok
[INFO] [stdout] test utils::gitignore::tests::rewrite_fence_creates_fence_in_empty_content ... ok
[INFO] [stdout] test utils::gitignore::tests::rebuild_fence_rewrites_existing_fence_with_collapsed_patterns ... ok
[INFO] [stdout] test utils::gitignore::tests::test_remove_fence_only_fence ... ok
[INFO] [stdout] test utils::gitignore::tests::test_remove_fence_preserves_content_after_fence ... ok
[INFO] [stdout] test utils::gitignore::tests::test_remove_fence_with_preceding_content ... ok
[INFO] [stdout] test utils::hash::tests::test_hash_content ... ok
[INFO] [stdout] test utils::gitignore::tests::test_clear_gitignore_fence_no_fence ... ok
[INFO] [stdout] test utils::hash::tests::test_hash_file_not_found ... ok
[INFO] [stdout] test utils::hash::tests::test_hash_file_exists ... ok
[INFO] [stdout] test utils::gitignore::tests::test_clear_gitignore_fence_only_fence_writes_empty ... ok
[INFO] [stdout] test utils::hash::tests::test_hash_file_empty ... ok
[INFO] [stdout] test utils::gitignore::tests::test_clear_gitignore_fence_missing_file_is_noop ... ok
[INFO] [stdout] test utils::gitignore::tests::test_clear_gitignore_fence_removes_fence ... ok
[INFO] [stdout] test utils::http::tests::missing_protocol_returns_error ... ok
[INFO] [stdout] test utils::http::tests::http_url_returns_error ... ok
[INFO] [stdout] test utils::http::tests::untrusted_https_domain_returns_error ... ok
[INFO] [stdout] test utils::json::tests::test_merge_json_both_none ... ok
[INFO] [stdout] test utils::error::tests::test_display_error_single_error ... ok
[INFO] [stdout] test utils::json::tests::test_merge_json_both_objects ... ok
[INFO] [stdout] test utils::json::tests::test_merge_json_non_object_values ... ok
[INFO] [stdout] test utils::json::tests::test_merge_json_only_b ... ok
[INFO] [stdout] test utils::json::tests::test_merge_json_only_a ... ok
[INFO] [stdout] test utils::json::tests::test_merge_json_nested_objects ... ok
[INFO] [stdout] test utils::http::tests::do_get_404_returns_error_with_status ... ok
[INFO] [stdout] test utils::http::tests::do_get_500_returns_error_with_status ... ok
[INFO] [stdout] test utils::json::tests::test_merge_many_json_empty ... ok
[INFO] [stdout] test utils::logs::tests::test_log_config_accessor_returns_option ... ok
[INFO] [stdout] test utils::logs::tests::test_log_config_fields ... ok
[INFO] [stdout] test utils::logs::tests::test_log_level_selection_verbosity_0 ... ok
[INFO] [stdout] test utils::json::tests::test_merge_json_b_overwrites_non_object ... ok
[INFO] [stdout] test utils::json::tests::test_merge_many_json_multiple ... ok
[INFO] [stdout] test utils::logs::tests::test_log_level_selection_verbosity_1 ... ok
[INFO] [stdout] test utils::http::tests::do_get_200_returns_body ... ok
[INFO] [stdout] test utils::logs::tests::test_log_level_selection_verbosity_2 ... ok
[INFO] [stdout] test utils::merge::tests::merge_into_existing_unsupported_format ... ok
[INFO] [stdout] test utils::merge::tests::merge_json_empty_existing ... ok
[INFO] [stdout] test utils::merge::tests::merge_json_arrays_replaced ... ok
[INFO] [stdout] test utils::merge::tests::merge_json_rendered_wins_on_conflict ... ok
[INFO] [stdout] test utils::merge::tests::merge_json_rejects_non_object_top_level_values ... ok
[INFO] [stdout] test utils::merge::tests::merge_json_top_level_key_replaced ... ok
[INFO] [stdout] test utils::merge::tests::merge_json_preserves_existing_keys ... ok
[INFO] [stdout] test utils::logs::tests::test_log_level_selection_quiet ... ok
[INFO] [stdout] test utils::merge::tests::merge_jsonc_adds_new_keys ... ok
[INFO] [stdout] test utils::merge::tests::merge_jsonc_preserves_comments ... ok
[INFO] [stdout] test utils::merge::tests::merge_jsonc_existing_keys_untouched ... ok
[INFO] [stdout] test utils::json::tests::test_merge_many_json_single ... ok
[INFO] [stdout] test utils::json::tests::test_merge_many_json_nested ... ok
[INFO] [stdout] test utils::merge::tests::merge_toml_preserves_comments ... ok
[INFO] [stdout] test utils::merge::tests::merge_toml_preserves_sections ... ok
[INFO] [stdout] test utils::merge::tests::merge_toml_rendered_wins_on_conflict ... ok
[INFO] [stdout] test utils::merge::tests::merge_yaml_rendered_wins_on_conflict ... ok
[INFO] [stdout] test utils::merge::tests::merge_yaml_arrays_replaced ... ok
[INFO] [stdout] test utils::merge::tests::test_merge_optional_both_none ... ok
[INFO] [stdout] test utils::merge::tests::test_merge_optional_both_present ... ok
[INFO] [stdout] test utils::merge::tests::test_merge_optional_only_override ... ok
[INFO] [stdout] test utils::merge::tests::merge_yaml_nested_objects ... ok
[INFO] [stdout] test utils::merge::tests::merge_yaml_preserves_existing_keys ... ok
[INFO] [stdout] test utils::path::tests::resolve_and_override_workspace_errors_when_no_root_dir ... ok
[INFO] [stdout] test utils::path::tests::resolve_and_override_workspace_none_is_noop ... ok
[INFO] [stdout] test utils::path::tests::override_workspace_dir_err_when_no_root_dir ... ok
[INFO] [stdout] test utils::merge::tests::test_merge_optional_only_base ... ok
[INFO] [stdout] test utils::merge::tests::merge_yaml_empty_existing ... ok
[INFO] [stdout] test utils::path::tests::resolve_and_override_workspace_ok_when_root_dir_present ... ok
[INFO] [stdout] test utils::path::tests::override_workspace_dir_ok_when_root_dir_present ... ok
[INFO] [stdout] test utils::path::tests::test_get_dir_or_die_nonexistent ... ok
[INFO] [stdout] test utils::path::tests::test_get_config_dir ... ok
[INFO] [stdout] test utils::path::tests::test_find_workspace_dir_finds_marker_at_start ... ok
[INFO] [stdout] test utils::path::tests::test_get_dir_or_die_file_not_dir ... ok
[INFO] [stdout] test utils::path::tests::resolve_and_override_workspace_resolves_relative_path ... ok
[INFO] [stdout] test utils::path::tests::test_find_workspace_dir_finds_marker_in_parent ... ok
[INFO] [stdout] test utils::path::tests::test_find_workspace_dir_returns_err_when_no_marker ... ok
[INFO] [stdout] test utils::path::tests::test_make_workspace_relative_outside_workspace ... ok
[INFO] [stdout] test utils::path::tests::test_make_workspace_relative_root_file ... ok
[INFO] [stdout] test utils::tui::tests::is_tui_enabled_returns_false_when_ci_mode_set ... ok
[INFO] [stdout] test utils::path::tests::test_get_global_template_cache_dir_ends_with_expected_suffix ... ok
[INFO] [stdout] test utils::path::tests::test_make_workspace_relative_subdirectory ... ok
[INFO] [stdout] test utils::tui::tests::is_tty_returns_bool_without_panicking ... ok
[INFO] [stdout] test utils::path::tests::test_get_dir_or_die_valid_dir ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cli::skills::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'cli::skills::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false' (2585) panicked at src/cli/skills.rs:456:54:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55faef469ef1 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55faef469ef1 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55faef469ef1 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55faef469ef1 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55faef4849ba - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55faef4849ba - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x55faef46f9ac - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x55faef46f9ac - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x55faef443296 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55faef443296 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55faef460029 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55faef0e4140 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x55faef0e4140 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x55faef460352 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x55faef460352 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x55faef443342 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x55faef43a169 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55faef4443ad - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x55faef48526c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55faef484fb2 - core[6883ba1bc0fe4ed1]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x55faee70cfd0 - <core[6883ba1bc0fe4ed1]::result::Result<(), core[6883ba1bc0fe4ed1]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1231:23
[INFO] [stdout]   21:     0x55faee70cfd0 - dotagents[19a8fba55635f6cb]::cli::skills::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/skills.rs:456:54
[INFO] [stdout]   22:     0x55faee7025d7 - dotagents[19a8fba55635f6cb]::cli::skills::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/skills.rs:445:66
[INFO] [stdout]   23:     0x55faee74ae26 - <dotagents[19a8fba55635f6cb]::cli::skills::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55faef0d747b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55faef0d747b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x55faef0e4ac5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x55faef0e4ac5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x55faef0e4ac5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x55faef0e4ac5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x55faef0e4ac5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x55faef0e4ac5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x55faef0e4ac5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x55faef0df574 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x55faef0df574 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x55faef0e7c12 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x55faef0e7c12 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x55faef0e7c12 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x55faef0e7c12 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x55faef0e7c12 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x55faef0e7c12 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x55faef0e7c12 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55faef46897f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   43:     0x55faef46897f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x77424c417aa4 - <unknown>
[INFO] [stdout]   45:     0x77424c4a4a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cli::skills::tests::maybe_prompt_deploy_ci_calls_deploy_when_no_deploy_false
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 352 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin dotagents`
[INFO] running `Command { std: "docker" "inspect" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3", kill_on_drop: false }`
[INFO] [stdout] 2524e1dc4babb718082a1db362db28bd3520f32a3854e89f9c6ba7d9e4789cb3
