[INFO] fetching crate upskill 0.3.1...
[INFO] testing upskill-0.3.1 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate upskill 0.3.1 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate upskill 0.3.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate upskill 0.3.1
[INFO] tweaked toml for crates.io crate upskill 0.3.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate upskill 0.3.1 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate upskill 0.3.1 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_yaml_ng v0.10.0
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded pulldown-cmark-escape v0.11.0
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded dprint-core-macros v0.1.0
[INFO] [stderr]   Downloaded pulldown-cmark v0.11.3
[INFO] [stderr]   Downloaded clap_mangen v0.2.33
[INFO] [stderr]   Downloaded ctrlc v3.5.2
[INFO] [stderr]   Downloaded roff v1.1.1
[INFO] [stderr]   Downloaded assert_cmd v2.2.0
[INFO] [stderr]   Downloaded dprint-plugin-markdown v0.21.1
[INFO] [stderr]   Downloaded dprint-core v0.67.4
[INFO] [stderr]   Downloaded bstr v1.12.1
[INFO] [stderr]   Downloaded nix v0.31.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 53d839da589feb0ec44290221179797726a5ef565705a9d571358dba14687b30
[INFO] running `Command { std: "docker" "start" "-a" "53d839da589feb0ec44290221179797726a5ef565705a9d571358dba14687b30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53d839da589feb0ec44290221179797726a5ef565705a9d571358dba14687b30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53d839da589feb0ec44290221179797726a5ef565705a9d571358dba14687b30", kill_on_drop: false }`
[INFO] [stdout] 53d839da589feb0ec44290221179797726a5ef565705a9d571358dba14687b30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4c8eaa89530b9ced9ce6e35c0f46d76858252e9a664c7fbdb609b01ca4e9c2b
[INFO] running `Command { std: "docker" "start" "-a" "e4c8eaa89530b9ced9ce6e35c0f46d76858252e9a664c7fbdb609b01ca4e9c2b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling pulldown-cmark v0.11.3
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling dprint-core-macros v0.1.0
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling colored v3.1.1
[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 serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[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 thiserror v2.0.18
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling dprint-core v0.67.4
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling dprint-plugin-markdown v0.21.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling upskill v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "e4c8eaa89530b9ced9ce6e35c0f46d76858252e9a664c7fbdb609b01ca4e9c2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4c8eaa89530b9ced9ce6e35c0f46d76858252e9a664c7fbdb609b01ca4e9c2b", kill_on_drop: false }`
[INFO] [stdout] e4c8eaa89530b9ced9ce6e35c0f46d76858252e9a664c7fbdb609b01ca4e9c2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2950ba606443afcf7c6d9d4070adba1160680d946724bb027d876bd7a9581b37
[INFO] running `Command { std: "docker" "start" "-a" "2950ba606443afcf7c6d9d4070adba1160680d946724bb027d876bd7a9581b37", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling roff v1.1.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling clap_mangen v0.2.33
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling dprint-plugin-markdown v0.21.1
[INFO] [stderr]    Compiling upskill v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 42.32s
[INFO] running `Command { std: "docker" "inspect" "2950ba606443afcf7c6d9d4070adba1160680d946724bb027d876bd7a9581b37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2950ba606443afcf7c6d9d4070adba1160680d946724bb027d876bd7a9581b37", kill_on_drop: false }`
[INFO] [stdout] 2950ba606443afcf7c6d9d4070adba1160680d946724bb027d876bd7a9581b37
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 139c17678fac039cf41f23bec1fbaed32aad07ba09204ad3871043d57b255586
[INFO] running `Command { std: "docker" "start" "-a" "139c17678fac039cf41f23bec1fbaed32aad07ba09204ad3871043d57b255586", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/upskill-5b1d90aab921198e)
[INFO] [stdout] 
[INFO] [stdout] running 168 tests
[INFO] [stdout] test ancillary::tests::creates_claude_md_when_absent ... ok
[INFO] [stdout] test ancillary::tests::opencode_adds_instructions_when_field_absent ... ok
[INFO] [stdout] test ancillary::tests::opencode_errors_on_non_array_instructions ... ok
[INFO] [stdout] test ancillary::tests::opencode_errors_on_non_object_top_level ... ok
[INFO] [stdout] test ancillary::tests::opencode_preserves_existing_entry ... ok
[INFO] [stdout] test ancillary::tests::preserves_existing_claude_md_verbatim ... ok
[INFO] [stdout] test ancillary::tests::opencode_no_rules_is_no_op ... ok
[INFO] [stdout] test ancillary::tests::opencode_creates_file_when_absent_and_has_rules ... ok
[INFO] [stdout] test ancillary::tests::second_call_after_create_is_preserve ... ok
[INFO] [stdout] test ancillary::tests::vscode_adds_key_when_absent ... ok
[INFO] [stdout] test ancillary::tests::vscode_appends_when_key_present_without_path ... ok
[INFO] [stdout] test ancillary::tests::vscode_errors_on_non_object_top_level ... ok
[INFO] [stdout] test ancillary::tests::opencode_appends_when_instructions_present_without_entry ... ok
[INFO] [stdout] test ancillary::tests::vscode_preserves_when_path_already_true ... ok
[INFO] [stdout] test ancillary::tests::vscode_creates_file_when_absent_and_has_rules ... ok
[INFO] [stdout] test ancillary::tests::vscode_errors_on_non_object_instructions_value ... ok
[INFO] [stdout] test ancillary::tests::vscode_preserves_when_path_explicitly_false ... ok
[INFO] [stdout] test auth::tests::gitlab_token_accessor ... ok
[INFO] [stdout] test auth::tests::gh_token_env_is_used_as_fallback ... ok
[INFO] [stdout] test auth::tests::empty_env_vars_are_ignored ... ok
[INFO] [stdout] test auth::tests::github_token_env_is_used ... ok
[INFO] [stdout] test auth::tests::github_token_takes_precedence ... ok
[INFO] [stdout] test auth::tests::gl_token_env_is_used_as_fallback ... ok
[INFO] [stdout] test auth::tests::gitlab_token_env_is_used ... ok
[INFO] [stdout] test auth::tests::token_accessor ... ok
[INFO] [stdout] test bundle::tests::resolve_errors_on_cycle ... ok
[INFO] [stdout] test bundle::tests::resolve_errors_on_missing_requirement ... ok
[INFO] [stdout] test bundle::tests::resolve_dedupe_path_diamond_does_not_error ... ok
[INFO] [stdout] test bundle::tests::resolve_errors_on_item_conflict ... ok
[INFO] [stdout] test bundle::tests::resolve_single_bundle_with_no_requires ... ok
[INFO] [stdout] test bundle::tests::resolve_unions_items_across_bundles ... ok
[INFO] [stdout] test bundle::tests::resolve_walks_requires_in_dependency_order ... ok
[INFO] [stdout] test fetch::tests::cleanup_removes_directory ... ok
[INFO] [stdout] test auth::tests::whitespace_only_env_vars_are_ignored ... ok
[INFO] [stdout] test auth::tests::gitlab_token_takes_precedence ... ok
[INFO] [stdout] test fmt::tests::canonicalise_is_idempotent ... ok
[INFO] [stdout] test fmt::tests::canonicalise_preserves_body_byte_for_byte ... ok
[INFO] [stdout] test fetch::tests::copy_skills_skips_dot_git ... ok
[INFO] [stdout] test fetch::tests::copy_skills_preserves_nested_dirs ... ok
[INFO] [stdout] test ancillary::tests::vscode_no_rules_is_no_op ... ok
[INFO] [stdout] test bundle::tests::resolve_allows_same_name_in_different_kinds ... ok
[INFO] [stdout] test fmt::tests::fmt_refuses_consumer_project ... ok
[INFO] [stdout] test generate::directives::tests::negative_strips_only_for_listed_client ... ok
[INFO] [stdout] test fmt::tests::fmt_skips_already_canonical_files ... ok
[INFO] [stdout] test generate::directives::tests::positive_kept_for_listed_client ... ok
[INFO] [stdout] test generate::directives::tests::positive_stripped_for_other_clients ... ok
[INFO] [stdout] test generate::directives::tests::surrounding_blank_lines_collapsed_on_strip ... ok
[INFO] [stdout] test fmt::tests::fmt_handles_rule_with_scope ... ok
[INFO] [stdout] test fmt::tests::fmt_handles_bundle ... ok
[INFO] [stdout] test generate::directives::tests::unbalanced_unclosed_errors ... ok
[INFO] [stdout] test generate::directives::tests::unbalanced_close_without_open_errors ... ok
[INFO] [stdout] test generate::directives::tests::unknown_client_identifier_errors ... ok
[INFO] [stdout] test fmt::tests::canonicalise_reorders_keys ... ok
[INFO] [stdout] test generate::directives::tests::nested_directive_errors ... ok
[INFO] [stdout] test lint::tests::lint_clean_skill_yields_no_findings ... ok
[INFO] [stdout] test lint::tests::lint_detects_h1_in_body ... ok
[INFO] [stdout] test lint::tests::lint_detects_fence_without_language ... ok
[INFO] [stdout] test lint::tests::lint_flags_bundle_filename_mismatch ... ok
[INFO] [stdout] test lint::tests::lint_flags_name_directory_mismatch ... ok
[INFO] [stdout] test lint::tests::lint_refuses_consumer_project ... ok
[INFO] [stdout] test lint::tests::lint_flags_unbalanced_directive ... ok
[INFO] [stdout] test lint::tests::lint_strict_promotes_warnings_to_errors ... ok
[INFO] [stdout] test lockfile::tests::items_are_sorted_for_deterministic_output ... ok
[INFO] [stdout] test lockfile::tests::items_from_report_dedupes_per_kind_name ... ok
[INFO] [stdout] test lockfile::tests::load_missing_file_returns_empty ... ok
[INFO] [stdout] test lint::tests::lint_skips_h1_inside_fence ... ok
[INFO] [stdout] test lockfile::tests::load_rejects_unrecognised_shape ... ok
[INFO] [stdout] test generate::format::tests::empty_input_clean ... ok
[INFO] [stdout] test generate::format::tests::already_canonical_idempotent ... ok
[INFO] [stdout] test lockfile::tests::new_lockfile_has_current_schema ... ok
[INFO] [stdout] test lockfile::tests::load_rejects_newer_schema ... ok
[INFO] [stdout] test generate::format::tests::wrap_width_config_takes_effect ... ok
[INFO] [stdout] test parse::bundle::tests::discover_empty_when_root_missing_or_no_bundles ... ok
[INFO] [stdout] test lockfile::tests::remove_filters_by_kind_and_name ... ok
[INFO] [stdout] test lockfile::tests::upsert_keeps_distinct_kinds_separate ... ok
[INFO] [stdout] test lockfile::tests::upsert_replaces_existing_item_with_same_kind_and_name ... ok
[INFO] [stdout] test lockfile::tests::save_and_load_roundtrip ... ok
[INFO] [stdout] test parse::bundle::tests::load_parses_requires_with_and_without_version ... ok
[INFO] [stdout] test parse::bundle::tests::load_accepts_empty_items_when_only_requires ... ok
[INFO] [stdout] test parse::bundle::tests::load_rejects_string_form_requires ... ok
[INFO] [stdout] test parse::frontmatter::tests::agent_appendix_a4_round_trip ... ok
[INFO] [stdout] test parse::frontmatter::tests::metadata_unknown_keys_preserved ... ok
[INFO] [stdout] test parse::bundle::tests::discover_finds_bundles_recursively_anywhere_in_tree ... ok
[INFO] [stdout] test parse::bundle::tests::load_round_trips_format_spec_example ... ok
[INFO] [stdout] test parse::frontmatter::tests::parse_rejects_schema_2 ... ok
[INFO] [stdout] test parse::frontmatter::tests::parse_rejects_missing_frontmatter ... ok
[INFO] [stdout] test parse::bundle::tests::load_rejects_filename_stem_mismatch ... ok
[INFO] [stdout] test parse::frontmatter::tests::rule_appendix_a2_round_trip ... ok
[INFO] [stdout] test parse::frontmatter::tests::skill_appendix_a3_round_trip ... ok
[INFO] [stdout] test parse::frontmatter::tests::split_basic ... ok
[INFO] [stdout] test parse::frontmatter::tests::split_empty_frontmatter ... ok
[INFO] [stdout] test parse::frontmatter::tests::split_no_fence_returns_none ... ok
[INFO] [stdout] test pipeline::tests::audience_none_targets_all_clients ... ok
[INFO] [stdout] test pipeline::tests::doctor_report_is_clean_when_all_buckets_empty ... ok
[INFO] [stdout] test pipeline::tests::doctor_report_not_clean_with_any_drift ... ok
[INFO] [stdout] test pipeline::tests::github_clone_url_is_https_dot_git ... ok
[INFO] [stdout] test pipeline::tests::gitlab_clone_url_uses_repo_host ... ok
[INFO] [stdout] test pipeline::tests::audience_subset_filters_other_clients ... ok
[INFO] [stdout] test pipeline::tests::inject_basic_auth_github_oauth_user ... ok
[INFO] [stdout] test pipeline::tests::inject_basic_auth_gitlab_oauth_user ... ok
[INFO] [stdout] test pipeline::tests::inject_basic_auth_percent_encodes_special_chars ... ok
[INFO] [stdout] test pipeline::tests::inject_basic_auth_rejects_empty_token ... ok
[INFO] [stdout] test pipeline::tests::inject_basic_auth_rejects_non_https ... ok
[INFO] [stdout] test pipeline::tests::kind_subdir_matches_install_pipeline_layout ... ok
[INFO] [stdout] test pipeline::tests::output_path_dispatches_to_per_kind_helper ... ok
[INFO] [stdout] test pipeline::tests::output_paths_match_spec ... ok
[INFO] [stdout] test pipeline::tests::parse_kind_rejects_unknown_string ... ok
[INFO] [stdout] test pipeline::tests::percent_encode_userinfo_passes_unreserved_unchanged ... ok
[INFO] [stdout] test pipeline::tests::parse_kind_round_trips_lockfile_strings ... ok
[INFO] [stdout] test pipeline::tests::percent_encode_userinfo_escapes_userinfo_separators ... ok
[INFO] [stdout] test scaffold::tests::parse_kind_round_trips_strings ... ok
[INFO] [stdout] test scaffold::tests::scaffold_refuses_consumer_project ... ok
[INFO] [stdout] test scaffold::tests::scaffold_refuses_existing_directory ... ok
[INFO] [stdout] test scaffold::tests::scaffold_agent_emits_subagent_sonnet_defaults ... ok
[INFO] [stdout] test scaffold::tests::scaffold_skill_writes_canonical_skill_md ... ok
[INFO] [stdout] test scaffold::tests::validate_name_accepts_canonical_forms ... ok
[INFO] [stdout] test scaffold::tests::validate_name_rejects_too_long ... ok
[INFO] [stdout] test search::tests::build_agent_succeeds_with_no_proxy ... ok
[INFO] [stdout] test search::tests::build_agent_succeeds_with_valid_proxy ... ok
[INFO] [stdout] test search::tests::proxy_from_env_falls_back_to_lowercase ... ok
[INFO] [stdout] test search::tests::proxy_from_env_ignores_empty_value ... ok
[INFO] [stdout] test search::tests::proxy_from_env_returns_none_when_unset ... ok
[INFO] [stdout] test source::tests::label_rejects_bare_string ... ok
[INFO] [stdout] test source::tests::label_rejects_gitlab_plus_without_host ... ok
[INFO] [stdout] test source::tests::label_roundtrip_github_full ... ok
[INFO] [stdout] test source::tests::label_roundtrip_github_minimal ... ok
[INFO] [stdout] test source::tests::label_roundtrip_gitlab_self_hosted ... ok
[INFO] [stdout] test search::tests::proxy_from_env_reads_https_proxy ... ok
[INFO] [stdout] test source::tests::label_roundtrip_gitlab_dot_com ... ok
[INFO] [stdout] test source::tests::label_roundtrip_local_path ... ok
[INFO] [stdout] test scaffold::tests::validate_name_rejects_invalid_forms ... ok
[INFO] [stdout] test source::tests::parse_github_source_with_subfolder ... ok
[INFO] [stdout] test source::tests::parse_github_source_without_subfolder ... ok
[INFO] [stdout] test source::tests::parse_github_url ... ok
[INFO] [stdout] test source::tests::parse_gitlab_prefix ... ok
[INFO] [stdout] test source::tests::parse_gitlab_prefix_with_ref ... ok
[INFO] [stdout] test source::tests::parse_gitlab_prefix_with_subfolder ... ok
[INFO] [stdout] test source::tests::parse_gitlab_url ... ok
[INFO] [stdout] test source::tests::parse_local_path_absolute ... ok
[INFO] [stdout] test source::tests::parse_local_path_dot_slash ... ok
[INFO] [stdout] test source::tests::parse_local_path_tilde_alone_expands_to_home ... ok
[INFO] [stdout] test source::tests::parse_local_path_dot_dot_slash ... ok
[INFO] [stdout] test source::tests::parse_local_path_tilde_expands_home ... ok
[INFO] [stdout] test source::tests::parse_ref_with_subfolder ... ok
[INFO] [stdout] test source::tests::parse_ref_branch ... ok
[INFO] [stdout] test source::tests::parse_selfhosted_gitlab_url ... ok
[INFO] [stdout] test parse::frontmatter::tests::split_strips_bom ... ok
[INFO] [stdout] test source::tests::parse_ref_commit_sha ... ok
[INFO] [stdout] test source::tests::parse_ref_tag ... ok
[INFO] [stdout] test source::tests::parse_selfhosted_gitlab_with_port ... ok
[INFO] [stdout] test source::tests::parse_valid_owner_repo ... ok
[INFO] [stdout] test source::tests::reject_empty_owner ... ok
[INFO] [stdout] test source::tests::reject_empty_ref_with_subfolder ... ok
[INFO] [stdout] test source::tests::reject_empty_ref ... ok
[INFO] [stdout] test source::tests::reject_empty_repo ... ok
[INFO] [stdout] test source::tests::reject_empty_subfolder ... ok
[INFO] [stdout] test source::tests::reject_extra_slashes ... ok
[INFO] [stdout] test source::tests::reject_missing_separator ... ok
[INFO] [stdout] test source::tests::reject_whitespace_subfolder ... ok
[INFO] [stdout] test style::tests::no_color_flag_disables ... ok
[INFO] [stdout] test style::tests::empty_no_color_does_not_disable ... ok
[INFO] [stdout] test style::tests::no_color_env_disables ... ok
[INFO] [stdout] test style::tests::upskill_no_color_disables ... ok
[INFO] [stdout] test style::tests::term_dumb_disables ... ok
[INFO] [stdout] test style::tests::force_color_re_enables_when_piped ... ok
[INFO] [stdout] test fetch::tests::clone_with_subfolder ... ok
[INFO] [stdout] test fetch::tests::shallow_clone_local_repo ... ok
[INFO] [stdout] test fetch::tests::clone_missing_subfolder_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 168 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/upskill-f736a8f10eb31285)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/cli_add.rs (/opt/rustwide/target/debug/deps/cli_add-0875c111c6b3da19)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test add_invalid_source_returns_usage_error ... ok
[INFO] [stdout] test add_with_items_no_match_is_general_error ... ok
[INFO] [stdout] test add_with_items_subset_installs_only_named_items ... ok
[INFO] [stderr]      Running tests/cli_bundle_install.rs (/opt/rustwide/target/debug/deps/cli_bundle_install-ffd99e327b7b943b)
[INFO] [stdout] test add_installs_local_ssot_to_cwd ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test bundle_install_errors_on_item_conflict ... ok
[INFO] [stdout] test bundle_install_records_bundle_in_lockfile ... ok
[INFO] [stdout] test bundle_install_writes_only_referenced_items ... ok
[INFO] [stdout] test bundle_install_resolves_transitive_requires ... ok
[INFO] [stderr]      Running tests/cli_ci_mode.rs (/opt/rustwide/target/debug/deps/cli_ci_mode-5c4e3cabe1810608)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test piped_output_strips_ansi_by_default ... ok
[INFO] [stdout] test force_color_re_enables_when_piped ... ok
[INFO] [stdout] test upskill_no_color_strips_ansi ... ok
[INFO] [stdout] test term_dumb_strips_ansi ... ok
[INFO] [stdout] test no_color_flag_strips_ansi ... ok
[INFO] [stderr]      Running tests/cli_doctor.rs (/opt/rustwide/target/debug/deps/cli_doctor-67e604221e14ea00)
[INFO] [stdout] test no_color_env_strips_ansi ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test doctor_empty_lockfile_exits_zero ... ok
[INFO] [stdout] test doctor_json_clean_install_emits_empty_buckets ... ok
[INFO] [stdout] test doctor_json_missing_output_lists_files ... ok
[INFO] [stdout] test doctor_json_orphan_entry_has_kebab_case_reason ... ok
[INFO] [stdout] test doctor_detects_missing_output_files ... ok
[INFO] [stdout] test doctor_detects_orphan_when_item_removed_from_source ... ok
[INFO] [stdout] test doctor_clean_install_exits_zero ... ok
[INFO] [stdout] test doctor_detects_orphan_when_local_path_gone ... ok
[INFO] [stdout] test doctor_detects_ssot_hash_drift ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.48s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_exit_codes.rs (/opt/rustwide/target/debug/deps/cli_exit_codes-76882913336716cf)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test help_exits_zero ... ok
[INFO] [stdout] test version_short_flag_prints_to_stdout_and_exits_zero ... ok
[INFO] [stdout] test usage_errors_exit_two ... ok
[INFO] [stdout] test version_long_flag_prints_to_stdout_and_exits_zero ... ok
[INFO] [stdout] test general_errors_exit_one ... ok
[INFO] [stderr]      Running tests/cli_fmt.rs (/opt/rustwide/target/debug/deps/cli_fmt-39a27adcf8322687)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test fmt_reports_files_changed_count ... ok
[INFO] [stdout] test fmt_refuses_to_run_inside_consumer_project ... ok
[INFO] [stdout] test fmt_is_idempotent ... ok
[INFO] [stdout] test fmt_does_not_touch_body ... ok
[INFO] [stdout] test fmt_reorders_frontmatter_keys_canonically ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_global_scope.rs (/opt/rustwide/target/debug/deps/cli_global_scope-8ab572b0f526429d)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test global_and_project_flags_conflict ... ok
[INFO] [stdout] test list_global_reads_home_lockfile ... ok
[INFO] [stdout] test add_global_writes_under_home_not_cwd ... ok
[INFO] [stdout] test project_flag_overrides_auto_fallback ... ok
[INFO] [stdout] test add_short_g_flag_works_too ... ok
[INFO] [stdout] test auto_fallback_when_not_in_git_repo_uses_global ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_lint.rs (/opt/rustwide/target/debug/deps/cli_lint-61483fc5251b50e6)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test lint_strict_promotes_warnings_to_errors ... ok
[INFO] [stdout] test lint_flags_fence_without_language_as_warning ... ok
[INFO] [stdout] test lint_flags_h1_in_body_as_warning ... ok
[INFO] [stdout] test lint_flags_name_directory_mismatch_as_error ... ok
[INFO] [stdout] test lint_refuses_to_run_inside_consumer_project ... ok
[INFO] [stdout] test lint_clean_fixture_corpus_exits_zero ... ok
[INFO] [stdout] test lint_flags_unbalanced_directive_as_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_list.rs (/opt/rustwide/target/debug/deps/cli_list-f0a53ca05523e070)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test list_empty_lockfile_reports_no_items ... ok
[INFO] [stdout] test list_json_empty_lockfile_emits_empty_buckets ... ok
[INFO] [stdout] test list_json_groups_installed_items_by_kind ... ok
[INFO] [stdout] test list_groups_installed_items_by_kind ... ok
[INFO] [stdout] test list_bundle_install_surfaces_bundles_section ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_mangen.rs (/opt/rustwide/target/debug/deps/cli_mangen-15a9e37012f18eea)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test root_man_page_has_synopsis_and_name ... ok
[INFO] [stdout] test root_man_page_documents_quiet_flag ... ok
[INFO] [stdout] test every_subcommand_renders_a_man_page ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_misc.rs (/opt/rustwide/target/debug/deps/cli_misc-b68a8135a1da9d88)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test install_is_not_an_alias_for_add ... ok
[INFO] [stdout] test uninstall_is_not_an_alias_for_remove ... ok
[INFO] [stdout] test outputs_are_file_copies_not_symlinks ... ok
[INFO] [stdout] test claude_md_bridge_content_is_at_agents_md ... ok
[INFO] [stderr]      Running tests/cli_new.rs (/opt/rustwide/target/debug/deps/cli_new-cfd021bf78262f56)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test new_agent_emits_default_mode_and_model ... ok
[INFO] [stdout] test new_refuses_existing_item_directory ... ok
[INFO] [stdout] test new_rule_creates_rule_md ... ok
[INFO] [stdout] test new_rejects_invalid_name ... ok
[INFO] [stdout] test new_skill_creates_skill_md_with_minimum_frontmatter ... ok
[INFO] [stdout] test new_refuses_to_run_inside_consumer_project ... ok
[INFO] [stderr]      Running tests/cli_quiet.rs (/opt/rustwide/target/debug/deps/cli_quiet-859bf3ea79c6ee13)
[INFO] [stdout] test new_output_passes_lint_and_fmt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test list_quiet_on_empty_lockfile_emits_no_stdout ... ok
[INFO] [stdout] test lint_short_q_on_clean_corpus_emits_no_stdout ... ok
[INFO] [stdout] test lint_quiet_on_clean_corpus_emits_no_stdout ... ok
[INFO] [stdout] test quiet_does_not_silence_errors_on_stderr ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_remove.rs (/opt/rustwide/target/debug/deps/cli_remove-1a6b65d04d9106b8)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test remove_names_and_source_together_is_usage_error ... ok
[INFO] [stdout] test remove_bare_invocation_is_usage_error ... ok
[INFO] [stdout] test remove_preserves_ancillary_files ... ok
[INFO] [stdout] test remove_by_source_drops_every_entry_from_that_source ... ok
[INFO] [stdout] test remove_unknown_name_is_general_error ... ok
[INFO] [stdout] test remove_by_name_deletes_all_per_client_outputs_and_lockfile_entry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_search.rs (/opt/rustwide/target/debug/deps/cli_search-a0b5038365bdb0e6)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test search_help_exits_zero ... ok
[INFO] [stdout] test search_requires_query ... ok
[INFO] [stdout] test search_empty_results ... ok
[INFO] [stdout] test search_unreachable_registry_exits_one ... ok
[INFO] [stdout] test search_shows_install_command ... ok
[INFO] [stdout] test search_returns_results ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_stdio_discipline.rs (/opt/rustwide/target/debug/deps/cli_stdio_discipline-9db6ac246f796112)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test add_invalid_source_writes_error_to_stderr_not_stdout ... ok
[INFO] [stdout] test list_stdout_has_no_ansi_when_piped ... ok
[INFO] [stdout] test add_invalid_source_stderr_has_no_ansi_under_no_color_env ... ok
[INFO] [stderr]      Running tests/cli_update.rs (/opt/rustwide/target/debug/deps/cli_update-15f3adf6f9d9eef6)
[INFO] [stdout] test list_data_goes_to_stdout_stderr_is_empty ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test update_empty_lockfile_is_no_op ... ok
[INFO] [stdout] test update_dry_run_reports_change_without_writing ... ok
[INFO] [stdout] test update_unknown_name_is_general_error ... ok
[INFO] [stdout] test update_after_ssot_mutation_rewrites_outputs_and_lockfile_hash ... ok
[INFO] [stdout] test update_no_change_reports_up_to_date ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_ux_polish.rs (/opt/rustwide/target/debug/deps/cli_ux_polish-128e00d8d557c34b)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test search_short_limit_flag_is_recognised ... ok
[INFO] [stdout] test lint_short_strict_flag_is_recognised ... ok
[INFO] [stdout] test add_against_unreachable_github_emits_progress_line_to_stderr ... ok
[INFO] [stdout] test update_short_dry_run_flag_is_recognised ... ok
[INFO] [stdout] test remove_short_source_flag_is_recognised ... ok
[INFO] [stdout] test remove_by_source_in_non_tty_does_not_prompt_and_proceeds ... ok
[INFO] [stderr]      Running tests/generate_agents.rs (/opt/rustwide/target/debug/deps/generate_agents-31ac4aa8a6d900df)
[INFO] [stdout] test remove_by_source_under_yes_flag_skips_prompt_and_proceeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test security_reviewer_opencode ... ok
[INFO] [stdout] test security_reviewer_copilot ... ok
[INFO] [stdout] test security_reviewer_claude ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/generate_rules.rs (/opt/rustwide/target/debug/deps/generate_rules-7e87635e8033f3d7)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test license_awareness_copilot ... ok
[INFO] [stdout] test license_awareness_claude ... ok
[INFO] [stdout] test api_conventions_copilot ... ok
[INFO] [stdout] test api_conventions_claude ... ok
[INFO] [stderr]      Running tests/generate_skills.rs (/opt/rustwide/target/debug/deps/generate_skills-aebb4d48b2ed4b51)
[INFO] [stdout] test api_conventions_opencode ... ok
[INFO] [stdout] test license_awareness_opencode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test create_api_endpoint_copilot ... ok
[INFO] [stdout] test create_api_endpoint_opencode ... ok
[INFO] [stdout] test create_api_endpoint_claude ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parse_bundles.rs (/opt/rustwide/target/debug/deps/parse_bundles-8790b95a0ef30552)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test baseline_carries_every_fixture_item ... ok
[INFO] [stdout] test discovers_every_fixture_bundle ... ok
[INFO] [stdout] test extras_pins_baseline_with_caret_constraint ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pipeline_local.rs (/opt/rustwide/target/debug/deps/pipeline_local-be309d945c831a56)
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test install_respects_top_level_audience_filter ... ok
[INFO] [stdout] test install_writes_per_client_output_for_all_kinds ... ok
[INFO] [stderr]      Running tests/pipeline_lockfile.rs (/opt/rustwide/target/debug/deps/pipeline_lockfile-6f312c3d670953f2)
[INFO] [stdout] test install_is_idempotent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test install_registers_vscode_instructions_location_when_rules_present ... ok
[INFO] [stdout] test install_creates_claude_bridge_when_absent ... ok
[INFO] [stdout] test install_writes_lockfile_at_target_root ... ok
[INFO] [stdout] test install_preserves_unrelated_existing_entries ... ok
[INFO] [stdout] test install_registers_opencode_rules_glob_when_rules_present ... ok
[INFO] [stdout] test install_preserves_existing_claude_bridge ... ok
[INFO] [stdout] test re_install_upserts_existing_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pipeline_source.rs (/opt/rustwide/target/debug/deps/pipeline_source-ce2d11d461c7acd9)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test install_from_source_local_path ... ok
[INFO] [stdout] test install_from_source_clone_subfolder ... ok
[INFO] [stdout] test install_from_source_clones_local_bare_repo_via_file_url ... ok
[INFO] [stdout] test re_install_after_upstream_push_picks_up_new_content ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.89s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests upskill
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "139c17678fac039cf41f23bec1fbaed32aad07ba09204ad3871043d57b255586", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "139c17678fac039cf41f23bec1fbaed32aad07ba09204ad3871043d57b255586", kill_on_drop: false }`
[INFO] [stdout] 139c17678fac039cf41f23bec1fbaed32aad07ba09204ad3871043d57b255586
