[INFO] cloning repository https://github.com/unioslo/osp-cli-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/unioslo/osp-cli-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funioslo%2Fosp-cli-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funioslo%2Fosp-cli-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 39f2cf8a0410600ca56ddf0a009b6862a554c109
[INFO] testing unioslo/osp-cli-rs against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funioslo%2Fosp-cli-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/unioslo/osp-cli-rs
[INFO] finished tweaking git repo https://github.com/unioslo/osp-cli-rs
[INFO] tweaked toml for git repo https://github.com/unioslo/osp-cli-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/unioslo/osp-cli-rs on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/unioslo/osp-cli-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 74f083597d53613650926aea281832c7af5e8fa3d24e5207398355e158b29d70
[INFO] running `Command { std: "docker" "start" "-a" "74f083597d53613650926aea281832c7af5e8fa3d24e5207398355e158b29d70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "74f083597d53613650926aea281832c7af5e8fa3d24e5207398355e158b29d70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74f083597d53613650926aea281832c7af5e8fa3d24e5207398355e158b29d70", kill_on_drop: false }`
[INFO] [stdout] 74f083597d53613650926aea281832c7af5e8fa3d24e5207398355e158b29d70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 30d1f39d4188040a63fe4ff7f13bae4cf02a28e723abd01e86829685e0716c3a
[INFO] running `Command { std: "docker" "start" "-a" "30d1f39d4188040a63fe4ff7f13bae4cf02a28e723abd01e86829685e0716c3a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling vte v0.14.1
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling ansitok v0.3.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling fd-lock v4.0.4
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling ansi-str v0.9.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling strip-ansi-escapes v0.2.1
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling supports-unicode v3.0.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling reedline v0.33.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling osp-cli v1.4.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "30d1f39d4188040a63fe4ff7f13bae4cf02a28e723abd01e86829685e0716c3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30d1f39d4188040a63fe4ff7f13bae4cf02a28e723abd01e86829685e0716c3a", kill_on_drop: false }`
[INFO] [stdout] 30d1f39d4188040a63fe4ff7f13bae4cf02a28e723abd01e86829685e0716c3a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 42f7872db9286813c6d4e9a58dbd6d81db0f0affd84faaf249372faf553a2406
[INFO] running `Command { std: "docker" "start" "-a" "42f7872db9286813c6d4e9a58dbd6d81db0f0affd84faaf249372faf553a2406", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling serial-core v0.4.0
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling termios v0.2.2
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling ioctl-rs v0.1.6
[INFO] [stderr]    Compiling serial-unix v0.4.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling serial v0.4.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling reedline v0.33.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling insta v1.46.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling osp-cli v1.4.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling portable-pty v0.8.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 39s
[INFO] running `Command { std: "docker" "inspect" "42f7872db9286813c6d4e9a58dbd6d81db0f0affd84faaf249372faf553a2406", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42f7872db9286813c6d4e9a58dbd6d81db0f0affd84faaf249372faf553a2406", kill_on_drop: false }`
[INFO] [stdout] 42f7872db9286813c6d4e9a58dbd6d81db0f0affd84faaf249372faf553a2406
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1feea03cc57cee1b2631f75cf40db6e5cefd459a4417e92db84955472581351a
[INFO] running `Command { std: "docker" "start" "-a" "1feea03cc57cee1b2631f75cf40db6e5cefd459a4417e92db84955472581351a", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/osp_cli-46d2540a76b5fc7d)
[INFO] [stdout] 
[INFO] [stdout] running 957 tests
[INFO] [stdout] test app::bootstrap::tests::parse_message_level_accepts_warn_alias_and_rejects_unknown_values_unit ... ok
[INFO] [stdout] test app::bootstrap::tests::debug_verbosity_from_config_clamps_string_and_integer_inputs_unit ... ok
[INFO] [stdout] test app::config_explain::tests::config_explain_helpers_cover_scope_policy_and_key_suggestions_unit ... ok
[INFO] [stdout] test app::config_explain::tests::config_explain_redacts_sensitive_values_in_text_and_json_unit ... ok
[INFO] [stdout] test app::config_explain::tests::config_explain_json_surfaces_presentation_effect_unit ... ok
[INFO] [stdout] test app::bootstrap::tests::build_logging_config_ignores_blank_paths_even_when_file_logging_is_enabled_unit ... ok
[INFO] [stdout] test api::tests::exact_netgroup_queries_return_single_match ... ok
[INFO] [stdout] test api::tests::missing_entries_return_empty_results ... ok
[INFO] [stdout] test app::config_explain::tests::config_explain_text_surfaces_presentation_effect_unit ... ok
[INFO] [stdout] test app::dispatch::tests::build_dispatch_plan_preserves_external_tokens_when_not_shorthand_unit ... ok
[INFO] [stdout] test app::dispatch::tests::dispatch_visibility_helpers_deny_visible_but_unrunnable_commands_unit ... ok
[INFO] [stdout] test api::tests::user_filter_uid_equals_returns_match ... ok
[INFO] [stdout] test api::tests::wildcard_queries_match_users_and_netgroups ... ok
[INFO] [stdout] test app::dispatch::tests::build_dispatch_plan_supports_profile_prefixed_external_commands_unit ... ok
[INFO] [stdout] test app::dispatch::tests::dispatch_visibility_helpers_enforce_builtin_and_plugin_allowlists_unit ... ok
[INFO] [stdout] test app::dispatch::tests::dispatch_reason_rendering_covers_feature_profile_and_capability_denials_unit ... ok
[INFO] [stdout] test app::dispatch::tests::normalize_profile_override_trims_and_rejects_blank_values_unit ... ok
[INFO] [stdout] test app::dispatch::tests::normalize_cli_profile_rewrites_cli_profile_in_place_unit ... ok
[INFO] [stdout] test app::external::tests::external_builtin_help_passthrough_is_handled_unit ... ok
[INFO] [stdout] test app::external::tests::external_plugin_response_preserves_messages_unit ... ok
[INFO] [stdout] test app::external::tests::help_passthrough_detection_covers_flags_and_help_subcommand_unit ... ok
[INFO] [stdout] test app::external::tests::external_native_command_help_exit_and_response_paths_unit ... ok
[INFO] [stdout] test app::help::tests::help_arg_parsers_accept_case_and_whitespace_unit ... ok
[INFO] [stdout] test app::help::tests::parse_help_render_overrides_ignores_invalid_values_without_eating_later_flags_unit ... ok
[INFO] [stdout] test app::help::tests::parse_help_render_overrides_supports_inline_assignment_forms_unit ... ok
[INFO] [stdout] test app::logging::tests::bootstrap_logging_config_ignores_non_debug_short_flags ... ok
[INFO] [stdout] test app::logging::tests::bootstrap_logging_config_counts_debug_flags ... ok
[INFO] [stdout] test app::logging::tests::debug_count_maps_to_expected_levels ... ok
[INFO] [stdout] test app::help::tests::render_settings_for_help_applies_explicit_overrides_after_preset_unit ... ok
[INFO] [stdout] test app::logging::tests::dynamic_file_writer_without_file_reports_off_and_discards_bytes ... ok
[INFO] [stdout] test app::logging::tests::parse_level_filter_recognizes_error_debug_and_trace_aliases ... ok
[INFO] [stdout] test app::logging::tests::parse_level_filter_recognizes_values ... ok
[INFO] [stdout] test app::logging::tests::split_file_path_defaults_to_current_directory_for_bare_name ... ok
[INFO] [stdout] test app::logging::tests::dynamic_file_writer_can_toggle_between_sink_and_file ... ok
[INFO] [stdout] test app::logging::tests::open_log_file_creates_parent_directories ... ok
[INFO] [stdout] test app::logging::tests::split_file_path_preserves_nested_directory_and_name ... ok
[INFO] [stdout] test app::logging::tests::split_file_path_requires_file_name ... ok
[INFO] [stdout] test app::runtime::tests::auth_state_and_command_access_layer_policy_overrides_on_allowlists ... ok
[INFO] [stdout] test app::dispatch::tests::build_dispatch_plan_covers_repl_subcommand_and_shorthand_parse_errors_unit ... ok
[INFO] [stdout] test app::runtime::tests::command_access_for_uses_registry_when_present_and_public_default_otherwise ... ok
[INFO] [stdout] test app::runtime::tests::config_state_tracks_noops_changes_and_transaction_errors ... ok
[INFO] [stdout] test app::runtime::tests::runtime_context_and_allowlists_normalize_inputs ... ok
[INFO] [stdout] test app::logging::tests::bootstrap_logging_config_stops_scanning_after_double_dash ... ok
[INFO] [stdout] test app::dispatch::tests::ensure_dispatch_visibility_and_terminal_kind_cover_all_action_families_unit ... ok
[INFO] [stdout] test app::tests::bootstrap_message_verbosity_handles_non_utf8_short_flags_and_double_dash_unit ... ok
[INFO] [stdout] test app::tests::cli_cache_flag_is_rejected_outside_repl_unit ... ok
[INFO] [stdout] test app::tests::app_help_includes_registered_native_commands_unit ... ok
[INFO] [stdout] test app::tests::cli_gammel_og_bitter_flag_maps_to_austere_unit ... ok
[INFO] [stdout] test app::tests::cli_scan_extracts_invocation_flags_without_polluting_clap_unit ... ok
[INFO] [stdout] test app::tests::default_plugin_error_render_preserves_primary_detail_unit ... ok
[INFO] [stdout] test app::tests::app_state_seeds_plugin_command_policy_registry_unit ... ok
[INFO] [stdout] test app::tests::explicit_profile_is_normalized_unit ... ok
[INFO] [stdout] test app::tests::exit_code_classification_distinguishes_usage_config_and_plugin_unit ... ok
[INFO] [stdout] test app::help::tests::render_settings_for_help_honors_austere_override_without_external_config_unit ... ok
[INFO] [stdout] test app::tests::explicit_profile_overrides_positional_unit ... ok
[INFO] [stdout] test app::tests::cli_presentation_flag_sets_session_override_unit ... ok
[INFO] [stdout] test app::tests::cli_runtime_load_options_follow_disable_flags_unit ... ok
[INFO] [stdout] test app::tests::direct_plugins_command_keeps_clap_action_unit ... ok
[INFO] [stdout] test app::tests::invocation_ui_overlays_runtime_defaults_per_command_unit ... ok
[INFO] [stdout] test app::tests::plugin_config_env_collects_shared_and_plugin_specific_entries_unit ... ok
[INFO] [stdout] test app::tests::plugin_config_env_name_normalizes_extension_keys_unit ... ok
[INFO] [stdout] test app::tests::plugin_config_env_serializes_lists_and_secrets_unit ... ok
[INFO] [stdout] test app::tests::plugin_path_discovery_defaults_off_and_respects_config_unit ... ok
[INFO] [stdout] test app::tests::plugin_dispatch_context_refreshes_cached_plugin_env_after_config_change ... ok
[INFO] [stdout] test app::tests::plugin_format_hint_parser_supports_known_values_unit ... ok
[INFO] [stdout] test app::tests::plugin_process_timeout_reads_config_override_unit ... ok
[INFO] [stdout] test app::tests::positional_profile_external_matches_explicit_profile_unit ... ok
[INFO] [stdout] test app::tests::positional_profile_only_routes_to_repl_unit ... ok
[INFO] [stdout] test app::tests::positional_profile_with_plugins_routes_builtin_unit ... ok
[INFO] [stdout] test app::tests::prepare_plugin_response_drops_format_hint_after_pipeline_unit ... ok
[INFO] [stdout] test app::tests::prepare_plugin_response_keeps_protocol_failures_in_messages_unit ... ok
[INFO] [stdout] test app::tests::presentation::austere_repl_intro_is_minimal_single_line_unit ... ok
[INFO] [stdout] test app::tests::presentation::compact_repl_intro_is_minimal_single_line_unit ... ok
[INFO] [stdout] test app::tests::positional_profile_plugins_matches_explicit_profile_unit ... ok
[INFO] [stdout] test app::tests::positional_profile_with_command_routes_external_unit ... ok
[INFO] [stdout] test app::tests::presentation::help_chrome_uses_unicode_dividers_when_enabled_unit ... ok
[INFO] [stdout] test app::tests::app_builder_and_runner_delegate_to_host_paths_unit ... ok
[INFO] [stdout] test app::tests::external_inline_builtin_reuses_repl_dsl_policy_unit ... ok
[INFO] [stdout] test app::tests::positional_profile_with_config_uses_clap_parser_unit ... ok
[INFO] [stdout] test app::tests::presentation::help_render_overrides_parse_gammel_og_bitter_alias_unit ... ok
[INFO] [stdout] test app::tests::presentation::help_render_overrides_parse_long_flags_unit ... ok
[INFO] [stdout] test app::tests::presentation::help_render_overrides_skips_next_flag_value_unit ... ok
[INFO] [stdout] test app::tests::presentation::austere_help_layout_collapses_footer_spacing_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_help_chrome_passthrough_without_known_sections_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_intro_respects_builtin_visibility_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_prompt_right_shows_ascii_incognito_marker_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_prompt_right_includes_timing_breakdown_at_debug_three_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_prompt_template_appends_indicator_when_missing_placeholder_unit ... ok
[INFO] [stdout] test app::tests::app_dispatches_top_level_native_commands_unit ... ok
[INFO] [stdout] test app::tests::presentation::sensitive_key_detection_handles_common_variants_unit ... ok
[INFO] [stdout] test app::tests::presentation::theme_slug_is_rendered_as_title_case_display_name_unit ... ok
[INFO] [stdout] test app::tests::render_settings_with_hint_use_plugin_hint_only_when_auto_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::compact_repl_surface_omits_options_overview_and_prioritizes_builtins_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_help_chrome_replaces_clap_headings_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_prompt_template_substitutes_profile_and_indicator_unit ... ok
[INFO] [stdout] test app::tests::presentation::repl_simple_prompt_shows_shell_scope_indicator_unit ... ok
[INFO] [stdout] test app::tests::presentation::presentation_profiles_shape_help_output_snapshot_unit ... ok
[INFO] [stdout] test app::tests::presentation::presentation_profiles_shape_prompt_output_snapshot_unit ... ok
[INFO] [stdout] test app::tests::presentation::presentation_profiles_shape_table_output_snapshot_unit ... ok
[INFO] [stdout] test app::tests::presentation::presentation_profiles_shape_message_output_snapshot_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::compact_root_completion_suggestions_prioritize_core_commands_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_alias_prefilled_context_filters_provider_scoped_values_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_alias_with_invocation_flags_filters_provider_scoped_values_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_alias_partial_completion_does_not_trigger_shell_entry_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_alias_with_invocation_flags_exposes_underlying_subcommands_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_completion_tree_respects_builtin_visibility_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_completion_tree_injects_config_set_schema_keys_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_help_alias_preserves_existing_help_flag_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_completion_tree_contains_builtin_and_plugin_commands_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_alias_placeholder_keeps_following_arg_slot_open_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_help_alias_rewrites_to_command_help_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_help_alias_skips_bare_help_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_help_alias_dash_prefix_exposes_target_flags_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_completion_tree_roots_to_active_shell_scope_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_alias_with_prefilled_positional_args_inherits_target_flags_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_partial_root_completion_does_not_enter_shell_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_help_root_does_not_suggest_help_or_flags_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_dash_prefix_switches_from_subcommands_to_flags_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_alias_with_invocation_flags_inherits_target_flags_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_shell_leave_message_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_shell_enter_only_from_root_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_scoped_help_alias_uses_relative_target_completion_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_shell_prefix_applies_once_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_shellable_commands_include_ldap_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_help_alias_trailing_space_exposes_target_subcommands_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_surface_drives_overview_and_completion_visibility_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_surface_exposes_selected_provider_for_conflicts_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_surface_includes_plugin_auth_hints_in_overview_and_tooltip_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.538415Z DEBUG osp_cli::plugin::state: plugin state file missing; using defaults path=/tmp/osp-cli-test-config-1773181459530520227/plugins.json
[INFO] [stderr] 2026-03-10T22:24:19.538495Z DEBUG osp_cli::plugin::discovery: resolved plugin search roots search_roots=0
[INFO] [stdout] test app::tests::repl_completion::repl_shell_scoped_completion_and_dispatch_prefix_align_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.538515Z DEBUG osp_cli::plugin::discovery: describe cache missing; using empty cache path=/tmp/osp-cli-test-cache-1773181459530606097/describe-v1.json
[INFO] [stdout] test app::tests::repl_completion::repl_scoped_relative_alias_exposes_shell_subcommands_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.538532Z DEBUG osp_cli::plugin::discovery: completed plugin discovery discovered_plugins=0 unhealthy_plugins=0 search_roots=0
[INFO] [stdout] test app::tests::repl_completion::repl_scoped_relative_alias_keeps_alias_name_in_root_suggestions_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.542877Z DEBUG osp_cli::config::resolver: resolved config active_profile=default terminal=Some("repl") values=57 aliases=0
[INFO] [stdout] test app::tests::repl_dsl_capability_is_declared_per_command_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.542994Z DEBUG osp_cli::config::runtime: building runtime loader pipeline include_env=true include_config_file=true config_file=Some("/root/.config/osp/config.toml") secrets_file=Some("/root/.config/osp/secrets.toml") has_presentation_layer=true has_cli_layer=false has_session_layer=true defaults_entries=56
[INFO] [stdout] test app::tests::repl_runtime::rebuild_repl_state_preserves_last_failure_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.543070Z DEBUG osp_cli::config::loader: loading config layers
[INFO] [stdout] test app::tests::repl_runtime::rebuild_repl_state_preserves_session_defaults_and_shell_context_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.543094Z DEBUG osp_cli::config::loader: loading TOML config layer path=/root/.config/osp/config.toml missing_ok=true
[INFO] [stdout] test app::tests::repl_completion::repl_structural_alias_exposes_underlying_subcommands_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.543118Z DEBUG osp_cli::config::loader: optional TOML config file missing path=/root/.config/osp/config.toml
[INFO] [stdout] test app::tests::repl_completion::repl_ui_projection_supports_flag_prefixed_help_and_completion_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.543130Z DEBUG osp_cli::config::loader: loading chained config layer loader_count=2
[INFO] [stdout] test app::tests::repl_completion::repl_scoped_relative_alias_preserves_provider_scoped_values_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.543141Z DEBUG osp_cli::config::loader: loading TOML secrets layer path=/root/.config/osp/secrets.toml missing_ok=true strict_permissions=true
[INFO] [stdout] test app::tests::repl_runtime::repl_builtin_overrides_do_not_mutate_runtime_ui_state_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.543157Z DEBUG osp_cli::config::loader: optional TOML secrets file missing path=/root/.config/osp/secrets.toml
[INFO] [stderr] 2026-03-10T22:24:19.543172Z DEBUG osp_cli::config::loader: loaded environment secrets layer input_vars=33 entries=0
[INFO] [stderr] 2026-03-10T22:24:19.543185Z DEBUG osp_cli::config::loader: loaded chained config layer entries=0
[INFO] [stderr] 2026-03-10T22:24:19.543198Z DEBUG osp_cli::config::loader: loaded environment config layer input_vars=33 entries=0
[INFO] [stderr] 2026-03-10T22:24:19.543212Z DEBUG osp_cli::config::loader: loaded config layers defaults=56 presentation=6 file=0 secrets=0 env=0 cli=0 session=1
[INFO] [stderr] 2026-03-10T22:24:19.543281Z DEBUG osp_cli::config::resolver: resolving config profile_override=None terminal=Some("repl")
[INFO] [stderr] 2026-03-10T22:24:19.543496Z DEBUG osp_cli::plugin::dispatch: plugin describe completed executable=/tmp/osp-cli-plugin-pipeline-parity-1773181459523691380/osp-hello elapsed_ms=18 status=Some(0)
[INFO] [stderr] 2026-03-10T22:24:19.543655Z DEBUG osp_cli::plugin::discovery: assembled discovered plugin plugin_id=hello source=explicit executable=/tmp/osp-cli-plugin-pipeline-parity-1773181459523691380/osp-hello healthy=true issue=None command_count=1
[INFO] [stderr] 2026-03-10T22:24:19.543697Z DEBUG osp_cli::plugin::discovery: scanned plugin search root root=/tmp/osp-cli-plugin-pipeline-parity-1773181459523691380 source=explicit discovered_plugins=1 unhealthy_plugins=0
[INFO] [stderr] 2026-03-10T22:24:19.543940Z DEBUG osp_cli::plugin::discovery: completed plugin discovery discovered_plugins=1 unhealthy_plugins=0 search_roots=1
[INFO] [stderr] 2026-03-10T22:24:19.544244Z DEBUG osp_cli::plugin::state: plugin state file missing; using defaults path=/tmp/osp-cli-test-config-1773181459524093780/plugins.json
[INFO] [stderr] 2026-03-10T22:24:19.544276Z DEBUG osp_cli::plugin::state: resolved plugin provider command=hello active_providers=1 selected_provider=hello selection_mode=Unique
[INFO] [stderr] 2026-03-10T22:24:19.544303Z DEBUG osp_cli::plugin::dispatch: dispatching plugin command plugin_id=hello executable=/tmp/osp-cli-plugin-pipeline-parity-1773181459523691380/osp-hello command=hello arg_count=0 timeout_ms=10000
[INFO] [stderr] 2026-03-10T22:24:19.547814Z DEBUG osp_cli::config::resolver: resolving config profile_override=None terminal=Some("repl")
[INFO] [stderr] 2026-03-10T22:24:19.547856Z DEBUG osp_cli::config::bootstrap: resolving active profile explicit_profile=None terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.547878Z DEBUG osp_cli::config::bootstrap: resolved profile.default from loaded layers terminal=Some("repl") selected_profile=default
[INFO] [stderr] 2026-03-10T22:24:19.547895Z DEBUG osp_cli::config::bootstrap: resolved active profile active_profile=default active_profile_source=profile.default
[INFO] [stderr] 2026-03-10T22:24:19.547907Z DEBUG osp_cli::config::bootstrap: prepared config resolution frame active_profile=default active_profile_source=profile.default terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.547962Z DEBUG osp_cli::config::resolver: resolved config active_profile=default terminal=Some("repl") values=1 aliases=0
[INFO] [stderr] 2026-03-10T22:24:19.548123Z DEBUG osp_cli::plugin::state: plugin state file missing; using defaults path=/tmp/osp-cli-test-config-1773181459547981629/plugins.json
[INFO] [stderr] 2026-03-10T22:24:19.548204Z DEBUG osp_cli::plugin::discovery: resolved plugin search roots search_roots=1
[INFO] [stderr] 2026-03-10T22:24:19.548228Z DEBUG osp_cli::plugin::discovery: describe cache missing; using empty cache path=/tmp/osp-cli-test-cache-1773181459548047759/describe-v1.json
[INFO] [stderr] 2026-03-10T22:24:19.548324Z DEBUG osp_cli::plugin::dispatch: running plugin describe executable=/tmp/osp-cli-repl-bang-plugin-1773181459547587839/osp-cache timeout_ms=10000
[INFO] [stderr] 2026-03-10T22:24:19.549577Z DEBUG osp_cli::config::resolver: resolving config profile_override=None terminal=Some("repl")
[INFO] [stderr] 2026-03-10T22:24:19.549625Z DEBUG osp_cli::config::bootstrap: resolving active profile explicit_profile=None terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.549651Z DEBUG osp_cli::config::bootstrap: resolved profile.default from loaded layers terminal=Some("repl") selected_profile=default
[INFO] [stderr] 2026-03-10T22:24:19.549670Z DEBUG osp_cli::config::bootstrap: resolved active profile active_profile=default active_profile_source=profile.default
[INFO] [stderr] 2026-03-10T22:24:19.549682Z DEBUG osp_cli::config::bootstrap: prepared config resolution frame active_profile=default active_profile_source=profile.default terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.549760Z DEBUG osp_cli::config::resolver: resolved config active_profile=default terminal=Some("repl") values=1 aliases=0
[INFO] [stderr] 2026-03-10T22:24:19.549942Z DEBUG osp_cli::plugin::state: plugin state file missing; using defaults path=/tmp/osp-cli-test-config-1773181459549783858/plugins.json
[INFO] [stderr] 2026-03-10T22:24:19.550029Z DEBUG osp_cli::plugin::discovery: resolved plugin search roots search_roots=1
[INFO] [stderr] 2026-03-10T22:24:19.550060Z DEBUG osp_cli::plugin::discovery: describe cache missing; using empty cache path=/tmp/osp-cli-test-cache-1773181459549854488/describe-v1.json
[INFO] [stderr] 2026-03-10T22:24:19.550167Z DEBUG osp_cli::plugin::dispatch: running plugin describe executable=/tmp/osp-cli-repl-bang-contains-plugin-1773181459549323588/osp-cache timeout_ms=10000
[INFO] [stderr] 2026-03-10T22:24:19.552406Z DEBUG osp_cli::config::resolver: resolving config profile_override=None terminal=Some("repl")
[INFO] [stderr] 2026-03-10T22:24:19.552444Z DEBUG osp_cli::config::bootstrap: resolving active profile explicit_profile=None terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.552464Z DEBUG osp_cli::config::bootstrap: resolved profile.default from loaded layers terminal=Some("repl") selected_profile=default
[INFO] [stderr] 2026-03-10T22:24:19.552475Z DEBUG osp_cli::config::bootstrap: resolved active profile active_profile=default active_profile_source=profile.default
[INFO] [stderr] 2026-03-10T22:24:19.552485Z DEBUG osp_cli::config::bootstrap: prepared config resolution frame active_profile=default active_profile_source=profile.default terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.552536Z DEBUG osp_cli::config::resolver: resolved config active_profile=default terminal=Some("repl") values=1 aliases=0
[INFO] [stderr] 2026-03-10T22:24:19.552708Z DEBUG osp_cli::plugin::state: plugin state file missing; using defaults path=/tmp/osp-cli-test-config-1773181459552553487/plugins.json
[INFO] [stderr] 2026-03-10T22:24:19.552761Z DEBUG osp_cli::plugin::discovery: resolved plugin search roots search_roots=0
[INFO] [stderr] 2026-03-10T22:24:19.552783Z DEBUG osp_cli::plugin::discovery: describe cache missing; using empty cache path=/tmp/osp-cli-test-cache-1773181459552632617/describe-v1.json
[INFO] [stderr] 2026-03-10T22:24:19.552798Z DEBUG osp_cli::plugin::discovery: completed plugin discovery discovered_plugins=0 unhealthy_plugins=0 search_roots=0
[INFO] [stderr] 2026-03-10T22:24:19.554123Z DEBUG osp_cli::config::resolver: resolving config profile_override=None terminal=Some("repl")
[INFO] [stderr] 2026-03-10T22:24:19.554158Z DEBUG osp_cli::config::bootstrap: resolving active profile explicit_profile=None terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.554178Z DEBUG osp_cli::config::bootstrap: resolved profile.default from loaded layers terminal=Some("repl") selected_profile=default
[INFO] [stderr] 2026-03-10T22:24:19.554193Z DEBUG osp_cli::config::bootstrap: resolved active profile active_profile=default active_profile_source=profile.default
[INFO] [stderr] 2026-03-10T22:24:19.554203Z DEBUG osp_cli::config::bootstrap: prepared config resolution frame active_profile=default active_profile_source=profile.default terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.554252Z DEBUG osp_cli::config::resolver: resolved config active_profile=default terminal=Some("repl") values=1 aliases=0
[INFO] [stderr] 2026-03-10T22:24:19.554435Z DEBUG osp_cli::plugin::state: plugin state file missing; using defaults path=/tmp/osp-cli-test-config-1773181459554268156/plugins.json
[INFO] [stderr] 2026-03-10T22:24:19.554500Z DEBUG osp_cli::plugin::discovery: resolved plugin search roots search_roots=1
[INFO] [stderr] 2026-03-10T22:24:19.554521Z DEBUG osp_cli::plugin::discovery: describe cache missing; using empty cache path=/tmp/osp-cli-test-cache-1773181459554335066/describe-v1.json
[INFO] [stderr] 2026-03-10T22:24:19.554599Z DEBUG osp_cli::plugin::dispatch: running plugin describe executable=/tmp/osp-cli-repl-cache-plugin-1773181459553948806/osp-slowcache timeout_ms=10000
[INFO] [stderr] 2026-03-10T22:24:19.558587Z DEBUG osp_cli::config::resolver: resolving config profile_override=None terminal=Some("repl")
[INFO] [stderr] 2026-03-10T22:24:19.558746Z DEBUG osp_cli::config::bootstrap: resolving active profile explicit_profile=None terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.558859Z DEBUG osp_cli::config::bootstrap: resolved profile.default from loaded layers terminal=Some("repl") selected_profile=default
[INFO] [stderr] 2026-03-10T22:24:19.558949Z DEBUG osp_cli::config::bootstrap: resolved active profile active_profile=default active_profile_source=profile.default
[INFO] [stderr] 2026-03-10T22:24:19.559032Z DEBUG osp_cli::config::bootstrap: prepared config resolution frame active_profile=default active_profile_source=profile.default terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.559217Z DEBUG osp_cli::config::resolver: resolved config active_profile=default terminal=Some("repl") values=1 aliases=0
[INFO] [stderr] 2026-03-10T22:24:19.561459Z DEBUG osp_cli::plugin::state: plugin state file missing; using defaults path=/tmp/osp-cli-test-config-1773181459559316613/plugins.json
[INFO] [stderr] 2026-03-10T22:24:19.561564Z DEBUG osp_cli::plugin::discovery: resolved plugin search roots search_roots=0
[INFO] [stderr] 2026-03-10T22:24:19.561719Z DEBUG osp_cli::config::bootstrap: resolving active profile explicit_profile=None terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.561838Z DEBUG osp_cli::config::bootstrap: resolved profile.default from loaded layers terminal=Some("repl") selected_profile=default
[INFO] [stderr] 2026-03-10T22:24:19.561922Z DEBUG osp_cli::config::bootstrap: resolved active profile active_profile=default active_profile_source=profile.default
[INFO] [stderr] 2026-03-10T22:24:19.561960Z DEBUG osp_cli::config::bootstrap: prepared config resolution frame active_profile=default active_profile_source=profile.default terminal=Some("repl") known_profiles=0
[INFO] [stderr] 2026-03-10T22:24:19.562132Z DEBUG osp_cli::plugin::discovery: describe cache missing; using empty cache path=/tmp/osp-cli-test-cache-1773181459559435643/describe-v1.json
[INFO] [stderr] 2026-03-10T22:24:19.562276Z DEBUG osp_cli::plugin::discovery: completed plugin discovery discovered_plugins=0 unhealthy_plugins=0 search_roots=0
[INFO] [stderr] 2026-03-10T22:24:19.562893Z DEBUG osp_cli::config::resolver: resolved config active_profile=default terminal=Some("repl") values=57 aliases=0
[INFO] [stderr] 2026-03-10T22:24:19.566541Z DEBUG osp_cli::app::bootstrap: resolved runtime config active_profile=default known_profiles=0 has_session_layer=true
[INFO] [stdout] test app::tests::repl_completion::repl_scoped_global_alias_falls_back_to_full_command_resolution_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_bang_contains_search_respects_shell_scope_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::rebuild_repl_state_preserves_session_render_defaults_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_config_unset_dry_run_preserves_session_state_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_exit_is_host_owned_at_root_but_leaves_shell_in_scope_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_bang_contains_search_expands_matching_command_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_config_unset_rebuilds_runtime_state_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.608667Z  WARN osp_cli::plugin::state: no plugin provider found for command command=missing active_plugins=0
[INFO] [stdout] test app::tests::repl_runtime::repl_flag_prefixed_help_records_prompt_timing_badge_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_failure_is_cached_for_doctor_last_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_help_alias_hides_common_invocation_options_without_verbose_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::plugin_pipeline_rendering_matches_between_cli_and_repl_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_help_alias_keeps_colored_help_chrome_and_subcommands_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_bang_expands_last_visible_command_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_help_alias_rejects_help_and_flag_targets_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_cache_reuses_external_result_across_pipelines_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_verbose_direct_help_shows_common_invocation_options_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_verbose_help_alias_dispatches_to_command_help_with_invocation_section_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_reload_intent_matches_command_scope_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_invalid_subcommand_renders_inline_help_unit ... ok
[INFO] [stdout] test app::tests::repl_surface_and_policy_include_registered_native_commands_unit ... ok
[INFO] [stdout] test app::tests::unknown_first_token_is_command_unit ... ok
[INFO] [stdout] test app::tests::verbose_plugin_error_render_includes_detail_chain_unit ... ok
[INFO] [stdout] test app::tests::run_cli_command_routes_messages_stdout_and_stderr_through_sink_unit ... ok
[INFO] [stdout] test app::timing::tests::duration_and_style_helpers_cover_threshold_edges ... ok
[INFO] [stdout] test app::timing::tests::debug_level_zero_and_empty_alignment_yield_no_output ... ok
[INFO] [stdout] test app::timing::tests::visible_width_and_right_alignment_ignore_ansi_sequences ... ok
[INFO] [stdout] test app::timing::tests::level_three_timing_includes_phase_breakdown ... ok
[INFO] [stdout] test cli::commands::config::tests::config_diagnostics_rows_include_secrets_status_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.657251Z  WARN osp_cli::plugin::state: plugin command requires explicit provider selection command=hello providers="alpha-provider (explicit), beta-provider (explicit)"
[INFO] [stdout] test cli::commands::config::tests::resolve_config_scopes_covers_known_profiles_and_active_profile_terminal_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::config_get_rows_resolves_bootstrap_only_keys_through_runtime_explain_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::resolve_config_scopes_handles_profile_all_global_and_terminal_overrides ... ok
[INFO] [stdout] test cli::commands::config::tests::resolve_config_store_defaults_to_session_in_repl_and_config_in_cli ... ok
[INFO] [stdout] test cli::commands::config::tests::resolve_config_store_honors_explicit_targets_over_defaults_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::resolve_config_scopes_uses_explicit_profile_without_terminal_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::resolve_scope_and_store_targets_cover_precedence_rules_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::resolve_terminal_selector_handles_current_sentinel_and_blank_values ... ok
[INFO] [stdout] test cli::commands::config::tests::run_config_get_covers_alias_hit_and_missing_key_paths_unit ... ok
[INFO] [stdout] test app::tests::repl_completion::repl_trailing_space_prefers_subcommands_over_flags_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::run_config_set_and_unset_cover_session_paths_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_plugin_provider_override_dispatches_selected_provider_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::secrets_permissions_diagnostic_warns_for_owner_only_non_600_modes_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::validate_write_scopes_and_session_lookup_cover_invalid_and_present_paths_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::secrets_permissions_diagnostic_covers_unavailable_missing_ok_and_issue_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_all_json_includes_visible_sections_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_all_respects_builtin_visibility_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_plugin_error_payload_is_handled_as_error_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_all_table_groups_sections_into_panels_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_last_text_includes_detail_when_debug_is_enabled_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_config_requires_builtin_visibility_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_last_json_shape_is_stable_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_last_text_omits_detail_when_debug_is_disabled_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_last_without_failure_returns_plain_notice_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_theme_returns_output_rows_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::theme_doctor_rows_report_issues_and_empty_state_unit ... ok
[INFO] [stdout] test cli::commands::history::tests::extract_output_rows_returns_none_for_text_results_unit ... ok
[INFO] [stdout] test cli::commands::history::tests::history_command_is_repl_only_unit ... ok
[INFO] [stdout] test cli::commands::doctor::tests::doctor_theme_requires_builtin_visibility_unit ... ok
[INFO] [stdout] test cli::commands::history::tests::history_repl_command_wraps_repl_output_for_cli_unit ... ok
[INFO] [stdout] test cli::commands::plugins::tests::doctor_rows_include_summary_and_conflicts_unit ... ok
[INFO] [stdout] test cli::commands::plugins::tests::plugin_rows_render_empty_states_unit ... ok
[INFO] [stdout] test cli::commands::plugins::tests::plugin_rows_render_real_metadata_and_scopes_unit ... ok
[INFO] [stdout] test cli::commands::theme::tests::extract_output_rows_returns_none_for_text_results_unit ... ok
[INFO] [stdout] test cli::commands::theme::tests::run_theme_command_list_emits_builtin_theme_rows_unit ... ok
[INFO] [stdout] test cli::commands::theme::tests::run_theme_command_show_uses_active_builtin_theme_when_name_is_omitted_unit ... ok
[INFO] [stdout] test cli::commands::theme::tests::theme_list_rows_marks_custom_theme_source_unit ... ok
[INFO] [stdout] test cli::commands::theme::tests::theme_show_rows_marks_custom_theme_source_unit ... ok
[INFO] [stdout] test cli::invocation::tests::appends_invocation_help_once ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_config_prompt_color_change_rebuilds_deterministically_unit ... ok
[INFO] [stdout] test cli::invocation::tests::conflicting_mode_color_and_unicode_flags_are_rejected ... ok
[INFO] [stdout] test cli::invocation::tests::duplicate_plugin_provider_is_rejected ... ok
[INFO] [stdout] test cli::invocation::tests::duplicate_format_aliases_are_rejected_even_when_equivalent ... ok
[INFO] [stdout] test cli::invocation::tests::hidden_completion_flags_follow_verbose_and_used_one_shots_unit ... ok
[INFO] [stdout] test cli::invocation::tests::invalid_mode_and_empty_provider_value_are_rejected ... ok
[INFO] [stdout] test cli::invocation::tests::invocation_help_requires_verbose_unit ... ok
[INFO] [stdout] test cli::invocation::tests::invocation_help_section_mentions_cache_scope ... ok
[INFO] [stdout] test cli::invocation::tests::missing_values_for_named_flags_are_rejected ... ok
[INFO] [stdout] test cli::invocation::tests::rejects_conflicting_format_flags ... ok
[INFO] [stdout] test cli::invocation::tests::scan_cli_argv_can_strip_only_invocation_flags ... ok
[INFO] [stdout] test cli::invocation::tests::scan_cli_argv_preserves_binary_and_strips_invocation_flags ... ok
[INFO] [stdout] test cli::invocation::tests::short_clusters_accumulate_verbose_quiet_and_debug_counts ... ok
[INFO] [stdout] test cli::invocation::tests::stops_host_scanning_after_double_dash ... ok
[INFO] [stdout] test cli::invocation::tests::scan_cli_argv_handles_empty_input ... ok
[INFO] [stdout] test cli::invocation::tests::supports_explicit_render_and_ascii_aliases ... ok
[INFO] [stdout] test cli::invocation::tests::supports_inline_assignment_forms_for_render_settings ... ok
[INFO] [stdout] test cli::invocation::tests::trace_scanner_reports_kept_token_indices ... ok
[INFO] [stdout] test cli::pipeline::tests::alias_can_expand_non_sensitive_config_values ... ok
[INFO] [stdout] test cli::invocation::tests::non_host_short_flags_are_left_in_command_tokens ... ok
[INFO] [stdout] test cli::invocation::tests::parses_repl_cache_flag_without_touching_command_tokens ... ok
[INFO] [stdout] test cli::invocation::tests::strips_invocation_flags_and_preserves_command_tokens ... ok
[INFO] [stdout] test cli::pipeline::tests::alias_expands_and_merges_following_stages ... ok
[INFO] [stdout] test cli::pipeline::tests::alias_placeholder_syntax_errors_are_reported_cleanly ... ok
[INFO] [stdout] test cli::pipeline::tests::alias_parsing_reports_expansion_and_placeholder_errors_unit ... ok
[INFO] [stdout] test cli::pipeline::tests::alias_rejects_sensitive_config_placeholders ... ok
[INFO] [stdout] test cli::pipeline::tests::parse_command_tokens_with_aliases_handles_empty_input ... ok
[INFO] [stdout] test cli::pipeline::tests::truncate_display_respects_utf8_boundaries ... ok
[INFO] [stdout] test cli::pipeline::tests::parse_command_text_with_aliases_splits_shell_words_and_dsl ... ok
[INFO] [stdout] test cli::pipeline::tests::validate_cli_dsl_stages_rejects_unknown_verbs ... ok
[INFO] [stdout] test cli::pipeline::tests::validate_cli_dsl_stages_allows_help_stage ... ok
[INFO] [stdout] test cli::rows::output::tests::grouped_output_flattens_group_headers_and_rows_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::run_config_set_covers_session_explain_json_output_unit ... ok
[INFO] [stdout] test cli::rows::output::tests::plugin_data_scalar_and_object_shapes_are_normalized_unit ... ok
[INFO] [stdout] test cli::rows::output::tests::plugin_meta_preserves_column_alignment_unit ... ok
[INFO] [stdout] test cli::rows::output::tests::rows_round_trip_through_output_result_unit ... ok
[INFO] [stdout] test cli::pipeline::tests::alias_placeholders_support_positional_defaults_and_star_quoting ... ok
[INFO] [stdout] test cli::pipeline::tests::parse_command_text_reports_pipeline_and_shell_split_errors_unit ... ok
[INFO] [stdout] test cli::tests::app_style_alias_maps_to_presentation_unit ... ok
[INFO] [stdout] test cli::tests::cli_runtime_load_options_follow_disable_flags_unit ... ok
[INFO] [stdout] test cli::tests::config_helpers_ignore_blank_strings_and_parse_integers_unit ... ok
[INFO] [stdout] test cli::tests::parse_mode_helpers_accept_aliases_and_trim_input_unit ... ok
[INFO] [stdout] test cli::tests::presentation_seeds_runtime_chrome_and_table_defaults_unit ... ok
[INFO] [stdout] test cli::tests::render_settings_apply_low_level_ui_overrides_unit ... ok
[INFO] [stdout] test cli::rows::output::tests::plugin_meta_maps_all_alignment_variants_unit ... ok
[INFO] [stdout] test app::tests::repl_runtime::repl_records_last_rows_and_bounded_cache_unit ... ok
[INFO] [stdout] test cli::tests::explicit_low_level_overrides_beat_presentation_defaults_unit ... ok
[INFO] [stdout] test app::tests::run_from_with_sink_routes_help_to_stdout_unit ... ok
[INFO] [stdout] test completion::engine::tests::analyze_exposes_merged_cursor_context ... ok
[INFO] [stdout] test cli::tests::parse_inline_command_tokens_accepts_builtin_and_external_commands_unit ... ok
[INFO] [stdout] test completion::engine::tests::analyze_preserves_open_quote_context ... ok
[INFO] [stdout] test completion::engine::tests::equals_flag_without_value_still_requests_suggestions ... ok
[INFO] [stdout] test completion::engine::tests::hides_flags_already_present_later_in_line ... ok
[INFO] [stdout] test completion::engine::tests::matched_command_len_counts_value_keys_consistently ... ok
[INFO] [stdout] test completion::engine::tests::merges_context_flags_from_metadata_even_if_not_in_scope ... ok
[INFO] [stdout] test completion::engine::tests::merges_late_provider_flag_into_cursor_context ... ok
[INFO] [stdout] test completion::engine::tests::supports_non_char_boundary_cursor_without_panicking ... ok
[INFO] [stdout] test completion::engine::tests::subcommand_meta_includes_tooltip_and_preview ... ok
[INFO] [stdout] test completion::engine::tests::terminal_command_without_flags_does_not_inherit_root_flags ... ok
[INFO] [stdout] test completion::engine::tests::subtree_context_flags_do_not_leak_across_branches ... ok
[INFO] [stdout] test completion::model::tests::cursor_state_constructors_preserve_stub_and_range ... ok
[INFO] [stdout] test completion::model::tests::flag_and_completion_node_builders_attach_children_and_flags ... ok
[INFO] [stdout] test completion::model::tests::match_kind_and_suggestion_defaults_are_stable ... ok
[INFO] [stdout] test completion::parse::tests::analyze_clamps_non_char_boundary_cursor_back_to_safe_boundary ... ok
[INFO] [stdout] test completion::parse::tests::analyze_falls_back_when_cursor_is_inside_unbalanced_quote ... ok
[INFO] [stdout] test completion::parse::tests::analyze_reuses_one_cursor_snapshot_for_full_and_prefix_parse ... ok
[INFO] [stdout] test completion::model::tests::model_structs_keep_provider_maps_and_prefilled_values ... ok
[INFO] [stdout] test completion::parse::tests::analyze_preserves_cursor_quote_state_inside_balanced_line ... ok
[INFO] [stdout] test completion::parse::tests::compute_stub_quote_tracks_unfinished_quotes ... ok
[INFO] [stdout] test completion::model::tests::suggestion_and_arg_builders_capture_metadata ... ok
[INFO] [stdout] test completion::parse::tests::compute_stub_respects_equals_boundary ... ok
[INFO] [stdout] test completion::parse::tests::cursor_state_tracks_replace_range_inside_open_quotes ... ok
[INFO] [stdout] test completion::parse::tests::parse_keeps_inline_flag_values_and_repeated_empty_occurrences ... ok
[INFO] [stdout] test completion::parse::tests::parse_preserves_repeated_flag_occurrence_boundaries ... ok
[INFO] [stdout] test completion::parse::tests::parse_treats_pipe_after_double_dash_as_dsl_boundary ... ok
[INFO] [stdout] test completion::parse::tests::parse_switches_to_tail_mode_after_first_flag_like_token ... ok
[INFO] [stdout] test completion::parse::tests::tokenize_falls_back_for_unmatched_quotes ... ok
[INFO] [stdout] test completion::parse::tests::tokenize_handles_pipes_and_quotes ... ok
[INFO] [stdout] test completion::parse::tests::tokenize_with_spans_preserves_offsets_for_quotes_and_pipes ... ok
[INFO] [stdout] test completion::parse::tests::tokenize_with_spans_falls_back_for_unmatched_quotes ... ok
[INFO] [stdout] test completion::parse::tests::parse_handles_end_of_options_and_negative_numbers ... ok
[INFO] [stdout] test completion::parse::tests::parse_handles_flags_and_pipes ... ok
[INFO] [stdout] test completion::suggest::tests::arg_suggestions_honor_numeric_sort_after_match_score ... ok
[INFO] [stdout] test completion::suggest::tests::args_after_double_dash_advance_index ... ok
[INFO] [stdout] test completion::suggest::tests::filters_provider_values_by_os ... ok
[INFO] [stdout] test completion::suggest::tests::flag_suggestions_preserve_meta_and_display_fields ... ok
[INFO] [stdout] test completion::suggest::tests::multi_value_flag_stays_in_value_mode_until_dash ... ok
[INFO] [stdout] test completion::suggest::tests::flag_hints_filter_provider_specific_flags_and_hide_selectors ... ok
[INFO] [stdout] test completion::suggest::tests::fuzzy_matches_flag_names ... ok
[INFO] [stdout] test completion::suggest::tests::fuzzy_matches_long_pipe_verbs ... ok
[INFO] [stdout] test completion::suggest::tests::path_arg_emits_path_sentinel ... ok
[INFO] [stdout] test completion::suggest::tests::repeated_flag_partial_value_uses_last_occurrence_context ... ok
[INFO] [stdout] test completion::suggest::tests::repeated_flag_without_value_stays_in_value_mode_for_last_occurrence ... ok
[INFO] [stdout] test completion::suggest::tests::path_flag_emits_path_sentinel ... ok
[INFO] [stdout] test completion::suggest::tests::subcommand_suggestions_honor_child_sort_after_match_score ... ok
[INFO] [stdout] test completion::suggest::tests::single_value_flag_switches_to_other_flags_after_value ... ok
[INFO] [stdout] test completion::suggest::tests::provider_alias_flag_enables_provider_specific_allowlist ... ok
[INFO] [stdout] test completion::suggest::tests::suggests_flag_values ... ok
[INFO] [stdout] test completion::suggest::tests::suggests_flags_in_scope ... ok
[INFO] [stdout] test completion::suggest::tests::suggests_pipe_verbs_after_pipe ... ok
[INFO] [stdout] test completion::tree::tests::builds_nested_tree_from_specs ... ok
[INFO] [stdout] test config::core::tests::adapt_value_for_schema_covers_float_and_secret_string_list_paths_unit ... ok
[INFO] [stdout] test completion::tree::tests::injects_config_key_nodes ... ok
[INFO] [stdout] test config::core::tests::bootstrap_env_helpers_cover_terminal_scoped_default_profile_and_unknown_specs_unit ... ok
[INFO] [stdout] test config::core::tests::bootstrap_key_registry_describes_profile_default ... ok
[INFO] [stdout] test config::core::tests::bootstrap_key_registry_rejects_profile_scopes ... ok
[INFO] [stdout] test config::core::tests::bootstrap_value_and_alias_helpers_match_runtime_rules ... ok
[INFO] [stdout] test completion::model::tests::command_line_tracks_head_tail_flags_and_pipes ... ok
[INFO] [stdout] test config::core::tests::config_layer_from_env_iter_parses_scopes_and_bootstrap_profile_default ... ok
[INFO] [stdout] test config::core::tests::config_layer_from_toml_str_flattens_default_profile_and_terminal_scopes ... ok
[INFO] [stdout] test config::core::tests::config_layer_helpers_cover_insert_remove_and_profile_terminal_scope_unit ... ok
[INFO] [stdout] test config::core::tests::config_layer_from_toml_str_reports_invalid_sections_and_unknown_roots_unit ... ok
[INFO] [stdout] test config::core::tests::config_value_display_and_from_impls_cover_scalar_variants_unit ... ok
[INFO] [stdout] test config::core::tests::config_value_from_toml_rejects_tables_and_preserves_datetime_strings ... ok
[INFO] [stdout] test config::core::tests::env_bootstrap_and_scope_normalization_cover_remaining_edge_cases_unit ... ok
[INFO] [stdout] test config::core::tests::config_values_handle_secrets_display_and_interpolation ... ok
[INFO] [stdout] test config::core::tests::normalize_scope_lowercases_profile_and_terminal_names ... ok
[INFO] [stdout] test config::core::tests::resolved_config_and_layer_helpers_cover_secret_lists_aliases_and_remove_scoped_unit ... ok
[INFO] [stdout] test config::core::tests::resolved_config_helpers_read_scalar_list_and_alias_views ... ok
[INFO] [stdout] test config::core::tests::resolved_config_string_list_helpers_cover_secret_and_non_string_variants_unit ... ok
[INFO] [stdout] test config::core::tests::parse_input_value_covers_float_unknown_and_allowed_scope_paths_unit ... ok
[INFO] [stdout] test config::core::tests::schema_extension_runtime_and_scope_helpers_cover_aliases_unit ... ok
[INFO] [stdout] test config::core::tests::parse_input_value_adapts_scalars_lists_and_enums ... ok
[INFO] [stdout] test config::core::tests::scalar_conversion_and_display_helpers_cover_remaining_variants_unit ... ok
[INFO] [stdout] test config::core::tests::schema_marks_profile_default_bootstrap_only ... ok
[INFO] [stdout] test config::core::tests::schema_adaptation_helpers_cover_scalar_secret_list_and_env_paths_unit ... ok
[INFO] [stdout] test config::core::tests::validate_and_adapt_converts_runtime_visible_string_values ... ok
[INFO] [stdout] test config::error::tests::config_error_display_covers_user_facing_variants ... ok
[INFO] [stdout] test config::error::tests::with_path_context_wraps_source_error ... ok
[INFO] [stdout] test config::core::tests::validate_and_adapt_rejects_unknown_and_missing_required_keys ... ok
[INFO] [stdout] test config::interpolate::tests::interpolate_all_expands_secret_placeholders_and_keeps_result_secret_unit ... ok
[INFO] [stdout] test config::interpolate::tests::parse_template_rejects_empty_placeholders_and_trims_names_unit ... ok
[INFO] [stdout] test config::interpolate::tests::explain_interpolation_reports_recursive_steps_once_unit ... ok
[INFO] [stdout] test config::loader::tests::file_and_secrets_loaders_report_read_errors_for_directories_unit ... ok
[INFO] [stdout] test config::loader::tests::pipeline_builder_covers_schema_and_collected_env_loaders ... ok
[INFO] [stdout] test config::loader::tests::chained_loader_and_pipeline_merge_and_resolve_layers ... ok
[INFO] [stdout] test config::loader::tests::process_env_and_pipeline_builder_cover_remaining_loader_paths_unit ... ok
[INFO] [stdout] test config::loader::tests::secrets_and_env_loaders_mark_secret_entries_and_origins ... ok
[INFO] [stdout] test config::runtime::tests::runtime_config_paths_fall_back_to_xdg_root ... ok
[INFO] [stdout] test config::loader::tests::toml_file_loader_covers_existing_optional_and_missing_required_paths ... ok
[INFO] [stdout] test config::resolver::tests::resolver_layer_mutators_and_setters_are_callable_unit ... ok
[INFO] [stdout] test config::runtime::tests::runtime_config_paths_prefer_explicit_file_overrides ... ok
[INFO] [stdout] test config::resolver::tests::explain_bootstrap_key_rejects_non_bootstrap_keys_unit ... ok
[INFO] [stdout] test config::runtime::tests::runtime_defaults_history_path_keeps_placeholders ... ok
[INFO] [stdout] test config::store::tests::config_value_to_toml_preserves_scalar_and_secret_variants_unit ... ok
[INFO] [stdout] test config::runtime::tests::runtime_defaults_seed_expected_keys ... ok
[INFO] [stdout] test config::runtime::tests::runtime_environment_uses_home_when_xdg_is_missing ... ok
[INFO] [stdout] test config::store::tests::dry_run_set_does_not_create_file ... ok
[INFO] [stdout] test config::runtime::tests::runtime_environment_state_artifacts_fall_back_to_temp_root ... ok
[INFO] [stdout] test config::store::tests::empty_dotted_keys_are_rejected_for_set_and_unset ... ok
[INFO] [stdout] test config::store::tests::invalid_toml_is_reported_with_path_context ... ok
[INFO] [stdout] test config::store::tests::non_strict_secret_validation_allows_group_readable_files ... ok
[INFO] [stdout] test config::store::tests::load_or_create_toml_root_reports_file_read_errors_unit ... ok
[INFO] [stdout] test config::store::tests::non_strict_secret_validation_ignores_missing_files ... ok
[INFO] [stdout] test config::store::tests::read_dotted_value_returns_nested_scalars_and_none_for_missing_paths_unit ... ok
[INFO] [stdout] test config::store::tests::secret_file_mode_reports_missing_files_unit ... ok
[INFO] [stdout] test config::store::tests::set_and_unset_reject_empty_key_paths ... ok
[INFO] [stdout] test config::store::tests::set_rejects_non_table_intermediate_section ... ok
[INFO] [stdout] test config::store::tests::strict_secret_validation_reports_missing_file_as_read_error ... ok
[INFO] [stdout] test config::store::tests::strict_secret_validation_rejects_group_readable_files ... ok
[INFO] [stdout] test config::store::tests::table_path_helpers_cover_missing_invalid_and_pruned_sections_unit ... ok
[INFO] [stdout] test cli::commands::config::tests::run_config_set_and_unset_cover_persistent_paths_and_warning_unit ... ok
[INFO] [stdout] test config::store::tests::strict_secret_write_sets_file_mode_to_600 ... ok
[INFO] [stdout] test config::store::tests::set_returns_previous_value_when_overwriting_existing_entry ... ok
[INFO] [stdout] test config::store::tests::unset_missing_value_keeps_existing_scope_content ... ok
[INFO] [stdout] test config::store::tests::write_text_atomic_rejects_paths_without_file_name_unit ... ok
[INFO] [stdout] test config::store::tests::unset_rejects_non_table_intermediate_section ... ok
[INFO] [stdout] test core::command_policy::tests::access_helpers_reflect_visibility_and_runnability ... ok
[INFO] [stdout] test core::command_policy::tests::capability_gated_command_is_visible_but_denied_when_capability_missing ... ok
[INFO] [stdout] test config::store::tests::set_list_values_round_trip_and_unset_returns_previous_list ... ok
[INFO] [stdout] test config::store::tests::set_and_unset_terminal_profile_scope_round_trip ... ok
[INFO] [stdout] test core::command_policy::tests::evaluate_policy_covers_disabled_hidden_feature_profile_and_auth_variants ... ok
[INFO] [stdout] test core::command_policy::tests::command_path_and_policy_builders_normalize_inputs ... ok
[INFO] [stdout] test config::store::tests::write_toml_root_persists_regular_payload_without_secret_mode_unit ... ok
[INFO] [stdout] test core::command_policy::tests::policy_context_builders_normalize_inputs ... ok
[INFO] [stdout] test core::command_policy::tests::registry_resolution_applies_overrides_and_contains_lookup ... ok
[INFO] [stdout] test core::command_policy::tests::overrides_can_hide_commands ... ok
[INFO] [stdout] test core::command_policy::tests::public_commands_can_remain_unauthenticated ... ok
[INFO] [stdout] test core::command_policy::tests::required_capabilities_are_simple_conjunction ... ok
[INFO] [stdout] test core::output::tests::output_modes_cover_remaining_variants ... ok
[INFO] [stdout] test core::output::tests::output_format_round_trips_known_values_and_aliases ... ok
[INFO] [stdout] test core::output::tests::render_color_and_unicode_modes_parse_case_insensitively ... ok
[INFO] [stdout] test core::output_model::tests::row_output_exposes_rows_views ... ok
[INFO] [stdout] test core::plugin::clap_tests::clap_command_conversion_skips_hidden_items ... ok
[INFO] [stdout] test core::output_model::tests::grouped_output_does_not_expose_rows_views ... ok
[INFO] [stdout] test core::plugin::tests::command_auth_converts_to_generic_command_policy_unit ... ok
[INFO] [stdout] test core::plugin::clap_tests::clap_helper_captures_subcommands_flags_and_args ... ok
[INFO] [stdout] test core::plugin::tests::command_auth_hint_stays_compact_and_stable_unit ... ok
[INFO] [stdout] test core::plugin::tests::command_auth_validation_rejects_blank_entries_unit ... ok
[INFO] [stdout] test core::runtime::tests::env_roundtrip_keeps_runtime_hints ... ok
[INFO] [stdout] test core::runtime::tests::terminal_kind_falls_back_to_terminal_env ... ok
[INFO] [stdout] test config::store::tests::unset_on_missing_file_keeps_empty_root_without_phantom_scopes ... ok
[INFO] [stdout] test dsl::eval::context::tests::keeps_first_seen_key_order ... ok
[INFO] [stdout] test config::store::tests::unset_prunes_empty_scope_tables_back_to_root ... ok
[INFO] [stdout] test dsl::eval::engine::tests::copy_stage_sets_meta_flag ... ok
[INFO] [stdout] test dsl::eval::engine::tests::grouped_output_meta_uses_group_headers ... ok
[INFO] [stdout] test core::output_model::tests::from_rows_keeps_first_seen_key_order ... ok
[INFO] [stdout] test core::runtime::tests::from_env_defaults_when_vars_missing_or_invalid ... ok
[INFO] [stdout] test dsl::eval::engine::tests::bare_quick_stage_without_verb_still_works ... ok
[INFO] [stdout] test dsl::eval::engine::tests::grouped_output_pipeline_covers_flat_row_only_explicit_stage_aliases_unit ... ok
[INFO] [stdout] test dsl::eval::engine::tests::question_stage_cleans_empty_fields ... ok
[INFO] [stdout] test dsl::eval::engine::tests::grouped_output_pipeline_covers_group_limit_and_unroll_paths_unit ... ok
[INFO] [stdout] test dsl::eval::engine::tests::project_then_filter_pipeline_works ... ok
[INFO] [stdout] test dsl::eval::engine::tests::streaming_executor_matches_eager_for_quick_hot_path ... ok
[INFO] [stdout] test dsl::eval::engine::tests::streaming_executor_matches_eager_for_streamable_row_pipeline ... ok
[INFO] [stdout] test dsl::eval::engine::tests::streaming_executor_preserves_copy_flag_and_value_fanout ... ok
[INFO] [stdout] test dsl::eval::engine::tests::streaming_executor_preserves_single_row_quick_magic ... ok
[INFO] [stdout] test dsl::eval::engine::tests::grouped_rows_ignore_flat_row_only_projection_and_copy_preserves_flag ... ok
[INFO] [stdout] test dsl::eval::engine::tests::question_stage_with_spec_filters_existence ... ok
[INFO] [stdout] test dsl::eval::engine::tests::unroll_stage_expands_list_field ... ok
[INFO] [stdout] test dsl::eval::engine::tests::value_scope_alias_filters_by_value ... ok
[INFO] [stdout] test dsl::eval::flatten::tests::coalesce_skips_invalid_or_negative_index_paths ... ok
[INFO] [stdout] test dsl::eval::engine::tests::streaming_materializes_cleanly_at_sort_barrier ... ok
[INFO] [stdout] test dsl::eval::flatten::tests::coalesces_flattened_row_back_to_nested_structure ... ok
[INFO] [stdout] test dsl::eval::flatten::tests::flatten_rows_maps_each_row_independently ... ok
[INFO] [stdout] test dsl::eval::flatten::tests::flattens_nested_objects_and_lists ... ok
[INFO] [stdout] test dsl::eval::matchers::tests::absolute_paths_require_prefix_match ... ok
[INFO] [stdout] test dsl::eval::matchers::tests::detailed_matching_reports_partial_hits_when_exact_match_is_absent ... ok
[INFO] [stdout] test dsl::eval::matchers::tests::matches_last_segment_case_insensitive ... ok
[INFO] [stdout] test dsl::eval::matchers::tests::matches_subsequence_dotted_paths ... ok
[INFO] [stdout] test dsl::eval::matchers::tests::selector_paths_match_exact_index ... ok
[INFO] [stdout] test dsl::eval::matchers::tests::value_contains_handles_arrays_and_case_sensitivity ... ok
[INFO] [stdout] test dsl::eval::resolve::tests::enumerate_paths_and_selectors_cover_negative_indexes ... ok
[INFO] [stdout] test dsl::eval::resolve::tests::evaluate_path_handles_fanout_and_slice ... ok
[INFO] [stdout] test dsl::eval::resolve::tests::resolve_first_value_unwraps_arrays_and_dedups_results ... ok
[INFO] [stdout] test dsl::eval::resolve::tests::resolve_pairs_handles_path_flat_fallback_and_full_materialization ... ok
[INFO] [stdout] test dsl::eval::resolve::tests::resolve_values_prefers_direct_path_then_fuzzy_fallback ... ok
[INFO] [stdout] test dsl::eval::resolve::tests::slice_indices_handles_forward_and_reverse_ranges_consistently ... ok
[INFO] [stdout] test dsl::eval::resolve::tests::truthy_rules_match_dsl_expectations ... ok
[INFO] [stdout] test dsl::parse::key_spec::tests::does_not_treat_bang_equal_as_prefix ... ok
[INFO] [stdout] test dsl::parse::key_spec::tests::parses_case_insensitive_exact ... ok
[INFO] [stdout] test dsl::parse::key_spec::tests::parses_case_sensitive_exact_with_strict ... ok
[INFO] [stdout] test dsl::parse::key_spec::tests::parses_negated_existence ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::split_pipeline_reports_trailing_escape ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::split_pipeline_reports_unterminated_quote ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::split_pipeline_respects_quoted_pipes ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::tokenize_stage_handles_quotes_and_escapes ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::tokenize_stage_keeps_operator_chars_inside_quoted_value ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::tokenize_stage_keeps_prefix_operators_in_single_token ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::tokenize_stage_reports_trailing_escape ... ok
[INFO] [stdout] test dsl::parse::lexer::tests::tokenize_stage_splits_inline_operators ... ok
[INFO] [stdout] test dsl::parse::path::tests::detects_materialization_for_negative_index ... ok
[INFO] [stdout] test dsl::parse::path::tests::expression_to_flat_key_accepts_positive_index_only ... ok
[INFO] [stdout] test dsl::parse::path::tests::full_slice_does_not_require_materialization ... ok
[INFO] [stdout] test dsl::parse::path::tests::non_full_slice_requires_materialization ... ok
[INFO] [stdout] test dsl::parse::path::tests::parse_path_reports_typed_errors_for_common_invalid_inputs_unit ... ok
[INFO] [stdout] test dsl::parse::path::tests::parses_dotted_path_with_selectors ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_pipeline_extracts_command_and_stages ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_pipeline_ignores_empty_segments_like_python ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_pipeline_rejects_invalid_quotes ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_pipeline_rejects_trailing_escape ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_stage_extracts_verb_and_spec ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_stage_list_rejects_invalid_quoted_stage ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_stage_list_rejects_trailing_escape ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_stage_marks_unknown_single_letter_verb_as_explicit ... ok
[INFO] [stdout] test dsl::parse::pipeline::tests::parse_stage_with_only_term_becomes_quick_candidate ... ok
[INFO] [stdout] test dsl::parse::quick::tests::parses_key_not_equals_form ... ok
[INFO] [stdout] test dsl::parse::quick::tests::parses_key_scope ... ok
[INFO] [stdout] test dsl::parse::quick::tests::parses_value_scope ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_count_global ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_handles_empty_inputs_and_parenthesized_count_aliases ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_on_groups_adds_aggregates ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_parses_default_aliases_and_group_count_macro ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_prefers_alias_token_for_two_word_count_form ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_space_separated_column_form_keeps_column_name_as_alias ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_sum_and_avg ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_supports_alias_after_as_and_mixed_numeric_inputs ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_supports_min_max_and_existence_count ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::count_macro_returns_count_rows ... ok
[INFO] [stdout] test dsl::stages::collapse::tests::collapses_groups_into_summary_rows ... ok
[INFO] [stdout] test dsl::stages::collapse::tests::passes_through_rows_unchanged ... ok
[INFO] [stdout] test completion::tree::tests::duplicate_root_specs_fail_fast - should panic ... ok
[INFO] [stdout] test dsl::eval::engine::tests::unknown_single_letter_verb_errors ... ok
[INFO] [stdout] test dsl::eval::engine::tests::apply_output_pipeline_covers_explicit_materializing_row_stages_unit ... ok
[INFO] [stdout] test dsl::eval::engine::tests::unroll_requires_field_name ... ok
[INFO] [stdout] test dsl::stages::common::tests::parse_stage_words_handles_empty_and_quoted_input ... ok
[INFO] [stdout] test dsl::eval::engine::tests::streaming_pipeline_covers_stream_stage_variants_and_errors_unit ... ok
[INFO] [stdout] test dsl::stages::common::tests::alias_parsers_cover_valid_and_invalid_as_forms ... ok
[INFO] [stdout] test dsl::stages::aggregate::tests::aggregate_rejects_invalid_forms ... ok
[INFO] [stdout] test dsl::stages::common::tests::parse_terms_splits_commas_and_whitespace ... ok
[INFO] [stdout] test dsl::stages::filter::tests::filters_on_equals_predicate ... ok
[INFO] [stdout] test dsl::stages::copy::tests::copy_stage_is_identity_for_rows_unit ... ok
[INFO] [stdout] test dsl::stages::filter::tests::groups_keep_matching_rows_when_headers_do_not_match ... ok
[INFO] [stdout] test dsl::stages::filter::tests::invalid_regex_fails_at_parse_time ... ok
[INFO] [stdout] test dsl::stages::filter::tests::parses_timestamps_for_ordered_comparison ... ok
[INFO] [stdout] test dsl::stages::filter::tests::supports_spaced_contains_syntax ... ok
[INFO] [stdout] test dsl::stages::common::tests::optional_alias_parser_returns_none_when_alias_is_absent_or_index_missing ... ok
[INFO] [stdout] test dsl::stages::filter::tests::supports_array_regex_and_boolean_matches ... ok
[INFO] [stdout] test dsl::stages::filter::tests::supports_existence_checks ... ok
[INFO] [stdout] test dsl::stages::group::tests::ambiguous_fuzzy_key_errors ... ok
[INFO] [stdout] test dsl::stages::group::tests::group_fanout_from_list ... ok
[INFO] [stdout] test dsl::stages::group::tests::group_by_scalar_key ... ok
[INFO] [stdout] test dsl::stages::group::tests::group_with_alias ... ok
[INFO] [stdout] test dsl::stages::group::tests::regroup_preserves_aggregates ... ok
[INFO] [stdout] test dsl::stages::group::tests::grouping_structured_container_requires_leaf_or_selector ... ok
[INFO] [stdout] test dsl::stages::jq::tests::jq_helpers_cover_empty_rows_and_group_fallbacks_unit ... ok
[INFO] [stdout] test dsl::stages::jq::tests::json_helpers_round_trip_groups_and_scalar_rows ... ok
[INFO] [stdout] test dsl::stages::jq::tests::normalize_expression_accepts_double_quoted_filters_unit ... ok
[INFO] [stdout] test dsl::stages::jq::tests::normalize_expression_reports_typed_missing_expression_unit ... ok
[INFO] [stdout] test dsl::stages::jq::tests::apply_dispatch_and_scalar_row_helpers_cover_remaining_paths_unit ... ok
[INFO] [stdout] test dsl::stages::jq::tests::apply_groups_handles_empty_and_row_style_jq_output_unit ... ok
[INFO] [stdout] test dsl::stages::jq::tests::normalize_expression_trims_quotes_and_leading_pipe ... ok
[INFO] [stdout] test dsl::stages::jq::tests::run_jq_and_apply_cover_row_and_group_paths ... ok
[INFO] [stdout] test dsl::stages::limit::tests::handles_zero_limit ... ok
[INFO] [stdout] test completion::tree::tests::duplicate_config_keys_fail_fast - should panic ... ok
[INFO] [stdout] test dsl::stages::jq::tests::run_jq_with_program_surfaces_nonzero_exit_variants_unit ... ok
[INFO] [stdout] test dsl::stages::limit::tests::rejects_invalid_argument_count ... ok
[INFO] [stdout] test dsl::stages::limit::tests::supports_negative_count_for_tail ... ok
[INFO] [stdout] test dsl::stages::filter::tests::supports_negated_missing_keys ... ok
[INFO] [stdout] test dsl::stages::limit::tests::supports_positive_count_with_positive_offset ... ok
[INFO] [stdout] test dsl::stages::limit::tests::takes_head_for_positive_limit ... ok
[INFO] [stdout] test dsl::stages::project::tests::absolute_path_projection_keeps_only_exact_nested_key ... ok
[INFO] [stdout] test dsl::stages::limit::tests::supports_negative_count_with_negative_offset ... ok
[INFO] [stdout] test dsl::stages::common::tests::parse_stage_words_reports_lexer_errors ... ok
[INFO] [stdout] test dsl::stages::group::tests::group_existence_token ... ok
[INFO] [stdout] test dsl::stages::limit::tests::supports_positive_count_with_negative_offset ... ok
[INFO] [stdout] test dsl::stages::project::tests::apply_groups_keeps_aggregate_only_groups_even_when_rows_drop_out ... ok
[INFO] [stdout] test dsl::stages::project::tests::dropping_dynamic_projection_label_removes_fanout_column ... ok
[INFO] [stdout] test dsl::stages::filter::tests::supports_numeric_timestamp_and_missing_negated_comparisons ... ok
[INFO] [stdout] test dsl::stages::project::tests::drops_column_with_prefix ... ok
[INFO] [stdout] test dsl::stages::project::tests::empty_project_spec_is_rejected ... ok
[INFO] [stdout] test dsl::stages::project::tests::supports_selector_fanout ... ok
[INFO] [stdout] test dsl::stages::project::tests::keeps_all_exact_nested_matches ... ok
[INFO] [stdout] test dsl::stages::question::tests::empty_spec_cleans_group_rows_without_touching_group_metadata ... ok
[INFO] [stdout] test dsl::stages::question::tests::empty_spec_cleans_rows_and_drops_empty_results ... ok
[INFO] [stdout] test dsl::stages::question::tests::non_empty_spec_reuses_quick_filter_for_rows_and_groups ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_existence_and_negated_existence_filter_multi_rows ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_helper_functions_cover_sparse_arrays_and_segment_fallbacks_unit ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_exact_case_modes_respect_prefix_rules ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_matches_keys_and_values_by_default ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_match_and_transform_helpers_cover_scalar_negated_and_filtered_paths_unit ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_key_scope_not_equals_works ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_multi_row_negated_value_scope_keeps_only_non_matching_rows ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_projection_and_negation_helpers_cover_empty_synthetic_and_array_removal_unit ... ok
[INFO] [stdout] test dsl::stages::project::tests::keeps_requested_columns ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_filter_helpers_cover_array_pair_matches_and_empty_results_unit ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_helper_edge_cases_cover_fallback_names_and_scalar_squeeze_unit ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_projects_nested_path_matches_from_single_row ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_requires_non_empty_search_token ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_negated_single_row_projection_removes_matching_field ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_sparse_array_compaction_keeps_all_null_lists_intact_unit ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_negated_value_scope_removes_matching_array_items_on_single_row ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_single_row_key_scope_keeps_matching_key_without_projection_split ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_single_row_value_projection_squeezes_single_object_array ... ok
[INFO] [stdout] test dsl::stages::jq::tests::run_jq_reports_missing_binary_and_invalid_output ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_multiple_keys_with_direction ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_value_scope_filters_matching_items_inside_arrays ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_value_scope_projects_synthetic_rows_and_drops_empty_results_unit ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_value_scope_works ... ok
[INFO] [stdout] test dsl::stages::quick::tests::quick_negated_value_scope_handles_nested_arrays_and_synthetic_matches_unit ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_numeric_strings_ascending ... ok
[INFO] [stdout] test dsl::stages::sort::tests::explicit_ip_and_number_casts_fall_back_to_string_comparison ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_supports_explicit_ip_and_string_casts ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_numeric_strings_descending ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_places_missing_values_last_and_sorts_groups_using_merged_rows ... ok
[INFO] [stdout] test dsl::stages::values::tests::emits_requested_scalar_values_and_ignores_missing_keys ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_uses_first_list_element_when_value_is_list ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_rejects_missing_keys_and_unknown_casts ... ok
[INFO] [stdout] test dsl::stages::sort::tests::sort_auto_cast_orders_booleans_before_strings ... ok
[INFO] [stdout] test dsl::stages::values::tests::empty_spec_emits_all_scalar_and_array_values_in_order ... ok
[INFO] [stdout] test dsl::stages::values::tests::explodes_array_values ... ok
[INFO] [stdout] test dsl::verbs::tests::verb_metadata_exposes_streaming_annotations_unit ... ok
[INFO] [stdout] test native::tests::registry_normalizes_lookup_and_collects_recursive_policy_unit ... ok
[INFO] [stdout] test plugin::config::tests::config_value_to_plugin_env_serializes_scalars_lists_and_nans ... ok
[INFO] [stdout] test plugin::config::tests::plugin_config_env_name_normalizes_mixed_separators ... ok
[INFO] [stdout] test plugin::config::tests::plugin_config_env_cache_reuses_revision_and_refreshes_after_replace ... ok
[INFO] [stdout] test plugin::config::tests::plugin_entries_merge_shared_and_plugin_specific_values ... ok
[INFO] [stdout] test dsl::verbs::tests::explicit_verb_registration_is_derived_from_metadata_unit ... ok
[INFO] [stdout] test native::tests::registry_catalog_exposes_completion_and_auth_metadata_unit ... ok
[INFO] [stdout] test plugin::tests::cache_and_issue_helpers_cover_update_lookup_and_prune_unit ... ok
[INFO] [stdout] test plugin::tests::clear_preferred_provider_rejects_empty_command_unit ... ok
[INFO] [stdout] test plugin::tests::bundled_plugins_skip_describe_when_manifest_is_missing_unit ... ok
[INFO] [stdout] test plugin::tests::bundled_plugins_skip_describe_when_checksum_mismatches_unit ... ok
[INFO] [stdout] test plugin::tests::compatible_min_osp_version_has_no_issue ... ok
[INFO] [stdout] test plugin::tests::completion_words_collect_flags_and_backbone_commands_unit ... ok
[INFO] [stdout] test plugin::tests::describe_command_helpers_preserve_nested_completion_metadata_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.859605Z  WARN osp_cli::plugin::dispatch: plugin describe execution failed executable=/tmp/osp-cli-plugin-manager-missing-describe-1773181459857859472/osp-missing error=No such file or directory (os error 2)
[INFO] [stdout] test dsl::stages::quick::tests::quick_projects_exact_key_matches ... ok
[INFO] [stdout] test plugin::config::tests::collect_plugin_config_env_ignores_incomplete_plugin_keys ... ok
[INFO] [stdout] test plugin::tests::describe_plugin_reports_missing_executable_unit ... ok
[INFO] [stdout] test plugin::tests::enabling_one_plugin_does_not_disable_other_default_enabled_plugins ... ok
[INFO] [stdout] test plugin::tests::explicit_disable_overrides_default_enabled ... ok
[INFO] [stdout] test plugin::tests::explicit_enable_overrides_default_disabled ... ok
[INFO] [stdout] test plugin::tests::explicit_enable_wins_if_state_file_contains_conflicting_entries ... ok
[INFO] [stdout] test dsl::verbs::tests::stage_streamability_matches_real_barriers_unit ... ok
[INFO] [stdout] test plugin::tests::command_policy_registry_collects_recursive_plugin_auth_metadata_unit ... ok
[INFO] [stdout] test plugin::tests::ambiguous_command_requires_explicit_selection ... ok
[INFO] [stdout] test plugin::tests::clearing_preferred_provider_requires_selection_again ... ok
[INFO] [stdout] test plugin::tests::manifest_helpers_cover_not_bundled_missing_invalid_and_valid_paths_unit ... ok
[INFO] [stdout] test plugin::tests::plugin_dispatch_context_merges_shared_and_plugin_env_pairs_unit ... ok
[INFO] [stdout] test plugin::tests::plugin_dispatch_error_formats_cover_terminal_variants_unit ... ok
[INFO] [stdout] test plugin::tests::preferred_provider_rejects_empty_plugin_id_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:19.921594Z  WARN osp_cli::plugin::dispatch: plugin command execution failed plugin_id=missing executable=/tmp/osp-cli-plugin-manager-direct-dispatch-errors-1773181459857776692/osp-missing-run command=missing error=No such file or directory (os error 2)
[INFO] [stdout] test plugin::tests::describe_plugin_and_run_provider_cover_direct_error_paths_unit ... ok
[INFO] [stdout] test plugin::tests::preferred_provider_rejects_unknown_command_and_provider_unit ... ok
[INFO] [stdout] test plugin::tests::invalid_min_osp_version_reports_issue ... ok
[INFO] [stdout] test plugin::tests::preferred_provider_updates_catalog_and_resolves_command ... ok
[INFO] [stderr] 2026-03-10T22:24:19.980553Z  WARN osp_cli::plugin::dispatch: plugin describe timed out executable=/tmp/osp-cli-plugin-manager-describe-timeout-1773181459869586347/plugins/osp-hang-describe timeout_ms=50 stderr=
[INFO] [stdout] test plugin::tests::search_root_and_checksum_helpers_cover_real_filesystem_paths_unit ... ok
[INFO] [stdout] test plugin::tests::incompatible_min_osp_version_marks_plugin_unhealthy ... ok
[INFO] [stdout] test plugin::tests::hung_describe_marks_plugin_unhealthy ... ok
[INFO] [stdout] test plugin::tests::refresh_picks_up_filesystem_changes_and_prunes_stale_cache ... ok
[INFO] [stdout] test ports::tests::filter_supports_case_insensitive_substring_and_wildcard_matching ... ok
[INFO] [stdout] test ports::tests::filter_supports_key_value_match ... ok
[INFO] [stdout] test ports::tests::parse_attributes_trims_and_rejects_empty_lists ... ok
[INFO] [stdout] test ports::tests::projection_keeps_selected_keys_only ... ok
[INFO] [stdout] test ports::tests::filter_matches_arrays_and_missing_fields_fail_cleanly ... ok
[INFO] [stderr] 2026-03-10T22:24:20.001312Z  WARN osp_cli::plugin::dispatch: plugin command exited with non-zero status plugin_id=fail command=fail status_code=9 stderr=nope
[INFO] [stdout] test ports::tests::projection_runs_after_filtering ... ok
[INFO] [stderr] 2026-03-10T22:24:20.003089Z  WARN osp_cli::plugin::dispatch: plugin command timed out plugin_id=hang executable=/tmp/osp-cli-plugin-manager-dispatch-timeout-1773181459859557461/plugins/osp-hang command=hang timeout_ms=50 stderr=
[INFO] [stdout] test repl::completion::tests::alias_completion_command_handles_invocation_only_alias_unit ... ok
[INFO] [stdout] test repl::completion::tests::alias_completion_node_keeps_tooltip_when_target_is_missing_unit ... ok
[INFO] [stdout] test repl::completion::tests::alias_template_sanitizer_replaces_placeholders_and_preserves_suffixes ... ok
[INFO] [stdout] test repl::completion::tests::alias_completion_command_captures_prefilled_invocation_flags_unit ... ok
[INFO] [stdout] test repl::completion::tests::dsl_help_marks_materializing_verbs_in_listing_unit ... ok
[INFO] [stdout] test plugin::tests::dispatch_times_out_hung_plugin ... ok
[INFO] [stdout] test repl::completion::tests::injects_invocation_flags_on_root_and_children ... ok
[INFO] [stdout] test repl::completion::tests::marks_context_only_flags_recursively ... ok
[INFO] [stdout] test repl::completion::tests::scope_completion_tree_falls_back_to_root_for_unknown_scope ... ok
[INFO] [stdout] test repl::completion::tests::inject_alias_nodes_skips_existing_root_children_unit ... ok
[INFO] [stdout] test repl::completion::tests::scope_completion_tree_roots_to_current_shell ... ok
[INFO] [stdout] test repl::dispatch::builtins::tests::maybe_execute_repl_builtin_covers_none_exit_and_help_unit ... ok
[INFO] [stdout] test repl::dispatch::builtins::tests::parse_repl_builtin_covers_none_help_exit_and_bang_unit ... ok
[INFO] [stdout] test plugin::tests::set_enabled_and_clear_missing_provider_preference_cover_state_round_trip_unit ... ok
[INFO] [stdout] test repl::dispatch::shell::tests::native_shell_entry_and_scoped_help_render_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::bang_execution_and_scope_helpers_cover_help_matches_and_replace_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::clap_error_helpers_extract_summary_and_body_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::clap_error_helpers_handle_missing_summary_gracefully_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::finalize_repl_command_uses_intro_reload_when_requested_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::intro_reload_keys_cover_theme_color_and_palette_mutations_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::leave_repl_shell_returns_none_at_root_unit ... ok
[INFO] [stdout] test repl::dispatch::shell::tests::shell_helpers_cover_prefix_exit_and_root_help_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::render_repl_command_output_handles_text_none_and_stderr_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::repl_command_spec_covers_repl_variant_and_builtin_dsl_matrix_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::repl_exit_behaves_differently_for_root_and_nested_shells_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::repl_inline_help_kinds_match_supported_clap_errors_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::repl_restart_detection_covers_mutating_commands_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:20.015450Z  WARN osp_cli::plugin::dispatch: plugin command returned invalid JSON plugin_id=bad-json command=bad-json error=expected ident at line 1 column 2
[INFO] [stdout] test repl::dispatch::shell::tests::shortcut_handling_covers_help_none_and_shell_entry_error_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::repl_builtin_and_bang_parsers_cover_shortcuts_unit ... ok
[INFO] [stdout] test repl::completion::tests::dsl_help_shows_streaming_details_for_target_verb_unit ... ok
[INFO] [stdout] test repl::engine::tests::autocomplete_policy_and_path_helpers_cover_non_happy_paths_unit ... ok
[INFO] [stdout] test repl::engine::tests::autocomplete_emacs_reopens_for_edits_but_not_movement_unit ... ok
[INFO] [stdout] test repl::dispatch::tests::root_help_rendering_and_shell_prefix_helpers_cover_root_paths_unit ... ok
[INFO] [stdout] test repl::engine::tests::completer_can_use_projected_line_for_host_flags_unit ... ok
[INFO] [stdout] test repl::engine::tests::completer_hides_suggestions_requested_by_projection_unit ... ok
[INFO] [stdout] test repl::engine::tests::color_parser_extracts_hex_and_named_colors ... ok
[INFO] [stdout] test repl::engine::tests::completer_suggests_pipe_verbs_after_pipe ... ok
[INFO] [stdout] test repl::engine::tests::completer_suggests_word_prefixes ... ok
[INFO] [stdout] test repl::engine::tests::completer_supports_fuzzy_word_matching ... ok
[INFO] [stdout] test repl::engine::tests::completer_uses_engine_metadata_for_subcommands ... ok
[INFO] [stdout] test plugin::tests::repl_help_and_provider_listing_cover_selected_and_conflicted_commands_unit ... ok
[INFO] [stdout] test repl::engine::tests::completer_with_tree_does_not_fallback_to_word_list ... ok
[INFO] [stdout] test repl::engine::tests::completion_debug_options_builders_and_empty_steps_unit ... ok
[INFO] [stdout] test repl::engine::tests::cursor_position_errors_are_recognized_unit ... ok
[INFO] [stdout] test repl::engine::tests::cursor_position_report_parser_accepts_valid_sequences_unit ... ok
[INFO] [stdout] test repl::engine::tests::cursor_position_report_parser_rejects_invalid_sequences_unit ... ok
[INFO] [stdout] test repl::engine::tests::debug_completion_and_steps_surface_menu_state_unit ... ok
[INFO] [stdout] test repl::engine::tests::debug_completion_navigation_variants_and_empty_matches_are_stable_unit ... ok
[INFO] [stdout] test repl::engine::tests::debug_completion_navigation_steps_cover_menu_branches_unit ... ok
[INFO] [stdout] test repl::engine::tests::debug_completion_options_and_empty_steps_cover_builder_paths_unit ... ok
[INFO] [stdout] test repl::engine::tests::debug_step_parse_round_trips_known_values_unit ... ok
[INFO] [stdout] test repl::engine::tests::default_pipe_verbs_include_extended_dsl_surface ... ok
[INFO] [stdout] test repl::engine::tests::debug_completion_without_matches_reports_unmatched_cursor_state_unit ... ok
[INFO] [stdout] test repl::engine::tests::expand_home_and_prompt_renderers_behave_unit ... ok
[INFO] [stdout] test repl::engine::tests::expands_double_bang ... ok
[INFO] [stdout] test repl::dispatch::tests::shell_entry_help_and_repl_command_cache_paths_cover_external_flow_unit ... ok
[INFO] [stdout] test repl::engine::tests::expands_relative ... ok
[INFO] [stdout] test repl::engine::tests::explicit_basic_input_mode_short_circuits_unit ... ok
[INFO] [stdout] test repl::engine::tests::expands_prefix ... ok
[INFO] [stdout] test repl::engine::tests::highlighter_builder_requires_command_color_unit ... ok
[INFO] [stdout] test repl::engine::tests::trace_completion_enabled_recognizes_falsey_values_unit ... ok
[INFO] [stdout] test repl::engine::tests::split_path_stub_without_slash_uses_current_directory_lookup ... ok
[INFO] [stdout] test repl::engine::tests::submission_delegates_help_and_exit_to_host ... ok
[INFO] [stdout] test repl::engine::tests::process_submission_handles_restart_and_error_paths_unit ... ok
[INFO] [stdout] test repl::engine::tests::path_suggestions_distinguish_files_and_directories_unit ... ok
[INFO] [stdout] test repl::engine::tests::trace_completion_writes_jsonl_when_enabled_unit ... ok
[INFO] [stdout] test repl::help::tests::compact_help_layout_preserves_single_section_gap_unit ... ok
[INFO] [stdout] test repl::help::tests::help_chrome_preserves_preamble_before_known_sections_unit ... ok
[INFO] [stdout] test repl::help::tests::minimal_help_layout_preserves_custom_titled_sections_unit ... ok
[INFO] [stdout] test repl::help::tests::help_chrome_splits_single_space_command_descriptions_unit ... ok
[INFO] [stdout] test repl::highlight::tests::colors_full_command_chain_only_unit ... ok
[INFO] [stdout] test repl::highlight::tests::colors_help_alias_keyword_and_target_unit ... ok
[INFO] [stdout] test repl::help::tests::minimal_help_layout_matches_plain_snapshot_unit ... ok
[INFO] [stdout] test repl::highlight::tests::highlights_hex_color_literals_unit ... ok
[INFO] [stdout] test repl::help::tests::help_chrome_colors_help_body_keys_and_text_unit ... ok
[INFO] [stdout] test repl::highlight::tests::debug_spans_preserve_help_alias_ranges_unit ... ok
[INFO] [stdout] test repl::highlight::tests::three_digit_hex_and_invalid_tokens_cover_debug_paths_unit ... ok
[INFO] [stdout] test repl::history::tests::history_command_spec_exposes_expected_subcommands_unit ... ok
[INFO] [stdout] test repl::help::tests::help_chrome_preserves_custom_titled_sections_unit ... ok
[INFO] [stdout] test repl::highlight::tests::skips_partial_subcommand_and_flags_unit ... ok
[INFO] [stdout] test repl::history::tests::history_exclude_patterns_do_not_duplicate_defaults ... ok
[INFO] [stdout] test repl::history::tests::history_exclude_patterns_include_repl_defaults ... ok
[INFO] [stdout] test repl::history::tests::history_scope_label_tracks_current_shell_unit ... ok
[INFO] [stdout] test repl::history::tests::repl_history_enabled_obeys_toggle_and_capacity_unit ... ok
[INFO] [stdout] test repl::history_store::tests::disabled_history_returns_original_item_without_persisting_records ... ok
[INFO] [stdout] test repl::history_store::tests::excluded_commands_respect_prefixes_and_patterns ... ok
[INFO] [stdout] test repl::history_store::tests::explicit_scope_queries_override_live_shell_context ... ok
[INFO] [stdout] test repl::history_store::tests::list_entries_filters_shell_and_excludes ... ok
[INFO] [stdout] test repl::history_store::tests::list_entries_tracks_live_shell_context_updates ... ok
[INFO] [stdout] test repl::history_store::tests::load_missing_history_item_returns_not_found_error ... ok
[INFO] [stderr] 2026-03-10T22:24:20.043725Z  WARN osp_cli::plugin::dispatch: plugin command returned invalid payload plugin_id=bad-payload command=bad-payload reason=ok=true requires error=null
[INFO] [stdout] test repl::history_store::tests::save_expands_history_and_dedupes_with_shell_scope ... ok
[INFO] [stdout] test repl::history_store::tests::persisted_records_skip_invalid_lines_and_trim_to_capacity ... ok
[INFO] [stdout] test repl::history_store::tests::search_respects_filters_direction_bounds_and_skip_logic ... ok
[INFO] [stdout] test repl::history::tests::run_history_repl_command_prunes_and_clears_with_scope_unit ... ok
[INFO] [stdout] test repl::history_store::tests::shell_prefix_helpers_normalize_and_round_trip_commands ... ok
[INFO] [stdout] test repl::history_store::tests::unsupported_history_mutations_surface_feature_errors ... ok
[INFO] [stdout] test repl::history_store::tests::wildcard_matching_handles_prefix_and_infix ... ok
[INFO] [stdout] test repl::host::tests::cycle_chrome_renders_intro_then_help_then_pending_output ... ok
[INFO] [stdout] test repl::host::tests::quiet_verbosity_suppresses_repl_intro_unit ... ok
[INFO] [stdout] test repl::host::tests::cycle_chrome_without_intro_keeps_pending_output_only ... ok
[INFO] [stdout] test repl::host::tests::repl_input_mode_mapping_covers_all_variants_unit ... ok
[INFO] [stdout] test repl::host::tests::repl_ui_line_projector_falls_back_to_passthrough_on_parse_error_unit ... ok
[INFO] [stdout] test repl::input::tests::help_projection_hides_help_and_non_verbose_flags_unit ... ok
[INFO] [stdout] test repl::input::tests::invalid_help_alias_targets_do_not_rewrite_unit ... ok
[INFO] [stdout] test repl::input::tests::parses_help_alias_into_dispatch_tokens ... ok
[INFO] [stdout] test repl::input::tests::projection_blanks_help_keyword_but_keeps_target_text_unit ... ok
[INFO] [stdout] test repl::input::tests::projection_hides_invocation_completion_flags_until_verbose_unit ... ok
[INFO] [stdout] test repl::history_store::tests::shared_history_supports_save_load_prune_clear_and_sync ... ok
[INFO] [stdout] test repl::input::tests::projection_suppresses_used_one_shot_invocation_flags_unit ... ok
[INFO] [stdout] test repl::input::tests::projects_repl_ui_line_hides_invocation_flags_and_help_keyword_unit ... ok
[INFO] [stdout] test repl::input::tests::projects_empty_repl_ui_line_without_tokenization_unit ... ok
[INFO] [stdout] test repl::input::tests::rewrites_help_alias_after_scope_prefix_unit ... ok
[INFO] [stdout] test repl::history::tests::run_history_repl_command_lists_visible_rows_unit ... ok
[INFO] [stdout] test repl::lifecycle::tests::apply_run_result_handles_exit_and_restart_modes ... ok
[INFO] [stdout] test repl::input::tests::shell_entry_checks_dispatch_tokens_and_scope ... ok
[INFO] [stdout] test repl::lifecycle::tests::build_cycle_chrome_output_includes_intro_help_and_pending_output ... ok
[INFO] [stdout] test repl::lifecycle::tests::build_cycle_chrome_output_skips_intro_when_not_requested ... ok
[INFO] [stdout] test repl::menu::tests::explicit_accept_applies_selected_completion ... ok
[INFO] [stdout] test repl::menu::tests::indicator_is_empty_until_menu_has_values ... ok
[INFO] [stdout] test repl::history::tests::run_history_repl_command_reports_disabled_history_unit ... ok
[INFO] [stdout] test repl::menu::tests::menu_ansi_coloring_preserves_case_and_resets ... ok
[INFO] [stdout] test repl::menu::tests::menu_narrows_columns_on_small_width ... ok
[INFO] [stderr] 2026-03-10T22:24:20.056678Z  WARN osp_cli::plugin::state: no plugin provider found for command command=missing active_plugins=4
[INFO] [stdout] test repl::menu::tests::menu_debug_reports_styles_and_selection ... ok
[INFO] [stdout] test repl::menu::tests::menu_description_is_omitted_when_no_lines_available ... ok
[INFO] [stdout] test repl::menu::tests::menu_non_ansi_marks_selected_item ... ok
[INFO] [stdout] test repl::menu::tests::menu_respects_available_lines ... ok
[INFO] [stdout] test plugin::tests::dispatch_surfaces_nonzero_invalid_json_invalid_payload_and_passthrough_unit ... ok
[INFO] [stdout] test repl::menu::tests::menu_width_never_exceeds_screen_width_without_ansi ... ok
[INFO] [stdout] test repl::menu::tests::menu_shows_description_for_selected_item ... ok
[INFO] [stdout] test repl::menu::tests::menu_truncates_description_on_narrow_width ... ok
[INFO] [stdout] test repl::menu::tests::menu_uses_display_text_when_present ... ok
[INFO] [stdout] test repl::menu::tests::replace_in_buffer_inserts_missing_space_before_completion ... ok
[INFO] [stdout] test repl::menu_core::tests::move_left_wraps_to_rightmost_valid_col_on_short_last_row ... ok
[INFO] [stdout] test repl::menu::tests::tab_cycles_selection_replaces_buffer ... ok
[INFO] [stdout] test repl::presentation::tests::prompt_template_replaces_context_alias_and_indicator_placeholder ... ok
[INFO] [stdout] test repl::menu::tests::replace_in_buffer_accepts_selected_completion ... ok
[INFO] [stdout] test repl::menu::tests::partial_complete_uses_buffer_prefix_when_requested ... ok
[INFO] [stdout] test repl::presentation::tests::prompt_template_preserves_unknown_placeholders_and_appends_indicator ... ok
[INFO] [stdout] test repl::presentation::tests::repl_intro_minimal_without_help_visibility_uses_completion_hint ... ok
[INFO] [stdout] test repl::presentation::tests::repl_overview_lists_invocation_options_for_expressive_surface ... ok
[INFO] [stdout] test repl::presentation::tests::repl_appearance_respects_color_toggle_and_overrides ... ok
[INFO] [stdout] test repl::presentation::tests::repl_prompt_custom_indicator_template_can_be_literal ... ok
[INFO] [stdout] test repl::presentation::tests::repl_prompt_right_shows_unicode_incognito_when_history_is_disabled ... ok
[INFO] [stdout] test repl::presentation::tests::repl_prompt_right_combines_incognito_and_timing_badge ... ok
[INFO] [stdout] test repl::presentation::tests::repl_prompt_simple_mode_omits_blank_indicator_separator ... ok
[INFO] [stdout] test repl::presentation::tests::repl_simple_prompt_includes_live_shell_indicator ... ok
[INFO] [stdout] test repl::presentation::tests::repl_prompt_renders_custom_template_with_prompt_style ... ok
[INFO] [stdout] test repl::presentation::tests::theme_display_name_falls_back_when_slug_has_no_words ... ok
[INFO] [stdout] test services::tests::execute_command_requires_explicit_subject_when_defaults_are_missing ... ok
[INFO] [stderr] 2026-03-10T22:24:20.085431Z  WARN osp_cli::plugin::dispatch: plugin command timed out plugin_id=hang executable=/tmp/osp-cli-plugin-manager-timeout-process-group-1773181459991920589/plugins/osp-hang command=hang timeout_ms=50 stderr=
[INFO] [stdout] test services::tests::execute_line_handles_blank_and_shell_parse_errors ... ok
[INFO] [stdout] test services::tests::execute_line_supports_pipeline ... ok
[INFO] [stdout] test repl::presentation::tests::repl_intro_expressive_includes_sections_and_user_context ... ok
[INFO] [stdout] test services::tests::ldap_user_defaults_to_global_user ... ok
[INFO] [stdout] test repl::lifecycle::tests::prepare_cycle_handles_reload_and_builds_surface_unit ... ok
[INFO] [stdout] test services::tests::parse_repl_command_rejects_unknown_options_and_extra_positionals ... ok
[INFO] [stdout] test services::tests::parse_repl_command_rejects_empty_and_unknown_commands ... ok
[INFO] [stdout] test services::tests::parse_repl_command_supports_netgroup_and_short_attribute_flag ... ok
[INFO] [stdout] test services::tests::parses_repl_user_command_with_options ... ok
[INFO] [stdout] test tests::stable_top_level_surface_exposes_primary_entrypoints_and_types_unit ... ok
[INFO] [stdout] test ui::chrome::tests::section_divider_ignores_columns_env_without_explicit_width ... ok
[INFO] [stdout] test ui::chrome::tests::section_divider_can_style_border_and_title_separately ... ok
[INFO] [stdout] test ui::chrome::tests::section_frame_style_parses_expected_names_unit ... ok
[INFO] [stdout] test ui::chrome::tests::section_frame_styles_cover_none_bottom_and_round_unit ... ok
[INFO] [stdout] test ui::chrome::tests::square_section_frame_boxes_body_unit ... ok
[INFO] [stdout] test ui::chrome::tests::top_bottom_section_frame_wraps_body_with_rules_unit ... ok
[INFO] [stdout] test ui::clipboard::tests::base64_encoder_matches_known_values ... ok
[INFO] [stdout] test ui::clipboard::tests::base64_helpers_cover_empty_and_padded_inputs ... ok
[INFO] [stdout] test ui::clipboard::tests::base64_length_and_env_helpers_behave_predictably ... ok
[INFO] [stdout] test ui::clipboard::tests::clipboard_error_display_covers_backend_spawn_and_status_cases ... ok
[INFO] [stdout] test ui::clipboard::tests::clipboard_service_builders_toggle_osc52_preference ... ok
[INFO] [stdout] test ui::clipboard::tests::command_backend_reports_spawn_failure_for_missing_binary ... ok
[INFO] [stdout] test ui::clipboard::tests::command_failure_without_stderr_uses_short_display ... ok
[INFO] [stdout] ]52;c;cGluZw==test ui::clipboard::tests::copy_via_osc52_writer_is_callable_unit ... ok
[INFO] [stdout] test ui::clipboard::tests::platform_backends_include_x11_fallbacks_without_wayland ... ok
[INFO] [stdout] test ui::clipboard::tests::platform_backends_prefers_wayland_when_present ... ok
[INFO] [stdout] test ui::display::tests::empty_objects_render_as_empty_braces ... ok
[INFO] [stdout] test ui::display::tests::object_preview_adds_ellipsis_when_keys_exceed_preview_limit ... ok
[INFO] [stdout] test ui::format::help::tests::builds_panel_sections_from_help_text ... ok
[INFO] [stdout] test ui::format::help::tests::keeps_fenced_code_as_code_block ... ok
[INFO] [stdout] test ui::clipboard::tests::copy_document_uses_same_backend_path ... ok
[INFO] [stdout] test ui::format::message::tests::blank_text_normalizes_to_empty_document ... ok
[INFO] [stdout] test ui::format::message::tests::flat_message_preserves_json_code_and_document_blocks ... ok
[INFO] [stdout] test ui::format::message::tests::flat_text_trims_blank_lines_and_uses_uppercase_title_prefix ... ok
[INFO] [stdout] test ui::format::message::tests::message_rules_both_wrap_in_panel ... ok
[INFO] [stdout] test ui::format::message::tests::message_rules_none_yields_lines_without_panel ... ok
[INFO] [stdout] test ui::format::message::tests::panel_message_uses_kind_tokens_and_default_title ... ok
[INFO] [stdout] test ui::format::mreg::tests::backend_bias_can_stack_width_constrained_object_tables ... ok
[INFO] [stdout] test ui::format::mreg::tests::empty_object_lists_fall_back_to_vertical_lists ... ok
[INFO] [stdout] test ui::format::mreg::tests::estimate_table_width_accounts_for_cell_content ... ok
[INFO] [stdout] test ui::format::mreg::tests::keeps_object_lists_as_tables_in_plain_mode ... ok
[INFO] [stdout] test ui::format::mreg::tests::mixed_object_and_scalar_lists_keep_table_shape ... ok
[INFO] [stdout] test ui::format::mreg::tests::models_list_thresholds_as_scalar_vertical_and_grid ... ok
[INFO] [stdout] test ui::clipboard::tests::copy_without_osc52_reports_no_backend_when_path_is_empty ... ok
[INFO] [stdout] test ui::clipboard::tests::osc52_helpers_respect_env_toggles_and_defaults ... ok
[INFO] [stdout] test repl::host::tests::repl_debug_commands_return_documents_unit ... ok
[INFO] [stdout] test ui::format::mreg::tests::nested_object_values_become_group_entries ... ok
[INFO] [stdout] test ui::format::message::tests::message_kind_labels_and_rule_mapping_cover_all_variants ... ok
[INFO] [stdout] test ui::format::mreg::tests::nested_structure_helper_detects_objects_and_nested_arrays ... ok
[INFO] [stdout] test plugin::tests::path_discovery_is_opt_in_unit ... ok
[INFO] [stdout] test ui::format::mreg::tests::ordered_keys_deduplicates_preferred_entries ... ok
[INFO] [stdout] test ui::format::mreg::tests::preferred_key_order_is_respected_for_scalar_entries ... ok
[INFO] [stdout] test ui::format::mreg::tests::shrink_column_widths_handles_empty_tables ... ok
[INFO] [stdout] test ui::format::mreg::tests::shrink_column_widths_stops_at_minimum_width ... ok
[INFO] [stdout] test ui::format::mreg::tests::stacked_object_lists_skip_non_object_items ... ok
[INFO] [stdout] test ui::format::mreg::tests::stacks_wide_flat_object_lists_when_width_is_tight ... ok
[INFO] [stdout] test ui::format::mreg::tests::stacks_nested_object_lists_even_when_width_is_wide ... ok
[INFO] [stdout] test ui::format::mreg::tests::single_item_lists_become_scalar_entries ... ok
[INFO] [stdout] test ui::format::table::tests::missing_values_render_as_empty_cells_not_null ... ok
[INFO] [stdout] test ui::format::table::tests::appends_remaining_headers_after_preferred_order ... ok
[INFO] [stdout] test ui::format::tests::build_document_wrapper_and_resolve_format_cover_value_and_explicit_modes ... ok
[INFO] [stdout] test ui::format::table::tests::respects_preferred_key_order_when_available ... ok
[INFO] [stdout] test ui::format::tests::grouped_markdown_document_preserves_header_pairs_and_alignment ... ok
[INFO] [stdout] test ui::format::table::tests::collects_headers_in_sorted_order_without_preferred_keys ... ok
[INFO] [stdout] test ui::format::tests::grouped_table_document_populates_header_pairs ... ok
[INFO] [stdout] test ui::format::tests::grouped_table_document_preserves_alignment_metadata ... ok
[INFO] [stdout] test ui::format::tests::row_table_document_preserves_alignment_metadata ... ok
[INFO] [stdout] test ui::format::tests::header_pairs_and_alignments_skip_defaults_and_deduplicate_keys ... ok
[INFO] [stdout] test ui::format::tests::grouped_json_document_keeps_group_structure ... ok
[INFO] [stdout] test ui::interactive::tests::confirm_fails_fast_without_interactive_terminal ... ok
[INFO] [stdout] test ui::interactive::tests::default_interactive_matches_detected_runtime_shape ... ok
[INFO] [stdout] test ui::format::tests::mreg_and_value_documents_materialize_group_rows_consistently ... ok
[INFO] [stdout] test ui::interactive::tests::password_fails_fast_without_interactive_terminal ... ok
[INFO] [stdout] test ui::format::tests::auto_format_uses_table_for_grouped_output ... ok
[INFO] [stdout] test ui::interactive::tests::runtime_allows_live_output_when_term_is_missing_but_stderr_is_tty ... ok
[INFO] [stdout] test ui::interactive::tests::password_allow_empty_fails_fast_without_interactive_terminal ... ok
[INFO] [stdout] test ui::interactive::tests::runtime_blocks_live_output_without_stderr_tty ... ok
[INFO] [stdout] test ui::interactive::tests::runtime_blocks_prompting_without_ttys ... ok
[INFO] [stdout] test ui::interactive::tests::runtime_without_stdin_tty_can_still_allow_live_output ... ok
[INFO] [stdout] test ui::interactive::tests::runtime_blocks_live_output_for_dumb_term ... ok
[INFO] [stdout] test ui::layout::tests::compute_raw_table_widths_expand_for_cell_content ... ok
[INFO] [stdout] test ui::interactive::tests::spinner_respects_runtime_policy_and_finish_alias ... ok
[INFO] [stdout] test ui::layout::tests::computes_per_entry_mreg_alignment_metrics ... ok
[INFO] [stdout] test ui::layout::tests::leaves_empty_header_tables_with_empty_widths ... ok
[INFO] [stdout] test ui::layout::tests::next_shrink_step_uses_second_widest_column_gap ... ok
[INFO] [stdout] test ui::layout::tests::rich_mode_shrinks_even_when_table_opted_out ... ok
[INFO] [stdout] test ui::layout::tests::shares_column_widths_by_header_name_across_tables ... ok
[INFO] [stdout] test ui::layout::tests::shrink_global_widths_updates_selected_header_width ... ok
[INFO] [stdout] test ui::layout::tests::shrinks_global_table_widths_when_terminal_is_narrow ... ok
[INFO] [stdout] test ui::layout::tests::skips_alignment_metrics_for_group_entries ... ok
[INFO] [stdout] test ui::layout::tests::stops_shrinking_when_columns_have_hit_minimum_width ... ok
[INFO] [stdout] test ui::layout::tests::strip_count_suffix_ignores_numeric_counts_only ... ok
[INFO] [stdout] test ui::messages::tests::default_success_hides_info_and_debug ... ok
[INFO] [stdout] test ui::layout::tests::tie_widths_shrink_without_starving_one_column ... ok
[INFO] [stdout] test ui::messages::tests::grouped_render_matches_ascii_rule_snapshot_unit ... ok
[INFO] [stdout] test ui::messages::tests::message_layout_parser_and_buffer_helpers_cover_basic_paths_unit ... ok
[INFO] [stdout] test ui::messages::tests::minimal_render_flattens_messages_with_level_prefixes_unit ... ok
[INFO] [stdout] test ui::clipboard::tests::command_backend_reports_success_and_failure ... FAILED
[INFO] [stdout] test ui::interactive::tests::hidden_spinner_supports_full_lifecycle ... ok
[INFO] [stdout] test ui::interactive::tests::spinner_new_and_detect_paths_are_callable ... ok
[INFO] [stdout] test ui::interactive::tests::interactive_runtime_accessor_and_spinner_follow_runtime ... ok
[INFO] [stdout] test ui::messages::tests::message_level_helpers_cover_titles_env_and_rank_unit ... ok
[INFO] [stdout] test ui::messages::tests::minimal_render_matches_plain_snapshot_unit ... ok
[INFO] [stdout] test ui::messages::tests::styled_render_color_toggle_controls_ansi ... ok
[INFO] [stdout] test ui::messages::tests::styled_render_uses_boxed_headers ... ok
[INFO] [stdout] test ui::presentation::tests::austere_presentation_prefers_minimal_help_layout_unit ... ok
[INFO] [stdout] test ui::presentation::tests::austere_presentation_hides_intro_overview_unit ... ok
[INFO] [stdout] test ui::presentation::tests::austere_presentation_prefers_minimal_messages_unit ... ok
[INFO] [stdout] test ui::presentation::tests::compact_presentation_prefers_compact_help_layout_unit ... ok
[INFO] [stdout] test ui::presentation::tests::austere_presentation_seeds_plain_render_defaults_unit ... ok
[INFO] [stdout] test ui::messages::tests::verbosity_adjustment_clamps ... ok
[INFO] [stdout] test ui::presentation::tests::austere_presentation_keeps_intro_by_default_unit ... ok
[INFO] [stdout] test ui::presentation::tests::compact_presentation_prefers_minimal_intro_style_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explain_presentation_effect_reports_seeded_help_layout_unit ... ok
[INFO] [stdout] test ui::presentation::tests::compact_presentation_prefers_simple_prompt_and_grouped_messages_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explain_presentation_effect_respects_explicit_key_override_unit ... ok
[INFO] [stdout] test ui::presentation::tests::config_value_name_stays_canonical_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explicit_intro_beats_austere_presentation_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explain_presentation_effect_reports_seeded_table_border_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explicit_intro_style_none_disables_intro_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explicit_help_layout_beats_presentation_unit ... ok
[INFO] [stdout] test ui::presentation::tests::expressive_presentation_prefers_stronger_chrome_by_default_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explicit_prompt_and_message_settings_beat_presentation_unit ... ok
[INFO] [stdout] test ui::presentation::tests::explicit_render_mode_beats_austere_preset_unit ... ok
[INFO] [stdout] test ui::renderer::tests::json_block_matches_python_plain_layout ... ok
[INFO] [stdout] test ui::renderer::tests::grid_table_string_cells_honor_value_override ... ok
[INFO] [stdout] test ui::renderer::tests::markdown_table_render_respects_column_alignment ... ok
[INFO] [stdout] test ui::renderer::tests::mreg_alignment_accounts_for_nested_depth ... ok
[INFO] [stdout] test ui::presentation::tests::parses_legacy_gammel_og_bitter_alias_unit ... ok
[INFO] [stdout] test ui::renderer::tests::mreg_scalar_entries_render_inline ... ok
[INFO] [stdout] test ui::renderer::tests::mreg_large_lists_use_grid_layout ... ok
[INFO] [stdout] test ui::renderer::tests::mreg_vertical_list_matches_python_plain_layout ... ok
[INFO] [stdout] test ui::renderer::tests::panel_rules_match_python_plain_layout ... ok
[INFO] [stdout] test ui::renderer::tests::markdown_table_render_has_pipe_format ... ok
[INFO] [stdout] test ui::presentation::tests::intro_verbosity_adjustment_bumps_and_suppresses_levels_unit ... ok
[INFO] [stdout] test ui::renderer::tests::code_block_honors_color_code_override ... ok
[INFO] [stdout] test ui::renderer::tests::plain_ascii_table_uses_dash_header_separator ... ok
[INFO] [stdout] test ui::renderer::tests::plain_theme_does_not_style_hex_cells ... ok
[INFO] [stdout] test ui::presentation::tests::explicit_repl_input_mode_is_resolved_unit ... ok
[INFO] [stdout] test ui::renderer::tests::nested_object_lists_stack_when_table_would_hide_content ... ok
[INFO] [stdout] test ui::renderer::tests::render_value_block_appends_trailing_newline ... ok
[INFO] [stdout] test ui::renderer::tests::render_json_block_is_pretty ... ok
[INFO] [stdout] test ui::renderer::tests::render_mreg_respects_color_toggle ... ok
[INFO] [stdout] test ui::renderer::tests::render_table_toggles_border_style ... ok
[INFO] [stdout] test ui::renderer::tests::rich_json_block_uses_color_tokens ... ok
[INFO] [stdout] test ui::renderer::tests::table_overflow_wrap_preserves_tail ... ok
[INFO] [stdout] test ui::renderer::tests::table_renders_header_pairs_before_table ... ok
[INFO] [stdout] test ui::renderer::tests::theme_hex_values_render_with_truecolor_when_enabled ... ok
[INFO] [stdout] test ui::renderer::tests::value_block_honors_generic_text_override ... ok
[INFO] [stdout] test ui::renderer::tests::table_unicode_off_has_no_box_drawing_characters ... ok
[INFO] [stdout] test ui::renderer::tests::table_overflow_none_keeps_full_content ... ok
[INFO] [stdout] test ui::renderer::tests::width_limit_truncates_wide_cells ... ok
[INFO] [stdout] test ui::style::tests::dracula_number_uses_theme_override_color ... ok
[INFO] [stdout] test ui::style::tests::dracula_error_uses_bold_truecolor_escape ... ok
[INFO] [stdout] test ui::style::tests::explicit_override_takes_precedence_over_theme_token ... ok
[INFO] [stdout] test ui::style::tests::generic_key_override_reaches_key_like_tokens_unit ... ok
[INFO] [stdout] test ui::style::tests::message_override_reaches_message_tokens_unit ... ok
[INFO] [stdout] test ui::style::tests::none_token_and_invalid_specs_fall_back_to_plain_text_unit ... ok
[INFO] [stdout] test ui::renderer::tests::table_color_never_has_no_ansi_escape_codes ... ok
[INFO] [stdout] test ui::renderer::tests::table_overflow_ellipsis_truncates_with_suffix ... ok
[INFO] [stdout] test ui::style::tests::generic_text_override_reaches_value_and_code_tokens_unit ... ok
[INFO] [stdout] test ui::style::tests::nord_and_dracula_produce_different_info_colors ... ok
[INFO] [stdout] test ui::style::tests::prompt_text_and_trace_tokens_cover_theme_defaults_unit ... ok
[INFO] [stdout] test ui::style::tests::color_toggle_off_returns_plain_text ... ok
[INFO] [stdout] test ui::style::tests::theme_and_override_helpers_cover_prompt_panel_and_ip_tokens_unit ... ok
[INFO] [stdout] test ui::tests::auto_mode_forced_color_promotes_rich_backend_unit ... ok
[INFO] [stdout] test ui::style::tests::plain_theme_disables_styling_even_with_color_enabled ... ok
[INFO] [stdout] test ui::tests::auto_mode_forced_unicode_promotes_rich_backend_unit ... ok
[INFO] [stdout] test ui::tests::auto_modes_respect_runtime_terminal_and_locale_unit ... ok
[INFO] [stdout] test ui::renderer::tests::ldap_user_sample_renders_as_python_style_mreg ... ok
[INFO] [stdout] test ui::tests::auto_selects_mreg_for_single_non_value_row ... ok
[INFO] [stdout] test ui::tests::auto_selects_value_for_value_rows ... ok
[INFO] [stdout] test ui::tests::auto_selects_table_for_multi_row_result ... ok
[INFO] [stdout] test ui::tests::copy_helpers_force_plain_copy_settings_for_rows_unit ... ok
[INFO] [stdout] test ui::tests::copy_render_forces_plain_without_ansi_or_unicode_borders ... ok
[INFO] [stdout] test ui::tests::json_output_snapshot_and_copy_contracts_are_stable_unit ... ok
[INFO] [stdout] test ui::tests::rich_mode_keeps_forced_color_and_unicode ... ok
[INFO] [stdout] test ui::tests::markdown_format_builds_markdown_table_block ... ok
[INFO] [stdout] test ui::tests::table_border_style_parser_accepts_supported_names ... ok
[INFO] [stdout] test ui::tests::plain_mode_disables_color_and_unicode_even_when_forced ... ok
[INFO] [stdout] test ui::tests::table_overflow_parser_accepts_aliases_unit ... ok
[INFO] [stdout] test ui::tests::mreg_block_models_scalar_and_vertical_list_values ... ok
[INFO] [stdout] test ui::theme::tests::dracula_number_override_matches_python_theme_preset ... ok
[INFO] [stdout] test ui::theme::tests::repl_completion_defaults_follow_python_late_defaults ... ok
[INFO] [stderr] 2026-03-10T22:24:20.173306Z  WARN osp_cli::ui::theme_loader: theme path is not a directory path=/tmp/osp-theme-loader-catalog-1773181460171451444/missing
[INFO] [stdout] test ui::theme::tests::display_name_and_lookup_helpers_cover_normalization_edges ... ok
[INFO] [stderr] 2026-03-10T22:24:20.173532Z  WARN osp_cli::ui::theme_loader: failed to parse toml: TOML parse error at line 1, column 8
[INFO] [stdout] test ui::theme_loader::tests::color_spec_validation_rejects_unknown_tokens ... ok
[INFO] [stderr]   |
[INFO] [stdout] test ui::theme::tests::display_name_from_id_formats_title_case ... ok
[INFO] [stderr] 1 | not = [valid
[INFO] [stdout] test ui::theme_loader::tests::color_spec_validation_accepts_known_tokens ... ok
[INFO] [stderr]   |        ^
[INFO] [stdout] test ui::theme::tests::theme_catalog_helpers_expose_defaults_and_fallbacks ... ok
[INFO] [stderr] invalid array
[INFO] [stdout] test ui::theme_loader::tests::custom_theme_can_inherit_from_custom_base ... ok
[INFO] [stderr] expected `]`
[INFO] [stdout] test ui::theme_loader::tests::theme_catalog_resolve_normalizes_input_and_rejects_blank_unit ... ok
[INFO] [stderr]  path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/broken.toml
[INFO] [stdout] test ui::theme_loader::tests::default_theme_paths_tracks_home_config_root_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:20.173553Z  WARN osp_cli::ui::theme_loader: invalid color spec for palette.text: bogus path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/dupe-a.toml
[INFO] [stdout] test ui::theme_loader::tests::theme_path_helpers_expand_home_and_drop_blank_entries_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:20.173563Z  WARN osp_cli::ui::theme_loader: invalid color spec for overrides.value_number: broken path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/dupe-a.toml
[INFO] [stdout] test ui::theme_loader::tests::theme_file_defaults_id_and_name_from_file_stem ... ok
[INFO] [stderr] 2026-03-10T22:24:20.173573Z  WARN osp_cli::ui::theme_loader: invalid color spec for overrides.repl_completion_highlight: bad path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/dupe-a.toml
[INFO] [stdout] test ui::theme_loader::tests::theme_file_inherits_from_base ... ok
[INFO] [stderr] 2026-03-10T22:24:20.173584Z  WARN osp_cli::ui::theme_loader: theme id collision: dupe overridden (previous: /tmp/osp-theme-loader-catalog-1773181460171451444/themes/dupe-a.toml) path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/dupe-b.toml
[INFO] [stdout] test ui::theme_loader::tests::theme_catalog_load_reports_invalid_specs_and_preserves_custom_origins_unit ... ok
[INFO] [stderr] 2026-03-10T22:24:20.173596Z  WARN osp_cli::ui::theme_loader: theme base cycle detected: cycle-a -> cycle-b -> cycle-a path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/cycle-a.toml
[INFO] [stderr] 2026-03-10T22:24:20.173606Z  WARN osp_cli::ui::theme_loader: theme base cycle detected: cycle-b -> cycle-a -> cycle-b path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/cycle-b.toml
[INFO] [stderr] 2026-03-10T22:24:20.173617Z  WARN osp_cli::ui::theme_loader: custom theme overrides builtin: dracula path=/tmp/osp-theme-loader-catalog-1773181460171451444/themes/dracula.toml
[INFO] [stdout] test ui::tests::render_document_helpers_force_plain_copy_mode_unit ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] test plugin::tests::timed_out_plugin_terminates_background_process_group_unit ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- ui::clipboard::tests::command_backend_reports_success_and_failure stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'ui::clipboard::tests::command_backend_reports_success_and_failure' (920) panicked at src/ui/clipboard.rs:393:9:
[INFO] [stdout] assertion failed: matches!(err, ClipboardError::CommandFailed { status: 7, ref stderr, .. } if
[INFO] [stdout]     stderr.contains("nope"))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cf75503817a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cf75503817a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cf75503817a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cf75503817a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cf75505383a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cf75505383a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5cf75503ec42 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5cf75503ec42 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5cf755012a7f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cf755012a7f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cf75502ed29 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cf75494212c - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5cf75494212c - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cf75502eee2 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5cf75502eee2 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cf755012b6a - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5cf755009aa9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cf755013ccd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cf7550541cc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cf755054192 - core[10b6fa85044e1869]::panicking::panic
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5cf7544273fc - osp_cli::ui::clipboard::tests::command_backend_reports_success_and_failure::hede12d0d75a66dc8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ui/clipboard.rs:393:9
[INFO] [stdout]   21:     0x5cf754427453 - osp_cli::ui::clipboard::tests::command_backend_reports_success_and_failure::{{closure}}::h00bc574cc18115e8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ui/clipboard.rs:386:53
[INFO] [stdout]   22:     0x5cf7545c83d6 - core::ops::function::FnOnce::call_once::h9382abf94920a380
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cf75493620b - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cf75493620b - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5cf754942bfb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5cf754942bfb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x5cf754942bfb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5cf754942bfb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cf754942bfb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cf754942bfb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5cf754942bfb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5cf75493e314 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5cf75493e314 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cf754945802 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5cf754945802 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x5cf754945802 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5cf754945802 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cf754945802 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cf754945802 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5cf754945802 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cf75503702f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5cf75503702f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x77536d4baaa4 - <unknown>
[INFO] [stdout]   44:     0x77536d547a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     ui::clipboard::tests::command_backend_reports_success_and_failure
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 956 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.54s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1feea03cc57cee1b2631f75cf40db6e5cefd459a4417e92db84955472581351a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1feea03cc57cee1b2631f75cf40db6e5cefd459a4417e92db84955472581351a", kill_on_drop: false }`
[INFO] [stdout] 1feea03cc57cee1b2631f75cf40db6e5cefd459a4417e92db84955472581351a
