[INFO] cloning repository https://github.com/gezihuzi/mcp-subagent-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gezihuzi/mcp-subagent-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgezihuzi%2Fmcp-subagent-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgezihuzi%2Fmcp-subagent-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 740f728956170065279316522bf178f53bbf21fb [INFO] testing gezihuzi/mcp-subagent-rs against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgezihuzi%2Fmcp-subagent-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/gezihuzi/mcp-subagent-rs [INFO] finished tweaking git repo https://github.com/gezihuzi/mcp-subagent-rs [INFO] tweaked toml for git repo https://github.com/gezihuzi/mcp-subagent-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gezihuzi/mcp-subagent-rs on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gezihuzi/mcp-subagent-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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rmcp-macros v1.2.0 [INFO] [stderr] Downloaded rmcp v1.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0de66c5e297c55f17e09a64b48f767d21b87ab34f7a77c5d1a4b9e60062d862c [INFO] running `Command { std: "docker" "start" "-a" "0de66c5e297c55f17e09a64b48f767d21b87ab34f7a77c5d1a4b9e60062d862c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0de66c5e297c55f17e09a64b48f767d21b87ab34f7a77c5d1a4b9e60062d862c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0de66c5e297c55f17e09a64b48f767d21b87ab34f7a77c5d1a4b9e60062d862c", kill_on_drop: false }` [INFO] [stdout] 0de66c5e297c55f17e09a64b48f767d21b87ab34f7a77c5d1a4b9e60062d862c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2ca94bb1f1b8e0c4ab86eff1329e97bf353b58b982c4aad3d62ca0d723a08697 [INFO] running `Command { std: "docker" "start" "-a" "2ca94bb1f1b8e0c4ab86eff1329e97bf353b58b982c4aad3d62ca0d723a08697", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling rmcp v1.2.0 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling rmcp-macros v1.2.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling tracing-appender v0.2.4 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling mcp-subagent v0.10.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.26s [INFO] running `Command { std: "docker" "inspect" "2ca94bb1f1b8e0c4ab86eff1329e97bf353b58b982c4aad3d62ca0d723a08697", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ca94bb1f1b8e0c4ab86eff1329e97bf353b58b982c4aad3d62ca0d723a08697", kill_on_drop: false }` [INFO] [stdout] 2ca94bb1f1b8e0c4ab86eff1329e97bf353b58b982c4aad3d62ca0d723a08697 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7d818cffd3155e7b50cdabb6a3553b111c863f17071f90d896961f91a92afae1 [INFO] running `Command { std: "docker" "start" "-a" "7d818cffd3155e7b50cdabb6a3553b111c863f17071f90d896961f91a92afae1", kill_on_drop: false }` [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling mcp-subagent v0.10.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 23.08s [INFO] running `Command { std: "docker" "inspect" "7d818cffd3155e7b50cdabb6a3553b111c863f17071f90d896961f91a92afae1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d818cffd3155e7b50cdabb6a3553b111c863f17071f90d896961f91a92afae1", kill_on_drop: false }` [INFO] [stdout] 7d818cffd3155e7b50cdabb6a3553b111c863f17071f90d896961f91a92afae1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5b7b26c0792b4d2a19e3b44a8149834765a92a2243e3525f2737407506dffbd7 [INFO] running `Command { std: "docker" "start" "-a" "5b7b26c0792b4d2a19e3b44a8149834765a92a2243e3525f2737407506dffbd7", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mcp_subagent-e80fd6f250d394fc) [INFO] [stdout] [INFO] [stdout] running 230 tests [INFO] [stdout] test config::tests::resolve_config_path_prefers_env_when_cli_missing ... ok [INFO] [stdout] test config::tests::resolve_config_path_prefers_cli_override ... ok [INFO] [stdout] test config::tests::file_config_optional_fields_deserialize_without_default_annotations ... ok [INFO] [stdout] test config::tests::resolve_config_path_falls_back_to_project_relative_without_home ... ok [INFO] [stdout] test connect::tests::builds_host_specific_invocations ... ok [INFO] [stdout] test connect::tests::builds_host_launch_invocation_for_each_host ... ok [INFO] [stdout] test connect::tests::shell_escape_handles_spaces_and_single_quotes ... ok [INFO] [stdout] test cwd::tests::falls_back_when_pwd_is_missing_or_relative ... ok [INFO] [stdout] test connect::tests::builds_host_specific_snippets ... ok [INFO] [stdout] test connect::tests::resolves_relative_paths_to_absolute ... ok [INFO] [stdout] test config::tests::merge_falls_back_when_higher_layers_missing ... ok [INFO] [stdout] test config::tests::resolve_config_path_falls_back_to_home_when_project_config_missing ... ok [INFO] [stdout] test config::tests::load_file_config_keeps_missing_optional_fields_as_none ... ok [INFO] [stdout] test cwd::tests::falls_back_when_pwd_points_elsewhere ... ok [INFO] [stdout] test config::tests::resolve_config_path_prefers_project_config_when_present ... ok [INFO] [stdout] test cwd::tests::prefers_absolute_pwd_when_it_resolves_to_current_dir ... ok [INFO] [stdout] test doctor::tests::provider_pin_report_marks_disabled_when_config_disabled ... ok [INFO] [stdout] test doctor::tests::provider_pin_report_marks_matched_when_pin_hits ... ok [INFO] [stdout] test doctor::tests::provider_pin_report_marks_drift_when_pin_mismatches ... ok [INFO] [stdout] test doctor::tests::ambient_isolation_detects_workspace_visible_skill_conflict_for_gemini ... ok [INFO] [stdout] test doctor::tests::builds_report_and_renders_key_fields ... ok [INFO] [stdout] test doctor::tests::checks_knowledge_layout_and_policy_usage ... ok [INFO] [stdout] test config::tests::merge_uses_precedence_cli_env_file_defaults ... ok [INFO] [stdout] test init::tests::generated_root_detection_accepts_legacy_bootstrap_shape ... ok [INFO] [stdout] test doctor::tests::doctor_reports_unconfigured_project_bridge_with_force_repair ... ok [INFO] [stdout] test init::tests::refresh_bootstrap_fails_when_no_builtin_templates_exist ... ok [INFO] [stdout] test init::tests::refresh_bootstrap_backfills_manifest_for_legacy_root ... ok [INFO] [stdout] test doctor::tests::doctor_reports_bootstrap_template_drift_without_overwriting ... ok [INFO] [stdout] test init::tests::init_refuses_to_overwrite_without_force ... ok [INFO] [stdout] test doctor::tests::doctor_reports_synced_internal_project_bridge ... ok [INFO] [stdout] test doctor::tests::doctor_reports_missing_external_project_bridge_with_repair_command ... ok [INFO] [stdout] test doctor::tests::doctor_detects_drift_for_generated_custom_root_and_emits_exact_refresh_command ... ok [INFO] [stdout] test init::tests::sync_project_bridge_rejects_non_generated_root ... ok [INFO] [stdout] test init::tests::refresh_bootstrap_overwrites_builtin_templates_and_preserves_custom_agents ... ok [INFO] [stdout] test config::tests::file_config_direct_deserialization_preserves_section_defaults ... ok [INFO] [stdout] test logging::tests::cli_level_overrides_env_and_config ... ok [INFO] [stdout] test logging::tests::env_overrides_config_when_cli_missing ... ok [INFO] [stdout] test mcp::archive::tests::invalid_archive_dir_creates_warning_artifact ... ok [INFO] [stdout] test mcp::archive::tests::non_archive_stage_skips_archive_hook ... ok [INFO] [stdout] test mcp::review::tests::review_stage_emits_review_evidence_artifact ... ok [INFO] [stdout] test mcp::server::tests::declared_workspace_artifacts_are_persisted_in_index_and_payloads ... ok [INFO] [stdout] test init::tests::init_readme_documents_current_runtime_terms_and_drift_guidance ... ok [INFO] [stdout] test mcp::persistence::tests::loads_persisted_run_json_with_required_fields ... ok [INFO] [stdout] test mcp::persistence::tests::append_run_event_writes_jsonl_with_incrementing_seq ... ok [INFO] [stdout] test mcp::server::tests::run_agent_rejects_unavailable_provider ... ok [INFO] [stdout] test mcp::server::tests::restart_can_query_persisted_runs_and_reject_invalid_path ... ok [INFO] [stdout] test mcp::server::tests::list_agents_marks_provider_unavailable ... ok [INFO] [stdout] test mcp::server::tests::list_agents_tool_returns_agent ... ok [INFO] [stdout] test mcp::server::tests::run_agent_rejects_when_background_prefers_async ... ok [INFO] [stdout] test mcp::server::tests::run_agent_rejects_when_spawn_policy_requires_async ... ok [INFO] [stdout] test init::tests::sync_project_bridge_validates_generated_root_without_rewriting_templates ... ok [INFO] [stdout] test init::tests::init_creates_preset_files_and_valid_specs ... ok [INFO] [stdout] test init::tests::init_readme_contains_executable_connect_snippets ... ok [INFO] [stdout] test mcp::server::tests::serialize_lock_allows_non_conflicting_scopes ... ok [INFO] [stdout] test mcp::server::tests::list_agents_marks_ollama_available_when_probe_ready ... ok [INFO] [stdout] test init::tests::init_force_overwrites_existing_files ... ok [INFO] [stdout] test doctor::tests::doctor_reports_synced_external_project_bridge ... ok [INFO] [stdout] test logging::tests::config_used_when_cli_and_env_missing ... ok [INFO] [stdout] test mcp::archive::tests::archive_stage_generates_final_summary_decision_and_metadata_index ... ok [INFO] [stdout] test mcp::service::tests::run_dispatch_attaches_plan_section_acceptance_criteria_for_reviewer ... ok [INFO] [stdout] test mcp::service::tests::run_dispatch_error_path_cleans_temp_workspace ... ok [INFO] [stdout] test mcp::service::tests::stable_scratch_overrides_gemini_isolated_discovery_to_minimal ... ok [INFO] [stdout] test mcp::tools::tests::build_watch_advice_includes_terminal_next_step ... ok [INFO] [stdout] test mcp::tools::tests::build_watch_advice_includes_timeout_and_reason_guidance ... ok [INFO] [stdout] test mcp::tools::tests::classify_block_reason_from_events_recognizes_first_output_warning ... ok [INFO] [stdout] test mcp::tools::tests::classify_block_reason_from_text_ignores_cached_credentials_log ... ok [INFO] [stdout] test mcp::tools::tests::classify_block_reason_is_none_for_succeeded_status ... ok [INFO] [stdout] test mcp::tools::tests::collect_wait_reasons_deduplicates_and_tracks_latest ... ok [INFO] [stdout] test probe::tests::classify_experimental_unavailable ... ok [INFO] [stdout] test mcp::tools::tests::detect_provider_wait_signal_matches_trust_prompt ... ok [INFO] [stdout] test probe::tests::classify_auth_issue ... ok [INFO] [stdout] test probe::tests::classify_ready_when_command_succeeded_without_error_keywords ... ok [INFO] [stdout] test probe::tests::claude_mapping_notes_include_public_permission_modes ... ok [INFO] [stdout] test probe::tests::gemini_mapping_notes_reflect_default_auto_edit_yolo ... ok [INFO] [stdout] test mcp::service::tests::run_dispatch_cleans_temp_workspace_after_success ... ok [INFO] [stdout] test probe::tests::version_line_heuristic_rejects_error_text ... ok [INFO] [stdout] test runtime::cleanup::tests::in_place_workspace_has_no_cleanup_guard ... ok [INFO] [stdout] test runtime::cleanup::tests::stable_scratch_workspace_has_no_cleanup_guard ... ok [INFO] [stdout] test mcp::tools::tests::current_phase_age_ms_tracks_latest_phase_window ... ok [INFO] [stdout] test mcp::tools::tests::detect_provider_wait_signal_ignores_cached_credentials_log ... ok [INFO] [stdout] test init::tests::generated_presets_do_not_default_to_active_plan_memory ... ok [INFO] [stdout] test probe::tests::classify_permission_denied ... ok [INFO] [stdout] test runtime::cleanup::tests::git_worktree_cleanup_falls_back_to_remove_dir ... ok [INFO] [stdout] test mcp::server::tests::run_agent_rejects_unavailable_ollama_provider ... ok [INFO] [stdout] test runtime::cleanup::tests::temp_copy_workspace_is_removed_when_guard_drops ... ok [INFO] [stdout] test runtime::context::tests::compile_contains_required_sections ... ok [INFO] [stdout] test runtime::context::tests::expanded_brief_mode_uses_parent_summary_digest ... ok [INFO] [stdout] test runtime::context::tests::isolated_mode_excludes_parent_summary_and_selected_files ... ok [INFO] [stdout] test runtime::context::tests::includes_stage_role_priority_when_stage_present ... ok [INFO] [stdout] test mcp::server::tests::run_agent_tool_returns_structured_summary ... ok [INFO] [stdout] test runtime::context::tests::summary_only_mode_includes_parent_summary_but_excludes_selected_files ... ok [INFO] [stdout] test runtime::dispatcher::tests::build_stage_requires_plan_when_cross_module_gate_hits ... ok [INFO] [stdout] test runtime::context::tests::validates_default_summary_contract_template ... ok [INFO] [stdout] test runtime::context::tests::rejects_template_missing_required_sections ... ok [INFO] [stdout] test runtime::dispatcher::tests::build_stage_requires_plan_when_gate_hits ... ok [INFO] [stdout] test runtime::context::tests::selected_files_mode_only_includes_allowlisted_files ... ok [INFO] [stdout] test init::tests::init_supports_all_presets_and_validates ... ok [INFO] [stdout] test runtime::dispatcher::tests::build_stage_passes_when_plan_exists ... ok [INFO] [stdout] test mcp::server::tests::run_agent_tempcopy_persists_workspace_metadata ... ok [INFO] [stdout] test runtime::context::tests::summary_only_blocks_raw_transcript_like_parent_summary ... ok [INFO] [stdout] test runtime::dispatcher::tests::classify_error_message_marks_non_retryable_schema_errors ... ok [INFO] [stdout] test runtime::dispatcher::tests::classify_error_message_marks_unknown_when_unmatched ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_reaches_cancelled ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_reaches_failed_and_keeps_summary ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_best_effort_succeeds_when_summary_is_bare_provider_json ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_reaches_timed_out ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_best_effort_succeeds_when_summary_is_degraded ... ok [INFO] [stdout] test runtime::dispatcher::tests::build_stage_requires_plan_when_human_approval_gate_hits ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_reaches_succeeded ... ok [INFO] [stdout] test runtime::dispatcher::tests::build_stage_requires_plan_when_migration_gate_hits ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_result_to_run_outcome_maps_failure_retry_fields ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_strict_fails_when_summary_is_bare_provider_json ... ok [INFO] [stdout] test runtime::dispatcher::tests::plan_stage_allows_research_agent_profile ... ok [INFO] [stdout] test runtime::dispatcher::tests::readonly_gitworktree_rejects_build_stage ... ok [INFO] [stdout] test runtime::dispatcher::tests::readonly_gitworktree_requires_explicit_stage ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_retries_transient_failure_and_succeeds ... ok [INFO] [stdout] test runtime::dispatcher::tests::readonly_gitworktree_allows_research_stage ... ok [INFO] [stdout] test runtime::dispatcher::tests::rejects_runtime_depth_exceeding_workflow_limit ... ok [INFO] [stdout] test runtime::dispatcher::tests::rejects_stage_not_enabled_in_workflow_stages ... ok [INFO] [stdout] test runtime::dispatcher::tests::research_stage_rejects_non_planning_agent ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_stops_retry_when_max_turns_reached ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_strict_fails_when_summary_is_degraded ... ok [INFO] [stdout] test runtime::dispatcher::tests::review_stage_rejects_builder_agent_profile ... ok [INFO] [stdout] test runtime::dispatcher::tests::review_stage_accepts_dual_tracks_with_parent_summary_evidence ... ok [INFO] [stdout] test runtime::dispatcher::tests::dispatch_result_to_run_outcome_maps_success_fields ... ok [INFO] [stdout] test runtime::memory::tests::active_plan_source_inlines_plan_content ... ok [INFO] [stdout] test runtime::dispatcher::tests::review_stage_allows_reviewer_agent_profile ... ok [INFO] [stdout] test runtime::memory::tests::active_plan_source_is_noop_when_plan_missing ... ok [INFO] [stdout] test runtime::dispatcher::tests::review_stage_requires_dual_tracks_for_high_risk_without_parent_evidence ... ok [INFO] [stdout] test runtime::memory::tests::delegation_plan_section_selector_requires_matching_heading ... ok [INFO] [stdout] test runtime::memory::tests::glob_memory_source_requires_at_least_one_match ... ok [INFO] [stdout] test runtime::outcome::tests::run_outcome_failure_accessors ... ok [INFO] [stdout] test runtime::memory::tests::glob_memory_source_inlines_all_matches ... ok [INFO] [stdout] test runtime::outcome::tests::run_outcome_serialization_roundtrip ... ok [INFO] [stdout] test runtime::outcome::tests::run_outcome_success_accessors ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_rejects_invalid_permission_mode_override ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_rejects_unvalidated_approval_policy ... ok [INFO] [stdout] test runtime::memory::tests::explicit_file_memory_dedups_native_passthrough ... ok [INFO] [stdout] test runtime::memory::tests::archived_plans_source_inlines_existing_archives ... ok [INFO] [stdout] test runtime::memory::tests::auto_project_memory_resolves_project_and_native_paths ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_maps_full_access_to_bypass_permissions ... ok [INFO] [stdout] test mcp::server::tests::serialize_lock_blocks_until_guard_released ... ok [INFO] [stdout] test runtime::memory::tests::delegation_plan_section_selector_extracts_target_section ... ok [INFO] [stdout] test runtime::runners::codex::tests::codex_runner_rejects_unvalidated_approval_policy ... ok [INFO] [stdout] test runtime::runners::codex::tests::schema_json_includes_media_type_in_required_list ... ok [INFO] [stdout] test runtime::runners::codex::tests::strict_schema_marks_all_properties_as_required ... ok [INFO] [stdout] test runtime::runners::codex::tests::summarize_stderr_prefers_error_lines ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_rejects_legacy_auto_permission_mode_override ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_reports_nonzero_exit_as_failed ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_maps_readonly_to_default_approval_mode ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_succeeds_with_summary_stdout ... ok [INFO] [stdout] test runtime::runners::codex::tests::codex_runner_reports_nonzero_exit_as_failed ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_rejects_unvalidated_approval_policy ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_minimal_discovery_uses_isolated_launch_cwd ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_reports_nonzero_exit_as_failed ... ok [INFO] [stdout] test runtime::runners::mock::tests::mock_runner_success_wraps_summary_json ... ok [INFO] [stdout] test runtime::runners::codex::tests::codex_runner_reads_last_message_file ... ok [INFO] [stdout] test runtime::runners::ollama::tests::ollama_runner_reports_nonzero_exit_as_failed ... ok [INFO] [stdout] test runtime::dispatcher::tests::build_stage_requires_plan_when_new_interface_gate_hits ... ok [INFO] [stdout] test runtime::runners::ollama::tests::ollama_runner_requires_model ... ok [INFO] [stdout] test runtime::summary::tests::converts_parsed_summary_to_success_outcome ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_passes_json_schema_flag ... ok [INFO] [stdout] test runtime::summary::tests::falls_back_to_stderr_when_stdout_missing ... ok [INFO] [stdout] test runtime::summary::tests::marks_degraded_when_sentinel_missing ... ok [INFO] [stdout] test runtime::summary::tests::marks_degraded_when_summary_json_without_sentinels ... ok [INFO] [stdout] test runtime::summary::tests::marks_invalid_when_json_is_invalid ... ok [INFO] [stdout] test runtime::summary::tests::marks_invalid_when_json_payload_inside_sentinel_is_not_summary_contract ... ok [INFO] [stdout] test runtime::summary::tests::parses_first_valid_provider_summary_from_back_to_back_json_objects ... ok [INFO] [stdout] test runtime::summary::tests::ignores_placeholder_sentinel_in_stderr_when_stdout_is_plain_text ... ok [INFO] [stdout] test runtime::summary::tests::parses_late_raw_json_after_placeholder_sentinel ... ok [INFO] [stdout] test runtime::summary::tests::parses_valid_summary_from_stdout ... ok [INFO] [stdout] test runtime::summary::tests::parses_second_sentinel_block_when_first_is_placeholder ... ok [INFO] [stdout] test runtime::usage::tests::does_not_treat_null_as_numeric_usage ... ok [INFO] [stdout] test runtime::usage::tests::parses_codex_tokens_used_multiline ... ok [INFO] [stdout] test runtime::usage::tests::parses_prompt_completion_and_total_tokens ... ok [INFO] [stdout] test runtime::usage::tests::parses_usage_from_camel_case_token_counts ... ok [INFO] [stdout] test runtime::usage::tests::parses_usage_from_json_keys ... ok [INFO] [stdout] test runtime::usage::tests::returns_none_when_no_usage_detected ... ok [INFO] [stdout] test runtime::workspace::tests::auto_policy_keeps_in_place_when_gemini_research_has_selected_files ... ok [INFO] [stdout] test runtime::runners::ollama::tests::ollama_runner_succeeds_with_summary_stdout ... ok [INFO] [stdout] test runtime::workspace::tests::auto_policy_routes_gemini_research_profile_to_stable_scratch ... ok [INFO] [stdout] test runtime::workspace::tests::auto_policy_uses_in_place_for_read_only_task ... ok [INFO] [stdout] test runtime::workspace::tests::in_place_uses_source_directory ... ok [INFO] [stdout] test runtime::runners::codex::tests::codex_runner_passes_output_schema_flag ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_succeeds_with_summary_stdout ... ok [INFO] [stdout] test runtime::workspace::tests::git_worktree_falls_back_for_non_git_directory ... ok [INFO] [stdout] test spec::core::tests::agent_spec_core_direct_deserialization_preserves_collection_defaults ... ok [INFO] [stdout] test runtime::workspace::tests::temp_copy_creates_isolated_workspace ... ok [INFO] [stdout] test spec::registry::tests::loads_partial_runtime_subtables_with_consistent_defaults ... ok [INFO] [stdout] test spec::provider_overrides::tests::provider_overrides_option_fields_deserialize_without_default_annotations ... ok [INFO] [stdout] test spec::registry::tests::loads_partial_workflow_subtables_with_consistent_defaults ... ok [INFO] [stdout] test spec::runtime_policy::tests::artifact_policy_partial_deserialization_preserves_business_defaults ... ok [INFO] [stdout] test spec::runtime_policy::tests::retry_policy_partial_deserialization_preserves_business_defaults ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_isolated_discovery_falls_back_to_minimal_on_auth_error ... ok [INFO] [stdout] test spec::registry::tests::rejects_unknown_fields ... ok [INFO] [stdout] test spec::registry::tests::loads_agent_specs_and_applies_defaults ... ok [INFO] [stdout] test runtime::workspace::tests::auto_policy_prefers_worktree_for_write_task ... ok [INFO] [stdout] test spec::runtime_policy::tests::runtime_policy_option_fields_deserialize_without_default_annotations ... ok [INFO] [stdout] test runtime::workspace::tests::resolve_stable_gemini_scratch_dir_uses_home_when_unset ... ok [INFO] [stdout] test spec::validate::tests::accepts_plan_section_delegation_with_selector ... ok [INFO] [stdout] test spec::validate::tests::accepts_safe_memory_sources ... ok [INFO] [stdout] test spec::runtime_policy::tests::runtime_policy_defaults_follow_v09_minimal_profile ... ok [INFO] [stdout] test spec::validate::tests::accepts_workflow_with_consistent_stage_allowlist ... ok [INFO] [stdout] test spec::validate::tests::allows_readonly_gitworktree_combo_in_spec_validation ... ok [INFO] [stdout] test spec::validate::tests::rejects_absolute_file_memory_source_path ... ok [INFO] [stdout] test spec::validate::tests::rejects_duplicate_workflow_stages ... ok [INFO] [stdout] test spec::validate::tests::rejects_empty_inline_memory_source ... ok [INFO] [stdout] test spec::runtime_policy::tests::runtime_policy_partial_nested_tables_inherit_subpolicy_defaults ... ok [INFO] [stdout] test spec::tests::agent_spec_direct_deserialization_preserves_top_level_defaults ... ok [INFO] [stdout] test spec::validate::tests::rejects_empty_stages_for_enabled_workflow ... ok [INFO] [stdout] test spec::validate::tests::rejects_override_mismatch ... ok [INFO] [stdout] test spec::validate::tests::rejects_glob_pattern_in_file_memory_source_path ... ok [INFO] [stdout] test spec::validate::tests::rejects_parent_dir_glob_memory_source_path ... ok [INFO] [stdout] test spec::workflow::tests::workflow_spec_direct_deserialization_preserves_remaining_defaults ... ok [INFO] [stdout] test spec::workflow::tests::knowledge_capture_partial_deserialization_preserves_business_defaults ... ok [INFO] [stdout] test spec::workflow::tests::workflow_gate_policy_partial_deserialization_preserves_business_defaults ... ok [INFO] [stdout] test spec::workflow::tests::workflow_spec_partial_nested_tables_inherit_subpolicy_defaults ... ok [INFO] [stdout] test spec::validate::tests::rejects_plan_section_delegation_without_selector ... ok [INFO] [stdout] test spec::validate::tests::rejects_zero_workflow_depth ... ok [INFO] [stdout] test spec::validate::tests::rejects_stage_not_in_allowed_stages ... ok [INFO] [stdout] test mcp::server::tests::spawn_agent_accepts_then_fails_when_provider_unavailable ... ok [INFO] [stdout] test mcp::server::tests::mcp_transport_roundtrip_for_all_tools ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_execute_with_observer_streams_output_chunks ... ok [INFO] [stdout] test runtime::runners::codex::tests::codex_runner_execute_with_observer_streams_output_chunks ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_execute_with_observer_streams_output_chunks ... ok [INFO] [stdout] test runtime::runners::claude::tests::claude_runner_marks_timeout ... ok [INFO] [stdout] test mcp::server::tests::spawn_agent_returns_before_slow_probe_completes ... ok [INFO] [stdout] test runtime::runners::gemini::tests::gemini_runner_marks_timeout ... ok [INFO] [stdout] test runtime::runners::ollama::tests::ollama_runner_marks_timeout ... ok [INFO] [stdout] test mcp::server::tests::watch_agent_events_surfaces_runtime_delta_for_gemini_and_claude ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 230 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.60s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mcp_subagent-2402aa6c281414b4) [INFO] [stdout] [INFO] [stdout] running 80 tests [INFO] [stdout] test tests::bridge_config_preserves_external_absolute_paths_without_canonicalizing ... ok [INFO] [stdout] test tests::build_phase_progress_line_ignores_synthetic_events ... ok [INFO] [stdout] test tests::build_phase_progress_line_terminal_has_no_current_marker ... ok [INFO] [stdout] test tests::build_phase_progress_line_respects_phase_filter ... ok [INFO] [stdout] test tests::build_run_stats_output_derives_phase_and_durations_from_events ... ok [INFO] [stdout] test tests::appends_only_missing_gitignore_rules ... ok [INFO] [stdout] test tests::classify_block_reason_ignores_cached_credentials_text ... ok [INFO] [stdout] test tests::classify_block_reason_is_none_for_succeeded_status ... ok [INFO] [stdout] test tests::build_usage_output_prefers_native_tokens ... ok [INFO] [stdout] test tests::classify_block_reason_uses_provider_wait_event ... ok [INFO] [stdout] test tests::classify_block_reason_uses_stalled_phase_fallback ... ok [INFO] [stdout] test tests::cli_spawn_waits_for_completion_by_default ... ok [INFO] [stdout] test tests::clean_dry_run_keeps_files ... ok [INFO] [stdout] test tests::clean_all_removes_state_dir ... ok [INFO] [stdout] test tests::init_defaults_to_bootstrap_root_when_not_in_place ... ok [INFO] [stdout] test tests::collect_watch_events_incremental_only_returns_new_events ... ok [INFO] [stdout] test tests::creates_gitignore_when_missing ... ok [INFO] [stdout] test tests::collect_run_event_snapshots_loads_all_handles_and_filters ... ok [INFO] [stdout] test tests::init_in_place_uses_current_directory ... ok [INFO] [stdout] test tests::inline_selected_file_overrides_non_inline_entry ... ok [INFO] [stdout] test tests::custom_root_gitignore_rules_only_cover_project_local_roots ... ok [INFO] [stdout] test tests::inline_selected_files_include_file_content ... ok [INFO] [stdout] test tests::list_run_records_fails_when_any_run_json_is_invalid ... ok [INFO] [stdout] test tests::build_phase_progress_line_marks_current_phase ... ok [INFO] [stdout] test tests::init_rejects_sync_project_config_only_without_root_dir ... ok [INFO] [stdout] test tests::load_run_events_and_filter_by_event_name ... ok [INFO] [stdout] test tests::init_defaults_to_minimal_supervisor_preset ... ok [INFO] [stdout] test tests::build_usage_output_marks_mixed_when_partial_native_usage_exists ... ok [INFO] [stdout] test tests::clean_runtime_targets_removes_runs_and_logs ... ok [INFO] [stdout] test tests::init_report_does_not_record_preserved_paths_without_writes ... ok [INFO] [stdout] test tests::init_report_records_overwritten_bridge_config_for_synced_custom_root ... ok [INFO] [stdout] test tests::load_run_events_reads_jsonl_only ... ok [INFO] [stdout] test tests::init_rejects_in_place_with_root_dir ... ok [INFO] [stdout] test tests::parses_connect_snippet_host ... ok [INFO] [stdout] test tests::overwrites_existing_bridge_config_with_force ... ok [INFO] [stdout] test tests::load_run_events_incremental_handles_partial_trailing_line ... ok [INFO] [stdout] test tests::parses_init_refresh_bootstrap_flag ... ok [INFO] [stdout] test tests::parses_doctor_json_flag ... ok [INFO] [stdout] test tests::parses_connect_with_run_host_flag ... ok [INFO] [stdout] test tests::parses_events_all_command_flags ... ok [INFO] [stdout] test tests::init_report_records_created_bridge_and_gitignore_files ... ok [INFO] [stdout] test tests::load_run_events_incremental_only_returns_appended_events ... ok [INFO] [stdout] test tests::parses_init_sync_project_config_only_flag ... ok [INFO] [stdout] test tests::parses_connect_host ... ok [INFO] [stdout] test tests::parses_init_sync_project_config_flag ... ok [INFO] [stdout] test tests::parses_clean_command_flags ... ok [INFO] [stdout] test tests::parses_artifact_kind_enum ... ok [INFO] [stdout] test tests::parses_events_command_flags ... ok [INFO] [stdout] test tests::parses_init_command_with_new_preset ... ok [INFO] [stdout] test tests::parses_ps_command_flags ... ok [INFO] [stdout] test tests::parses_init_command ... ok [INFO] [stdout] test tests::parses_logs_command_stderr_mode ... ok [INFO] [stdout] test tests::parses_result_command_raw_mode ... ok [INFO] [stdout] test tests::parses_logs_follow_flags ... ok [INFO] [stdout] test tests::parses_run_command_with_stream_flag ... ok [INFO] [stdout] test tests::parses_run_command_with_selected_file_inline ... ok [INFO] [stdout] test tests::parses_show_command ... ok [INFO] [stdout] test tests::parses_run_command_with_required_args ... ok [INFO] [stdout] test tests::resolve_retry_classification_defaults_unknown_when_missing ... ok [INFO] [stdout] test tests::parses_list_agents_json_flag ... ok [INFO] [stdout] test tests::result_json_schema_contains_stable_fields ... ok [INFO] [stdout] test tests::show_renderer_is_plain_when_color_disabled ... ok [INFO] [stdout] test tests::show_renderer_emits_color_badge_when_enabled ... ok [INFO] [stdout] test tests::parses_spawn_command_with_stream_flag ... ok [INFO] [stdout] test tests::parses_submit_command_flags ... ok [INFO] [stdout] test tests::parses_wait_command_flags ... ok [INFO] [stdout] test tests::status_json_schema_contains_stable_fields ... ok [INFO] [stdout] test tests::writes_bootstrap_bridge_config_when_missing ... ok [INFO] [stdout] test tests::resolve_retry_classification_reads_failed_outcome_retry_info ... ok [INFO] [stdout] test tests::parses_stats_command_flags ... ok [INFO] [stdout] test tests::writes_custom_root_bridge_config_when_requested ... ok [INFO] [stdout] test tests::parses_submit_command_with_stream_flag ... ok [INFO] [stdout] test tests::build_run_status_output_carries_stall_and_block_reason ... ok [INFO] [stdout] test tests::parses_timeline_command_flags ... ok [INFO] [stdout] test tests::preserves_existing_bridge_config_without_force ... ok [INFO] [stdout] test tests::parses_watch_command_flags ... ok [INFO] [stdout] test tests::parses_watch_phase_timeout_flags ... ok [INFO] [stdout] test tests::preserves_gitignore_when_catch_all_rule_exists ... ok [INFO] [stdout] test tests::classify_block_reason_detects_provider_unavailable_from_error_text ... ok [INFO] [stderr] Running tests/e2e_workflow_examples.rs (/opt/rustwide/target/debug/deps/e2e_workflow_examples-f3a1fa330ec41bba) [INFO] [stdout] test tests::watch_run_timeout_keeps_existing_timeout_semantics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 80 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test example_workflow_depth_limit_rejects_nested_runtime_run ... ok [INFO] [stdout] test example_workflow_build_stage_without_plan_fails_gate ... ok [INFO] [stdout] test example_workflow_build_stage_with_plan_ref_succeeds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests mcp_subagent [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5b7b26c0792b4d2a19e3b44a8149834765a92a2243e3525f2737407506dffbd7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b7b26c0792b4d2a19e3b44a8149834765a92a2243e3525f2737407506dffbd7", kill_on_drop: false }` [INFO] [stdout] 5b7b26c0792b4d2a19e3b44a8149834765a92a2243e3525f2737407506dffbd7