[INFO] cloning repository https://github.com/isaaguilar/board-of-directors [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/isaaguilar/board-of-directors" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fisaaguilar%2Fboard-of-directors", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fisaaguilar%2Fboard-of-directors'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d046a37043679d5a3187fc8412bed7363e1386f0 [INFO] testing isaaguilar/board-of-directors against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fisaaguilar%2Fboard-of-directors" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/isaaguilar/board-of-directors [INFO] finished tweaking git repo https://github.com/isaaguilar/board-of-directors [INFO] tweaked toml for git repo https://github.com/isaaguilar/board-of-directors written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/isaaguilar/board-of-directors on toolchain 33835004928d3bf65db4d4712e1330766263b0bd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/isaaguilar/board-of-directors 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cba08fb2bfcc6cf331108f308a68864f506a5d2a5af1cdebf388a19c7d3b8139 [INFO] running `Command { std: "docker" "start" "-a" "cba08fb2bfcc6cf331108f308a68864f506a5d2a5af1cdebf388a19c7d3b8139", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cba08fb2bfcc6cf331108f308a68864f506a5d2a5af1cdebf388a19c7d3b8139", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cba08fb2bfcc6cf331108f308a68864f506a5d2a5af1cdebf388a19c7d3b8139", kill_on_drop: false }` [INFO] [stdout] cba08fb2bfcc6cf331108f308a68864f506a5d2a5af1cdebf388a19c7d3b8139 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8fff51199f8a27e27711e772e9509d7cd1358e1229cf1d675c152288353f6b34 [INFO] running `Command { std: "docker" "start" "-a" "8fff51199f8a27e27711e772e9509d7cd1358e1229cf1d675c152288353f6b34", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling winnow v1.0.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling vte v0.14.1 [INFO] [stderr] Compiling toml_writer v1.0.7+spec-1.1.0 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling strip-ansi-escapes v0.2.1 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling toml_parser v1.0.10+spec-1.1.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling toml_datetime v1.0.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling toml v1.0.7+spec-1.1.0 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling board-of-directors v0.8.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.21s [INFO] running `Command { std: "docker" "inspect" "8fff51199f8a27e27711e772e9509d7cd1358e1229cf1d675c152288353f6b34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8fff51199f8a27e27711e772e9509d7cd1358e1229cf1d675c152288353f6b34", kill_on_drop: false }` [INFO] [stdout] 8fff51199f8a27e27711e772e9509d7cd1358e1229cf1d675c152288353f6b34 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7867af8e28b00193f3cf144b811f1e4e8d1d4bafe033096a99e880c6848cd8e2 [INFO] running `Command { std: "docker" "start" "-a" "7867af8e28b00193f3cf144b811f1e4e8d1d4bafe033096a99e880c6848cd8e2", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling board-of-directors v0.8.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.73s [INFO] running `Command { std: "docker" "inspect" "7867af8e28b00193f3cf144b811f1e4e8d1d4bafe033096a99e880c6848cd8e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7867af8e28b00193f3cf144b811f1e4e8d1d4bafe033096a99e880c6848cd8e2", kill_on_drop: false }` [INFO] [stdout] 7867af8e28b00193f3cf144b811f1e4e8d1d4bafe033096a99e880c6848cd8e2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7a4f53a3e11f6b015aa7e36e157ccfb546141a500ce6e0efffa5f00e1bcaef64 [INFO] running `Command { std: "docker" "start" "-a" "7a4f53a3e11f6b015aa7e36e157ccfb546141a500ce6e0efffa5f00e1bcaef64", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bod-27b51560463300fd) [INFO] [stdout] running 174 tests [INFO] [stdout] test agents::tests::extract_timestamp_14_digit ... ok [INFO] [stdout] test agents::tests::extract_timestamp_14_digit_with_collision_suffix ... ok [INFO] [stdout] test agents::tests::extract_timestamp_legacy_12_digit ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_both_bugfix_log_forms ... ok [INFO] [stdout] test agents::tests::extract_timestamp_prefix_strips_nonce ... ok [INFO] [stdout] test agents::tests::extract_timestamp_rejects_out_of_range ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_consolidated_files ... ok [INFO] [stdout] test agents::tests::extract_timestamp_with_nonce ... ok [INFO] [stdout] test agents::tests::group_reviews_by_round_groups_by_timestamp ... ok [INFO] [stdout] test agents::tests::create_review_file_rejects_empty_branch ... ok [INFO] [stdout] test agents::tests::extract_timestamp_with_nonce_collision_suffix ... ok [INFO] [stdout] test agents::tests::extract_timestamp_invalid ... ok [INFO] [stdout] test agents::tests::is_consolidated_file_true_14_digit ... ok [INFO] [stdout] test agents::tests::is_consolidated_file_true_legacy_12_digit ... ok [INFO] [stdout] test agents::tests::is_consolidated_file_true_with_nonce ... ok [INFO] [stdout] test agents::tests::is_review_file_structure_validates_correctly ... ok [INFO] [stdout] test agents::tests::latest_review_files_falls_back_to_legacy ... ok [INFO] [stdout] test agents::tests::latest_review_files_legacy_dash_collision_suffix ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_user_files ... ok [INFO] [stdout] test agents::tests::is_consolidated_file_false ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_user_timestamped_files ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_files_within_keep ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_timestamped_consolidated_files ... ok [INFO] [stdout] test agents::tests::create_review_file_is_atomic ... ok [INFO] [stdout] test agents::tests::latest_review_files_no_false_positive_on_branch_substring ... ok [INFO] [stdout] test agents::tests::latest_review_files_matches_collision_suffix ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_user_timestamped_txt_files ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_keep_zero_removes_timestamped ... ok [INFO] [stdout] test agents::tests::latest_review_files_prefers_timestamped_over_legacy ... ok [INFO] [stdout] test agents::tests::latest_review_files_returns_none_for_empty_branch ... ok [INFO] [stdout] test agents::tests::latest_review_files_sorts_by_timestamp_not_nonce ... ok [INFO] [stdout] test agents::tests::latest_review_files_returns_none_when_branch_has_no_reviews ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_ignores_legacy_files ... ok [INFO] [stdout] test agents::tests::cleanup_old_rounds_removes_large_diff_artifacts_with_old_rounds ... ok [INFO] [stdout] test agents::tests::create_consolidated_file_rejects_empty_branch ... ok [INFO] [stdout] test agents::tests::group_reviews_by_round_includes_legacy_files ... ok [INFO] [stdout] test agents::tests::is_consolidated_file_matches_legacy_format ... ok [INFO] [stdout] test agents::tests::is_consolidated_file_rejects_invalid_timestamp ... ok [INFO] [stdout] test agents::tests::list_consolidated_files_for_branch_filters_current_branch ... ok [INFO] [stdout] test agents::tests::list_consolidated_files_includes_legacy_and_timestamped ... ok [INFO] [stdout] test agents::tests::list_review_context_artifact_files_returns_known_artifacts_only ... ok [INFO] [stdout] test agents::tests::resolve_collision_no_existing_files ... ok [INFO] [stdout] test agents::tests::list_review_files_for_round_id_wrong_branch ... ok [INFO] [stdout] test agents::tests::list_review_files_excludes_legacy_consolidated ... ok [INFO] [stdout] test agents::tests::list_timestamped_review_files_skips_unrelated_markdown ... ok [INFO] [stdout] test agents::tests::list_review_files_excludes_both_bugfix_log_forms ... ok [INFO] [stdout] test agents::tests::list_review_files_for_branch_filters_current_branch ... ok [INFO] [stdout] test agents::tests::list_review_files_for_round_id_filters_by_branch ... ok [INFO] [stdout] test agents::tests::review_file_matches_branch_avoids_branch_suffix_false_positive ... ok [INFO] [stdout] test agents::tests::list_review_files_for_round_id_dash_codename ... ok [INFO] [stdout] test agents::tests::list_review_files_for_round_id_mismatched_nonce ... ok [INFO] [stdout] test agents::tests::list_review_files_for_round_id_no_branch_filter ... ok [INFO] [stdout] test agents::tests::list_review_files_for_round_id_matches_exact_round ... ok [INFO] [stdout] test backend::tests::merge_node_options_appends_heap_limit_when_missing ... ok [INFO] [stdout] test agents::tests::resolve_collision_with_existing_file ... ok [INFO] [stdout] test backend::tests::summarizes_output_for_error_limits_length ... ok [INFO] [stdout] test bugfix::tests::backend_request_footprint_groups_same_backend_roles ... ok [INFO] [stdout] test agents::tests::resolve_collision_with_multiple_existing ... ok [INFO] [stdout] test bugfix::tests::dry_run_summary_skips_agents_and_shows_fixer_context ... ok [INFO] [stdout] test bugfix::tests::final_result_accepts_completed_status ... ok [INFO] [stdout] test bugfix::tests::final_result_returns_error_status_message ... ok [INFO] [stdout] test bugfix::tests::final_result_returns_timeout_message_when_no_error_is_present ... ok [INFO] [stdout] test bugfix::tests::fix_agent_request_uses_state_dir_and_forbids_repo_temp_files ... ok [INFO] [stdout] test bugfix::tests::terminal_step_failure_matches_operator_message ... ok [INFO] [stdout] test bugfix_log::tests::clear_history_preserving_notes_file_removes_logs_without_notes ... ok [INFO] [stdout] test backend::tests::merge_node_options_preserves_existing_heap_limit ... ok [INFO] [stdout] test backend::tests::parses_retry_after_header ... ok [INFO] [stdout] test agents::tests::sanitize_branch_name_all_special_chars_produces_none ... ok [INFO] [stdout] test bugfix_log::tests::read_log_parts_treats_legacy_content_as_history ... ok [INFO] [stdout] test bugfix_log::tests::ensure_user_notes_section_creates_log_when_missing ... ok [INFO] [stdout] test bugfix_log::tests::write_user_notes_prepends_notes_section_without_losing_history ... ok [INFO] [stdout] test bugfix_session::tests::activate_iteration_uses_next_severity ... ok [INFO] [stdout] test bugfix_log::tests::write_user_notes_updates_existing_notes_section ... ok [INFO] [stdout] test bugfix_log::tests::write_history_preserving_notes_restores_history_without_overwriting_current_notes ... ok [INFO] [stdout] test agents::tests::timestamp_now_unique_across_calls ... ok [INFO] [stdout] test bugfix_session::tests::begin_review_clears_latest_round_and_report ... ok [INFO] [stdout] test backend::tests::extracts_retry_delay_from_generic_json_style_values ... ok [INFO] [stdout] test agents::tests::extract_timestamp_accepts_leap_year_feb29 ... ok [INFO] [stdout] test agents::tests::latest_review_files_picks_highest_round_for_branch ... ok [INFO] [stdout] test bugfix_session::tests::cancelling_marks_running_iteration_activity_cancelled ... ok [INFO] [stdout] test bugfix_session::tests::consolidate_and_fix_activities_stay_visible_until_next_iteration ... ok [INFO] [stdout] test bugfix_session::tests::request_cancel_updates_snapshot ... ok [INFO] [stdout] test bugfix_session::tests::mark_run_started_preserves_creation_timestamp ... ok [INFO] [stdout] test clear::tests::clear_all_removes_bugfix_logs_and_locks ... ok [INFO] [stdout] test bugfix_session::tests::review_activities_persist_agent_progress ... ok [INFO] [stdout] test bugfix_session::tests::request_start_promotes_waiting_session ... ok [INFO] [stdout] test backend::tests::extracts_retry_delay_from_phrases ... ok [INFO] [stdout] test config::tests::canonicalize_model_choice_normalizes_dotted_claude_ids ... ok [INFO] [stdout] test config::tests::rejects_duplicate_review_codenames ... ok [INFO] [stdout] test clear::tests::clear_default_preserves_notes_and_removes_bugfix_history ... ok [INFO] [stdout] test config::tests::rejects_non_claude_model_for_claude_backend ... ok [INFO] [stdout] test config::tests::parses_nested_personality_tables_for_reviewers_and_consolidator ... ok [INFO] [stdout] test config::tests::rejects_non_gemini_model_for_gemini_backend ... ok [INFO] [stdout] test config::tests::used_backends_are_unique_and_sorted ... ok [INFO] [stdout] test config::tests::underscore_backend_names_fail_to_parse ... ok [INFO] [stdout] test files::tests::backend_log_path_lives_in_state_dir ... ok [INFO] [stdout] test config::tests::missing_personality_fields_fail_to_parse ... ok [INFO] [stdout] test consolidate::tests::consolidation_agent_request_uses_state_dir_with_repo_read_access ... ok [INFO] [stdout] test clear::tests::clear_reviews_removes_review_artifacts_only ... ok [INFO] [stdout] test consolidate::tests::consolidation_request_includes_personality_guidance_when_present ... ok [INFO] [stdout] test bugfix_session::tests::mark_waiting_to_start_sets_waiting_snapshot ... ok [INFO] [stdout] test agents::tests::list_review_files_for_round_id_collision_suffix ... ok [INFO] [stdout] test bugfix_log::tests::ensure_user_notes_section_preserves_existing_notes ... ok [INFO] [stdout] test bugfix_log::tests::clear_history_preserving_notes_file_keeps_notes_only ... ok [INFO] [stdout] test files::tests::is_bugfix_log_rejects_empty_branch ... ok [INFO] [stdout] test files::tests::migration_copies_legacy_content_to_branch_log ... ok [INFO] [stdout] test files::tests::bugfix_log_path_returns_err_for_empty_branch ... ok [INFO] [stdout] test files::tests::is_bugfix_log_matches_legacy ... ok [INFO] [stdout] test files::tests::is_bugfix_log_rejects_unrelated ... ok [INFO] [stdout] test files::tests::bugfix_log_path_returns_err_for_invalid_chars ... ok [INFO] [stdout] test files::tests::bugfix_log_path_returns_ok_for_valid_branch ... ok [INFO] [stdout] test files::tests::migration_returns_empty_when_legacy_is_empty ... ok [INFO] [stdout] test init::tests::derive_codename_maps_gemini_aliases ... ok [INFO] [stdout] test files::tests::migration_returns_empty_when_neither_file_exists ... ok [INFO] [stdout] test files::tests::migration_returns_branch_log_when_it_exists ... ok [INFO] [stdout] test backend::tests::git_wrapper_blocks_only_commit_and_push_subcommands ... ok [INFO] [stdout] test init::tests::parse_copilot_models_from_config_help_extracts_model_list ... ok [INFO] [stdout] test paths::tests::repo_config_path_lives_under_external_app_dir ... ok [INFO] [stdout] test init::tests::parse_copilot_models_from_flag_help_ignores_other_choice_blocks ... ok [INFO] [stdout] test paths::tests::repo_scope_name_sanitizes_whitespace_and_symbols ... ok [INFO] [stdout] test personalities::tests::default_personality_resolves_without_extra_instructions ... ok [INFO] [stdout] test personalities::tests::global_personalities_are_listed_from_md_files ... ok [INFO] [stdout] test init::tests::parse_reviewer_count_rejects_zero_and_non_numbers ... ok [INFO] [stdout] test init::tests::parse_reviewer_count_accepts_positive_numbers ... ok [INFO] [stdout] test personalities::tests::global_personalities_override_builtin_names ... ok [INFO] [stdout] test personalities::tests::inline_personality_wins_over_named_lookup ... ok [INFO] [stdout] test personalities::tests::load_global_personality_reads_template_body ... ok [INFO] [stdout] test personalities::tests::non_conforming_md_files_are_skipped ... ok [INFO] [stdout] test personalities::tests::sanitize_name_rejects_empty_after_cleanup ... ok [INFO] [stdout] test review::tests::build_review_context_paths_are_round_scoped ... ok [INFO] [stdout] test review::tests::fatal_review_error_is_marked_fatal ... ok [INFO] [stdout] test personalities::tests::validation_reports_invalid_global_personalities_even_for_builtin_names ... ok [INFO] [stdout] test review::tests::review_agent_request_uses_state_dir_with_repo_read_access ... ok [INFO] [stdout] test review::tests::reviewer_start_delays_are_staggered ... ok [INFO] [stdout] test review::tests::write_review_context_artifacts_writes_expected_files ... ok [INFO] [stdout] test review::tests::review_agent_request_includes_personality_guidance_when_present ... ok [INFO] [stdout] test gemini_cli::tests::accepts_help_output_with_required_flags ... ok [INFO] [stdout] test review::tests::retryable_review_error_is_not_fatal ... ok [INFO] [stdout] test gemini_cli::tests::detects_missing_required_flags ... ok [INFO] [stdout] test rollback::tests::safe_relative_path_rejects_parent_components ... ok [INFO] [stdout] test tests::active_backends_for_clear_is_empty ... ok [INFO] [stdout] test tests::active_backends_for_consolidate_only_uses_consolidator_backend ... ok [INFO] [stdout] test files::tests::is_bugfix_log_rejects_invalid_branch_chars ... ok [INFO] [stdout] test files::tests::migration_preserves_legacy_for_multiple_branches ... ok [INFO] [stdout] test tests::parses_bugfix_dry_run_flag ... ok [INFO] [stdout] test tests::parses_bugfix_delay_start_flag ... ok [INFO] [stdout] test tests::parses_bugfix_iterations_flag ... ok [INFO] [stdout] test tests::parses_bugfix_no_open_flag ... ok [INFO] [stdout] test tests::parses_bugfix_iterations_defaults_to_none ... ok [INFO] [stdout] test tests::parses_clear_all_subcommand ... ok [INFO] [stdout] test tests::parses_clear_reviews_subcommand ... ok [INFO] [stdout] test tests::parses_plain_review_command ... ok [INFO] [stdout] test tests::parses_plain_clear_command ... ok [INFO] [stdout] test tests::parses_review_consolidate_subcommand ... ok [INFO] [stdout] test web::tests::bind_random_port_uses_requested_range ... ok [INFO] [stdout] test web::tests::percent_decode_handles_spaces_and_hex ... ok [INFO] [stdout] test web::tests::build_doc_index_only_returns_branch_state_artifacts ... ok [INFO] [stdout] test web::tests::server_serves_status_and_notes_endpoints ... ok [INFO] [stdout] test web::tests::start_endpoint_promotes_waiting_session ... ok [INFO] [stdout] test web::tests::start_endpoint_reports_when_start_is_ignored ... ok [INFO] [stdout] test backend::tests::detects_rate_limit_text ... ok [INFO] [stdout] test agents::tests::list_review_files_excludes_consolidated ... ok [INFO] [stdout] test agents::tests::timestamp_now_contains_nonce ... ok [INFO] [stdout] test rollback::tests::restore_preserves_preexisting_untracked_files ... ok [INFO] [stdout] test bugfix_session::tests::mark_completed_preserves_existing_error_state ... ok [INFO] [stdout] test config::tests::dotted_claude_models_are_rejected_for_claude_backend ... ok [INFO] [stdout] test files::tests::is_bugfix_log_matches_branch_scoped ... ok [INFO] [stdout] test init::tests::default_personality_is_first_catalog_entry ... ok [INFO] [stdout] test paths::tests::repo_scope_name_falls_back_when_missing_file_name ... ok [INFO] [stdout] test tests::active_backends_for_review_only_uses_reviewer_backends ... ok [INFO] [stdout] test rollback::tests::restore_reverts_modified_preexisting_untracked_files ... ok [INFO] [stdout] test rollback::tests::restore_returns_repo_to_the_snapshot_even_if_that_snapshot_is_dirty ... ok [INFO] [stdout] test rollback::tests::restore_reverts_tracked_and_removes_new_untracked_files ... ok [INFO] [stdout] test backend::tests::cancelling_running_agent_prevents_late_write ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 174 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.31s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7a4f53a3e11f6b015aa7e36e157ccfb546141a500ce6e0efffa5f00e1bcaef64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7a4f53a3e11f6b015aa7e36e157ccfb546141a500ce6e0efffa5f00e1bcaef64", kill_on_drop: false }` [INFO] [stdout] 7a4f53a3e11f6b015aa7e36e157ccfb546141a500ce6e0efffa5f00e1bcaef64