[INFO] fetching crate forge-orchestrator 1.2.0... [INFO] testing forge-orchestrator-1.2.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate forge-orchestrator 1.2.0 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate forge-orchestrator 1.2.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate forge-orchestrator 1.2.0 [INFO] tweaked toml for crates.io crate forge-orchestrator 1.2.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate forge-orchestrator 1.2.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate forge-orchestrator 1.2.0 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uuid v1.20.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 615bb60a97ad7fb885c8b8f7a0a7b5195f52803588b3a5ea45596d235f2fce45 [INFO] running `Command { std: "docker" "start" "-a" "615bb60a97ad7fb885c8b8f7a0a7b5195f52803588b3a5ea45596d235f2fce45", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "615bb60a97ad7fb885c8b8f7a0a7b5195f52803588b3a5ea45596d235f2fce45", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "615bb60a97ad7fb885c8b8f7a0a7b5195f52803588b3a5ea45596d235f2fce45", kill_on_drop: false }` [INFO] [stdout] 615bb60a97ad7fb885c8b8f7a0a7b5195f52803588b3a5ea45596d235f2fce45 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] de8ac25273673464ad7583873836610596be43ad9567c3ce75723b7de72c28b0 [INFO] running `Command { std: "docker" "start" "-a" "de8ac25273673464ad7583873836610596be43ad9567c3ce75723b7de72c28b0", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling cc v1.2.55 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling clap_builder v4.5.57 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling uuid v1.20.0 [INFO] [stderr] Compiling colored v3.1.1 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling clap v4.5.57 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling forge-orchestrator v1.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.11s [INFO] running `Command { std: "docker" "inspect" "de8ac25273673464ad7583873836610596be43ad9567c3ce75723b7de72c28b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "de8ac25273673464ad7583873836610596be43ad9567c3ce75723b7de72c28b0", kill_on_drop: false }` [INFO] [stdout] de8ac25273673464ad7583873836610596be43ad9567c3ce75723b7de72c28b0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 81f388e693096cf1759d8d3136f079f4fcfdc9749e61f3eeb5ce920a22961882 [INFO] running `Command { std: "docker" "start" "-a" "81f388e693096cf1759d8d3136f079f4fcfdc9749e61f3eeb5ce920a22961882", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling forge-orchestrator v1.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 21.77s [INFO] running `Command { std: "docker" "inspect" "81f388e693096cf1759d8d3136f079f4fcfdc9749e61f3eeb5ce920a22961882", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81f388e693096cf1759d8d3136f079f4fcfdc9749e61f3eeb5ce920a22961882", kill_on_drop: false }` [INFO] [stdout] 81f388e693096cf1759d8d3136f079f4fcfdc9749e61f3eeb5ce920a22961882 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2929554502ba780ed608859dc3e620c0b29737428b251f0d294eac73fed453a2 [INFO] running `Command { std: "docker" "start" "-a" "2929554502ba780ed608859dc3e620c0b29737428b251f0d294eac73fed453a2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/forge-c336f1952a1b1e87) [INFO] [stdout] [INFO] [stdout] running 178 tests [INFO] [stdout] test brain::openai::tests::test_openai_brain_model_config ... ok [INFO] [stdout] test brain::openai::tests::test_drift_without_key ... ok [INFO] [stdout] test brain::rule_based::tests::test_route_knowledge_research ... ok [INFO] [stdout] test brain::rule_based::tests::test_route_knowledge_decision ... ok [INFO] [stdout] test brain::openai::tests::test_knowledge_routing_without_key ... ok [INFO] [stdout] test brain::rule_based::tests::test_fallback_round_robin ... ok [INFO] [stdout] test brain::rule_based::tests::test_assign_architecture_to_claude ... ok [INFO] [stdout] test brain::rule_based::tests::test_assign_docs_to_gemini ... ok [INFO] [stdout] test brain::rule_based::tests::test_assign_implementation_to_codex ... ok [INFO] [stdout] test brain::rule_based::tests::test_assign_testing_to_gemini ... ok [INFO] [stdout] test brain::rule_based::tests::test_decompose_plan_with_start_id_offset ... ok [INFO] [stdout] test cli::run::tests::test_build_adapter_command_any_defaults_to_claude ... ok [INFO] [stdout] test cli::run::tests::test_build_adapter_command_codex ... ok [INFO] [stdout] test brain::openai::tests::test_openai_brain_fallback_without_key ... ok [INFO] [stdout] test brain::openai::tests::test_openai_fallback_respects_start_id ... ok [INFO] [stdout] test brain::rule_based::tests::test_decompose_plan_from_headers ... ok [INFO] [stdout] test cli::run::tests::test_build_adapter_command_claude ... ok [INFO] [stdout] test cli::run::tests::test_build_adapter_command_gemini ... ok [INFO] [stdout] test cli::status::tests::test_empty_task_board_counts ... ok [INFO] [stdout] test cli::status::tests::test_truncate_title_exact ... ok [INFO] [stdout] test cli::status::tests::test_truncate_title_long ... ok [INFO] [stdout] test cli::plan::tests::test_from_findings_skips_positive ... ok [INFO] [stdout] test cli::status::tests::test_status_display_blocked_pending_distinction ... ok [INFO] [stdout] test cli::status::tests::test_ready_vs_blocked_counting ... ok [INFO] [stdout] test brain::rule_based::tests::test_decompose_plan_fallback_uses_start_id ... ok [INFO] [stdout] test cli::plan::tests::test_from_findings_empty_findings ... ok [INFO] [stdout] test cli::status::tests::test_truncate_title_short ... ok [INFO] [stdout] test cli::plan::tests::test_from_findings_severity_mapping ... ok [INFO] [stdout] test cli::plan::tests::test_from_findings_monotonic_ids ... ok [INFO] [stdout] test cli::plan::tests::test_from_findings_generates_tasks ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_crash_critical ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_default_low ... ok [INFO] [stdout] test core::governance::tests::test_check_architecture_not_initialized ... ok [INFO] [stdout] test cli::plan::tests::test_from_findings_has_fix_phase ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_broken_high ... ok [INFO] [stdout] test core::governance::tests::test_check_architecture_initialized ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_slow_medium ... ok [INFO] [stdout] test core::finding::tests::test_next_finding_number_empty ... ok [INFO] [stdout] test core::finding::tests::test_next_finding_number_monotonic ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_type_missing ... ok [INFO] [stdout] test core::finding::tests::test_find_related_tasks_matches_keywords ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_type_enhancement ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_positive ... ok [INFO] [stdout] test core::finding::tests::test_classify_finding_type_bug_default ... ok [INFO] [stdout] test core::finding::tests::test_find_related_tasks_no_match ... ok [INFO] [stdout] test core::finding::tests::test_finding_serialization_roundtrip ... ok [INFO] [stdout] test core::finding::tests::test_finding_severity_display ... ok [INFO] [stdout] test core::governance::tests::test_full_check_no_spec ... ok [INFO] [stdout] test core::knowledge::tests::test_search_content_only_match ... ok [INFO] [stdout] test core::governance::tests::test_knowledge_coverage_empty ... ok [INFO] [stdout] test core::knowledge::tests::test_filter_by_category ... ok [INFO] [stdout] test core::governance::tests::test_full_check_with_spec ... ok [INFO] [stdout] test core::state::tests::test_forge_state_default_has_git ... ok [INFO] [stdout] test core::governance::tests::test_health_score_critical_findings ... ok [INFO] [stdout] test core::state::tests::test_state_without_git_field_deserializes ... ok [INFO] [stdout] test core::knowledge::tests::test_capture_and_list ... ok [INFO] [stdout] test core::task::tests::test_existing_tasks_not_overwritten ... ok [INFO] [stdout] test core::task::tests::test_generate_verify_skips_non_implement ... ok [INFO] [stdout] test core::knowledge::tests::test_generate_skill_md ... ok [INFO] [stdout] test core::knowledge::tests::test_capture_with_metadata ... ok [INFO] [stdout] test core::knowledge::tests::test_search_case_insensitive ... ok [INFO] [stdout] test core::knowledge::tests::test_search_empty_knowledge_base ... ok [INFO] [stdout] test core::state::tests::test_config_roundtrip_with_git ... ok [INFO] [stdout] test core::task::tests::test_generate_verify_subtasks_for_completed ... ok [INFO] [stdout] test core::task::tests::test_retry_count_defaults_to_zero ... ok [INFO] [stdout] test core::governance::tests::test_drift_without_vision ... ok [INFO] [stdout] test mcp::server::tests::test_handle_initialize ... ok [INFO] [stdout] test core::task::tests::test_next_verify_number_empty ... ok [INFO] [stdout] test core::knowledge::tests::test_search ... ok [INFO] [stdout] test mcp::server::tests::test_handle_ping ... ok [INFO] [stdout] test core::task::tests::test_next_task_number_sequential ... ok [INFO] [stdout] test core::task::tests::test_task_phase_display ... ok [INFO] [stdout] test mcp::server::tests::test_handle_tools_list ... ok [INFO] [stdout] test mcp::server::tests::test_handle_unknown_method ... ok [INFO] [stdout] test mcp::server::tests::test_notification_returns_none ... ok [INFO] [stdout] test mcp::tools::tests::test_call_tool_without_forge_init ... ok [INFO] [stdout] test mcp::tools::tests::test_call_unknown_tool ... ok [INFO] [stdout] test mcp::tools::tests::test_list_tools_returns_ten ... ok [INFO] [stdout] test tui::app::tests::test_backoff_delay_attempt_4 ... ok [INFO] [stdout] test tui::app::tests::test_backoff_delay_attempt_2 ... ok [INFO] [stdout] test core::task::tests::test_generate_verify_agent_assignment ... ok [INFO] [stdout] test core::task::tests::test_next_task_number_ignores_non_task_files ... ok [INFO] [stdout] test core::task::tests::test_next_task_number_empty_dir ... ok [INFO] [stdout] test core::task::tests::test_plan_version_field ... ok [INFO] [stdout] test core::task::tests::test_next_verify_number_with_existing ... ok [INFO] [stdout] test core::knowledge::tests::test_search_by_tag ... ok [INFO] [stdout] test core::governance::tests::test_check_documentation_missing_readme ... ok [INFO] [stdout] test core::task::tests::test_generate_verify_subtasks_idempotent ... ok [INFO] [stdout] test core::task::tests::test_next_task_number_finds_max_not_count ... ok [INFO] [stdout] test core::task::tests::test_task_phase_serialization_roundtrip ... ok [INFO] [stdout] test core::state::tests::test_git_config_default ... ok [INFO] [stdout] test tui::app::tests::test_blocked_tasks_not_scheduled ... ok [INFO] [stdout] test tui::app::tests::test_check_backoff_timers_clears_expired ... ok [INFO] [stdout] test tui::app::tests::test_all_complete_defaults_false ... ok [INFO] [stdout] test tui::app::tests::test_backoff_delay_attempt_1 ... ok [INFO] [stdout] test tui::app::tests::test_commit_type_mapping ... ok [INFO] [stdout] test tui::app::tests::test_esc_from_board_quits ... ok [INFO] [stdout] test tui::app::tests::test_esc_in_shell_pane_returns_to_taskboard ... ok [INFO] [stdout] test tui::app::tests::test_expanded_pane_blocks_other_keys ... ok [INFO] [stdout] test tui::app::tests::test_f_key_expands_pane ... ok [INFO] [stdout] test tui::app::tests::test_enter_expands_pane ... ok [INFO] [stdout] test tui::app::tests::test_cleanup_running_tasks_resets_tracking ... ok [INFO] [stdout] test tui::app::tests::test_dashboard_phase_display ... ok [INFO] [stdout] test tui::app::tests::test_git_auto_commit_skips_when_disabled ... ok [INFO] [stdout] test tui::app::tests::test_handle_tick_sets_all_complete ... ok [INFO] [stdout] test tui::app::tests::test_handle_key_quit ... ok [INFO] [stdout] test tui::app::tests::test_git_auto_commit_skips_when_not_git_repo ... ok [INFO] [stdout] test tui::app::tests::test_backoff_reset_on_success_tracking ... ok [INFO] [stdout] test tui::app::tests::test_esc_from_pane_returns_to_board ... ok [INFO] [stdout] test tui::app::tests::test_backtab_reverse_cycles ... ok [INFO] [stdout] test tui::app::tests::test_handle_tick_no_complete_in_watch_mode ... ok [INFO] [stdout] test tui::app::tests::test_pane_scroll_up_down ... ok [INFO] [stdout] test tui::app::tests::test_is_agent_in_backoff_false_when_expired ... ok [INFO] [stdout] test tui::app::tests::test_is_agent_in_backoff_true ... ok [INFO] [stdout] test tui::app::tests::test_is_rate_limited_detects_429 ... ok [INFO] [stdout] test tui::app::tests::test_handle_verify_failure_generates_fix_pair ... ok [INFO] [stdout] test tui::app::tests::test_handle_tick_throttles_reload ... ok [INFO] [stdout] test tui::app::tests::test_is_all_done_empty ... ok [INFO] [stdout] test tui::app::tests::test_is_all_done_with_completed_tasks ... ok [INFO] [stdout] test tui::app::tests::test_is_all_done_with_pending ... ok [INFO] [stdout] test tui::app::tests::test_is_rate_limited_detects_patterns ... ok [INFO] [stdout] test tui::app::tests::test_is_rate_limited_false_for_normal_output ... ok [INFO] [stdout] test tui::app::tests::test_is_rate_limited_only_checks_last_20_lines ... ok [INFO] [stdout] test tui::app::tests::test_pane_home_end ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_init ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_empty_line ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_invalid_json_fallback ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_text_message ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_tool_use_bash ... ok [INFO] [stdout] test tui::app::tests::test_phase_does_not_transition_with_pending ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_tool_use ... ok [INFO] [stdout] test tui::app::tests::test_phase_starts_as_build ... ok [INFO] [stdout] test tui::app::tests::test_r_key_ignored_when_pane_focused ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_result ... ok [INFO] [stdout] test tui::app::tests::test_phase_transitions_verify_to_complete ... ok [INFO] [stdout] test tui::app::tests::test_phase_transitions_build_to_verify ... ok [INFO] [stdout] test tui::app::tests::test_parse_stream_json_tool_result_skipped ... ok [INFO] [stdout] test tui::app::tests::test_retry_key_on_non_retryable_status_is_noop ... ok [INFO] [stdout] test tui::app::tests::test_s_key_focuses_shell_pane ... ok [INFO] [stdout] test tui::app::tests::test_push_event_caps_at_limit ... ok [INFO] [stdout] test tui::app::tests::test_retry_failed_task_with_temp_dir ... ok [INFO] [stdout] test tui::app::tests::test_schedule_skips_agent_in_backoff ... ok [INFO] [stdout] test tui::app::tests::test_git_auto_commit_pushes_event_when_enabled ... ok [INFO] [stdout] test tui::app::tests::test_shell_completion_resets_state ... ok [INFO] [stdout] test tui::app::tests::test_shell_defaults_inactive ... ok [INFO] [stdout] test tui::app::tests::test_verify_failure_stops_after_3_retries ... ok [INFO] [stdout] test tui::app::tests::test_reset_orphaned_tasks_with_temp_dir ... ok [INFO] [stdout] test tui::app::tests::test_truncate_str_long ... ok [INFO] [stdout] test tui::app::tests::test_shell_output_routes_to_shell_buffer ... ok [INFO] [stdout] test tui::app::tests::test_summarize_tool_input_read ... ok [INFO] [stdout] test tui::app::tests::test_tab_cycles_through_panes_and_back ... ok [INFO] [stdout] test tui::app::tests::test_shell_not_double_spawnable ... ok [INFO] [stdout] test tui::app::tests::test_summarize_tool_input_bash_truncate ... ok [INFO] [stdout] test tui::app::tests::test_truncate_str_short ... ok [INFO] [stdout] test tui::app::tests::test_scroll_in_expanded_mode ... ok [INFO] [stdout] test tui::app::tests::test_task_board_navigation ... ok [INFO] [stdout] test tui::ui::tests::test_hierarchical_sort_parents_before_children ... ok [INFO] [stdout] test tui::ui::tests::test_hierarchical_sort_preserves_all_tasks ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_stats ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_filters_verify_subtasks ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_inline_capture ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_pass_marks_task ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_status_initial_untested ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_navigation ... ok [INFO] [stdout] test tui::app::tests::test_verify_to_complete_with_no_verify_tasks ... ok [INFO] [stdout] test tui::app::tests::test_watch_mode_no_schedule ... ok [INFO] [stdout] test tui::uat_app::tests::test_truncate_chars_utf8_safe ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_capture_finding_updates_status ... ok [INFO] [stdout] test tui::app::tests::test_schedule_respects_parallel_limit ... ok [INFO] [stdout] test tui::ui::tests::test_render_phase_in_title ... ok [INFO] [stdout] test tui::uat_app::tests::test_uat_escape_cancels_input ... ok [INFO] [stdout] test tui::ui::tests::test_render_expanded_pane ... ok [INFO] [stdout] test tui::ui::tests::test_render_focused_pane_highlight ... ok [INFO] [stdout] test tui::ui::tests::test_render_scroll_indicator ... ok [INFO] [stdout] test tui::ui::tests::test_render_with_empty_state ... ok [INFO] [stdout] test tui::ui::tests::test_render_completion_banner ... ok [INFO] [stdout] test tui::ui::tests::test_render_does_not_panic ... ok [INFO] [stdout] test tui::ui::tests::test_render_footer_visible ... ok [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-ab20d14ec0dafb8f) [INFO] [stdout] [INFO] [stdout] test result: ok. 178 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_status_without_init_shows_warning ... ok [INFO] [stdout] test test_init_detects_context_files ... ok [INFO] [stdout] test test_init_creates_forge_directory ... ok [INFO] [stdout] test test_status_after_init_shows_dashboard ... ok [INFO] [stdout] test test_plan_show_template_after_init ... ok [INFO] [stdout] test test_plan_generate_from_readme_context ... ok [INFO] [stdout] test test_plan_generate_creates_tasks ... ok [INFO] [stdout] test test_sync_reconciles_state ... ok [INFO] [stdout] test test_full_loop_init_plan_sync_status ... ok [INFO] [stdout] test test_plan_generate_without_any_context_shows_error ... ok [INFO] [stdout] [INFO] [stderr] Running tests/mcp_integration.rs (/opt/rustwide/target/debug/deps/mcp_integration-7533b1e5bcb80ac6) [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test test_mcp_tools_list ... ok [INFO] [stdout] test test_mcp_get_tasks ... ok [INFO] [stdout] test test_mcp_get_plan ... ok [INFO] [stdout] test test_mcp_check_drift ... ok [INFO] [stdout] test test_mcp_get_state ... ok [INFO] [stdout] test test_mcp_ping ... ok [INFO] [stdout] test test_mcp_get_health ... ok [INFO] [stdout] test test_mcp_claim_already_claimed_task ... ok [INFO] [stdout] test test_mcp_capture_and_query_knowledge ... ok [INFO] [stdout] test test_mcp_claim_and_complete_flow ... ok [INFO] [stdout] test test_mcp_initialize ... ok [INFO] [stdout] test test_mcp_capture_with_explicit_category ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2929554502ba780ed608859dc3e620c0b29737428b251f0d294eac73fed453a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2929554502ba780ed608859dc3e620c0b29737428b251f0d294eac73fed453a2", kill_on_drop: false }` [INFO] [stdout] 2929554502ba780ed608859dc3e620c0b29737428b251f0d294eac73fed453a2