[INFO] fetching crate skillshub 1.0.3...
[INFO] testing skillshub-1.0.3 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate skillshub 1.0.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate skillshub 1.0.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate skillshub 1.0.3
[INFO] tweaked toml for crates.io crate skillshub 1.0.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate skillshub 1.0.3 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate skillshub 1.0.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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7f74fc76d955c61c03b06e7b1d3b8f83038c19864ef8b124168195c28ff833dc
[INFO] running `Command { std: "docker" "start" "-a" "7f74fc76d955c61c03b06e7b1d3b8f83038c19864ef8b124168195c28ff833dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f74fc76d955c61c03b06e7b1d3b8f83038c19864ef8b124168195c28ff833dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f74fc76d955c61c03b06e7b1d3b8f83038c19864ef8b124168195c28ff833dc", kill_on_drop: false }`
[INFO] [stdout] 7f74fc76d955c61c03b06e7b1d3b8f83038c19864ef8b124168195c28ff833dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3472147e540e7a2f4098e138b4ef3b84b42cf8b97d44fc45173e9c2687066333
[INFO] running `Command { std: "docker" "start" "-a" "3472147e540e7a2f4098e138b4ef3b84b42cf8b97d44fc45173e9c2687066333", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling find-msvc-tools v0.1.8
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling papergrid v0.13.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling cc v1.2.53
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tabled_derive v0.9.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling tabled v0.17.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling skillshub v1.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.89s
[INFO] running `Command { std: "docker" "inspect" "3472147e540e7a2f4098e138b4ef3b84b42cf8b97d44fc45173e9c2687066333", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3472147e540e7a2f4098e138b4ef3b84b42cf8b97d44fc45173e9c2687066333", kill_on_drop: false }`
[INFO] [stdout] 3472147e540e7a2f4098e138b4ef3b84b42cf8b97d44fc45173e9c2687066333
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4c0b6e16e804942ec0339da17052faa2da56897a007de825044a8e275d4dc8a
[INFO] running `Command { std: "docker" "start" "-a" "e4c0b6e16e804942ec0339da17052faa2da56897a007de825044a8e275d4dc8a", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tabled_derive v0.9.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling retain_mut v0.1.9
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling infer v0.2.3
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling serial_test_derive v3.3.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde_qs v0.8.5
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tabled v0.17.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling serial_test v3.3.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling deadpool v0.9.5
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling wiremock v0.5.22
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling skillshub v1.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 58.31s
[INFO] running `Command { std: "docker" "inspect" "e4c0b6e16e804942ec0339da17052faa2da56897a007de825044a8e275d4dc8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4c0b6e16e804942ec0339da17052faa2da56897a007de825044a8e275d4dc8a", kill_on_drop: false }`
[INFO] [stdout] e4c0b6e16e804942ec0339da17052faa2da56897a007de825044a8e275d4dc8a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a3323c4a8902be3b2a1ae277441c85a82241cf081002db2c15f2f4cad394132c
[INFO] running `Command { std: "docker" "start" "-a" "a3323c4a8902be3b2a1ae277441c85a82241cf081002db2c15f2f4cad394132c", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/skillshub-78961d3b48ea354e)
[INFO] [stdout] 
[INFO] [stdout] running 189 tests
[INFO] [stdout] test agent::tests::test_known_agents_have_skills_subdir ... ok
[INFO] [stdout] test agent::tests::test_known_agent_names ... ok
[INFO] [stdout] test agent::tests::test_known_agent_names_format ... ok
[INFO] [stdout] test commands::external::tests::test_discover_external_skills_empty ... ok
[INFO] [stdout] test commands::external::tests::test_discover_external_skills_finds_real_dirs ... ok
[INFO] [stdout] test commands::clean::tests::test_is_skillshub_managed_link_false ... ok
[INFO] [stdout] test commands::clean::tests::test_is_skillshub_managed_link_true ... ok
[INFO] [stdout] test commands::clean::tests::test_clean_all_interactive_confirm_removes_state ... ok
[INFO] [stdout] test commands::clean::tests::test_is_skillshub_managed_link_not_symlink ... ok
[INFO] [stdout] test commands::clean::tests::test_clean_all_interactive_cancel_leaves_state_untouched ... ok
[INFO] [stdout] test commands::link::tests::test_collect_installed_skills_flattened ... ok
[INFO] [stdout] test commands::external::tests::test_external_skill_row_creation ... ok
[INFO] [stdout] test commands::clean::tests::test_clean_all_preserves_non_skillshub_symlinks ... ok
[INFO] [stdout] test commands::clean::tests::test_clean_all_confirm_removes_symlinks_and_skillshub_home ... ok
[INFO] [stdout] test registry::db::tests::test_add_and_remove_tap ... ok
[INFO] [stdout] test registry::db::tests::test_database_default_has_no_taps ... ok
[INFO] [stdout] test commands::clean::tests::test_clean_all_missing_skillshub_home_does_not_error ... ok
[INFO] [stdout] test registry::db::tests::test_add_and_remove_skill ... ok
[INFO] [stdout] test registry::db::tests::test_ensure_default_taps ... ok
[INFO] [stdout] test registry::db::tests::test_is_skill_installed ... ok
[INFO] [stdout] test registry::db::tests::test_get_skills_from_tap ... ok
[INFO] [stdout] test registry::db::tests::test_normalize_default_taps_multiple_defaults_with_canonical ... ok
[INFO] [stdout] test registry::db::tests::test_normalize_default_taps_no_defaults ... ok
[INFO] [stdout] test registry::db::tests::test_normalize_default_taps_single_default ... ok
[INFO] [stdout] test registry::db::tests::test_normalize_default_taps_multiple_defaults_without_canonical ... ok
[INFO] [stdout] test registry::git::tests::test_clone_dir_path_nested ... ok
[INFO] [stdout] test registry::git::tests::test_clone_dir_path_owner_repo ... ok
[INFO] [stdout] test registry::git::tests::test_clone_dir_path_single_name ... ok
[INFO] [stdout] test registry::git::tests::test_check_git ... ok
[INFO] [stdout] test registry::db::tests::test_external_skill_operations ... ok
[INFO] [stdout] test agent::tests::test_discover_agents_returns_vec ... ok
[INFO] [stderr] Cloning into '/tmp/.tmpBDYfAT/clone'...
[INFO] [stderr] Cloning into '/tmp/.tmprlpTlS/clone'...
[INFO] [stdout] test commands::doctor::tests::test_doctor_healthy_clone ... ok
[INFO] [stdout] test commands::doctor::tests::test_doctor_missing_clone ... ok
[INFO] [stderr] Cloning into '/nonexistent/parent/dir/repo'...
[INFO] [stdout] test commands::doctor::tests::test_doctor_missing_skill_files ... ok
[INFO] [stdout] test commands::doctor::tests::test_doctor_orphan_clone ... ok
[INFO] [stdout] test commands::doctor::tests::test_doctor_no_taps ... ok
[INFO] [stdout] test paths::tests::test_get_skills_install_dir ... ok
[INFO] [stdout] test paths::tests::test_display_path_with_tilde_home_path ... ok
[INFO] [stdout] test paths::tests::test_display_path_with_tilde_non_home_path ... ok
[INFO] [stderr] fatal: unable to access 'https://github.com/octocat/Hello-World.git/': Could not resolve host: github.com
[INFO] [stderr] Cloning into '/tmp/.tmpvyLTZY/clone'...
[INFO] [stdout] test paths::tests::test_get_home_dir_uses_env_override ... ok
[INFO] [stderr] fatal: not a git repository (or any of the parent directories): .git
[INFO] [stdout] test paths::tests::test_get_skillshub_home ... ok
[INFO] [stdout] test paths::tests::test_get_tap_clone_dir ... ok
[INFO] [stdout] test registry::github::tests::test_backoff_capped_at_max ... ok
[INFO] [stdout] test registry::git::tests::test_git_clone_invalid_dest_parent ... ok
[INFO] [stderr] Cloning into '/tmp/.tmpeo5sXm/clone'...
[INFO] [stdout] test registry::github::tests::test_backoff_duration_exponential ... ok
[INFO] [stdout] test registry::git::tests::test_git_head_sha_non_repo ... ok
[INFO] [stdout] test paths::tests::test_get_taps_clone_dir ... ok
[INFO] [stdout] test registry::git::tests::test_git_pull_non_repo ... ok
[INFO] [stdout] test registry::github::tests::test_discover_skills_from_gist_rejects_path_traversal_name ... ok
[INFO] [stdout] test registry::github::tests::test_discover_skills_from_gist_rejects_slash_in_name ... ok
[INFO] [stdout] test registry::github::tests::test_extract_skill_paths_deep_nesting ... ok
[INFO] [stdout] test registry::github::tests::test_discover_skills_from_gist_with_skill_md ... ok
[INFO] [stdout] test registry::github::tests::test_extract_skill_paths_no_skills ... ok
[INFO] [stdout] test registry::github::tests::test_discover_skills_from_gist_skill_md_takes_priority ... ok
[INFO] [stdout] test registry::github::tests::test_extract_skill_paths_root_and_subdirectory ... ok
[INFO] [stdout] test registry::github::tests::test_extract_skill_paths_root_level ... ok
[INFO] [stdout] test registry::github::tests::test_extract_skill_paths_subdirectory ... ok
[INFO] [stdout] test registry::github::tests::test_discover_skills_from_gist_no_valid_skills ... ok
[INFO] [stdout] test registry::github::tests::test_extract_skill_paths_ignores_trees ... ok
[INFO] [stdout] test registry::github::tests::test_discover_skills_from_gist_multiple_valid_files ... ok
[INFO] [stdout] test registry::git::tests::test_ensure_clone_noop_healthy ... ok
[INFO] [stdout] test registry::github::tests::test_gist_response_deserialize ... ok
[INFO] [stdout] test registry::github::tests::test_gist_response_multiple_files ... ok
[INFO] [stderr] Cloning into '/tmp/.tmpaYiktH/clone'...
[INFO] [stderr] Cloning into '/tmp/.tmp1cJfFS/clone'...
[INFO] [stderr] Cloning into '/tmp/.tmpHvWyBr/clone'...
[INFO] [stdout] test registry::git::tests::test_ensure_clone_creates_missing ... ok
[INFO] [stdout] test registry::github::tests::test_is_gist_url ... ok
[INFO] [stdout] test registry::github::tests::test_is_safe_skill_name_rejects_path_traversal ... ok
[INFO] [stdout] test registry::github::tests::test_is_safe_skill_name_valid ... ok
[INFO] [stdout] test registry::github::tests::test_is_valid_repo_id ... ok
[INFO] [stdout] test registry::github::tests::test_is_valid_repo_id_invalid ... ok
[INFO] [stderr] Cloning into '/tmp/.tmphUYwsF/clone'...
[INFO] [stderr] Cloning into '/tmp/.tmpnVNqAP/clone'...
[INFO] [stderr] Cloning into '/tmp/.tmpbWUkbs/clone'...
[INFO] [stderr] warning: Could not find remote branch nonexistent-branch-xyz to clone.
[INFO] [stderr] fatal: Remote branch nonexistent-branch-xyz not found in upstream origin
[INFO] [stdout] test registry::git::tests::test_git_clone_with_invalid_branch_local ... ok
[INFO] [stderr] Cloning into '/tmp/.tmpeo5sXm/clone'...
[INFO] [stdout] test registry::git::tests::test_ensure_clone_repairs_corrupted ... ok
[INFO] [stdout] test registry::github::tests::test_parse_gist_url_full ... ok
[INFO] [stdout] test registry::github::tests::test_parse_gist_url_http ... ok
[INFO] [stdout] test registry::github::tests::test_parse_gist_url_no_protocol ... ok
[INFO] [stdout] test registry::github::tests::test_parse_gist_url_not_a_gist ... ok
[INFO] [stdout] test registry::github::tests::test_parse_gist_url_trailing_slash ... ok
[INFO] [stdout] test registry::github::tests::test_parse_gist_url_with_revision ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_invalid ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_no_protocol ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_repo_id_simple ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_repo_id_with_dots ... ok
[INFO] [stdout] test registry::git::tests::test_git_clone_with_branch_local ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_repo_id_with_underscores ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_repo_id_with_hyphens ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_trailing_slash ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_with_branch ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_with_master_branch ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_with_path ... ok
[INFO] [stderr] Cloning into '/tmp/.tmpvyLTZY/clone'...
[INFO] [stdout] Updating 1e933de..e999e56
[INFO] [stdout] Fast-forward
[INFO] [stdout]  new-file.txt | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 new-file.txt
[INFO] [stdout] test registry::git::tests::test_pull_or_reclone_happy_path ... ok
[INFO] [stdout] test registry::github::tests::test_parse_skill_md_content_invalid ... ok
[INFO] [stdout] test registry::github::tests::test_parse_skill_md_content_no_description ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_invalid_extra_segments ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_invalid_missing_lists ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_invalid_not_github ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_invalid_wrong_format ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_no_protocol ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_trailing_slash ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_valid_http ... ok
[INFO] [stdout] test registry::github::tests::test_parse_star_list_url_valid_https ... ok
[INFO] [stdout] test registry::github::tests::test_parse_github_url_simple ... ok
[INFO] [stderr] hint: Diverging branches can't be fast-forwarded, you need to either:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git merge --no-ff
[INFO] [stderr] hint: 
[INFO] [stderr] hint: or:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git rebase
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Disable this message with "git config advice.diverging false"
[INFO] [stderr] fatal: Not possible to fast-forward, aborting.
[INFO] [stderr] Cloning into '/tmp/.tmphUYwsF/clone'...
[INFO] [stdout] test registry::github::tests::test_parse_skill_md_content ... ok
[INFO] [stderr] Cloning into '/tmp/.tmpaYiktH/clone'...
[INFO] [stdout] Updating 1e933de..73368ee
[INFO] [stdout] Fast-forward
[INFO] [stdout] test registry::git::tests::test_ensure_clone_reclones_wrong_branch ... ok
[INFO] [stdout] test registry::github::tests::test_build_client_succeeds ... ok
[INFO] [stdout] test registry::github::tests::test_simple_jitter_ms_in_range ... ok
[INFO] [stdout]  pulled-file.txt | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 pulled-file.txt
[INFO] [stdout] test registry::migration::tests::test_is_tap_directory_empty ... ok
[INFO] [stdout] test registry::git::tests::test_git_pull_local ... ok
[INFO] [stdout] test registry::migration::tests::test_is_tap_directory_with_skill ... ok
[INFO] [stdout] test registry::models::tests::test_database_default ... ok
[INFO] [stdout] test registry::migration::tests::test_is_tap_directory_without_skill ... ok
[INFO] [stdout] test registry::git::tests::test_pull_or_reclone_force_push ... ok
[INFO] [stdout] test registry::models::tests::test_github_url_with_no_branch ... ok
[INFO] [stdout] test registry::models::tests::test_installed_skill_gist_updated_at_field ... ok
[INFO] [stdout] test registry::models::tests::test_installed_skill_without_gist_updated_at_deserializes ... ok
[INFO] [stdout] test registry::models::tests::test_skill_id_parse_invalid ... ok
[INFO] [stdout] test registry::models::tests::test_skill_id_parse_legacy_format ... ok
[INFO] [stdout] test registry::models::tests::test_skill_id_parse_new_format ... ok
[INFO] [stdout] test registry::models::tests::test_skill_id_parse_with_commit ... ok
[INFO] [stdout] test registry::models::tests::test_tap_info_branch_none_not_serialized ... ok
[INFO] [stdout] test registry::models::tests::test_tap_info_deserialize_without_branch ... ok
[INFO] [stdout] test registry::models::tests::test_tap_info_deserialize_without_cache ... ok
[INFO] [stdout] test registry::models::tests::test_tap_info_roundtrip_with_cache ... ok
[INFO] [stdout] test registry::models::tests::test_tap_info_serialize ... ok
[INFO] [stdout] test registry::models::tests::test_tap_info_serialize_roundtrip_with_branch ... ok
[INFO] [stdout] test registry::git::tests::test_ensure_clone_repairs_wrong_remote ... ok
[INFO] [stdout] test registry::models::tests::test_skill_id_full_name ... ok
[INFO] [stdout] test registry::skill::tests::test_copy_dir_contents_handles_empty_dir ... ok
[INFO] [stdout] test registry::skill::tests::test_copy_dir_contents_copies_tree ... ok
[INFO] [stdout] test registry::skill::tests::test_format_extras_neither ... ok
[INFO] [stdout] test registry::skill::tests::test_format_extras_refs_only ... ok
[INFO] [stdout] test registry::models::tests::test_tap_info_with_cached_registry ... ok
[INFO] [stdout] test registry::skill::tests::test_format_extras_scripts_only ... ok
[INFO] [stdout] test registry::skill::tests::test_format_extras_both ... ok
[INFO] [stdout] test registry::skill::tests::test_install_all_from_tap_internal_skips_gist_taps ... ok
[INFO] [stdout] test registry::skill::tests::test_install_from_local_nonexistent_skill_returns_error ... ok
[INFO] [stdout] test registry::tap::tests::test_count_installed_skills ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_empty_repo_bails ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_finds_root_level_skill ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_finds_skills_in_subdirs ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_skips_git_dir ... ok
[INFO] [stdout] test registry::github::tests::test_fetch_gist_multi_skill ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_skips_malicious_directory_traversal_name ... ok
[INFO] [stdout] test registry::github::tests::test_no_retry_on_404 ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_skips_malicious_frontmatter_name ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_warns_malformed_skill_md ... ok
[INFO] [stdout] test registry::tap::tests::test_format_skills_count_equal ... ok
[INFO] [stdout] test registry::tap::tests::test_format_skills_count_inconsistent ... ok
[INFO] [stdout] test registry::tap::tests::test_format_skills_count_unknown ... ok
[INFO] [stdout] test registry::tap::tests::test_format_skills_count_zero_installed ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_warns_duplicate_names ... ok
[INFO] [stdout] test registry::tap::tests::test_format_skills_count_known ... ok
[INFO] [stdout] test registry::github::tests::test_retry_on_429 ... ok
[INFO] [stdout] test registry::github::tests::test_no_retry_on_regular_403 ... ok
[INFO] [stdout] test registry::tap::tests::test_tap_update_detects_new_skills ... ok
[INFO] [stdout] test registry::tap::tests::test_tap_update_detects_removed_installed_skills ... ok
[INFO] [stdout] test registry::tap::tests::test_tap_update_detects_removed_skills ... ok
[INFO] [stdout] test registry::tap::tests::test_tap_update_from_empty_cache ... ok
[INFO] [stdout] test registry::tap::tests::test_tap_update_no_change ... ok
[INFO] [stdout] test registry::tap::tests::test_truncate_url_long ... ok
[INFO] [stdout] test registry::tap::tests::test_discover_skips_test_fixtures_dirs ... ok
[INFO] [stdout] test skill::tests::test_discover_skills_empty_dir ... ok
[INFO] [stdout] test skill::tests::test_discover_skills_nonexistent_dir ... ok
[INFO] [stdout] test skill::tests::test_discover_skills_with_skills ... ok
[INFO] [stdout] test skill::tests::test_parse_skill_metadata_basic ... ok
[INFO] [stdout] test skill::tests::test_parse_skill_metadata_missing_frontmatter ... ok
[INFO] [stdout] test skill::tests::test_parse_skill_metadata_optional_fields_absent ... ok
[INFO] [stdout] test skill::tests::test_parse_skill_metadata_with_allowed_tools_array ... ok
[INFO] [stdout] test skill::tests::test_parse_skill_metadata_with_allowed_tools_string ... ok
[INFO] [stdout] test skill::tests::test_parse_skill_metadata_with_license_and_version_metadata ... ok
[INFO] [stdout] test util::tests::test_copy_dir_contents_copies_tree ... ok
[INFO] [stdout] test util::tests::test_copy_dir_contents_handles_empty_dir ... ok
[INFO] [stdout] test util::tests::test_copy_dir_contents_skips_symlinks ... ok
[INFO] [stdout] test registry::tap::tests::test_truncate_url_short ... ok
[INFO] [stdout] test util::tests::test_truncate_string ... ok
[INFO] [stdout] test util::tests::test_truncate_string_multibyte ... ok
[INFO] [stdout] test registry::github::tests::test_fetch_gist_via_api ... ok
[INFO] [stdout] test registry::models::tests::test_github_url_methods ... ok
[INFO] [stdout] test registry::tap::tests::test_remove_tap_cleans_up_clone_dir ... ok
[INFO] [stdout] test registry::tap::tests::test_remove_tap_no_clone_dir ... ok
[INFO] [stdout] test registry::tap::tests::test_remove_tap_no_skills ... ok
[INFO] [stdout] test registry::tap::tests::test_remove_tap_keep_skills ... ok
[INFO] [stdout] test registry::tap::tests::test_remove_tap_uninstalls_skills ... ok
[INFO] [stdout] test util::tests::test_no_color_env_suppresses_ansi_codes ... ok
[INFO] [stdout] test registry::github::tests::test_send_with_retry_success ... ok
[INFO] [stdout] test registry::github::tests::test_fetch_gist_not_found ... ok
[INFO] [stdout] test registry::github::tests::test_retry_on_server_error ... ok
[INFO] [stdout] test registry::github::tests::test_fetch_star_list_repos_with_mock ... ok
[INFO] [stdout] test registry::github::tests::test_gives_up_after_max_retries ... ok
[INFO] [stdout] test registry::github::tests::test_fetch_star_list_repos_list_not_found ... ok
[INFO] [stdout] test registry::github::tests::test_retry_on_403_rate_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 189 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.24s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/agent_linking_test.rs (/opt/rustwide/target/debug/deps/agent_linking_test-355587a9678c04fd)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test common::fixtures::tests::test_skill_md_generation ... ok
[INFO] [stdout] test common::fixtures::tests::test_skill_md_with_tools ... ok
[INFO] [stdout] test common::test_env::tests::test_create_agent ... ok
[INFO] [stdout] test common::mock_github::tests::test_mock_server_starts ... ok
[INFO] [stdout] test common::test_env::tests::test_env_creates_directories ... ok
[INFO] [stdout] test common::test_env::tests::test_create_skill ... ok
[INFO] [stdout] test test_all_known_agents ... ok
[INFO] [stdout] test test_agent_without_skills_directory ... ok
[INFO] [stdout] test test_link_idempotency ... ok
[INFO] [stdout] test test_linked_agents_tracking ... ok
[INFO] [stdout] test test_link_same_skill_to_multiple_agents ... ok
[INFO] [stdout] test test_old_style_symlink_detection ... ok
[INFO] [stdout] test test_discover_agents_with_test_home ... ok
[INFO] [stdout] test test_existing_file_not_overwritten ... ok
[INFO] [stdout] test test_convert_old_style_symlink_to_directory ... ok
[INFO] [stdout] test test_link_multiple_skills_to_agent ... ok
[INFO] [stdout] test test_link_workflow_setup ... ok
[INFO] [stdout] test test_manual_link_workflow ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_with_skill_creates_skill_md ... ok
[INFO] [stdout] test test_broken_symlink_handling ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_creates_valid_git_repo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/completions_test.rs (/opt/rustwide/target/debug/deps/completions_test-41ee8e611d3859c3)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_completions_invalid_shell_fails ... ok
[INFO] [stdout] test test_completions_zsh_produces_output ... ok
[INFO] [stdout] test test_completions_bash_produces_output ... ok
[INFO] [stdout] test test_completions_fish_produces_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/database_test.rs (/opt/rustwide/target/debug/deps/database_test-b862e7732b080eb4)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test common::fixtures::tests::test_skill_md_generation ... ok
[INFO] [stdout] test common::fixtures::tests::test_skill_md_with_tools ... ok
[INFO] [stdout] test common::test_env::tests::test_create_agent ... ok
[INFO] [stdout] test common::test_env::tests::test_env_creates_directories ... ok
[INFO] [stdout] test common::mock_github::tests::test_mock_server_starts ... ok
[INFO] [stdout] test common::test_env::tests::test_create_skill ... ok
[INFO] [stdout] test test_db_file_created_on_first_run ... ok
[INFO] [stdout] test test_env_tests::test_env_directories_created ... ok
[INFO] [stdout] test test_db_persists_external_skills ... ok
[INFO] [stdout] test test_env_tests::test_create_external_skill ... ok
[INFO] [stdout] test test_env_tests::test_create_agent_creates_directory ... ok
[INFO] [stdout] test test_env_tests::test_create_agent_with_skills ... ok
[INFO] [stdout] test test_db_structure_roundtrip ... ok
[INFO] [stdout] test test_db_with_linked_agents ... ok
[INFO] [stdout] test test_db_handles_empty_file ... ok
[INFO] [stdout] test test_db_persists_installed_skills ... ok
[INFO] [stdout] test test_db_persists_multiple_taps ... ok
[INFO] [stdout] test test_env_tests::test_create_skill ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_creates_valid_git_repo ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_with_skill_creates_skill_md ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/external_skills_test.rs (/opt/rustwide/target/debug/deps/external_skills_test-4e1502529965d665)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test common::fixtures::tests::test_skill_md_generation ... ok
[INFO] [stdout] test common::test_env::tests::test_env_creates_directories ... ok
[INFO] [stdout] test common::mock_github::tests::test_mock_server_starts ... ok
[INFO] [stdout] test test_external_skill_not_symlink ... ok
[INFO] [stdout] test common::test_env::tests::test_create_agent ... ok
[INFO] [stdout] test test_broken_sync_link_detection ... ok
[INFO] [stdout] test test_external_skill_sync_to_all_agents ... ok
[INFO] [stdout] test common::fixtures::tests::test_skill_md_with_tools ... ok
[INFO] [stdout] test common::test_env::tests::test_create_skill ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_creates_valid_git_repo ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_with_skill_creates_skill_md ... ok
[INFO] [stdout] test test_external_skill_forget_tracking ... ok
[INFO] [stdout] test test_external_skills_in_multiple_agents ... ok
[INFO] [stdout] test test_external_skill_sync_via_symlink ... ok
[INFO] [stdout] test test_external_skill_has_skill_md ... ok
[INFO] [stdout] test test_external_skill_with_scripts ... ok
[INFO] [stdout] test test_external_skill_naming_convention ... ok
[INFO] [stdout] test test_multiple_external_skills ... ok
[INFO] [stdout] test test_external_skill_creation ... ok
[INFO] [stdout] test test_external_skill_db_tracking ... ok
[INFO] [stdout] test test_distinguish_external_from_linked ... ok
[INFO] [stdout] test test_multiple_external_skills_db ... ok
[INFO] [stderr]      Running tests/local_skill_test.rs (/opt/rustwide/target/debug/deps/local_skill_test-fd3680892cce761a)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test common::fixtures::tests::test_skill_md_with_tools ... ok
[INFO] [stdout] test common::test_env::tests::test_create_agent ... ok
[INFO] [stdout] test common::test_env::tests::test_create_skill ... ok
[INFO] [stdout] test test_agent_with_skills_subdirectory ... ok
[INFO] [stdout] test test_skill_with_references_directory ... ok
[INFO] [stdout] test test_external_skill_sync_to_other_agents ... ok
[INFO] [stdout] test test_external_skill_in_agent_directory ... ok
[INFO] [stdout] test test_agent_directory_creation ... ok
[INFO] [stdout] test common::test_env::tests::test_env_creates_directories ... ok
[INFO] [stdout] test test_skill_with_scripts_directory ... ok
[INFO] [stdout] test common::fixtures::tests::test_skill_md_generation ... ok
[INFO] [stdout] test test_skills_from_multiple_taps ... ok
[INFO] [stdout] test test_symlink_creation ... ok
[INFO] [stdout] test test_multiple_skills_from_same_tap ... ok
[INFO] [stdout] test test_skill_directory_structure ... ok
[INFO] [stdout] test test_db_with_installed_skill_structure ... ok
[INFO] [stdout] test test_skill_md_content_parsing ... ok
[INFO] [stdout] test test_symlink_to_multiple_agents ... ok
[INFO] [stdout] test common::mock_github::tests::test_mock_server_starts ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_creates_valid_git_repo ... ok
[INFO] [stdout] test common::tests::test_init_test_repo_with_skill_creates_skill_md ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a3323c4a8902be3b2a1ae277441c85a82241cf081002db2c15f2f4cad394132c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3323c4a8902be3b2a1ae277441c85a82241cf081002db2c15f2f4cad394132c", kill_on_drop: false }`
[INFO] [stdout] a3323c4a8902be3b2a1ae277441c85a82241cf081002db2c15f2f4cad394132c
