[INFO] cloning repository https://github.com/WendellXY/nodus
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WendellXY/nodus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWendellXY%2Fnodus", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWendellXY%2Fnodus'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 75eea2c560098822c7eeeabdf58544827fe9cb76
[INFO] testing WendellXY/nodus against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWendellXY%2Fnodus" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/WendellXY/nodus
[INFO] finished tweaking git repo https://github.com/WendellXY/nodus
[INFO] tweaked toml for git repo https://github.com/WendellXY/nodus written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/WendellXY/nodus on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/WendellXY/nodus 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0193f235817dcc076dab6caee42a113fb31ee91b30b3e9d98db38211db3aa833
[INFO] running `Command { std: "docker" "start" "-a" "0193f235817dcc076dab6caee42a113fb31ee91b30b3e9d98db38211db3aa833", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0193f235817dcc076dab6caee42a113fb31ee91b30b3e9d98db38211db3aa833", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0193f235817dcc076dab6caee42a113fb31ee91b30b3e9d98db38211db3aa833", kill_on_drop: false }`
[INFO] [stdout] 0193f235817dcc076dab6caee42a113fb31ee91b30b3e9d98db38211db3aa833
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 969e1d70208ef885b5ed2c5958d75b291b57a7286efaa3a75411543426cccac2
[INFO] running `Command { std: "docker" "start" "-a" "969e1d70208ef885b5ed2c5958d75b291b57a7286efaa3a75411543426cccac2", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling glob-match v0.2.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling path-slash v0.2.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling inotify v0.11.1
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling blake3 v1.8.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling tokio v1.52.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.2
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rust-mcp-schema v0.10.0
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling rust-mcp-macros v0.9.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[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 hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling mentra-provider v0.2.0
[INFO] [stderr]    Compiling rust-mcp-transport v0.9.0
[INFO] [stderr]    Compiling rust-mcp-sdk v0.9.0
[INFO] [stderr]    Compiling mentra v0.6.0
[INFO] [stderr]    Compiling nodus v0.17.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 35s
[INFO] running `Command { std: "docker" "inspect" "969e1d70208ef885b5ed2c5958d75b291b57a7286efaa3a75411543426cccac2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "969e1d70208ef885b5ed2c5958d75b291b57a7286efaa3a75411543426cccac2", kill_on_drop: false }`
[INFO] [stdout] 969e1d70208ef885b5ed2c5958d75b291b57a7286efaa3a75411543426cccac2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eef02f98639d54fcad253c05d58cd8eb87b1025176b079d5d2ed7fd032c0e439
[INFO] running `Command { std: "docker" "start" "-a" "eef02f98639d54fcad253c05d58cd8eb87b1025176b079d5d2ed7fd032c0e439", kill_on_drop: false }`
[INFO] [stderr]    Compiling nodus v0.17.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 39.53s
[INFO] running `Command { std: "docker" "inspect" "eef02f98639d54fcad253c05d58cd8eb87b1025176b079d5d2ed7fd032c0e439", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eef02f98639d54fcad253c05d58cd8eb87b1025176b079d5d2ed7fd032c0e439", kill_on_drop: false }`
[INFO] [stdout] eef02f98639d54fcad253c05d58cd8eb87b1025176b079d5d2ed7fd032c0e439
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 47fd653e5f68e825cdcc0da187540244c91f1a370166037807b01fe7caffd8d1
[INFO] running `Command { std: "docker" "start" "-a" "47fd653e5f68e825cdcc0da187540244c91f1a370166037807b01fe7caffd8d1", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nodus-72b7a363ad63bf02)
[INFO] [stdout] 
[INFO] [stdout] running 758 tests
[INFO] [stdout] test adapters::codex::tests::synthetic_command_skill_requires_reserved_prefix ... ok
[INFO] [stdout] test adapters::codex_marketplace_layout_tests::codex_marketplace_re_roots_at_nodus_home_like_claude ... ok
[INFO] [stdout] test adapters::copilot::tests::rewrites_skill_name_to_match_runtime_id ... ok
[INFO] [stdout] test adapters::identity_tests::managed_package_ids_append_source_hash_after_long_hash_collision ... ok
[INFO] [stdout] test adapters::copilot::tests::inserts_missing_skill_name_into_frontmatter ... ok
[INFO] [stdout] test adapters::identity_tests::managed_package_ids_extend_hash_collisions_before_source_hashing ... ok
[INFO] [stdout] test adapters::nodus_home_path_tests::encodes_home_root_as_bare_token ... ok
[INFO] [stdout] test adapters::codex::tests::synthetic_command_skill_round_trips_command_body ... ok
[INFO] [stdout] test adapters::nodus_home_path_tests::encodes_path_under_home_as_portable_token ... ok
[INFO] [stdout] test adapters::nodus_home_path_tests::expand_returns_none_for_non_token_strings ... ok
[INFO] [stdout] test adapters::nodus_home_path_tests::returns_none_for_paths_outside_home ... ok
[INFO] [stdout] test adapters::nodus_home_path_tests::expands_token_against_a_different_developers_home ... ok
[INFO] [stdout] test adapters::nodus_home_path_tests::round_trips_through_a_relocated_home ... ok
[INFO] [stdout] test adapters::opencode::tests::inserts_missing_skill_name_into_frontmatter ... ok
[INFO] [stdout] test adapters::opencode::tests::preserves_crlf_when_rewriting_skill_name ... ok
[INFO] [stdout] test adapters::opencode::tests::rewrites_skill_name_to_match_runtime_id ... ok
[INFO] [stdout] test adapters::output::tests::codex_http_headers_promote_bearer_env_references ... ok
[INFO] [stdout] test adapters::output::tests::opencode_header_values_convert_env_references ... ok
[INFO] [stdout] test adapters::profile::tests::runtime_root_names_match_current_paths ... ok
[INFO] [stdout] test adapters::output::tests::gitignore_files_preserve_explicit_runtime_root_gitignore_without_generated_patterns ... ok
[INFO] [stdout] test adapters::output::tests::gitignore_files_merge_explicit_runtime_root_gitignore_with_generated_patterns ... ok
[INFO] [stdout] test adapters::profile::tests::session_start_source_support_matches_current_matrix ... ok
[INFO] [stdout] test adapters::profile::tests::adapter_preferred_surfaces_match_runtime_boundaries ... ok
[INFO] [stdout] test adapters::output::tests::artifact_kind_support_matrix_matches_supported_adapters ... ok
[INFO] [stdout] test agent_format::tests::replaces_markdown_body_preserving_frontmatter ... ok
[INFO] [stdout] test adapters::profile::tests::virtual_plugin_surfaces_match_payload_roots ... ok
[INFO] [stdout] test agent_format::tests::parses_and_serializes_codex_agent_toml ... ok
[INFO] [stdout] test agent_format::tests::emits_codex_agent_toml_from_markdown_body_without_frontmatter ... ok
[INFO] [stdout] test agent_format::tests::emits_codex_agent_toml_from_metadata_toml_and_markdown_body ... ok
[INFO] [stdout] test agent_format::tests::parses_partial_codex_agent_toml_without_developer_instructions ... ok
[INFO] [stdout] test adapters::output::tests::managed_nodus_command_uses_plain_binary_name ... ok
[INFO] [stdout] test adapters::profile::tests::artifact_support_matches_current_matrix ... ok
[INFO] [stdout] test agent_format::tests::restores_metadata_only_toml_without_developer_instructions ... ok
[INFO] [stdout] test agent_format::tests::restores_source_name_when_runtime_name_was_only_a_collision_rewrite ... ok
[INFO] [stdout] test cache::tests::ignores_relative_xdg_state_home_values ... ok
[INFO] [stdout] test cache::tests::prefers_absolute_xdg_state_home_over_the_home_fallback ... ok
[INFO] [stdout] test cli::tests::auto_update_checks_only_run_for_interactive_human_output_commands ... ok
[INFO] [stdout] test adapters::profile::tests::tool_matcher_spellings_match_current_outputs ... ok
[INFO] [stdout] test adapters::copilot::tests::preserves_crlf_when_rewriting_skill_name ... ok
[INFO] [stdout] test cache::tests::resolves_relative_overrides_from_the_current_directory ... ok
[INFO] [stdout] test adapters::output::tests::gitignore_files_merge_existing_runtime_root_gitignore_from_disk ... ok
[INFO] [stdout] test adapters::profile::tests::hook_event_support_matches_current_matrix ... ok
[INFO] [stdout] test cli::tests::add_help_leads_with_safe_example_and_next_step ... ok
[INFO] [stdout] test cli::tests::doctor_command_emits_checking_and_finished_lines ... ok
[INFO] [stdout] test cli::tests::doctor_command_maps_preview_apply_and_force_modes ... ok
[INFO] [stdout] test cli::tests::clean_help_describes_scope ... ok
[INFO] [stdout] test cli::tests::doctor_command_rejects_invalid_flag_combinations ... ok
[INFO] [stdout] test cli::tests::clean_all_preserves_non_cache_store_state ... ok
[INFO] [stdout] test cli::tests::doctor_help_describes_when_to_run_it ... ok
[INFO] [stdout] test cli::tests::doctor_help_describes_preview_and_apply_modes ... ok
[INFO] [stdout] test cli::tests::info_command_emits_json_without_status_lines ... ok
[INFO] [stdout] test cli::tests::doctor_command_parses_apply_and_compatibility_flags ... ok
[INFO] [stdout] test cli::tests::completion_help_describes_shell_argument ... ok
[INFO] [stdout] test cli::tests::info_help_describes_read_only_inspection_flow ... ok
[INFO] [stdout] test cli::tests::init_command_emits_creating_and_finished_lines ... ok
[INFO] [stdout] test cli::tests::init_command_writes_progress_to_stderr_and_finish_to_stdout ... ok
[INFO] [stdout] test cli::tests::init_dry_run_previews_without_writing ... ok
[INFO] [stdout] test adapters::identity_tests::marketplace_plugin_names_keep_unique_names_friendly_and_suffix_collisions ... ok
[INFO] [stdout] test cli::tests::list_command_emits_human_readable_dependencies ... ok
[INFO] [stdout] test cli::tests::clean_command_requires_lockfile_for_project_scope ... ok
[INFO] [stdout] test cli::tests::list_command_labels_dev_dependencies ... ok
[INFO] [stdout] test cli::tests::info_command_writes_metadata_to_stdout ... ok
[INFO] [stdout] test cli::tests::doctor_command_emits_json_without_status_lines ... ok
[INFO] [stdout] test cli::tests::info_command_emits_package_metadata_lines ... ok
[INFO] [stdout] test cli::tests::list_json_command_writes_only_json_to_stdout ... ok
[INFO] [stdout] test cli::tests::list_command_writes_empty_state_note_to_stderr ... ok
[INFO] [stdout] test cli::tests::list_command_marks_disabled_dependencies ... ok
[INFO] [stdout] test cli::tests::mcp_serve_help_describes_stdio_transport ... ok
[INFO] [stdout] test cli::tests::mcp_status_command_parses_json_flag ... ok
[INFO] [stdout] test cli::tests::mcp_status_emits_json_summary ... ok
[INFO] [stdout] test cli::tests::mcp_status_reports_missing_and_misconfigured_configs ... ok
[INFO] [stdout] test cli::tests::members_command_parses_subcommands_and_flags ... ok
[INFO] [stdout] test cli::tests::list_command_writes_results_to_stdout ... ok
[INFO] [stdout] test cli::tests::members_help_describes_child_package_selection ... ok
[INFO] [stdout] test cli::tests::list_command_emits_version_requested_ref_for_semver_dependencies ... ok
[INFO] [stdout] test cli::tests::add_command_tracks_current_branch_for_local_checkout_ahead_of_latest_tag ... ok
[INFO] [stdout] test cli::tests::members_mutating_subcommand_help_mentions_dry_run_and_clearing_selection ... ok
[INFO] [stdout] test cli::tests::list_command_emits_json_with_locked_metadata ... ok
[INFO] [stdout] test cli::tests::clean_command_dry_run_previews_cache_removals_without_deleting ... ok
[INFO] [stdout] test cli::tests::parses_accept_all_dependencies_flag ... ok
[INFO] [stdout] test cli::tests::parses_add_branch_and_revision_flags ... ok
[INFO] [stdout] test cli::tests::parses_add_dev_flag ... ok
[INFO] [stdout] test cli::tests::mutating_subcommand_help_mentions_dry_run ... ok
[INFO] [stdout] test cli::tests::parses_add_version_selector ... ok
[INFO] [stdout] test cli::tests::parses_clean_subcommand_and_flags ... ok
[INFO] [stdout] test cli::tests::parses_completion_shell_argument ... ok
[INFO] [stdout] test cli::tests::add_dry_run_previews_without_writing_project_files ... ok
[INFO] [stdout] test cli::tests::parses_global_add_and_remove_flags ... ok
[INFO] [stdout] test cli::tests::parses_dry_run_flags_for_mutating_commands ... ok
[INFO] [stdout] test cli::tests::parses_info_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_list_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_multiple_relay_targets ... ok
[INFO] [stdout] test cli::tests::parses_relay_create_missing_flag ... ok
[INFO] [stdout] test cli::tests::parses_outdated_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_relay_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_remove_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_json_flags_for_read_only_commands ... ok
[INFO] [stdout] test cli::tests::parses_repeatable_add_component_flags ... ok
[INFO] [stdout] test cli::tests::parses_repeatable_add_exclude_component_flags ... ok
[INFO] [stdout] test cli::tests::parses_review_subcommand ... ok
[INFO] [stdout] test cli::tests::clean_command_removes_project_scoped_cache_entries_only ... ok
[INFO] [stdout] test cli::tests::parses_sync_codex_profile_flag ... ok
[INFO] [stdout] test cli::tests::parses_relay_via_aliases ... ok
[INFO] [stdout] test cli::tests::parses_sync_frozen_flag ... ok
[INFO] [stdout] test cli::tests::parses_sync_force_flag ... ok
[INFO] [stdout] test cli::tests::add_exclude_component_writes_remaining_components_to_manifest ... ok
[INFO] [stdout] test cli::tests::parses_sync_strict_flag ... ok
[INFO] [stdout] test cli::tests::parses_upgrade_check_flag_and_self_update_alias ... ok
[INFO] [stdout] test cli::tests::parses_sync_on_launch_flags ... ok
[INFO] [stdout] test cli::tests::read_only_help_mentions_json ... ok
[INFO] [stdout] test cli::tests::rejects_relay_watch_with_dry_run ... ok
[INFO] [stdout] test cli::tests::parses_update_subcommand ... ok
[INFO] [stdout] test cli::tests::add_dry_run_previews_dependency_members_and_config ... ok
[INFO] [stdout] test cli::tests::rejects_sync_locked_with_frozen ... ok
[INFO] [stdout] test cli::tests::rejects_uninstall_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_repeatable_add_adapter_flags ... ok
[INFO] [stdout] test cli::tests::add_does_not_persist_launch_hook_by_default ... ok
[INFO] [stdout] test cli::tests::remove_help_describes_scope_and_next_step ... ok
[INFO] [stdout] test cli::tests::parses_upgrade_subcommand ... ok
[INFO] [stdout] test cli::tests::relay_rejects_repo_path_for_multiple_dependencies ... ok
[INFO] [stdout] test cli::tests::review_help_describes_arguments ... ok
[INFO] [stdout] test cli::tests::sync_auto_registers_nodus_mcp_server_in_mcp_json ... ok
[INFO] [stdout] test cli::tests::sync_command_emits_statuses_and_notes ... ok
[INFO] [stdout] test cli::tests::sync_does_not_double_emit_mcp_json_for_published_root ... ok
[INFO] [stdout] test cli::tests::sync_does_not_persist_launch_hook_by_default ... ok
[INFO] [stdout] test cli::tests::sync_dry_run_previews_without_writing_project_files ... ok
[INFO] [stdout] test cli::tests::sync_emits_codex_agents_under_project_runtime_root ... ok
[INFO] [stdout] test cli::tests::sync_emits_published_root_claude_plugin_with_runtime_paths ... ok
[INFO] [stdout] test cli::tests::sync_help_describes_force ... ok
[INFO] [stdout] test cli::tests::sync_help_explains_when_to_use_sync_and_what_to_run_next ... ok
[INFO] [stdout] test cli::tests::info_command_renders_version_requirement_for_semver_dependencies ... ok
[INFO] [stdout] test cli::tests::add_command_emits_resolving_and_adding_lines ... ok
[INFO] [stdout] test cli::tests::root_help_leads_with_guided_workflows ... ok
[INFO] [stdout] test cli::tests::update_help_distinguishes_itself_from_sync ... ok
[INFO] [stdout] test cli::tests::update_help_explains_when_to_use_update_and_what_to_run_next ... ok
[INFO] [stdout] test git::tests::computes_shared_checkout_path_from_the_normalized_url_and_revision ... ok
[INFO] [stdout] test git::tests::computes_shared_repository_path_from_the_normalized_url ... ok
[INFO] [stdout] test git::tests::expands_github_shortcuts ... ok
[INFO] [stdout] test git::tests::extracts_github_slugs_from_https_urls ... ok
[INFO] [stdout] test git::tests::matches_equivalent_local_git_paths ... ok
[INFO] [stdout] test git::tests::normalizes_repo_names_into_aliases ... ok
[INFO] [stdout] test cli::tests::add_dry_run_warns_and_disables_invalid_workspace_members ... ok
[INFO] [stdout] test git::tests::picks_latest_tag_by_version_sort ... ok
[INFO] [stdout] test git::tests::picks_latest_compatible_semver_tag ... ok
[INFO] [stdout] test cli::tests::members_command_rejects_unknown_workspace_member_before_mutating_manifest ... ok
[INFO] [stdout] test cli::tests::remove_dry_run_keeps_manifest_and_lockfile_unchanged ... ok
[INFO] [stdout] test git::tests::recreates_invalid_shared_repository_mirrors ... ok
[INFO] [stdout] test cli::tests::outdated_command_emits_json_without_status_lines ... ok
[INFO] [stdout] test cli::tests::sync_recreates_cache_after_clean_command ... ok
[INFO] [stdout] test cli::tests::update_dry_run_keeps_manifest_and_lockfile_unchanged ... ok
[INFO] [stdout] test git::tests::resolves_dependency_alias_from_exact_name ... ok
[INFO] [stdout] test git::tests::resolves_dependency_alias_from_repository_reference ... ok
[INFO] [stdout] test git::tests::short_hash_is_deterministic ... ok
[INFO] [stdout] test cli::tests::sync_dry_run_locked_and_frozen_modes_leave_state_unchanged ... ok
[INFO] [stdout] test cli::tests::relay_dry_run_previews_state_only_local_config_changes ... ok
[INFO] [stdout] test cli::tests::members_enable_dry_run_previews_workspace_selection_without_writing ... ok
[INFO] [stdout] test git::tests::short_hash_produces_eight_hex_chars ... ok
[INFO] [stdout] test info::tests::info_lists_managed_exports_for_export_only_package ... ok
[INFO] [stdout] test info::tests::info_lists_managed_exports ... ok
[INFO] [stdout] test cli::tests::relay_dry_run_does_not_persist_local_config_or_repo_edits ... ok
[INFO] [stdout] test info::tests::info_reads_a_direct_dependency_alias_from_the_root_manifest ... ok
[INFO] [stdout] test info::tests::info_reports_hook_adapter_support_matrix ... ok
[INFO] [stdout] test info::tests::info_lists_mcp_servers ... ok
[INFO] [stdout] test info::tests::info_marks_disabled_direct_dependencies ... ok
[INFO] [stdout] test info::tests::info_reports_native_integration_state ... ok
[INFO] [stdout] test info::tests::info_reports_virtual_plugin_state ... ok
[INFO] [stdout] test info::tests::info_reports_installed_virtual_plugin_with_source_local_dependencies ... ok
[INFO] [stdout] test info::tests::info_reads_a_local_package_directory ... ok
[INFO] [stdout] test info::tests::info_uses_color_when_forced ... ok
[INFO] [stdout] test install_paths::tests::global_scope_uses_store_root_for_config_and_home_for_runtime ... ok
[INFO] [stdout] test install_paths::tests::project_scope_reuses_the_same_root_for_all_paths ... ok
[INFO] [stdout] test info::tests::info_shows_dev_dependencies_for_local_package_inspection ... ok
[INFO] [stdout] test local_config::tests::relayed_file_state_accepts_legacy_source_sha256_field ... ok
[INFO] [stdout] test local_config::tests::relayed_file_state_uses_source_hash_field ... ok
[INFO] [stdout] test local_config::tests::serializes_relay_repo_paths_with_forward_slashes ... ok
[INFO] [stdout] test info::tests::info_shows_disabled_workspace_members_when_dependency_members_are_omitted ... ok
[INFO] [stdout] test lockfile::tests::branch_tracked_owned_set_includes_only_branch_pinned_packages ... ok
[INFO] [stdout] test local_config::tests::round_trips_local_config_and_gitignore ... ok
[INFO] [stdout] test lockfile::tests::expands_logical_file_outputs_to_runtime_files ... ok
[INFO] [stdout] test lockfile::tests::expands_codex_skill_roots_to_include_synthetic_command_skills ... ok
[INFO] [stdout] test lockfile::tests::expands_compressed_runtime_artifact_roots ... ok
[INFO] [stdout] test lockfile::tests::keeps_direct_github_agent_files_exact_in_current_lockfiles ... ok
[INFO] [stdout] test lockfile::tests::expands_logical_skill_roots_to_runtime_directories ... ok
[INFO] [stdout] test lockfile::tests::managed_paths_for_sync_expand_legacy_github_agent_roots ... ok
[INFO] [stdout] test lockfile::tests::managed_mcp_server_names_include_alias_prefixes ... ok
[INFO] [stdout] test lockfile::tests::managed_paths_for_sync_include_legacy_direct_paths ... ok
[INFO] [stdout] test lockfile::tests::owned_set_collects_subtrees_and_supports_starts_with_match ... ok
[INFO] [stdout] test lockfile::tests::owned_set_filename_prefix_match_is_direct_children_only ... ok
[INFO] [stdout] test lockfile::tests::owned_set_rejects_empty_prefix ... ok
[INFO] [stdout] test lockfile::tests::owned_set_rejects_overlapping_subtree_claims ... ok
[INFO] [stdout] test lockfile::tests::read_for_sync_accepts_legacy_lockfile_versions ... ok
[INFO] [stdout] test lockfile::tests::owned_set_collects_owned_files_from_all_packages ... ok
[INFO] [stdout] test lockfile::tests::rejects_install_digest_without_blake3_prefix ... ok
[INFO] [stdout] test lockfile::tests::root_package_with_sentinel_name_round_trips ... ok
[INFO] [stdout] test lockfile::tests::rejects_unsupported_lockfile_versions ... ok
[INFO] [stdout] test lockfile::tests::round_trips_lockfile_as_toml ... ok
[INFO] [stdout] test lockfile::tests::lockfile_new_sort_order_is_deterministic_across_input_reorderings ... ok
[INFO] [stdout] test lockfile::tests::round_trips_owned_prefix ... ok
[INFO] [stdout] test lockfile::tests::serialized_v10_lockfile_omits_empty_managed_files_and_owned_fields ... ok
[INFO] [stdout] test lockfile::tests::validate_rejects_absolute_paths_outside_the_home ... ok
[INFO] [stdout] test lockfile::tests::validate_keeps_workspace_relative_paths ... ok
[INFO] [stdout] test lockfile::tests::validate_expands_portable_nodus_home_token ... ok
[INFO] [stdout] test lockfile::tests::validate_rejects_nodus_home_token_with_parent_segment ... ok
[INFO] [stdout] test info::tests::info_shows_workspace_members_for_workspace_root ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_claude_marketplace_wrapper ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_manifest_declared_claude_plugin_hooks ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_codex_marketplace_wrapper ... ok
[INFO] [stdout] test manifest::tests::accepts_all_supported_codex_workspace_policy_literals ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_only_activation_context ... ok
[INFO] [stdout] test manifest::tests::accepts_codex_marketplace_plugins_with_loose_skill_docs_and_markdown_only_skills ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_only_hooks ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_only_default_claude_plugin_hooks ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_only_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_only_nested_dependencies ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_structured_claude_marketplace_sources ... ok
[INFO] [stdout] test manifest::tests::accepts_git_dependency_version_requirement_without_explicit_ref ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_manifest_declared_opencode_plugin_hooks ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_only_managed_exports ... ok
[INFO] [stdout] test manifest::tests::accepts_hooks_in_dependency_manifest ... ok
[INFO] [stdout] test manifest::tests::accepts_dependency_repo_with_only_modern_claude_plugin_metadata_and_flat_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::accepts_local_marketplace_plugin_with_inline_lsp_servers ... ok
[INFO] [stdout] test manifest::tests::accepts_marketplace_with_hook_only_claude_plugin_source ... ok
[INFO] [stdout] test manifest::tests::accepts_marketplace_plugin_that_points_at_root_claude_plugin_metadata ... ok
[INFO] [stdout] test manifest::tests::accepts_markdown_only_skill_file_with_fallback_metadata ... ok
[INFO] [stdout] test manifest::tests::accepts_root_project_with_only_dependencies ... ok
[INFO] [stdout] test manifest::tests::accepts_metadata_only_codex_toml_agent_when_paired_markdown_exists ... ok
[INFO] [stdout] test manifest::tests::accepts_root_project_with_only_dev_dependencies ... ok
[INFO] [stdout] test git::tests::recovers_symlinked_directories_when_core_symlinks_is_disabled ... ok
[INFO] [stdout] test cli::tests::members_list_and_enable_update_workspace_dependency_selection ... ok
[INFO] [stdout] test manifest::tests::accepts_skill_frontmatter_without_name_by_falling_back_to_folder_name ... ok
[INFO] [stdout] test manifest::tests::accepts_unquoted_description_with_colon ... ok
[INFO] [stdout] test manifest::tests::active_dependency_entries_skip_disabled_dependencies ... ok
[INFO] [stdout] test manifest::tests::allows_identical_mcp_servers_from_claude_and_codex_plugin_metadata ... ok
[INFO] [stdout] test manifest::tests::accepts_workspace_dependency_wrapper ... ok
[INFO] [stdout] test manifest::tests::accepts_workspace_root_without_discovered_root_assets ... ok
[INFO] [stdout] test manifest::tests::codex_profile_round_trips_through_serialization ... ok
[INFO] [stdout] test manifest::tests::ancestor_marketplace_root_source_does_not_block_nested_package_loading ... ok
[INFO] [stdout] test manifest::tests::claude_plugin_hook_under_dotclaude_copies_sibling_scripts ... ok
[INFO] [stdout] test manifest::tests::claude_plugin_hook_at_package_root_does_not_vacuum_root ... ok
[INFO] [stdout] test manifest::tests::discovers_agent_variants_with_future_qualifiers ... ok
[INFO] [stdout] test manifest::tests::deduplicates_equivalent_plugin_root_mcp_server_paths ... ok
[INFO] [stdout] test manifest::tests::discovers_agents_rules_and_commands ... ok
[INFO] [stdout] test manifest::tests::deduplicates_standard_roots_referenced_by_claude_plugin_metadata ... ok
[INFO] [stdout] test manifest::tests::accepts_workspace_namespace_and_resolves_member_aliases ... ok
[INFO] [stdout] test manifest::tests::discovers_nested_rules_with_stable_ids ... ok
[INFO] [stdout] test manifest::tests::discovers_object_mapped_modern_claude_plugin_commands_from_source_paths ... ok
[INFO] [stdout] test manifest::tests::discovers_modern_claude_plugin_extra_component_paths_outside_standard_roots ... ok
[INFO] [stdout] test manifest::tests::discovers_artifacts_from_configured_content_root ... ok
[INFO] [stdout] test manifest::tests::does_not_warn_for_supported_content_root_config ... ok
[INFO] [stdout] test manifest::tests::discovers_symlinked_skill_directories_inside_package_root ... ok
[INFO] [stdout] test manifest::tests::discovers_placeholder_skill_directories_inside_package_root ... ok
[INFO] [stdout] test manifest::tests::discovers_root_skill_without_manifest ... ok
[INFO] [stdout] test manifest::tests::ignores_codex_marketplace_plugin_source_that_points_at_package_root ... ok
[INFO] [stdout] test manifest::tests::does_not_warn_for_supported_launch_hook_config ... ok
[INFO] [stdout] test manifest::tests::ignores_marketplace_plugin_source_that_is_not_a_directory ... ok
[INFO] [stdout] test manifest::tests::ignores_marketplace_with_missing_source_directory ... ok
[INFO] [stdout] test manifest::tests::ignores_marketplace_plugin_source_that_is_not_a_nodus_package ... ok
[INFO] [stdout] test manifest::tests::ignores_marketplace_with_escaping_source_path ... ok
[INFO] [stdout] test manifest::tests::ignores_non_semver_claude_plugin_version_from_json ... ok
[INFO] [stdout] test manifest::tests::ignores_marketplace_plugins_with_duplicate_aliases ... ok
[INFO] [stdout] test manifest::tests::discovers_nested_skills_under_category_directories ... ok
[INFO] [stdout] test manifest::tests::ignores_non_semver_modern_claude_plugin_version_in_metadata ... ok
[INFO] [stdout] test manifest::tests::ignores_non_semver_codex_plugin_version_in_metadata ... ok
[INFO] [stdout] test manifest::tests::ignores_readme_and_dotfiles_in_discovery_directories ... ok
[INFO] [stdout] test cli::tests::members_enable_and_disable_manage_wrapper_child_packages ... ok
[INFO] [stdout] test manifest::tests::imports_firebase_style_marketplace_url_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::imports_marketplace_mcp_server_path_indirection ... ok
[INFO] [stdout] test cli::tests::update_command_emits_updating_and_finished_lines ... ok
[INFO] [stdout] test manifest::tests::loads_root_manifest_claude_native_lifecycle_hooks ... ok
[INFO] [stdout] test manifest::tests::imports_modern_claude_plugin_wrapped_mcp_servers_and_normalizes_plugin_root_cwd ... ok
[INFO] [stdout] test info::tests::info_reads_a_git_package_reference ... ok
[INFO] [stdout] test manifest::tests::imports_modern_claude_plugin_manifest_mcp_servers_from_relative_json_path ... ok
[INFO] [stdout] test manifest::tests::init_scaffolds_a_minimal_manifest_and_example_skill ... ok
[INFO] [stdout] test manifest::tests::imports_modern_claude_plugin_manifest_inline_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::imports_all_marketplace_plugins_in_sorted_alias_order ... ok
[INFO] [stdout] test manifest::tests::loads_root_manifest_claude_session_start_sources ... ok
[INFO] [stdout] test manifest::tests::loads_root_manifest_activation ... ok
[INFO] [stdout] test manifest::tests::loads_root_manifest_hooks ... ok
[INFO] [stdout] test manifest::tests::lowers_legacy_launch_hook_into_effective_hooks ... ok
[INFO] [stdout] test manifest::tests::loads_root_manifest_without_required_metadata ... ok
[INFO] [stdout] test manifest::tests::normalizes_claude_plugin_root_arg_paths_in_mcp_config ... ok
[INFO] [stdout] test manifest::tests::managed_exports_do_not_emit_unsupported_field_warnings ... ok
[INFO] [stdout] test manifest::tests::parses_managed_export_tables ... ok
[INFO] [stdout] test manifest::tests::parses_dependency_components ... ok
[INFO] [stdout] test manifest::tests::parses_codex_profile_from_adapters_table ... ok
[INFO] [stdout] test manifest::tests::marketplace_fallback_still_runs_with_only_dev_dependencies ... ok
[INFO] [stdout] test manifest::tests::marketplace_sources_are_resolved_from_repo_root ... ok
[INFO] [stdout] test manifest::tests::parses_managed_dependency_tables ... ok
[INFO] [stdout] test manifest::tests::parses_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::overlays_modern_claude_plugin_manifest_mcp_servers_in_declaration_order ... ok
[INFO] [stdout] test manifest::tests::parses_dev_dependency_tables ... ok
[INFO] [stdout] test manifest::tests::prefers_standard_layout_over_marketplace_fallback ... ok
[INFO] [stdout] test manifest::tests::reads_claude_plugin_version_from_json ... ok
[INFO] [stdout] test manifest::tests::reads_codex_plugin_version_and_mcp_servers_from_json ... ok
[INFO] [stdout] test manifest::tests::recognizes_canonical_sync_on_launch_hook ... ok
[INFO] [stdout] test manifest::tests::rejects_activation_context_directory ... ok
[INFO] [stdout] test manifest::tests::rejects_activation_context_paths_with_parent_segments ... ok
[INFO] [stdout] test manifest::tests::imports_firebase_style_marketplace_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::rejects_dependencies_with_multiple_git_sources ... ok
[INFO] [stdout] test manifest::tests::parses_url_backed_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::rejects_dependency_managed_paths_with_parent_segments ... ok
[INFO] [stdout] test manifest::tests::rejects_content_roots_with_parent_segments ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_activation_preferred_skills ... ok
[INFO] [stdout] test manifest::tests::rejects_dependency_repo_without_supported_directories ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_activation_context_paths_after_normalization ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_adapter_selection ... ok
[INFO] [stdout] test manifest::tests::rejects_disabled_launch_hook_config ... ok
[INFO] [stdout] test manifest::tests::rejects_conflicting_mcp_servers_from_claude_and_codex_plugin_metadata ... ok
[INFO] [stdout] test manifest::tests::rejects_empty_dependency_components ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_dependency_managed_pairs ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_artifact_ids_across_content_roots ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_content_roots_after_normalization ... ok
[INFO] [stdout] test manifest::tests::rejects_empty_adapter_selection ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_dependency_components ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_aliases_across_dependency_sections ... ok
[INFO] [stdout] test manifest::tests::rejects_duplicate_managed_exports ... ok
[INFO] [stdout] test cli::tests::members_set_empty_clears_workspace_dependency_selection ... ok
[INFO] [stdout] test manifest::tests::rejects_invalid_skill_frontmatter ... ok
[INFO] [stdout] test manifest::tests::rejects_marketplace_with_plugin_root_interpolation_in_mcp_server ... ok
[INFO] [stdout] test manifest::tests::rejects_invalid_git_dependency_without_tag ... ok
[INFO] [stdout] test manifest::tests::rejects_invalid_github_dependency_reference ... ok
[INFO] [stdout] test manifest::tests::rejects_managed_exports_with_parent_segments ... ok
[INFO] [stdout] test manifest::tests::rejects_empty_dependency_managed_paths ... ok
[INFO] [stdout] test manifest::tests::rejects_marketplace_with_invalid_json ... ok
[INFO] [stdout] test manifest::tests::rejects_git_dependency_version_with_tag ... ok
[INFO] [stdout] test manifest::tests::rejects_empty_mcp_server_command ... ok
[INFO] [stdout] test manifest::tests::rejects_invalid_plain_toml_agent_missing_required_codex_fields ... ok
[INFO] [stdout] test git::tests::resolves_current_branch_for_local_checkout_when_tags_exist ... ok
[INFO] [stdout] test git::tests::resolves_default_branch_when_repo_has_no_tags ... ok
[INFO] [stdout] test manifest::tests::rejects_mcp_server_with_both_command_and_url ... ok
[INFO] [stdout] test manifest::tests::rejects_marketplace_without_plugins ... ok
[INFO] [stdout] test manifest::tests::rejects_matcher_for_claude_native_lifecycle_hooks ... ok
[INFO] [stdout] test manifest::tests::rejects_missing_activation_context_file ... ok
[INFO] [stdout] test manifest::tests::rejects_skills_using_reserved_codex_command_prefix ... ok
[INFO] [stdout] test manifest::tests::rejects_metadata_only_codex_toml_agent_without_paired_markdown ... ok
[INFO] [stdout] test manifest::tests::rejects_non_utf8_activation_context_file ... ok
[INFO] [stdout] test manifest::tests::rejects_unknown_adapter_selection ... ok
[INFO] [stdout] test manifest::tests::rejects_missing_content_root_directory ... ok
[INFO] [stdout] test manifest::tests::rejects_unknown_dependency_component ... ok
[INFO] [stdout] test manifest::tests::rejects_non_normalized_workspace_namespace ... ok
[INFO] [stdout] test manifest::tests::rejects_workspace_root_with_unmatched_member_path ... ok
[INFO] [stdout] test manifest::tests::rejects_unknown_activation_preferred_skill ... ok
[INFO] [stdout] test manifest::tests::serializes_activation ... ok
[INFO] [stdout] test manifest::tests::rejects_workspace_member_with_invalid_codex_installation_policy ... ok
[INFO] [stdout] test manifest::tests::serializes_dependencies_as_inline_tables ... ok
[INFO] [stdout] test manifest::tests::rejects_workspace_root_with_discovered_assets ... ok
[INFO] [stdout] test manifest::tests::serializes_claude_native_lifecycle_hooks ... ok
[INFO] [stdout] test manifest::tests::serializes_claude_plugin_hooks ... ok
[INFO] [stdout] test manifest::tests::serializes_claude_session_start_sources ... ok
[INFO] [stdout] test manifest::tests::serializes_content_roots_and_publish_root ... ok
[INFO] [stdout] test manifest::tests::serializes_dev_dependencies ... ok
[INFO] [stdout] test manifest::tests::serializes_managed_exports_as_expanded_tables ... ok
[INFO] [stdout] test manifest::tests::serializes_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::serializes_hooks ... ok
[INFO] [stdout] test manifest::tests::serializes_adapters_in_stable_sorted_order ... ok
[INFO] [stdout] test manifest::tests::serializes_launch_hooks ... ok
[INFO] [stdout] test manifest::tests::serializes_disabled_dependencies ... ok
[INFO] [stdout] test manifest::tests::serializes_url_backed_disabled_mcp_servers ... ok
[INFO] [stdout] test manifest::tests::serializes_opencode_plugin_hooks ... ok
[INFO] [stdout] test manifest::tests::serializes_workspace_and_dependency_members ... ok
[INFO] [stdout] test manifest::tests::serializes_managed_dependencies_as_expanded_tables ... ok
[INFO] [stdout] test manifest::tests::set_enabled_adapters_preserves_codex_profile ... ok
[INFO] [stdout] test manifest::tests::warns_when_modern_claude_plugin_command_uses_inline_content ... ok
[INFO] [stdout] test manifest::tests::warns_when_modern_claude_plugin_command_points_to_directory ... ok
[INFO] [stdout] test manifest::tests::rejects_url_backed_mcp_server_with_stdio_fields ... ok
[INFO] [stdout] test manifest::tests::root_skill_does_not_create_extra_skill_when_standard_skills_exist ... ok
[INFO] [stdout] test mcp::handlers::tests::parses_add_version_requirement ... ok
[INFO] [stdout] test manifest::tests::root_skill_does_not_override_explicit_manifest ... ok
[INFO] [stdout] test mcp::handlers::tests::rejects_add_with_multiple_selectors ... ok
[INFO] [stdout] test mcp::handlers::tests::rejects_global_add_sync_on_launch ... ok
[INFO] [stdout] test mcp::handlers::tests::parses_add_cli_parity_options ... ok
[INFO] [stdout] test mcp::status::tests::reports_configured_project_json_entry ... ok
[INFO] [stdout] test manifest::tests::warns_when_modern_claude_plugin_manifest_mcp_servers_use_unsupported_paths ... ok
[INFO] [stdout] test mcp::tools::tests::add_schema_exposes_cli_parity_options ... ok
[INFO] [stdout] test mcp::status::tests::reports_misconfigured_opencode_entry ... ok
[INFO] [stdout] test manifest::tests::skips_marketplace_with_docs_only_local_plugin_source ... ok
[INFO] [stdout] test manifest::tests::skips_missing_claude_marketplace_local_plugin_sources_with_warning ... ok
[INFO] [stdout] test manifest::tests::tracks_modern_claude_plugin_native_passthrough_components ... ok
[INFO] [stdout] test mcp::status::tests::reports_plain_nodus_project_json_entry_as_configured ... ok
[INFO] [stdout] test manifest::tests::workspace_root_ignores_invalid_member_and_warns ... ok
[INFO] [stdout] test git::tests::recreates_missing_registered_shared_checkouts ... ok
[INFO] [stdout] test manifest::tests::rejects_workspace_member_with_invalid_codex_authentication_policy ... ok
[INFO] [stdout] test outdated::tests::notes_when_no_direct_dependencies_are_configured ... ok
[INFO] [stdout] test outdated::tests::ignores_disabled_dependencies ... ok
[INFO] [stdout] test git::tests::refreshes_default_branch_when_the_remote_head_changes ... ok
[INFO] [stdout] test outdated::tests::json_reports_include_dev_dependency_kind ... ok
[INFO] [stdout] test mcp::handlers::tests::dispatch_add_can_write_dev_revision_dependency ... ok
[INFO] [stdout] test outdated::tests::reports_revision_pins_as_current ... ok
[INFO] [stdout] test mcp::handlers::tests::dispatch_add_dry_run_does_not_write_project_manifest ... ok
[INFO] [stdout] test outdated::tests::reports_newer_tags_for_direct_dependencies ... ok
[INFO] [stdout] test outdated::tests::reports_when_all_tag_dependencies_are_current ... ok
[INFO] [stdout] test outdated::tests::reports_semver_compatible_updates_and_major_availability ... ok
[INFO] [stdout] test outdated::tests::reports_advanced_branch_heads_against_locked_state ... ok
[INFO] [stdout] test cli::tests::relay_supports_multiple_dependencies_in_one_command ... ok
[INFO] [stdout] test git::tests::recovers_missing_submodule_skill_targets ... ok
[INFO] [stdout] test relay::runtime::tests::pending_relay_edits_for_dev_dependencies_block_sync ... ok
[INFO] [stdout] test relay::runtime::tests::relay_allows_successive_managed_edits_after_successful_relay ... ok
[INFO] [stdout] test relay::runtime::tests::adapter_expansion_does_not_block_sync_with_existing_relay ... ok
[INFO] [stdout] test relay::runtime::tests::relay_rejects_path_dependencies ... ok
[INFO] [stdout] test relay::runtime::tests::missing_managed_variants_do_not_block_sync_with_relay ... ok
[INFO] [stdout] test relay::runtime::tests::missing_lockfile_does_not_block_sync_with_relay_links ... ok
[INFO] [stdout] test relay::runtime::tests::relay_create_missing_copies_new_codex_agent_into_toml_source ... ok
[INFO] [stdout] test relay::runtime::tests::pending_relay_edits_block_sync_update_and_remove ... ok
[INFO] [stdout] test relay::runtime::tests::relay_persists_via_hint ... ok
[INFO] [stdout] test relay::runtime::tests::relay_create_missing_is_opt_in ... ok
[INFO] [stdout] test relay::runtime::tests::relay_rejects_direct_managed_double_edits ... ok
[INFO] [stdout] test relay::runtime::tests::relay_create_missing_copies_new_copilot_skill_and_agent_into_source ... ok
[INFO] [stdout] test relay::runtime::tests::relay_requires_a_persisted_or_explicit_repo_path ... ok
[INFO] [stdout] test relay::runtime::tests::relay_create_missing_copies_new_codex_command_skill_into_source ... ok
[INFO] [stdout] test relay::runtime::tests::relay_rejects_metadata_only_codex_markdown_conflicts ... ok
[INFO] [stdout] test relay::runtime::tests::relay_rejects_when_managed_variants_disagree ... ok
[INFO] [stdout] test relay::runtime::tests::relay_ignores_stale_file_state_after_dependency_digest_changes ... ok
[INFO] [stdout] test relay::runtime::tests::relay_rejects_manual_linked_edits_after_successful_relay ... ok
[INFO] [stdout] test relay::runtime::tests::restore_opencode_skill_name_preserves_crlf ... ok
[INFO] [stdout] test relay::runtime::tests::restore_skill_name_falls_back_to_artifact_id_when_baseline_omits_name ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_back_direct_managed_file_and_directory_edits ... ok
[INFO] [stdout] test relay::runtime::tests::relay_batch_rejects_overlapping_write_sets ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_back_new_files_inside_package_managed_export_directory ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_back_codex_agent_edits_to_toml_source ... ok
[INFO] [stdout] test relay::runtime::watch::tests::caps_poll_interval_to_leave_time_before_deadline ... ok
[INFO] [stdout] test relay::runtime::watch::tests::keeps_configured_poll_interval_without_deadline ... ok
[INFO] [stdout] test report::tests::renders_finish_and_note_output ... ok
[INFO] [stdout] test report::tests::renders_plain_lines_without_prefixes ... ok
[INFO] [stdout] test report::tests::renders_colored_output_when_color_is_forced ... ok
[INFO] [stdout] test relay::runtime::watch::tests::keeps_shorter_poll_interval_when_it_already_fits_before_deadline ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::empty_package_digest_matches_content_digest_of_empty_slice ... ok
[INFO] [stdout] test report::tests::routes_results_and_diagnostics_to_different_writers ... ok
[INFO] [stdout] test report::tests::renders_plain_status_output_when_color_is_disabled ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::local_files_kept_when_global_subtree_excluded ... ok
[INFO] [stdout] test report::tests::renders_error_chains ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::missing_subtree_directory_contributes_zero_files ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::extra_file_in_owned_subtree_changes_digest ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::global_nodus_home_subtree_excluded_from_digest ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::mutated_owned_file_changes_digest ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::owned_file_contributes_to_digest ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::owned_prefix_matches_direct_children_only ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::missing_owned_file_returns_none ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::rejects_owned_prefix_dir_with_absolute_unix_path ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::owned_runtime_adapter_paths_contribute_to_digest ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::rejects_owned_subtrees_entry_with_parent_dir_segment ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::owned_subtree_walks_recursively_and_sorts_by_path ... ok
[INFO] [stdout] test resolver::runtime::support::managed_mode_tests::apply_managed_file_mode_leaves_non_plugin_paths_alone ... ok
[INFO] [stdout] test resolver::runtime::support::managed_mode_tests::apply_managed_file_mode_skips_non_shebang_contents ... ok
[INFO] [stdout] test resolver::runtime::support::managed_mode_tests::detects_claude_plugin_runtime_paths ... ok
[INFO] [stdout] test resolver::runtime::support::managed_mode_tests::planned_stale_paths_keeps_prefix_owned_planned_files ... ok
[INFO] [stdout] test resolver::runtime::support::managed_mode_tests::rejects_non_claude_plugin_runtime_paths ... ok
[INFO] [stdout] test resolver::runtime::support::managed_mode_tests::apply_managed_file_mode_sets_exec_bit_on_plugin_scripts ... ok
[INFO] [stdout] test resolver::runtime::resolve::digest_tests::root_digest_is_stable_across_folder_renames ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_back_copilot_skill_and_agent_edits ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_back_codex_command_skill_edits_to_source ... ok
[INFO] [stdout] test resolver::runtime::install_digest::tests::rejects_owned_files_entry_with_absolute_unix_path ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_back_edits_for_all_adapters_and_preserves_opencode_name ... ok
[INFO] [stdout] test relay::runtime::tests::relay_batch_supports_same_repo_disjoint_write_sets ... ok
[INFO] [stdout] test relay::runtime::tests::relay_watch_syncs_follow_up_managed_edits ... ok
[INFO] [stdout] test relay::runtime::tests::relay_batch_persists_successful_job_state_before_later_failure ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_claude_marketplace_wrapper_with_docs_only_local_plugin_sources ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_claude_marketplace_wrapper_with_hook_only_plugin_sources ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_back_codex_agent_edits_to_markdown_source ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_all_workspace_members_when_requested ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_metadata_only_codex_developer_edits_to_markdown_source ... ok
[INFO] [stdout] test relay::runtime::tests::relay_writes_metadata_only_codex_metadata_edits_to_toml_source ... ok
[INFO] [stdout] test relay::runtime::tests::stale_lockfile_does_not_block_sync_relay_preflight_without_pending_edits ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_claude_marketplace_wrapper_and_syncs_plugin_contents ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_claude_marketplace_wrapper_with_missing_local_plugin_sources ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_manifest_only_hook_package_and_syncs_claude_plugin_hooks ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_codex_marketplace_wrapper_and_syncs_plugin_contents ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_modern_claude_plugin_extra_component_paths_and_syncs_contents ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_marketplace_plugin_that_points_at_root_claude_plugin_metadata ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_modern_claude_mcp_only_package_and_syncs_mcp_metadata ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_leaves_multi_marketplace_plugins_disabled_by_default ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_leaves_multi_workspace_members_disabled_by_default ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_auto_enables_single_workspace_member ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_rejects_repo_without_supported_directories ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_normalizes_claude_plugin_root_arg_paths_in_mcp_metadata ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_manifest_only_wrapper_repo_and_syncs_transitive_git_plugins ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_pins_an_explicit_revision ... ok
[INFO] [stdout] test resolver::runtime::tests::consumed_packages_do_not_export_dev_dependencies ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_overlays_modern_claude_plugin_manifest_mcp_servers_and_syncs_metadata ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_clones_repo_and_updates_manifest ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_repo_with_nested_skill_directories ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_accepts_legacy_detected_adapter_roots_without_manifest_config ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_accepts_claude_plugin_hook_compat_after_first_sync ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_check_mode_keeps_missing_managed_file_as_unfixed_finding ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_check_mode_reports_read_only_status ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_blocks_invalid_mcp_json_without_lockfile_when_ownership_is_ambiguous ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_check_mode_reports_risky_cleanup_without_deleting_anything ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_check_and_repair_missing_codex_virtual_package_output ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_detects_lockfile_drift ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_detects_lockfile_drift_when_only_components_change ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_detects_missing_file_inside_managed_skill_directory ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_missing_lockfile_with_extra_empty_subdir_in_managed_directory_blocks_repair ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_missing_lockfile_with_managed_file_under_symlinked_parent_blocks_repair ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_force_mode_applies_risky_cleanup_without_prompt ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_missing_lockfile_with_symlinked_managed_file_blocks_repair ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_missing_lockfile_with_partial_multi_file_managed_directory_blocks_repair ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_missing_lockfile_with_unmanaged_collision_still_blocks_repair ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_tracks_an_explicit_branch ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_missing_lockfile_rewrites_global_workspace_marketplace ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_recovers_exact_match_package_export_directory_after_lockfile_loss ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_recovers_exact_match_package_export_file_after_lockfile_loss ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_all_claude_marketplace_remote_sources_and_syncs_contents ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_uses_default_branch_when_repo_has_no_tags ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_repairs_invalid_managed_mcp_json_when_it_owns_the_file ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_rejects_invalid_managed_mcp_json ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_syncs_path_dependencies_inside_manifest_only_wrapper_repo ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_repairs_invalid_managed_claude_settings_when_it_owns_the_file ... ok
[INFO] [stdout] test resolver::runtime::tests::existing_lockfile_resolution_accepts_lockfile_drift_for_baseline_checks ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_repairs_invalid_managed_codex_config_when_it_owns_the_file ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_repairs_missing_file_inside_managed_skill_directory ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_repairs_invalid_managed_opencode_config_when_it_owns_the_file ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_skips_invalid_workspace_members ... ok
[INFO] [stdout] test resolver::runtime::tests::prune_empty_parent_dirs_stops_at_github_root ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_accepts_exact_file_in_mixed_runtime_directory ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_accepts_exact_package_export_directories ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_accepts_exact_single_file_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_rejects_candidates_under_symlinked_parents ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_rejects_extra_empty_subdirectories ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_rejects_partial_directory_matches ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_rejects_symlinked_candidates ... ok
[INFO] [stdout] test resolver::runtime::tests::recover_runtime_owned_paths_from_disk_requires_existing_matching_path_state ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_writes_selected_components_to_manifest ... ok
[INFO] [stdout] test resolver::runtime::tests::remove_dependency_rejects_unknown_package ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_recovers_exact_match_workspace_marketplace_after_lockfile_loss ... ok
[INFO] [stdout] test resolver::runtime::tests::resolve_codex_profile_validates_and_prefers_override ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_uses_latest_tag_when_not_provided ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_accepts_repo_with_symlinked_submodule_skills ... ok
[INFO] [stdout] test resolver::runtime::tests::resolves_local_path_dependencies_with_discovery ... ok
[INFO] [stdout] test resolver::runtime::tests::resolves_local_path_dependencies_with_configured_content_roots ... ok
[INFO] [stdout] test resolver::runtime::tests::root_manifest_can_be_missing ... ok
[INFO] [stdout] test resolver::runtime::tests::resync_does_not_remove_and_recreate_unchanged_managed_skill_directories ... ok
[INFO] [stdout] test resolver::runtime::tests::root_resolution_includes_dev_dependencies ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_count_owned_files_sums_per_package_views ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_fast_path_allows_branch_pinned_deps_under_frozen ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_fast_path_miss_on_drift_under_frozen_reports_lockfile_out_of_date ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_fast_path_skipped_for_branch_pinned_deps_in_normal_mode ... ok
[INFO] [stdout] test resolver::runtime::tests::custom_cache_root_routes_shared_repositories_into_the_override_directory ... ok
[INFO] [stdout] test resolver::runtime::tests::add_dependency_writes_marketplace_version_alongside_default_branch ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_fast_path_skipped_when_install_digest_is_none ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_fast_path_skipped_for_global_plugin_payload_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_install_digest_from_disk_matches_recorded_digest_for_unchanged_install ... ok
[INFO] [stdout] test resolver::runtime::tests::resolve_workspace_root_includes_all_members ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_install_digest_from_disk_differs_when_owned_file_content_changes ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_install_digest_from_disk_returns_none_when_owned_file_is_missing ... ok
[INFO] [stdout] test resolver::runtime::tests::slice5_attribute_file_to_package_is_alphabetically_deterministic ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_fast_path_skipped_for_path_dependencies ... ok
[INFO] [stdout] test resolver::runtime::tests::global_add_requires_supported_detected_adapters_when_none_are_explicit ... ok
[INFO] [stdout] test resolver::runtime::tests::slice4_install_digest_matches_disk_for_merged_mcp_config ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_adopts_exact_unmanaged_runtime_skill_output ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_can_cancel_after_unmanaged_collision_prompt ... ok
[INFO] [stdout] test resolver::runtime::tests::git_workspace_members_share_owner_suffix_and_namespaced_names ... ok
[INFO] [stdout] test resolver::runtime::tests::global_add_rejects_sync_on_launch ... ok
[INFO] [stdout] test resolver::runtime::tests::doctor_accepts_shared_mirror_backed_checkouts ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_can_adopt_unmanaged_collision_on_direct_managed_target ... ok
[INFO] [stdout] test resolver::runtime::tests::slice5_workspace_mode_install_digest_ignores_global_marketplace_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_deduplicates_named_hook_declared_by_both_root_and_dependency ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_can_remove_managed_mapping_after_unmanaged_collision ... ok
[INFO] [stdout] test resolver::runtime::tests::remove_dependency_accepts_repository_reference ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_does_not_emit_claude_plugin_hook_compat_for_non_claude_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_does_not_publish_root_assets_by_default ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_deduplicates_managed_codex_user_prompt_and_permission_request_hooks ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_detects_existing_codex_root_and_persists_only_codex ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_deduplicates_startup_sync_hook_across_root_and_dependency_packages ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_detects_multiple_adapter_roots_and_persists_them ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_dry_run_force_previews_without_overwriting_unmanaged_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_claude_native_lifecycle_hooks_without_leaking_to_other_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_can_adopt_unmanaged_runtime_command_output ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_activation_session_start_hooks_for_claude_and_codex ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_apply_patch_edit_and_write_matchers ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_claude_marketplace_inline_lsp_metadata ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_claude_clear_and_compact_session_start_sources ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_agent_toml_from_markdown_fallback ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_permission_request_hook ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_claude_native_plugin_layout_for_dependency_package ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_claude_plugin_command_hooks_from_manifest_declared_hook_sources ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_mcp_through_project_config ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_command_compatibility_skills_for_command_components ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_copilot_hooks_for_supported_events ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_user_prompt_submit_hook ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_native_plugin_layout_for_dependency_package ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_mcp_json_from_dependency_manifests ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_claude_plugin_command_hooks_from_dependency_packages ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_codex_project_mcp_from_dependency_manifests ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_explicit_pre_tool_hooks_for_supported_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_dependency_codex_hooks_in_project_runtime ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_opencode_virtual_plugin_wrappers_for_default_and_named_exports ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_creates_codex_user_config_for_workspace_plugins ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_startup_sync_files_for_supported_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_opencode_json_from_dependency_manifests ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_url_backed_mcp_servers ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_force_does_not_bypass_locked_stale_lockfile_checks ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_filters_opencode_virtual_plugins_by_adapter_and_component_selection ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_filters_tool_hook_matchers_by_adapter_support ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_dependency_outputs_without_mirroring_root_content ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_frozen_requires_existing_lockfile ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_force_overwrites_unmanaged_collision_on_direct_managed_target ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_gracefully_preserves_user_claude_local_settings_when_hooks_are_enabled_later ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_installs_opencode_runtime_packages_as_managed_plugins ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_installs_root_skill_dependency ... ok
[INFO] [stdout] test resolver::runtime::tests::global_add_installs_to_all_detected_supported_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_keeps_claude_plugin_hook_compat_disabled_for_codex_startup_hooks ... ok
[INFO] [stdout] test resolver::runtime::tests::remove_dependency_updates_manifest_and_prunes_managed_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_adopts_branch_tracked_dependency_collisions_without_prompting ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_keeps_transitive_dependencies_when_parent_components_are_narrowed ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_generates_claude_workspace_marketplace_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_emits_transitive_package_managed_exports ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_force_overwrites_unmanaged_runtime_skill_output ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_leaves_unmanaged_files_in_legacy_project_native_plugin_target ... ok
[INFO] [stdout] test resolver::runtime::tests::global_remove_prunes_home_scoped_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_filters_github_copilot_outputs_by_selected_components ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_filters_dependency_outputs_by_selected_components ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_merges_claude_startup_hook_into_existing_settings_without_duplicates ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_locked_rejects_legacy_launch_hook_config_migration ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_merges_codex_startup_hook_into_existing_hooks_without_duplicates ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_merges_metadata_only_codex_agent_toml_with_markdown_body ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_leaves_codex_user_config_untouched_and_prunes_project_marketplace ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_merges_existing_unmanaged_runtime_root_gitignore ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_migrates_legacy_launch_hook_config_to_hooks ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_locked_and_frozen_reject_native_plugin_migration ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_omits_disabled_mcp_servers ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_merges_direct_managed_runtime_root_gitignore_with_generated_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_merges_unmanaged_mcp_entries_with_managed_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_omits_mcp_outputs_when_mcp_component_is_not_selected ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_persists_explicit_adapter_selection_when_repo_has_no_roots ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_namespaces_duplicate_opencode_skill_ids_across_packages ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_migrates_subset_legacy_managed_paths_to_package_exports ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_moves_codex_registration_back_to_base_when_profile_removed ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_namespaces_duplicate_file_ids_across_packages ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_persists_launch_hook_configuration ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prefers_manifest_selection_over_detected_roots ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_overwrites_owned_native_plugin_command_output_without_prompt ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_migrates_claude_and_codex_outputs_to_native_plugins ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prefers_codex_specific_toml_agents_for_codex_and_markdown_for_claude ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prefers_native_claude_hooks_over_plugin_hook_compat ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_preserves_claude_native_passthrough_components ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_legacy_codex_marketplace_tree ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_preserves_user_owned_root_instruction_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_leaves_workspace_codex_user_config_untouched ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_outputs_when_adapter_selection_is_narrowed ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_old_skill_directories_when_digest_changes ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_disabled_dependencies_from_outputs_and_lockfile ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_stale_managed_mcp_entries_without_touching_unmanaged_ones ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_project_mcp_when_claude_native_plugin_owns_mcp_servers ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_publishes_root_codex_agents_without_redundant_owned_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_records_selected_components_without_supported_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rejects_claude_only_declaration_of_codex_permission_request ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_records_stable_skill_roots_in_lockfile ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_recreates_missing_lockfile_for_existing_runtime_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rejects_nested_dependency_managed_paths ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rejects_non_subset_legacy_managed_paths_when_package_exports_exist ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rejects_overlapping_direct_managed_targets ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rejects_launch_hook_persistence_with_locked_flag ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_stale_managed_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_requires_explicit_adapter_when_repo_has_no_signals ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rejects_unmanaged_collision_on_direct_managed_target ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_stale_files_inside_project_scoped_managed_export_root ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_replaces_deprecated_codex_hooks_feature_when_emitting_hooks ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rejects_unsafe_codex_profile_name ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_outputs_when_dependency_components_are_narrowed ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_publishes_root_assets_when_enabled ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_skips_invalid_workspace_members_in_claude_marketplace_files ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_direct_managed_targets_when_mapping_is_removed ... ok
[INFO] [stdout] test relay::runtime::tests::relay_watch_syncs_follow_up_managed_edits_for_multiple_dependencies ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_updates_and_prunes_opencode_virtual_plugin_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_rewrites_github_copilot_skill_name_to_managed_id ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_requires_opt_in_for_high_sensitivity_capabilities ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_uses_workspace_namespace_for_workspace_marketplace_member_names ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_frozen_keeps_direct_managed_files_at_locked_git_revision ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_warns_when_activation_is_unsupported_for_selected_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_upgrades_legacy_lockfile_and_prunes_legacy_runtime_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_unions_component_selection_for_duplicate_package_references ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_warns_when_launch_hooks_are_unsupported_for_selected_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_uses_dependency_alias_for_package_managed_exports_inside_virtual_plugin_roots ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_uses_workspace_namespace_for_member_alias_and_plugin_name ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_codex_profile_overlay_and_keeps_base_config_clean ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_uses_snapshot_roots_when_skill_directory_is_placeholder_file ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_package_managed_exports_from_export_only_dependency ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_direct_managed_file_targets ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_package_managed_exports_under_nodus_packages ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_project_scoped_package_managed_exports ... ok
[INFO] [stdout] test resolver::runtime::tests::to_lockfile_emits_per_package_owned_subtree_for_native_plugin_packages ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_runtime_gitignores_for_managed_outputs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_codex_marketplace_for_workspace_members_with_codex_metadata ... ok
[INFO] [stdout] test resolver::runtime::tests::to_lockfile_install_digest_changes_when_planned_bytes_change ... ok
[INFO] [stdout] test resolver::runtime::tests::to_lockfile_install_digest_stable_across_equivalent_resolutions ... ok
[INFO] [stdout] test resolver::runtime::tests::to_lockfile_no_longer_populates_legacy_managed_files_on_v10_write ... ok
[INFO] [stdout] test review::runtime::tests::authorizer_blocks_mutating_file_operations ... ok
[INFO] [stdout] test review::runtime::tests::collects_nested_dependency_graph_for_review ... ok
[INFO] [stdout] test resolver::runtime::tests::workspace_dependency_without_members_enables_no_member_packages ... ok
[INFO] [stdout] test resolver::runtime::tests::to_lockfile_collapses_multiple_hook_files_into_one_owned_prefix_rule ... ok
[INFO] [stdout] test resolver::runtime::tests::workspace_dependency_installs_only_selected_members ... ok
[INFO] [stdout] test selection::tests::adapter_prompt_items_follow_supported_adapter_order ... ok
[INFO] [stdout] test selection::tests::detects_codex_marketplace_root_without_codex_dir ... ok
[INFO] [stdout] test review::runtime::tests::review_marks_root_dev_dependencies_in_the_prompt ... ok
[INFO] [stdout] test selection::tests::detects_existing_repo_adapter_roots ... ok
[INFO] [stdout] test selection::tests::detects_nested_nodus_codex_marketplace_without_codex_dir ... ok
[INFO] [stdout] test selection::tests::detects_github_copilot_project_assets ... ok
[INFO] [stdout] test review::runtime::tests::review_prompt_includes_dependency_graph_and_roots ... ok
[INFO] [stdout] test selection::tests::ignores_unrelated_github_configuration_when_detecting_adapters ... ok
[INFO] [stdout] test selection::tests::rejects_noninteractive_repo_without_any_adapter_signal ... ok
[INFO] [stdout] test selection::tests::resolve_global_selection_detects_all_supported_home_roots ... ok
[INFO] [stdout] test selection::tests::resolve_global_selection_rejects_unsupported_explicit_adapters ... ok
[INFO] [stdout] test selection::tests::resolve_global_selection_rejects_unsupported_persisted_adapters ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_writes_and_prunes_direct_managed_directory_targets ... ok
[INFO] [stdout] test store::tests::atomically_writes_files ... ok
[INFO] [stdout] test store::tests::digest_directory_name_accepts_blake3_prefix ... ok
[INFO] [stdout] test store::tests::digest_directory_name_accepts_legacy_sha256_prefix ... ok
[INFO] [stdout] test store::tests::digest_directory_name_rejects_unknown_prefix ... ok
[INFO] [stdout] test store::tests::recreates_incomplete_snapshots ... ok
[INFO] [stdout] test resolver::runtime::tests::to_lockfile_stamps_install_digest_for_every_package ... ok
[INFO] [stdout] test store::tests::reuses_the_same_snapshot_for_duplicate_package_digests ... ok
[INFO] [stdout] test store::tests::snapshots_package_contents_into_the_local_store ... ok
[INFO] [stdout] test update::tests::reports_when_no_direct_dependencies_are_configured ... ok
[INFO] [stdout] test selection::tests::does_not_treat_agents_skills_root_as_codex_signal ... ok
[INFO] [stdout] test selection::tests::missing_adapter_notice_mentions_project_root_and_guidance ... ok
[INFO] [stdout] test selection::tests::resolves_detected_adapters_when_manifest_is_unset ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_still_prompts_for_non_branch_dependency_collisions ... ok
[INFO] [stdout] test update_checker::tests::builds_a_powershell_manual_update_command_on_windows ... ok
[INFO] [stdout] test update_checker::tests::detects_registry_cargo_installs_from_crates2_json ... ok
[INFO] [stdout] test update_checker::tests::detects_release_installs_from_a_marker_file ... ok
[INFO] [stdout] test update_checker::tests::does_not_notify_when_current_version_is_up_to_date ... ok
[INFO] [stdout] test update_checker::tests::does_not_notify_when_the_probe_returns_no_release ... ok
[INFO] [stdout] test update_checker::tests::does_not_repeat_a_notice_for_the_same_release_tag ... ok
[INFO] [stdout] test update_checker::tests::extracts_the_latest_release_from_redirect_headers ... ok
[INFO] [stdout] test update_checker::tests::falls_back_to_manual_guidance_for_ambiguous_installs ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_strict_fails_when_git_refresh_fails ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_uses_root_manifest_name_for_claude_workspace_marketplace_metadata ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_keeps_unique_dependency_skill_ids_unsuffixed ... ok
[INFO] [stdout] test update_checker::tests::notices_fall_back_to_install_docs_for_unsupported_installs ... ok
[INFO] [stdout] test update_checker::tests::notices_suggest_upgrade_for_supported_installs ... ok
[INFO] [stdout] test update_checker::tests::notifies_again_when_a_newer_release_than_the_last_notice_appears ... ok
[INFO] [stdout] test update_checker::tests::notifies_once_for_a_newer_release_and_persists_state ... ok
[INFO] [stdout] test update_checker::tests::parses_release_tags_with_or_without_a_v_prefix ... ok
[INFO] [stdout] test update_checker::tests::plans_cargo_registry_updates_with_an_exact_version ... ok
[INFO] [stdout] test update_checker::tests::plans_release_updates_against_the_tagged_installer_script ... ok
[INFO] [stdout] test update_checker::tests::plans_windows_release_updates_against_the_powershell_installer ... ok
[INFO] [stdout] test update_checker::tests::powershell_install_script_handles_windows_release_assets_from_flat_zip_root ... ok
[INFO] [stdout] test update_checker::tests::rejects_cargo_path_installs_for_upgrade ... ok
[INFO] [stdout] test update_checker::tests::release_urls_are_derived_from_the_repo_slug ... ok
[INFO] [stdout] test update_checker::tests::round_trips_update_check_state ... ok
[INFO] [stdout] test update_checker::tests::skips_remote_probe_when_the_last_attempt_is_recent ... ok
[INFO] [stdout] test update_checker::tests::updates_last_attempt_time_even_when_the_probe_fails ... ok
[INFO] [stdout] test update_checker::tests::upgrade_check_reports_when_current_version_is_already_latest ... ok
[INFO] [stdout] test update_checker::tests::uses_a_powershell_installer_invocation_on_windows ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_prunes_activation_hooks_when_activation_is_removed ... ok
[INFO] [stdout] test review::runtime::tests::execute_review_uses_only_files_tool ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_frozen_installs_branch_dependencies_from_locked_revision ... ok
[INFO] [stdout] test resolver::runtime::tests::shared_cache_is_reused_across_multiple_projects ... ok
[INFO] [stdout] test update_checker::tests::install_script_handles_windows_arm64_release_assets_from_msys_shells ... ok
[INFO] [stdout] test update_checker::tests::install_script_writes_and_removes_the_release_install_marker ... ok
[INFO] [stdout] test update::tests::keeps_revision_pinned_dependencies_at_the_requested_commit ... ok
[INFO] [stdout] test resolver::runtime::tests::sync_warns_and_reuses_locked_cached_revision_when_git_refresh_fails ... ok
[INFO] [stdout] test update_checker::tests::install_script_handles_windows_release_assets_from_msys_shells ... ok
[INFO] [stdout] test update::tests::updates_dev_dependencies ... ok
[INFO] [stdout] test update::tests::updates_tagged_direct_dependencies_to_the_latest_tag ... ok
[INFO] [stdout] test update::tests::updates_semver_managed_dependencies_within_requirement ... ok
[INFO] [stdout] test update::tests::updates_branch_direct_dependencies_to_the_latest_revision ... ok
[INFO] [stdout] test relay::runtime::tests::relay_watch_syncs_multiple_follow_up_edits_to_same_file ... ok
[INFO] [stdout] test resolver::runtime::tests::managed_package_ids_prefer_tag_branch_version_then_revision ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 758 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.30s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nodus-b17e6e907a0b9b48)
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/lockfile_v10_schema.rs (/opt/rustwide/target/debug/deps/lockfile_v10_schema-bdeccd9191cfb463)
[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 6 tests
[INFO] [stdout] test accepts_v10_lockfile_with_all_new_owned_fields_populated ... ok
[INFO] [stdout] test accepts_v10_lockfile_with_blake3_prefixed_install_digest ... ok
[INFO] [stdout] test strict_reader_rejects_v5_lockfile_with_version_mismatch_message ... ok
[INFO] [stdout] test rejects_v10_lockfile_with_install_digest_using_sha256_prefix ... ok
[INFO] [stdout] test rejects_v10_lockfile_with_install_digest_missing_blake3_prefix ... ok
[INFO] [stdout] test reads_real_world_v9_lockfile_via_read_for_sync ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lockfile_v9_to_v10_migration.rs (/opt/rustwide/target/debug/deps/lockfile_v9_to_v10_migration-60d4acb1f07c008f)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test sync_frozen_with_no_fast_path_is_rejected ... ok
[INFO] [stdout] test sync_no_fast_path_flag_is_accepted_by_cli ... ok
[INFO] [stdout] test sync_migrates_v9_lockfile_to_v10_and_populates_owned_and_install_digest ... ok
[INFO] [stdout] test sync_second_run_is_not_dramatically_slower_than_first ... ok
[INFO] [stdout] test sync_is_byte_identical_idempotent_across_three_runs ... ok
[INFO] [stderr]      Running tests/manifest_root_sentinel.rs (/opt/rustwide/target/debug/deps/manifest_root_sentinel-ae3e633d289748e6)
[INFO] [stdout] test sync_repairs_drifted_owned_file_and_keeps_install_digest_consistent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test manifest_loader_rejects_package_name_with_angle_brackets ... ok
[INFO] [stdout] test manifest_loader_rejects_literal_root_sentinel_as_package_name ... ok
[INFO] [stdout] test manifest_loader_accepts_normal_package_name ... ok
[INFO] [stdout] test manifest_loader_rejects_package_name_with_only_opening_bracket ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mcp_serve.rs (/opt/rustwide/target/debug/deps/mcp_serve-d10ab2308c2a50c5)
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test mcp_serve_responds_to_initialize_request ... ok
[INFO] [stderr]    Doc-tests nodus
[INFO] [stdout] test mcp_serve_lists_tools_after_initialize ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[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" "47fd653e5f68e825cdcc0da187540244c91f1a370166037807b01fe7caffd8d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47fd653e5f68e825cdcc0da187540244c91f1a370166037807b01fe7caffd8d1", kill_on_drop: false }`
[INFO] [stdout] 47fd653e5f68e825cdcc0da187540244c91f1a370166037807b01fe7caffd8d1
