[INFO] fetching crate uselegion-tools 0.0.1-rc.6...
[INFO] testing uselegion-tools-0.0.1-rc.6 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate uselegion-tools 0.0.1-rc.6 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate uselegion-tools 0.0.1-rc.6
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate uselegion-tools 0.0.1-rc.6
[INFO] tweaked toml for crates.io crate uselegion-tools 0.0.1-rc.6 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate uselegion-tools 0.0.1-rc.6 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate uselegion-tools 0.0.1-rc.6 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded deadpool v0.12.3
[INFO] [stderr]   Downloaded uselegion-telemetry v0.0.1-rc.6
[INFO] [stderr]   Downloaded uselegion-skills v0.0.1-rc.6
[INFO] [stderr]   Downloaded wiremock v0.6.5
[INFO] [stderr]   Downloaded uselegion-plugin-sdk v0.0.1-rc.6
[INFO] [stderr]   Downloaded serde_json5 v0.2.1
[INFO] [stderr]   Downloaded uselegion-core v0.0.1-rc.6
[INFO] [stderr]   Downloaded uselegion-provider v0.0.1-rc.6
[INFO] [stderr]   Downloaded uselegion-runtime v0.0.1-rc.6
[INFO] [stderr]   Downloaded fraction v0.15.4
[INFO] [stderr]   Downloaded tokio-tungstenite v0.26.2
[INFO] [stderr]   Downloaded cron v0.15.0
[INFO] [stderr]   Downloaded uselegion-mcp v0.0.1-rc.6
[INFO] [stderr]   Downloaded uselegion-automation v0.0.1-rc.6
[INFO] [stderr]   Downloaded tungstenite v0.26.2
[INFO] [stderr]   Downloaded tiktoken-rs v0.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec
[INFO] running `Command { std: "docker" "start" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling cc v1.2.66
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling zerocopy v0.8.53
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling pest v2.8.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling pest_meta v2.8.7
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.7
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling fancy-regex v0.17.0
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling bstr v1.12.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling tiktoken-rs v0.12.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling pest_derive v2.8.7
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling uuid v1.23.4
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling serde_json5 v0.2.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling referencing v0.29.1
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.15
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling uselegion-core v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-skills v0.0.1-rc.6
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling jsonschema v0.29.1
[INFO] [stderr]    Compiling tungstenite v0.26.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling winnow v0.6.26
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.2
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling uselegion-plugin-sdk v0.0.1-rc.6
[INFO] [stderr]    Compiling cron v0.15.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling uselegion-provider v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-mcp v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-telemetry v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-runtime v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-automation v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-tools v0.0.1-rc.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 05s
[INFO] running `Command { std: "docker" "inspect" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling uselegion-provider v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-mcp v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-telemetry v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-runtime v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-automation v0.0.1-rc.6
[INFO] [stderr]    Compiling uselegion-tools v0.0.1-rc.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/legion_tools-fcb0b549c3645244)
[INFO] [stdout] 
[INFO] [stdout] running 256 tests
[INFO] [stdout] test ask_user::tests::ask_user_fails_when_no_gate ... ok
[INFO] [stdout] test browser::tests::build_cdp_command_with_session_and_params ... ok
[INFO] [stdout] test browser::tests::build_cdp_command_without_session ... ok
[INFO] [stdout] test ask_user::tests::validate_input_rejects_duplicate_questions ... ok
[INFO] [stdout] test browser::tests::execute_without_cdp_url_returns_error_result ... ok
[INFO] [stdout] test browser::tests::parse_cdp_response_error_without_message_falls_back ... ok
[INFO] [stdout] test browser::tests::parse_cdp_response_extracts_result ... ok
[INFO] [stdout] test browser::tests::parse_cdp_response_missing_result_yields_null ... ok
[INFO] [stdout] test browser::tests::parse_cdp_response_surfaces_protocol_error ... ok
[INFO] [stdout] test browser::tests::parse_cdp_response_rejects_event_frame ... ok
[INFO] [stdout] test browser::tests::truncate_chars_respects_limit ... ok
[INFO] [stdout] test background_task::tests::registry_tracks_task_and_returns_output ... ok
[INFO] [stdout] test command_safety::tests::backgrounded_commands_split_into_checked_segments ... ok
[INFO] [stdout] test browser::tests::schema_requires_action ... ok
[INFO] [stdout] test command_safety::tests::benign_commands_are_clean ... ok
[INFO] [stdout] test command_safety::tests::reasons_are_human_readable ... ok
[INFO] [stdout] test background_task::tests::kill_aborts_running_task ... ok
[INFO] [stdout] test exec_rules::tests::file_round_trip_preserves_rules ... ok
[INFO] [stdout] test command_safety::tests::detects_dangerous_patterns ... ok
[INFO] [stdout] test command_safety::tests::substitutions_in_destructive_context_are_dangerous ... ok
[INFO] [stdout] test ask_user::tests::ask_user_blocks_until_answered ... ok
[INFO] [stdout] test exec_rules::tests::append_allow_is_idempotent_and_creates_dirs ... ok
[INFO] [stdout] test exec_rules::tests::prefix_rules_do_not_span_command_boundaries ... ok
[INFO] [stdout] test exec_rules::tests::quoted_arguments_tokenize_like_the_safety_layer ... ok
[INFO] [stdout] test exec_rules::tests::strictest_decision_wins ... ok
[INFO] [stdout] test exec_rules::tests::trailing_wildcard_is_explicit_prefix ... ok
[INFO] [stdout] test exec_rules::tests::prefix_match_covers_extra_arguments ... ok
[INFO] [stdout] test browser::tests::read_only_depends_on_action ... ok
[INFO] [stdout] test grep::tests::empty_results_message ... ok
[INFO] [stdout] test exec_rules::tests::missing_and_malformed_files_are_empty ... ok
[INFO] [stdout] test exec_rules::tests::store_reloads_when_the_file_changes ... ok
[INFO] [stdout] test grep::tests::directory_recursion ... ok
[INFO] [stdout] test exec_rules::tests::store_merges_config_and_agent_file_rules_strictest ... ok
[INFO] [stdout] test browser::tests::execute_navigate_requires_url ... ok
[INFO] [stdout] test image_edit::tests::schema_requires_image_path_and_prompt ... ok
[INFO] [stdout] test image_edit::tests::missing_image_file_returns_error ... ok
[INFO] [stdout] test grep::tests::workspace_only_rejects_parent_escape ... ok
[INFO] [stdout] test list_dir::tests::list_dir_recursive_lists_nested_entries ... ok
[INFO] [stdout] test grep::tests::regex_vs_literal ... ok
[INFO] [stdout] test lsp::tests::apply_edit_replaces_single_line ... ok
[INFO] [stdout] test list_dir::tests::list_dir_missing_directory_returns_error ... ok
[INFO] [stdout] test lsp::tests::apply_edit_preserves_no_trailing_newline ... ok
[INFO] [stdout] test lsp::tests::format_is_not_read_only ... ok
[INFO] [stdout] test list_dir::tests::list_dir_shows_immediate_children ... ok
[INFO] [stdout] test mcp::tests::auto_approved_mcp_tool_has_off_policy ... ok
[INFO] [stdout] test list_dir::tests::list_dir_rejects_file_path ... ok
[INFO] [stdout] test mcp::tests::mcp_tool_appends_structured_content_to_output ... ok
[INFO] [stdout] test lsp::tests::tool_routes_to_backend_and_returns_result ... ok
[INFO] [stdout] test plan_mode::tests::enter_plan_mode_activates_tracker ... ok
[INFO] [stdout] test mcp::tests::mcp_tool_invokes_adapter_and_returns_json ... ok
[INFO] [stdout] test plan_mode::tests::enter_plan_mode_is_idempotent ... ok
[INFO] [stdout] test plan_mode::tests::exit_plan_mode_when_inactive_reports_inactive ... ok
[INFO] [stdout] test plan_mode::tests::enter_plan_mode_without_tracker_errors ... ok
[INFO] [stdout] test plan_mode::tests::exit_plan_mode_deactivates_tracker ... ok
[INFO] [stdout] test lsp::tests::format_action_applies_edits ... ok
[INFO] [stdout] test lsp::tests::schema_requires_action_path_line_column ... ok
[INFO] [stdout] test registry::tests::browser_tool_registered_with_defaults_when_unconfigured ... ok
[INFO] [stdout] test registry::tests::definitions_match_registry ... ok
[INFO] [stdout] test registry::tests::definitions_are_deterministically_ordered ... ok
[INFO] [stdout] test registry::tests::derive_restricted_config_pulls_web_fetch_domains_when_enabled ... ok
[INFO] [stdout] test registry::tests::reconcile_mcp_server_is_scoped_to_one_server ... ok
[INFO] [stdout] test registry::tests::exec_tool_with_restricted_sandbox_is_registered ... ok
[INFO] [stdout] test registry::tests::mcp_tool_reports_server_namespace ... ok
[INFO] [stdout] test registry::tests::registry_contains_core_tools ... ok
[INFO] [stdout] test registry::tests::register_adds_new_tool ... ok
[INFO] [stdout] test registry::tests::registry_includes_multimedia_tools_when_router_given ... ok
[INFO] [stdout] test registry::tests::reconcile_mcp_server_swaps_tools_live ... ok
[INFO] [stdout] test registry::tests::registry_keeps_builtin_when_no_mcp ... ok
[INFO] [stdout] test registry::tests::registry_merges_mcp_tools_with_namespace ... ok
[INFO] [stdout] test registry::tests::registry_omits_multimedia_tools_when_no_router ... ok
[INFO] [stdout] test registry::tests::registry_parses_browser_backend_config ... ok
[INFO] [stdout] test registry::tests::register_does_not_overwrite_existing_tool ... ok
[INFO] [stdout] test registry::tests::registry_parses_cube_sandbox_config ... ok
[INFO] [stdout] test registry::tests::registry_reports_tool_taxonomy ... ok
[INFO] [stdout] test registry::tests::skills_tools_registered_in_on_demand_mode ... ok
[INFO] [stdout] test registry::tests::swarm_tools_registered_with_default_policies ... ok
[INFO] [stdout] test registry::tests::write_tools_can_opt_out_of_workspace_only_via_config ... ok
[INFO] [stdout] test registry::tests::write_tools_default_to_workspace_only ... ok
[INFO] [stdout] test registry::tests::same_turn_spawn_subagent_calls_run_concurrently ... ok
[INFO] [stdout] test registry::tests::skills_tools_absent_in_default_and_inject_modes ... ok
[INFO] [stdout] test sandbox::cube::tests::parse_connect_stream_decodes_output_and_exit_code ... ok
[INFO] [stdout] test sandbox::cube::tests::parse_connect_stream_end_stream_error ... ok
[INFO] [stdout] test browser::tests::execute_rejects_unsupported_action ... ok
[INFO] [stdout] test sandbox::local::tests::local_backend_captures_stdout_stderr_and_exit_code ... ok
[INFO] [stdout] test sandbox::local::tests::local_backend_respects_cwd ... ok
[INFO] [stdout] test sandbox::cube::tests::cube_backend_create_error_surfaces_api_error ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_allows_append_inside_workspace ... ok
[INFO] [stdout] test sandbox::cube::tests::cube_backend_exec_full_lifecycle ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_allows_clean_workspace ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_allows_write_inside_workspace ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_blocks_append_outside_workspace ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_blocks_write_outside_workspace ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_rejects_symlinked_workspace ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_blocks_write_to_ssh_dir ... ok
[INFO] [stdout] test sandbox::policy::tests::scrub_bare_git_repo_removes_markers ... ok
[INFO] [stdout] test sandbox::policy::tests::pre_exec_guard_rejects_symlinked_writable_path ... ok
[INFO] [stdout] test sandbox::policy::tests::sensitive_paths_include_legion_config ... ok
[INFO] [stdout] test sandbox::policy::tests::writable_paths_include_configured_paths ... ok
[INFO] [stdout] test sandbox::policy::tests::writable_paths_include_workspace ... ok
[INFO] [stdout] test sandbox::proxy::tests::egress_rules_from_config_splits_entries ... ok
[INFO] [stdout] test sandbox::proxy::tests::egress_rules_parse_deny_prefix_and_match ... ok
[INFO] [stdout] test sandbox::proxy::tests::manager_reuses_running_proxy_and_returns_none_for_blocking_policy ... ok
[INFO] [stdout] test sandbox::proxy::tests::method_policy_limited_read_only ... ok
[INFO] [stdout] test sandbox::proxy::tests::non_public_ip_classification ... ok
[INFO] [stdout] test sandbox::proxy::tests::egress_rules_empty_allowlist_denies_everything ... ok
[INFO] [stdout] test sandbox::proxy::tests::parse_absolute_target_forms ... ok
[INFO] [stdout] test sandbox::proxy::tests::parse_authority_forms ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_blocks_disallowed_host_with_403_and_telemetry ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_blocks_non_permitted_methods ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_connect_denied_host_gets_403 ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_adds_host_header_when_client_omitted ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_connect_tunnels_allowed_host ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_env_pairs_override_user_values_and_survive_redaction ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_forwards_allowed_plaintext_request ... ok
[INFO] [stdout] test grep::tests::glob_filtering ... ok
[INFO] [stdout] test grep::tests::single_file_match ... ok
[INFO] [stdout] test registry::tests::exec_tool_with_invalid_cube_config_falls_back_to_local ... ok
[INFO] [stdout] test sandbox::proxy::tests::request_head_parses_lines_and_headers ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_rejects_private_targets_without_escape_hatch ... ok
[INFO] [stdout] test sandbox::restricted::tests::available_returns_result ... ok
[INFO] [stdout] test sandbox::restricted::tests::bwrap_args_allowlist_wires_relay_route_and_proxy_env ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_forwards_body_bytes_sent_with_the_head ... ok
[INFO] [stdout] test sandbox::restricted::tests::bwrap_args_blocking_policy_keeps_netns_off ... ok
[INFO] [stdout] test sandbox::cube::tests::exit_code_from_status_parses_variants ... ok
[INFO] [stdout] test sandbox::restricted::tests::capabilities_show_isolation ... ok
[INFO] [stdout] test sandbox::restricted::tests::bwrap_args_no_git_ro_bind_when_git_absent ... ok
[INFO] [stdout] test sandbox::restricted::tests::env_pairs_redacts_credentials_and_keeps_whitelist ... ok
[INFO] [stdout] test sandbox::restricted::tests::macos_profile_allowlist_routes_through_managed_proxy ... ok
[INFO] [stdout] test sandbox::restricted::tests::bwrap_args_rebind_git_read_only_after_bind ... ok
[INFO] [stdout] test sandbox::restricted::tests::sandbox_env_pairs_replaces_user_proxy_vars_with_managed_one ... ok
[INFO] [stdout] test sandbox::restricted::tests::macos_profile_allowlist_without_proxy_fails_closed ... ok
[INFO] [stdout] test sandbox::restricted::tests::macos_profile_rejects_paths_that_cannot_be_escaped ... ok
[INFO] [stdout] test sandbox::tests::redact_credentials_drops_credential_like_keys ... ok
[INFO] [stdout] test sandbox::tests::redact_credentials_keeps_benign_keys ... ok
[INFO] [stdout] test sandbox::tests::contains_symlink_detects_links_and_clean_paths ... ok
[INFO] [stdout] test scheduler::tests::create_rejects_invalid_cron ... ok
[INFO] [stdout] relay-ok
[INFO] [stdout] test scheduler::tests::create_requires_cron_or_at ... ok
[INFO] [stdout] test scheduler::tests::create_job_and_read_it_back ... ok
[INFO] [stdout] test scheduler::tests::create_one_shot_job_with_at ... ok
[INFO] [stdout] test todo::tests::rejects_invalid_status ... ok
[INFO] [stdout] test todo::tests::rejects_missing_todos ... ok
[INFO] [stdout] test scheduler::tests::list_jobs_returns_created_jobs ... ok
[INFO] [stdout] test tools::exec::tests::exec_approval_detail_flags_dangerous_commands_only ... ok
[INFO] [stdout] test todo::tests::writes_todo_list ... ok
[INFO] [stdout] test tools::exec::tests::exec_approval_resource_is_the_command_line ... ok
[INFO] [stdout] test tools::exec::tests::exec_non_sandbox_failure_does_not_escalate ... ok
[INFO] [stdout] test tools::exec::tests::exec_result_carries_safety_warnings_for_dangerous_command ... ok
[INFO] [stdout] test tools::exec::tests::exec_result_has_no_safety_warnings_for_benign_command ... ok
[INFO] [stdout] test scheduler::tests::delete_job_removes_it ... ok
[INFO] [stdout] test tools::exec::tests::exec_rule_allow_never_covers_backgrounded_or_substituted_commands ... ok
[INFO] [stdout] test tools::exec::tests::exec_background_returns_task_id_and_log_is_written ... ok
[INFO] [stdout] test tools::exec::tests::exec_returns_output ... ok
[INFO] [stdout] test tools::exec::tests::exec_rule_allow_skips_approval_except_for_dangerous_commands ... ok
[INFO] [stdout] test tools::exec::tests::exec_rule_forbidden_rejects_and_prompt_rules_stay_neutral ... ok
[INFO] [stdout] test tools::exec::tests::exec_sandbox_denial_dont_ask_mode_suppresses_escalation ... ok
[INFO] [stdout] test tools::exec::tests::exec_sandbox_denial_bypass_mode_escalates_without_prompting ... ok
[INFO] [stdout] test tools::exec::tests::exec_sandbox_denial_plan_mode_suppresses_escalation ... ok
[INFO] [stdout] test tools::exec::tests::exec_sandbox_denial_unattended_fails_closed ... ok
[INFO] [stdout] test tools::exec::tests::exec_tool_is_not_concurrency_safe ... ok
[INFO] [stdout] test tools::exec::tests::exec_sandbox_denial_escalates_and_retries_unsandboxed_when_approved ... ok
[INFO] [stdout] test tools::exec::tests::kill_task_aborts_background_task ... ok
[INFO] [stdout] test tools::exec::tests::wait_tasks_returns_task_outputs ... ok
[INFO] [stdout] test tools::fs::tests::apply_unified_diff_rejects_context_mismatch ... ok
[INFO] [stdout] test tools::fs::tests::apply_unified_diff_rejects_malformed_hunk_header ... ok
[INFO] [stdout] test tools::fs::tests::apply_unified_diff_rejects_removal_mismatch ... ok
[INFO] [stdout] test tools::fs::tests::apply_unified_diff_rejects_unknown_marker ... ok
[INFO] [stdout] test tools::fs::tests::edit_replaces_text ... ok
[INFO] [stdout] test tools::fs::tests::edit_tool_rejects_identical_strings ... ok
[INFO] [stdout] test tools::fs::tests::read_tool_is_read_only_and_concurrency_safe ... ok
[INFO] [stdout] test tools::fs::tests::read_whole_file ... ok
[INFO] [stdout] test tools::fs::tests::read_with_line_range ... ok
[INFO] [stdout] test tools::fs::tests::workspace_only_rejects_escape ... ok
[INFO] [stdout] test tools::fs::tests::write_creates_file ... ok
[INFO] [stdout] test tools::fs::tests::apply_patch_changes_file ... ok
[INFO] [stdout] test tools::memory::tests::memory_get_reads_file_and_range ... ok
[INFO] [stdout] test tools::fs::tests::write_tool_is_not_read_only_and_not_concurrency_safe ... ok
[INFO] [stdout] test tools::memory::tests::memory_get_requires_backend ... ok
[INFO] [stdout] test tools::memory::tests::memory_index_adds_searchable_note ... ok
[INFO] [stdout] test tools::memory::tests::memory_index_requires_backend ... ok
[INFO] [stdout] test tools::memory::tests::memory_search_requires_backend ... ok
[INFO] [stdout] test tools::memory::tests::memory_search_returns_matching_notes ... ok
[INFO] [stdout] test tools::orchestration::tests::a2a_send_propagates_not_allowed ... ok
[INFO] [stdout] test tools::orchestration::tests::a2a_send_delivers_and_records_call ... ok
[INFO] [stdout] test tools::orchestration::tests::a2a_send_requires_messenger ... ok
[INFO] [stdout] test tools::orchestration::tests::a2a_send_rejects_self_send ... ok
[INFO] [stdout] test tools::orchestration::tests::resolve_child_allowed_accepts_subset_of_parent ... ok
[INFO] [stdout] test tools::orchestration::tests::resolve_child_allowed_inherits_parent_when_unspecified ... ok
[INFO] [stdout] test tools::orchestration::tests::resolve_child_allowed_rejects_mcp_tools ... ok
[INFO] [stdout] test tools::orchestration::tests::resolve_child_allowed_rejects_tools_outside_parent_set ... ok
[INFO] [stdout] test tools::orchestration::tests::resolve_child_allowed_unrestricted_root_yields_none ... ok
[INFO] [stdout] test tools::orchestration::tests::run_coordinator_rejects_task_tools_outside_parent_set ... ok
[INFO] [stdout] test tools::orchestration::tests::run_coordinator_executes_plan_and_returns_report ... ok
[INFO] [stdout] test tools::orchestration::tests::spawn_subagent_fork_does_not_require_agent_type ... ok
[INFO] [stdout] test tools::orchestration::tests::run_coordinator_requires_spawner ... ok
[INFO] [stdout] test tools::orchestration::tests::spawn_subagent_typed_requires_agent_type ... ok
[INFO] [stdout] test tools::orchestration::tests::swarm_send_requires_swarm ... ok
[INFO] [stdout] test tools::orchestration::tests::spawn_subagent_rejects_unknown_kind ... ok
[INFO] [stdout] test tools::orchestration::tests::swarm_spawn_rejects_mcp_tools ... ok
[INFO] [stdout] test tools::orchestration::tests::swarm_spawn_requires_name_and_prompt ... ok
[INFO] [stdout] test tools::orchestration::tests::swarm_spawn_requires_swarm ... ok
[INFO] [stdout] test tools::orchestration::tests::swarm_status_requires_swarm ... ok
[INFO] [stdout] test tools::review::tests::extract_handles_braces_inside_strings ... ok
[INFO] [stdout] test tools::review::tests::extract_skips_objects_without_verdict_key ... ok
[INFO] [stdout] test tools::review::tests::findings_capped_at_50 ... ok
[INFO] [stdout] test tools::review::tests::long_comments_truncated ... ok
[INFO] [stdout] test tools::review::tests::policy_is_off_and_workspace_only ... ok
[INFO] [stdout] test tools::review::tests::review_failed_child_is_error_result ... ok
[INFO] [stdout] test tools::review::tests::review_garbage_output_is_unparsed ... ok
[INFO] [stdout] test tools::review::tests::review_parses_clean_json_verdict ... ok
[INFO] [stdout] test tools::review::tests::review_parses_json_with_prose_around_it ... ok
[INFO] [stdout] test tools::review::tests::review_requires_instruction ... ok
[INFO] [stdout] test tools::review::tests::review_spawns_independent_readonly_reviewer ... ok
[INFO] [stdout] test tools::review::tests::review_without_spawner_is_structured_error ... ok
[INFO] [stdout] test tools::orchestration::tests::swarm_spawn_and_status_roundtrip ... ok
[INFO] [stdout] test tools::skills::tests::list_with_no_skills_returns_empty_catalog ... ok
[INFO] [stdout] test tools::skills::tests::policies_are_off_and_read_only ... ok
[INFO] [stdout] test tools::skills::tests::read_requires_name_parameter ... ok
[INFO] [stdout] test tools::skills::tests::list_returns_sorted_catalog_with_dirs ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_shuts_down_after_idle_timeout ... ok
[INFO] [stdout] test tools::skills::tests::read_unknown_name_lists_available_skills ... ok
[INFO] [stdout] test tools::web::tests::host_allowed_exact_and_wildcard_semantics ... ok
[INFO] [stdout] test tools::web::tests::parse_web_fetch_config_defaults_empty_when_absent ... ok
[INFO] [stdout] test tools::web::tests::parse_web_fetch_config_reads_allow_domains ... ok
[INFO] [stdout] test tools::web::tests::strip_html_ignores_lookalike_tags ... ok
[INFO] [stdout] test tools::web::tests::strip_html_keeps_text_around_unterminated_block ... ok
[INFO] [stdout] test tools::web::tests::strip_html_removes_style_and_script_blocks ... ok
[INFO] [stdout] test tools::web::tests::strip_html_works ... ok
[INFO] [stdout] test tools::web::tests::web_fetch_allows_mock_server_host_via_wildcard ... ok
[INFO] [stdout] test tools::web::tests::web_fetch_is_read_only_and_concurrency_safe ... ok
[INFO] [stdout] test tools::web::tests::web_fetch_rejects_host_not_in_allowlist_without_fetching ... ok
[INFO] [stdout] test sandbox::relay::imp::tests::relay_bridges_tcp_to_the_proxy_socket ... ok
[INFO] [stdout] test tools::web::tests::web_fetch_with_wiremock ... ok
[INFO] [stdout] test tools::web_search::tests::all_engines_empty_returns_self_help_hint ... ok
[INFO] [stdout] test tools::web_search::tests::all_engines_fail_returns_aggregated_error ... ok
[INFO] [stdout] test tools::web_search::tests::anti_bot_page_fails_engine_and_falls_back_to_bing ... ok
[INFO] [stdout] test tools::web::tests::web_fetch_truncates_oversized_pages ... ok
[INFO] [stdout] test tools::web_search::tests::bing_search_returns_formatted_results ... ok
[INFO] [stdout] test tools::web_search::tests::detects_anti_bot_markers ... ok
[INFO] [stdout] test tools::web_search::tests::engine_chain_defaults_and_dedup ... ok
[INFO] [stdout] test tools::web_search::tests::non_2xx_status_fails_engine_with_status_in_error ... ok
[INFO] [stdout] test tools::web_search::tests::ddg_search_returns_formatted_results ... ok
[INFO] [stdout] test tools::web_search::tests::parses_bing_html_results ... ok
[INFO] [stdout] test tools::web_search::tests::percent_decode_handles_hex_and_plus ... ok
[INFO] [stdout] test tools::web_search::tests::searxng_search_parses_json_results ... ok
[INFO] [stdout] test tools::web_search::tests::parses_ddg_html_and_unwraps_uddg_urls ... ok
[INFO] [stdout] test sandbox::proxy::tests::proxy_lease_prevents_idle_shutdown_until_dropped ... ok
[INFO] [stdout] test tools::web_search::tests::web_search_is_read_only_and_concurrency_safe ... ok
[INFO] [stdout] test video_generate::tests::no_provider_support_returns_structured_error ... ok
[INFO] [stdout] test video_generate::tests::schema_requires_prompt ... ok
[INFO] [stdout] test tools::web_search::tests::searxng_without_url_is_skipped_and_next_engine_used ... ok
[INFO] [stdout] test sandbox::local::tests::local_backend_times_out ... ok
[INFO] [stdout] test sandbox::local::tests::local_backend_timeout_kills_the_child_process ... ok
[INFO] [stdout] test tools::web_search::tests::stalled_backend_times_out_instead_of_hanging_the_turn ... ok
[INFO] [stdout] test tools::skills::tests::read_returns_full_body_with_header_and_allowed_tools ... ok
[INFO] [stdout] test tools::skills::tests::read_truncates_to_configured_budget ... ok
[INFO] [stdout] test tools::exec::tests::exec_sandbox_denial_denied_returns_original_result ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 256 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/skills_on_demand.rs (/opt/rustwide/target/debug/deps/skills_on_demand-503a7d50a2a729c3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test on_demand_skills_read_delivers_body_after_tool_call ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.96s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests legion_tools
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/sandbox/relay.rs - sandbox::relay (line 16) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.31s; merged doctests compilation took 0.30s
[INFO] running `Command { std: "docker" "inspect" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec", kill_on_drop: false }`
[INFO] [stdout] 513da20629fc2cf4c345a4bc8acaf21beb4eeb140fde0257dfecb3f4412a97ec
