[INFO] fetching crate craftbag-mcp 0.2.3...
[INFO] testing craftbag-mcp-0.2.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate craftbag-mcp 0.2.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate craftbag-mcp 0.2.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate craftbag-mcp 0.2.3
[INFO] tweaked toml for crates.io crate craftbag-mcp 0.2.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate craftbag-mcp 0.2.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate craftbag-mcp 0.2.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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa
[INFO] running `Command { std: "docker" "start" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa", 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" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa", 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" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling craftbag v0.2.3
[INFO] [stderr]    Compiling craftbag-mcp v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 32.77s
[INFO] running `Command { std: "docker" "inspect" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa", 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" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling craftbag-mcp v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 36.65s
[INFO] running `Command { std: "docker" "inspect" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa", 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" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/craftbag-mcp/aa2f4da8a4afebc4/out/craftbag_mcp-aa2f4da8a4afebc4)
[INFO] [stdout] 
[INFO] [stdout] running 136 tests
[INFO] [stdout] test tests::help_and_version_flags_skip_stdio ... ok
[INFO] [stdout] test tests::initialize_advertises_tools ... ok
[INFO] [stdout] test tests::list_empty_format_names_valid_tokens ... ok
[INFO] [stdout] test tests::list_catalog_omits_disable_model_invocation ... ok
[INFO] [stdout] test tests::list_catalog_context_ranks_matching_trigger_first ... ok
[INFO] [stdout] test tests::list_json_includes_argument_hint ... ok
[INFO] [stdout] test tests::list_json_includes_allowed_tools ... ok
[INFO] [stdout] test tests::list_json_includes_when_to_use ... ok
[INFO] [stdout] test tests::list_json_context_does_not_reorder ... ok
[INFO] [stdout] test tests::list_json_includes_metadata ... ok
[INFO] [stdout] test tests::list_json_shape ... FAILED
[INFO] [stdout] test tests::list_catalog_prints_markdown_names ... FAILED
[INFO] [stdout] test tests::list_json_vendor_claude_loads_user_home_layout ... FAILED
[INFO] [stdout] test tests::list_json_vendor_cursor_loads_user_home_layout ... FAILED
[INFO] [stdout] test tests::list_watch_dirs_format_matches_watch ... FAILED
[INFO] [stdout] test tests::list_json_vendor_grok_loads_user_home_layout ... FAILED
[INFO] [stdout] test tests::list_padded_format_is_json ... ok
[INFO] [stdout] test tests::list_json_includes_invocation_flags ... ok
[INFO] [stdout] test tests::list_unknown_format_names_json_and_xml ... ok
[INFO] [stdout] test tests::list_uppercase_format_suggests_lowercase ... ok
[INFO] [stdout] test tests::list_watch_prints_extra_collection_dirs ... FAILED
[INFO] [stdout] test tests::list_watch_prints_extra_path_skill_md_file ... ok
[INFO] [stdout] test tests::merge_launch_ascii_names_false_overrides_launch_flag ... ok
[INFO] [stdout] test tests::list_xml_includes_invocation_flags ... ok
[INFO] [stdout] test tests::list_watch_vendor_grok_lists_user_home ... FAILED
[INFO] [stdout] test tests::parse_launch_path_and_vendor ... ok
[INFO] [stdout] test tests::list_xml_shape ... FAILED
[INFO] [stdout] test tests::merge_skill_miss_maps_known_keys_without_panic ... ok
[INFO] [stdout] test tests::merge_skill_miss_peels_collision_winner_path ... ok
[INFO] [stdout] test tests::notification_has_no_response ... ok
[INFO] [stdout] test tests::list_watch_vendor_claude_lists_user_home ... FAILED
[INFO] [stdout] test tests::list_watch_vendor_cursor_lists_user_home ... FAILED
[INFO] [stdout] test tests::parse_paths_alias_suggests_path ... ok
[INFO] [stdout] test tests::parse_user_dir_alias_suggests_hyphen_flag ... ok
[INFO] [stdout] test tests::skills_list_empty_user_dir_is_error_not_cwd ... ok
[INFO] [stdout] test tests::skills_list_implicit_roots_false_skips_home ... ok
[INFO] [stdout] test tests::parse_unknown_option_is_error ... ok
[INFO] [stdout] test tests::skills_list_and_load_and_why ... FAILED
[INFO] [stdout] test tests::skills_list_ignore_omits_prefix ... ok
[INFO] [stdout] test tests::skills_list_load_why_ascii_names_skips_unicode_like_cli ... ok
[INFO] [stdout] test tests::skills_list_disabled_omits_named_skill ... ok
[INFO] [stdout] test tests::skills_list_missing_paths_is_unreadable ... ok
[INFO] [stdout] test tests::skills_list_null_arguments_still_lists ... ok
[INFO] [stdout] test tests::skills_list_null_context_is_error_not_unranked_catalog ... ok
[INFO] [stdout] test tests::skills_list_null_ascii_names_is_error ... ok
[INFO] [stdout] test tests::skills_list_null_context_tokens_is_error_not_default_catalog ... ok
[INFO] [stdout] test tests::skills_list_null_disabled_is_error ... ok
[INFO] [stdout] test tests::skills_list_null_format_is_error_not_json_default ... ok
[INFO] [stdout] test tests::skills_list_null_implicit_roots_is_error ... ok
[INFO] [stdout] test tests::skills_list_unknown_vendor_is_error ... ok
[INFO] [stdout] test tests::skills_list_null_user_dir_is_error ... ok
[INFO] [stdout] test tests::skills_list_null_ignore_is_error ... ok
[INFO] [stdout] test tests::skills_list_whitespace_user_dir_is_error_not_cwd ... ok
[INFO] [stdout] test tests::skills_load_escaped_extra_path_root_does_not_hide_sibling ... ok
[INFO] [stdout] test tests::skills_list_user_dir_tilde_expands ... ok
[INFO] [stdout] test tests::skills_list_invalid_paths_type_is_error_not_default_catalog ... ok
[INFO] [stdout] test tests::skills_load_escaped_extra_path_skills_does_not_hide_sibling ... ok
[INFO] [stdout] test tests::skills_load_extra_path_root_file_does_not_hide_package ... ok
[INFO] [stdout] test tests::skills_load_ignore_is_unknown ... ok
[INFO] [stdout] test tests::skills_load_extra_path_root_skill_md_does_not_hide_skills_subdir ... ok
[INFO] [stdout] test tests::skills_load_includes_argument_hint ... ok
[INFO] [stdout] test tests::skills_load_includes_allowed_tools ... ok
[INFO] [stdout] test tests::skills_load_includes_metadata ... ok
[INFO] [stdout] test tests::skills_load_blank_peek_leftover_and_skills_file_does_not_hide_sibling ... ok
[INFO] [stdout] test tests::skills_load_disabled_is_unknown ... ok
[INFO] [stdout] test tests::skills_load_invalid_matching_peek_leftover_and_skills_dir_does_not_hide_collection ... ok
[INFO] [stdout] test tests::skills_load_includes_triggers ... ok
[INFO] [stdout] test tests::skills_load_includes_when_to_use ... ok
[INFO] [stdout] test tests::skills_load_fifo_leftover_extra_path_skill_md_does_not_hide_skills_subdir ... ok
[INFO] [stdout] test tests::skills_load_named_root_file_skip_is_not_unknown ... ok
[INFO] [stdout] test tests::skills_load_fifo_leftover_and_skills_file_does_not_hide_sibling ... ok
[INFO] [stdout] test tests::skills_load_parse_skip_without_frontmatter_name_is_not_unknown ... ok
[INFO] [stdout] test tests::skills_load_nameless_leftover_and_skills_file_does_not_hide_sibling ... ok
[INFO] [stdout] test tests::skills_load_null_args_is_error_not_empty_args ... ok
[INFO] [stdout] test tests::skills_load_parse_error_skip_is_not_unknown ... FAILED
[INFO] [stdout] test tests::skills_load_path_component_peek_leftover_and_skills_dir_does_not_hide_collection ... ok
[INFO] [stdout] test tests::skills_load_present_null_disable_model_invocation_peels_parse_error ... ok
[INFO] [stdout] test tests::skills_load_present_null_outline_and_section_are_type_errors ... ok
[INFO] [stdout] test tests::skills_load_unknown_is_error ... ok
[INFO] [stdout] test tests::skills_load_present_null_user_invocable_peels_parse_error ... ok
[INFO] [stdout] test tests::skills_load_outline_and_section ... ok
[INFO] [stdout] test tests::skills_load_unreadable_extra_path_skills_does_not_hide_sibling ... ok
[INFO] [stdout] test tests::skills_load_unparseable_matching_peek_leftover_and_skills_dir_does_not_hide_collection ... ok
[INFO] [stdout] test tests::skills_validate_invalid_name_peels_parse_error ... FAILED
[INFO] [stdout] test tests::skills_load_why_miss_peels_skill_miss_keys ... ok
[INFO] [stdout] test tests::skills_validate_corpus_ok ... FAILED
[INFO] [stdout] test tests::skills_load_typo_suggests_hyphen_name ... ok
[INFO] [stdout] test tests::skills_validate_empty_path_is_error ... ok
[INFO] [stdout] test tests::skills_validate_line_separator_dotdot_is_error ... ok
[INFO] [stdout] test tests::skills_validate_missing_path_is_error ... ok
[INFO] [stdout] test tests::skills_validate_null_strict_is_error_not_lenient ... ok
[INFO] [stdout] test tests::skills_why_empty_format_names_json_and_text ... ok
[INFO] [stdout] test tests::skills_validate_package_dir_newline_component_is_error ... ok
[INFO] [stdout] test tests::skills_why_extra_path_root_file_and_package_agree_with_load ... ok
[INFO] [stdout] test tests::skills_validate_package_dir_skill_md_symlink_escape_is_error ... ok
[INFO] [stdout] test tests::skills_why_named_root_file_skip_is_not_unknown ... ok
[INFO] [stdout] test tests::skills_why_newline_format_stays_one_line ... ok
[INFO] [stdout] test tests::skills_why_null_format_is_error_not_json_default ... ok
[INFO] [stdout] test tests::skills_why_null_name_is_error_not_unfiltered_report ... ok
[INFO] [stdout] test tests::skills_why_parse_error_keeps_name ... FAILED
[INFO] [stdout] test tests::skills_why_unknown_is_error ... ok
[INFO] [stdout] test tests::skills_why_uppercase_format_suggests_lowercase ... ok
[INFO] [stdout] test tests::skills_why_whitespace_name_is_error_not_empty_json ... ok
[INFO] [stdout] test tests::tool_schemas_reject_additional_properties ... ok
[INFO] [stdout] test tests::skills_validate_whitespace_collapse_dotdot_is_error ... ok
[INFO] [stdout] test tests::skills_why_invalid_name_type_is_error ... ok
[INFO] [stdout] test tests::skills_why_parse_skip_without_frontmatter_name_is_not_unknown ... ok
[INFO] [stdout] test tests::tools_list_advertises_catalog_context ... ok
[INFO] [stdout] test tests::skills_validate_unknown_key_passes_default_and_fails_strict ... ok
[INFO] [stdout] test tests::tools_list_advertises_disabled ... ok
[INFO] [stdout] test tests::tools_list_advertises_format_enum ... ok
[INFO] [stdout] test tests::tools_list_advertises_ascii_names ... ok
[INFO] [stdout] test tests::tools_list_advertises_vendor_enum ... ok
[INFO] [stdout] test tests::tools_list_format_describes_watch_dirs_alias ... ok
[INFO] [stdout] test tests::tools_list_advertises_ignore ... ok
[INFO] [stdout] test tests::skills_why_null_context_is_error_not_no_activation ... ok
[INFO] [stdout] test tests::tools_list_advertises_implicit_roots ... ok
[INFO] [stdout] test tests::tools_list_describes_format_and_json_keys ... ok
[INFO] [stdout] test tests::skills_why_null_context_tokens_is_error_not_default_budget ... ok
[INFO] [stdout] test tests::tools_list_load_why_describe_error_kind ... ok
[INFO] [stdout] test tests::tools_list_format_names_catalog_omits_disable_model_invocation ... ok
[INFO] [stdout] test tests::tools_list_format_names_json_skills_skips ... ok
[INFO] [stdout] test tests::tools_list_names_frontmatter_name_not_path ... ok
[INFO] [stdout] test tests::skills_why_invalid_context_tokens_type_is_error_not_default_report ... ok
[INFO] [stdout] test tests::tools_list_validate_describes_strict_and_peel ... ok
[INFO] [stdout] test tests::tools_list_names_path_token_refuse ... ok
[INFO] [stdout] test tests::tools_list_names_xml_available_skills ... ok
[INFO] [stdout] test tests::tools_why_describes_success_keys ... ok
[INFO] [stdout] test tests::unknown_tool_hostile_name_stays_one_line ... ok
[INFO] [stdout] test tests::unknown_tool_list_names_skills_list ... ok
[INFO] [stdout] test tests::unknown_tool_arguments_do_not_drop_context ... ok
[INFO] [stdout] test tests::why_json_includes_argument_hint ... ok
[INFO] [stdout] test tests::why_json_includes_invocation_flags ... ok
[INFO] [stdout] test tests::why_json_includes_allowed_tools ... ok
[INFO] [stdout] test tests::why_json_includes_when_to_use ... ok
[INFO] [stdout] test tests::why_json_includes_metadata ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_json_shape stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_json_shape' (914) panicked at src/main.rs:1649:9:
[INFO] [stdout] assertion `left == right` failed: omitted user_invocable defaults true: {
[INFO] [stdout]   "skills": [],
[INFO] [stdout]   "skips": [
[INFO] [stdout]     {
[INFO] [stdout]       "code": "unreadable",
[INFO] [stdout]       "detail": "path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/minimal-valid (pass --path / paths as a SKILL.md file or a package directory that contains SKILL.md)",
[INFO] [stdout]       "kind": "unreadable",
[INFO] [stdout]       "path": "/opt/rustwide/workdir/../../tests/corpus/agentskills/minimal-valid"
[INFO] [stdout]     }
[INFO] [stdout]   ]
[INFO] [stdout] }
[INFO] [stdout]   left: Null
[INFO] [stdout]  right: true
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc516b2a3 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x569dc508ac41 - core[a373ad73a504971]::panicking::assert_failed::<serde_json[9d26dc4e0bbd8046]::value::Value, bool>
[INFO] [stdout]   13:     0x569dc5040d11 - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_json_shape::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   20:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_catalog_prints_markdown_names stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_catalog_prints_markdown_names' (906) panicked at src/main.rs:1676:9:
[INFO] [stdout] skip	unreadable	/opt/rustwide/workdir/../../tests/corpus/agentskills/minimal-valid	path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/minimal-valid (pass --path / paths as a SKILL.md file or a package directory that contains SKILL.md)
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc504c97a - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_catalog_prints_markdown_names::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_json_vendor_claude_loads_user_home_layout stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_json_vendor_claude_loads_user_home_layout' (915) panicked at src/main.rs:1956:9:
[INFO] [stdout] MCP list must find HOME/.claude/skills when vendor claude is on: {
[INFO] [stdout]   "skills": [],
[INFO] [stdout]   "skips": []
[INFO] [stdout] }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc505bb9c - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_json_vendor_claude_loads_user_home_layout::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_json_vendor_cursor_loads_user_home_layout stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_json_vendor_cursor_loads_user_home_layout' (916) panicked at src/main.rs:2004:9:
[INFO] [stdout] MCP list must find HOME/.cursor/skills when vendor cursor is on: {
[INFO] [stdout]   "skills": [],
[INFO] [stdout]   "skips": []
[INFO] [stdout] }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc505be1c - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_json_vendor_cursor_loads_user_home_layout::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_watch_dirs_format_matches_watch stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_watch_dirs_format_matches_watch' (921) panicked at src/main.rs:1868:9:
[INFO] [stdout] watch-dirs must watch the extra-path collection root: 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc50510e9 - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_watch_dirs_format_matches_watch::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_json_vendor_grok_loads_user_home_layout stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_json_vendor_grok_loads_user_home_layout' (917) panicked at src/main.rs:2052:9:
[INFO] [stdout] MCP list must find HOME/.grok/skills when vendor grok is on: {
[INFO] [stdout]   "skills": [],
[INFO] [stdout]   "skips": []
[INFO] [stdout] }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc505a3bc - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_json_vendor_grok_loads_user_home_layout::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_watch_prints_extra_collection_dirs stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_watch_prints_extra_collection_dirs' (922) panicked at src/main.rs:1835:9:
[INFO] [stdout] must watch the extra-path collection root: 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc5054639 - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_watch_prints_extra_collection_dirs::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_watch_vendor_grok_lists_user_home stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_watch_vendor_grok_lists_user_home' (926) panicked at src/main.rs:2025:9:
[INFO] [stdout] must watch HOME/.grok/skills when vendor grok is on: 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc50533e0 - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_watch_vendor_grok_lists_user_home::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_xml_shape stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_xml_shape' (928) panicked at src/main.rs:2984:9:
[INFO] [stdout] <available_skills>
[INFO] [stdout] </available_skills>
[INFO] [stdout] skip	unreadable	/opt/rustwide/workdir/../../tests/corpus/agentskills/minimal-valid	path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/minimal-valid (pass --path / paths as a SKILL.md file or a package directory that contains SKILL.md)
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc5040913 - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_xml_shape::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_watch_vendor_claude_lists_user_home stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_watch_vendor_claude_lists_user_home' (924) panicked at src/main.rs:1929:9:
[INFO] [stdout] must watch HOME/.claude/skills when vendor claude is on: 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc5055b00 - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_watch_vendor_claude_lists_user_home::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::list_watch_vendor_cursor_lists_user_home stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::list_watch_vendor_cursor_lists_user_home' (925) panicked at src/main.rs:1977:9:
[INFO] [stdout] must watch HOME/.cursor/skills when vendor cursor is on: 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc5055fa0 - <craftbag_mcp[722c40d30eaaa4b1]::tests::list_watch_vendor_cursor_lists_user_home::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   13:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   14:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   18:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::skills_list_and_load_and_why stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::skills_list_and_load_and_why' (937) panicked at src/main.rs:3045:13:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Bool(true)
[INFO] [stdout]  right: false
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc516b243 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x569dc508ac41 - core[a373ad73a504971]::panicking::assert_failed::<serde_json[9d26dc4e0bbd8046]::value::Value, bool>
[INFO] [stdout]   13:     0x569dc5015500 - craftbag[7d8e430dcb5163ad]::discover::path::with_home_lock::<(), craftbag_mcp[722c40d30eaaa4b1]::tests::skills_list_and_load_and_why::{closure#0}>
[INFO] [stdout]   14:     0x569dc50436cf - <craftbag_mcp[722c40d30eaaa4b1]::tests::skills_list_and_load_and_why::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   21:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::skills_load_parse_error_skip_is_not_unknown stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::skills_load_parse_error_skip_is_not_unknown' (978) panicked at src/main.rs:3244:13:
[INFO] [stdout] assertion `left == right` failed: skipped load must reuse skip code, not Display: {"id":8,"jsonrpc":"2.0","result":{"content":[{"text":"unknown skill: Bad_Name; refused --path / paths: path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/invalid-name (pass --path / paths as a SKILL.md file or a package directory that contains SKILL.md)","type":"text"}],"error":"unknown skill: Bad_Name; refused --path / paths: path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/invalid-name (pass --path / paths as a SKILL.md file or a package directory that contains SKILL.md)","error_kind":"unreadable","isError":true,"path":"/opt/rustwide/workdir/../../tests/corpus/agentskills/invalid-name"}}
[INFO] [stdout]   left: String("unreadable")
[INFO] [stdout]  right: "parse_error"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc516b2a3 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x569dc508ac0a - core[a373ad73a504971]::panicking::assert_failed::<serde_json[9d26dc4e0bbd8046]::value::Value, &str>
[INFO] [stdout]   13:     0x569dc50225ea - craftbag[7d8e430dcb5163ad]::discover::path::with_home_lock::<(), craftbag_mcp[722c40d30eaaa4b1]::tests::skills_load_parse_error_skip_is_not_unknown::{closure#0}>
[INFO] [stdout]   14:     0x569dc5059fef - <craftbag_mcp[722c40d30eaaa4b1]::tests::skills_load_parse_error_skip_is_not_unknown::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   21:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::skills_validate_invalid_name_peels_parse_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::skills_validate_invalid_name_peels_parse_error' (991) panicked at src/main.rs:1320:13:
[INFO] [stdout] assertion `left == right` failed: invalid name must peel like CLI validate --json: {"id":76,"jsonrpc":"2.0","result":{"content":[{"text":"path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/invalid-name/Bad_Name/SKILL.md (pass a SKILL.md file or a package directory that contains SKILL.md)","type":"text"}],"error":"path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/invalid-name/Bad_Name/SKILL.md (pass a SKILL.md file or a package directory that contains SKILL.md)","error_kind":"unreadable","isError":true,"path":"/opt/rustwide/workdir/../../tests/corpus/agentskills/invalid-name/Bad_Name/SKILL.md"}}
[INFO] [stdout]   left: String("unreadable")
[INFO] [stdout]  right: "parse_error"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc516b2a3 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x569dc508ac0a - core[a373ad73a504971]::panicking::assert_failed::<serde_json[9d26dc4e0bbd8046]::value::Value, &str>
[INFO] [stdout]   13:     0x569dc5023822 - craftbag[7d8e430dcb5163ad]::discover::path::with_home_lock::<(), craftbag_mcp[722c40d30eaaa4b1]::tests::skills_validate_invalid_name_peels_parse_error::{closure#0}>
[INFO] [stdout]   14:     0x569dc505c7bf - <craftbag_mcp[722c40d30eaaa4b1]::tests::skills_validate_invalid_name_peels_parse_error::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   21:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::skills_validate_corpus_ok stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::skills_validate_corpus_ok' (989) panicked at src/main.rs:1162:13:
[INFO] [stdout] assertion `left == right` failed: MCP must expose CLI validate: path does not exist: /opt/rustwide/workdir/../../tests/corpus/agentskills/minimal-valid (pass a SKILL.md file or a package directory that contains SKILL.md)
[INFO] [stdout]   left: Bool(true)
[INFO] [stdout]  right: false
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc516b2a3 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x569dc508ac41 - core[a373ad73a504971]::panicking::assert_failed::<serde_json[9d26dc4e0bbd8046]::value::Value, bool>
[INFO] [stdout]   13:     0x569dc50142a1 - craftbag[7d8e430dcb5163ad]::discover::path::with_home_lock::<(), craftbag_mcp[722c40d30eaaa4b1]::tests::skills_validate_corpus_ok::{closure#0}>
[INFO] [stdout]   14:     0x569dc5040eaf - <craftbag_mcp[722c40d30eaaa4b1]::tests::skills_validate_corpus_ok::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   21:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::skills_why_parse_error_keeps_name stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::skills_why_parse_error_keeps_name' (1009) panicked at src/main.rs:3570:13:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Bool(true)
[INFO] [stdout]  right: false
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x569dc5154ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x569dc516abca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x569dc51595ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x569dc512f036 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x569dc514c519 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x569dc509c5f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x569dc514c6d2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x569dc512f0e2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x569dc5127bd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x569dc512fe9d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x569dc516b32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x569dc516b243 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x569dc508ac41 - core[a373ad73a504971]::panicking::assert_failed::<serde_json[9d26dc4e0bbd8046]::value::Value, bool>
[INFO] [stdout]   13:     0x569dc501a93c - craftbag[7d8e430dcb5163ad]::discover::path::with_home_lock::<(), craftbag_mcp[722c40d30eaaa4b1]::tests::skills_why_parse_error_keeps_name::{closure#0}>
[INFO] [stdout]   14:     0x569dc504b26f - <craftbag_mcp[722c40d30eaaa4b1]::tests::skills_why_parse_error_keeps_name::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x569dc508fa3b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x569dc509cc15 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x569dc5096504 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x569dc509fca2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x569dc515456f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x74a2c1a53dfa - <unknown>
[INFO] [stdout]   21:     0x74a2c1ae73d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::list_catalog_prints_markdown_names
[INFO] [stdout]     tests::list_json_shape
[INFO] [stdout]     tests::list_json_vendor_claude_loads_user_home_layout
[INFO] [stdout]     tests::list_json_vendor_cursor_loads_user_home_layout
[INFO] [stdout]     tests::list_json_vendor_grok_loads_user_home_layout
[INFO] [stdout]     tests::list_watch_dirs_format_matches_watch
[INFO] [stdout]     tests::list_watch_prints_extra_collection_dirs
[INFO] [stdout]     tests::list_watch_vendor_claude_lists_user_home
[INFO] [stdout]     tests::list_watch_vendor_cursor_lists_user_home
[INFO] [stdout]     tests::list_watch_vendor_grok_lists_user_home
[INFO] [stdout]     tests::list_xml_shape
[INFO] [stdout]     tests::skills_list_and_load_and_why
[INFO] [stdout]     tests::skills_load_parse_error_skip_is_not_unknown
[INFO] [stdout]     tests::skills_validate_corpus_ok
[INFO] [stdout]     tests::skills_validate_invalid_name_peels_parse_error
[INFO] [stdout]     tests::skills_why_parse_error_keeps_name
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 120 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin craftbag-mcp`
[INFO] running `Command { std: "docker" "inspect" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa", kill_on_drop: false }`
[INFO] [stdout] cf8a731781362d5625c94c8e353fd92e03be710dab6f14629da827a990e198fa
