[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 master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fisaaguilar%2Fboard-of-directors" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/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-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/isaaguilar/board-of-directors on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.114
[INFO] [stderr]   Downloaded strip-ansi-escapes v0.2.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.114
[INFO] [stderr]   Downloaded serde_spanned v1.0.4
[INFO] [stderr]   Downloaded toml_writer v1.0.7+spec-1.1.0
[INFO] [stderr]   Downloaded toml_datetime v1.0.1+spec-1.1.0
[INFO] [stderr]   Downloaded toml_parser v1.0.10+spec-1.1.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.114
[INFO] [stderr]   Downloaded toml v1.0.7+spec-1.1.0
[INFO] [stderr]   Downloaded vte v0.14.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.114
[INFO] [stderr]   Downloaded winnow v1.0.0
[INFO] [stderr]   Downloaded js-sys v0.3.91
[INFO] [stderr]   Downloaded cc v1.2.57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e4b6b455761a3c16930d4cdd384ce85f688a4a6f30fea9470152a2e5f871f7d3
[INFO] running `Command { std: "docker" "start" "-a" "e4b6b455761a3c16930d4cdd384ce85f688a4a6f30fea9470152a2e5f871f7d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e4b6b455761a3c16930d4cdd384ce85f688a4a6f30fea9470152a2e5f871f7d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4b6b455761a3c16930d4cdd384ce85f688a4a6f30fea9470152a2e5f871f7d3", kill_on_drop: false }`
[INFO] [stdout] e4b6b455761a3c16930d4cdd384ce85f688a4a6f30fea9470152a2e5f871f7d3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d20562cff47a0c732f3838e93feb9c98b3c95cd312d66267ee72c176988992b
[INFO] running `Command { std: "docker" "start" "-a" "7d20562cff47a0c732f3838e93feb9c98b3c95cd312d66267ee72c176988992b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml_datetime v1.0.1+spec-1.1.0
[INFO] [stderr]    Compiling vte v0.14.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling toml_writer v1.0.7+spec-1.1.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling strip-ansi-escapes v0.2.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling toml_parser v1.0.10+spec-1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling toml v1.0.7+spec-1.1.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling board-of-directors v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.92s
[INFO] running `Command { std: "docker" "inspect" "7d20562cff47a0c732f3838e93feb9c98b3c95cd312d66267ee72c176988992b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d20562cff47a0c732f3838e93feb9c98b3c95cd312d66267ee72c176988992b", kill_on_drop: false }`
[INFO] [stdout] 7d20562cff47a0c732f3838e93feb9c98b3c95cd312d66267ee72c176988992b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a656578b07cf74528e3b885234a6bb92a7c326437520cbfec0a0c148654d4b6f
[INFO] running `Command { std: "docker" "start" "-a" "a656578b07cf74528e3b885234a6bb92a7c326437520cbfec0a0c148654d4b6f", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling bitflags v2.11.0
[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 12.49s
[INFO] running `Command { std: "docker" "inspect" "a656578b07cf74528e3b885234a6bb92a7c326437520cbfec0a0c148654d4b6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a656578b07cf74528e3b885234a6bb92a7c326437520cbfec0a0c148654d4b6f", kill_on_drop: false }`
[INFO] [stdout] a656578b07cf74528e3b885234a6bb92a7c326437520cbfec0a0c148654d4b6f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e2da3e249fd79d0f3636bccded1e65e81dbbc17991c1d90cbaa09e0c48b0243f
[INFO] running `Command { std: "docker" "start" "-a" "e2da3e249fd79d0f3636bccded1e65e81dbbc17991c1d90cbaa09e0c48b0243f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bod-27b51560463300fd)
[INFO] [stdout] 
[INFO] [stdout] running 174 tests
[INFO] [stdout] test agents::tests::extract_timestamp_accepts_leap_year_feb29 ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_14_digit ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_invalid ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_legacy_12_digit ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_rejects_out_of_range ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_files_within_keep ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_ignores_legacy_files ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_keep_zero_removes_timestamped ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_timestamped_consolidated_files ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_14_digit_with_collision_suffix ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_with_nonce ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_with_nonce_collision_suffix ... ok
[INFO] [stdout] test agents::tests::group_reviews_by_round_groups_by_timestamp ... ok
[INFO] [stdout] test agents::tests::group_reviews_by_round_includes_legacy_files ... ok
[INFO] [stdout] test agents::tests::is_consolidated_file_false ... 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::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::cleanup_old_rounds_preserves_user_files ... ok
[INFO] [stdout] test agents::tests::is_review_file_structure_validates_correctly ... ok
[INFO] [stdout] test agents::tests::latest_review_files_matches_collision_suffix ... ok
[INFO] [stdout] test agents::tests::latest_review_files_legacy_dash_collision_suffix ... ok
[INFO] [stdout] test agents::tests::latest_review_files_falls_back_to_legacy ... ok
[INFO] [stdout] test agents::tests::latest_review_files_picks_highest_round_for_branch ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_user_timestamped_files ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_both_bugfix_log_forms ... ok
[INFO] [stdout] test agents::tests::create_review_file_rejects_empty_branch ... ok
[INFO] [stdout] test agents::tests::latest_review_files_no_false_positive_on_branch_substring ... ok
[INFO] [stdout] test agents::tests::latest_review_files_sorts_by_timestamp_not_nonce ... ok
[INFO] [stdout] test agents::tests::latest_review_files_prefers_timestamped_over_legacy ... ok
[INFO] [stdout] test agents::tests::create_review_file_is_atomic ... ok
[INFO] [stdout] test agents::tests::latest_review_files_returns_none_for_empty_branch ... ok
[INFO] [stdout] test agents::tests::create_consolidated_file_rejects_empty_branch ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_consolidated_files ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_removes_large_diff_artifacts_with_old_rounds ... ok
[INFO] [stdout] test agents::tests::list_consolidated_files_includes_legacy_and_timestamped ... ok
[INFO] [stdout] test agents::tests::cleanup_old_rounds_preserves_user_timestamped_txt_files ... ok
[INFO] [stdout] test agents::tests::latest_review_files_returns_none_when_branch_has_no_reviews ... ok
[INFO] [stdout] test agents::tests::list_review_files_excludes_consolidated ... ok
[INFO] [stdout] test agents::tests::list_consolidated_files_for_branch_filters_current_branch ... ok
[INFO] [stdout] test agents::tests::list_review_context_artifact_files_returns_known_artifacts_only ... ok
[INFO] [stdout] test agents::tests::list_review_files_excludes_both_bugfix_log_forms ... ok
[INFO] [stdout] test agents::tests::list_review_files_excludes_legacy_consolidated ... ok
[INFO] [stdout] test agents::tests::list_review_files_for_round_id_mismatched_nonce ... ok
[INFO] [stdout] test agents::tests::resolve_collision_with_multiple_existing ... ok
[INFO] [stdout] test agents::tests::review_file_matches_branch_avoids_branch_suffix_false_positive ... ok
[INFO] [stdout] test agents::tests::sanitize_branch_name_all_special_chars_produces_none ... ok
[INFO] [stdout] test agents::tests::list_review_files_for_round_id_wrong_branch ... ok
[INFO] [stdout] test agents::tests::list_review_files_for_round_id_collision_suffix ... ok
[INFO] [stdout] test agents::tests::list_review_files_for_round_id_no_branch_filter ... ok
[INFO] [stdout] test agents::tests::resolve_collision_no_existing_files ... ok
[INFO] [stdout] test agents::tests::resolve_collision_with_existing_file ... ok
[INFO] [stdout] test agents::tests::list_review_files_for_branch_filters_current_branch ... ok
[INFO] [stdout] test agents::tests::list_timestamped_review_files_skips_unrelated_markdown ... ok
[INFO] [stdout] test agents::tests::list_review_files_for_round_id_matches_exact_round ... 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_filters_by_branch ... ok
[INFO] [stdout] test backend::tests::merge_node_options_appends_heap_limit_when_missing ... ok
[INFO] [stdout] test backend::tests::merge_node_options_preserves_existing_heap_limit ... ok
[INFO] [stdout] test agents::tests::timestamp_now_contains_nonce ... ok
[INFO] [stdout] test bugfix::tests::final_result_returns_error_status_message ... ok
[INFO] [stdout] test backend::tests::summarizes_output_for_error_limits_length ... ok
[INFO] [stdout] test bugfix::tests::final_result_accepts_completed_status ... ok
[INFO] [stdout] test agents::tests::timestamp_now_unique_across_calls ... ok
[INFO] [stdout] test bugfix::tests::backend_request_footprint_groups_same_backend_roles ... ok
[INFO] [stdout] test bugfix::tests::dry_run_summary_skips_agents_and_shows_fixer_context ... ok
[INFO] [stdout] test bugfix::tests::final_result_returns_timeout_message_when_no_error_is_present ... ok
[INFO] [stdout] test bugfix::tests::terminal_step_failure_matches_operator_message ... 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::tests::fix_agent_request_uses_state_dir_and_forbids_repo_temp_files ... 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 bugfix_log::tests::write_history_preserving_notes_restores_history_without_overwriting_current_notes ... ok
[INFO] [stdout] test bugfix_log::tests::clear_history_preserving_notes_file_removes_logs_without_notes ... ok
[INFO] [stdout] test bugfix_session::tests::mark_completed_preserves_existing_error_state ... ok
[INFO] [stdout] test bugfix_session::tests::mark_run_started_preserves_creation_timestamp ... ok
[INFO] [stdout] test bugfix_session::tests::consolidate_and_fix_activities_stay_visible_until_next_iteration ... ok
[INFO] [stdout] test bugfix_session::tests::activate_iteration_uses_next_severity ... ok
[INFO] [stdout] test bugfix_session::tests::mark_waiting_to_start_sets_waiting_snapshot ... ok
[INFO] [stdout] test bugfix_session::tests::request_cancel_updates_snapshot ... ok
[INFO] [stdout] test bugfix_session::tests::cancelling_marks_running_iteration_activity_cancelled ... ok
[INFO] [stdout] test bugfix_session::tests::begin_review_clears_latest_round_and_report ... ok
[INFO] [stdout] test bugfix_session::tests::request_start_promotes_waiting_session ... ok
[INFO] [stdout] test bugfix_session::tests::review_activities_persist_agent_progress ... ok
[INFO] [stdout] test bugfix_log::tests::write_user_notes_updates_existing_notes_section ... ok
[INFO] [stdout] test config::tests::dotted_claude_models_are_rejected_for_claude_backend ... ok
[INFO] [stdout] test config::tests::canonicalize_model_choice_normalizes_dotted_claude_ids ... ok
[INFO] [stdout] test config::tests::missing_personality_fields_fail_to_parse ... ok
[INFO] [stdout] test config::tests::rejects_duplicate_review_codenames ... ok
[INFO] [stdout] test backend::tests::parses_retry_after_header ... ok
[INFO] [stdout] test config::tests::parses_nested_personality_tables_for_reviewers_and_consolidator ... ok
[INFO] [stdout] test config::tests::rejects_non_claude_model_for_claude_backend ... ok
[INFO] [stdout] test config::tests::used_backends_are_unique_and_sorted ... ok
[INFO] [stdout] test files::tests::bugfix_log_path_returns_err_for_empty_branch ... 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::is_bugfix_log_matches_branch_scoped ... ok
[INFO] [stdout] test consolidate::tests::consolidation_agent_request_uses_state_dir_with_repo_read_access ... ok
[INFO] [stdout] test files::tests::is_bugfix_log_matches_legacy ... ok
[INFO] [stdout] test files::tests::is_bugfix_log_rejects_empty_branch ... ok
[INFO] [stdout] test clear::tests::clear_reviews_removes_review_artifacts_only ... ok
[INFO] [stdout] test clear::tests::clear_all_removes_bugfix_logs_and_locks ... ok
[INFO] [stdout] test files::tests::is_bugfix_log_rejects_invalid_branch_chars ... ok
[INFO] [stdout] test files::tests::is_bugfix_log_rejects_unrelated ... ok
[INFO] [stdout] test clear::tests::clear_default_preserves_notes_and_removes_bugfix_history ... ok
[INFO] [stdout] test files::tests::migration_copies_legacy_content_to_branch_log ... ok
[INFO] [stdout] test agents::tests::extract_timestamp_prefix_strips_nonce ... ok
[INFO] [stdout] test config::tests::rejects_non_gemini_model_for_gemini_backend ... ok
[INFO] [stdout] test config::tests::underscore_backend_names_fail_to_parse ... ok
[INFO] [stdout] test consolidate::tests::consolidation_request_includes_personality_guidance_when_present ... ok
[INFO] [stdout] test files::tests::backend_log_path_lives_in_state_dir ... ok
[INFO] [stdout] test init::tests::default_personality_is_first_catalog_entry ... ok
[INFO] [stdout] test init::tests::parse_reviewer_count_accepts_positive_numbers ... 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 paths::tests::repo_config_path_lives_under_external_app_dir ... ok
[INFO] [stdout] test init::tests::parse_reviewer_count_rejects_zero_and_non_numbers ... ok
[INFO] [stdout] test files::tests::migration_returns_empty_when_legacy_is_empty ... ok
[INFO] [stdout] test paths::tests::repo_scope_name_falls_back_when_missing_file_name ... ok
[INFO] [stdout] test paths::tests::repo_scope_name_sanitizes_whitespace_and_symbols ... ok
[INFO] [stdout] test personalities::tests::inline_personality_wins_over_named_lookup ... ok
[INFO] [stdout] test personalities::tests::default_personality_resolves_without_extra_instructions ... ok
[INFO] [stdout] test personalities::tests::sanitize_name_rejects_empty_after_cleanup ... ok
[INFO] [stdout] test init::tests::parse_copilot_models_from_config_help_extracts_model_list ... 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 review::tests::retryable_review_error_is_not_fatal ... ok
[INFO] [stdout] test personalities::tests::global_personalities_override_builtin_names ... ok
[INFO] [stdout] test files::tests::migration_preserves_legacy_for_multiple_branches ... ok
[INFO] [stdout] test personalities::tests::load_global_personality_reads_template_body ... ok
[INFO] [stdout] test personalities::tests::validation_reports_invalid_global_personalities_even_for_builtin_names ... ok
[INFO] [stdout] test init::tests::derive_codename_maps_gemini_aliases ... ok
[INFO] [stdout] test review::tests::review_agent_request_includes_personality_guidance_when_present ... ok
[INFO] [stdout] test personalities::tests::non_conforming_md_files_are_skipped ... ok
[INFO] [stdout] test backend::tests::extracts_retry_delay_from_generic_json_style_values ... ok
[INFO] [stdout] test review::tests::review_agent_request_uses_state_dir_with_repo_read_access ... ok
[INFO] [stdout] test init::tests::parse_copilot_models_from_flag_help_ignores_other_choice_blocks ... ok
[INFO] [stdout] test personalities::tests::global_personalities_are_listed_from_md_files ... ok
[INFO] [stdout] test gemini_cli::tests::accepts_help_output_with_required_flags ... ok
[INFO] [stdout] test review::tests::reviewer_start_delays_are_staggered ... ok
[INFO] [stdout] test tests::parses_bugfix_dry_run_flag ... 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 review::tests::write_review_context_artifacts_writes_expected_files ... ok
[INFO] [stdout] test tests::parses_bugfix_delay_start_flag ... ok
[INFO] [stdout] test tests::active_backends_for_review_only_uses_reviewer_backends ... ok
[INFO] [stdout] test tests::parses_bugfix_iterations_defaults_to_none ... 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_clear_all_subcommand ... ok
[INFO] [stdout] test tests::parses_clear_reviews_subcommand ... ok
[INFO] [stdout] test tests::parses_plain_clear_command ... ok
[INFO] [stdout] test web::tests::percent_decode_handles_spaces_and_hex ... ok
[INFO] [stdout] test web::tests::bind_random_port_uses_requested_range ... ok
[INFO] [stdout] test tests::parses_review_consolidate_subcommand ... ok
[INFO] [stdout] test tests::parses_plain_review_command ... ok
[INFO] [stdout] test web::tests::start_endpoint_promotes_waiting_session ... ok
[INFO] [stdout] test web::tests::server_serves_status_and_notes_endpoints ... ok
[INFO] [stdout] test web::tests::start_endpoint_reports_when_start_is_ignored ... ok
[INFO] [stdout] test web::tests::build_doc_index_only_returns_branch_state_artifacts ... ok
[INFO] [stdout] test backend::tests::detects_rate_limit_text ... ok
[INFO] [stdout] test backend::tests::git_wrapper_blocks_only_commit_and_push_subcommands ... ok
[INFO] [stdout] test backend::tests::extracts_retry_delay_from_phrases ... ok
[INFO] [stdout] test rollback::tests::restore_reverts_modified_preexisting_untracked_files ... ok
[INFO] [stdout] test rollback::tests::restore_reverts_tracked_and_removes_new_untracked_files ... ok
[INFO] [stdout] test rollback::tests::restore_preserves_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 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.28s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e2da3e249fd79d0f3636bccded1e65e81dbbc17991c1d90cbaa09e0c48b0243f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2da3e249fd79d0f3636bccded1e65e81dbbc17991c1d90cbaa09e0c48b0243f", kill_on_drop: false }`
[INFO] [stdout] e2da3e249fd79d0f3636bccded1e65e81dbbc17991c1d90cbaa09e0c48b0243f
