[INFO] cloning repository https://github.com/kyuki3rain/cupola [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kyuki3rain/cupola" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyuki3rain%2Fcupola", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyuki3rain%2Fcupola'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] df18fa47ef07faece5b09760bfcb79c2617ae14e [INFO] testing kyuki3rain/cupola against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyuki3rain%2Fcupola" "/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/kyuki3rain/cupola [INFO] finished tweaking git repo https://github.com/kyuki3rain/cupola [INFO] tweaked toml for git repo https://github.com/kyuki3rain/cupola written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kyuki3rain/cupola on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kyuki3rain/cupola 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" "+beta-2026-04-21" "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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0dfb1745fede5700ca472e0c736350124a92ae75d8cea748084a1866b1477baf [INFO] running `Command { std: "docker" "start" "-a" "0dfb1745fede5700ca472e0c736350124a92ae75d8cea748084a1866b1477baf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0dfb1745fede5700ca472e0c736350124a92ae75d8cea748084a1866b1477baf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0dfb1745fede5700ca472e0c736350124a92ae75d8cea748084a1866b1477baf", kill_on_drop: false }` [INFO] [stdout] 0dfb1745fede5700ca472e0c736350124a92ae75d8cea748084a1866b1477baf [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=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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6cf1f67179093d234a864b5c33fe9876c4ca63b4a830399e54fc3b82ad8a67c9 [INFO] running `Command { std: "docker" "start" "-a" "6cf1f67179093d234a864b5c33fe9876c4ca63b4a830399e54fc3b82ad8a67c9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling openssl-sys v0.9.114 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling arc-swap v1.9.0 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling openssl v0.10.78 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling typenum v1.20.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling base62 v2.2.4 [INFO] [stderr] Compiling normpath v1.5.0 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling libsqlite3-sys v0.33.0 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling secrecy v0.10.3 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling globwalk v0.8.1 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling rust-i18n v3.1.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Compiling snafu-derive v0.8.9 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling pin-project v1.1.11 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling simple_asn1 v0.6.4 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling snafu v0.8.9 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling triomphe v0.1.15 [INFO] [stderr] Compiling toml_edit v0.22.27 [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 serde_urlencoded v0.7.1 [INFO] [stderr] Compiling jsonwebtoken v9.3.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tracing-appender v0.2.4 [INFO] [stderr] Compiling rusqlite v0.35.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling gh-token v0.1.8 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling rust-i18n-support v3.1.5 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rust-i18n-macro v3.1.5 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling hyper-timeout v0.5.2 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling octocrab v0.44.1 [INFO] [stderr] Compiling cupola v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 01s [INFO] running `Command { std: "docker" "inspect" "6cf1f67179093d234a864b5c33fe9876c4ca63b4a830399e54fc3b82ad8a67c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6cf1f67179093d234a864b5c33fe9876c4ca63b4a830399e54fc3b82ad8a67c9", kill_on_drop: false }` [INFO] [stdout] 6cf1f67179093d234a864b5c33fe9876c4ca63b4a830399e54fc3b82ad8a67c9 [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=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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8252c104314027fcde3a749e6df0f4021437634ce9a0fb928897ff4cac26c7cf [INFO] running `Command { std: "docker" "start" "-a" "8252c104314027fcde3a749e6df0f4021437634ce9a0fb928897ff4cac26c7cf", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling openssl v0.10.78 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling rusqlite v0.35.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling hyper-timeout v0.5.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling octocrab v0.44.1 [INFO] [stderr] Compiling cupola v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 31s [INFO] running `Command { std: "docker" "inspect" "8252c104314027fcde3a749e6df0f4021437634ce9a0fb928897ff4cac26c7cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8252c104314027fcde3a749e6df0f4021437634ce9a0fb928897ff4cac26c7cf", kill_on_drop: false }` [INFO] [stdout] 8252c104314027fcde3a749e6df0f4021437634ce9a0fb928897ff4cac26c7cf [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=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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 51025bead33208348d92eccbb865dde0281691c1f780d0c4e4c6bf83ce4df3d8 [INFO] running `Command { std: "docker" "start" "-a" "51025bead33208348d92eccbb865dde0281691c1f780d0c4e4c6bf83ce4df3d8", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cupola-116a1e2a98451eef) [INFO] [stdout] [INFO] [stdout] running 772 tests [INFO] [stdout] test adapter::inbound::cli::tests::parse_init_command ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_doctor_with_custom_config ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_init_with_agent ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_cleanup_with_defaults ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_doctor_with_defaults ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_cleanup_with_custom_config ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_init_with_agent_and_upgrade ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_init_with_single_template ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_init_with_upgrade_flag ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_logs_with_defaults ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_start_with_daemon_flag ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_start_with_defaults ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_logs_with_follow_long ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_stop_with_custom_config ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_env_clear_applied_no_extra_allow ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_stop_with_defaults ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_stop_with_force_flag ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_start_with_daemon_long_flag ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_base_allowlist_vars_inherited ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_status_command ... ok [INFO] [stdout] test adapter::inbound::cli::tests::version_long_flag_returns_display_version ... ok [INFO] [stdout] test adapter::inbound::cli::tests::version_short_flag_returns_display_version ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_exact_match_extra_allow ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_non_matching_env_excluded ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_wildcard_extra_allow_matches_prefix ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_logs_with_follow_short ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_init_with_multiple_templates_comma_separated ... ok [INFO] [stdout] test adapter::inbound::cli::tests::parse_start_with_overrides ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_with_model_opus ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_with_schema ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::t_4_cc_1_build_command_uses_piped_stdio ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::t_4_cc_2_parse_fixing_output_extracts_threads ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::t_4_cc_3_parse_fixing_falls_back_on_invalid_json ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::t_4_cc_2_parse_pr_creation_output_top_level_json ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_without_schema ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::t_4_cc_2_parse_pr_creation_output_extracts_fields ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_401_returns_unauthorized ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_403_returns_forbidden_with_body ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_404_returns_not_found_with_resource ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_429_with_retry_after_returns_rate_limit_with_duration ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_429_without_retry_after_returns_rate_limit_none ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_500_returns_server_error ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::t_4_cc_3_parse_pr_creation_falls_back_on_invalid_json ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::t_4_cc_3_parse_pr_creation_falls_back_when_fields_missing ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::create_existing_worktree_is_ok ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_503_returns_server_error ... ok [INFO] [stdout] test adapter::outbound::claude_code_process::tests::build_command_with_custom_executable ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::classify_other_status_returns_other ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::github_api_error_converts_to_anyhow_and_back ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::parse_retry_after_returns_duration_when_header_is_number ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::parse_retry_after_returns_none_when_header_is_non_numeric ... ok [INFO] [stdout] test adapter::outbound::github_client_impl::tests::with_retry_retries_on_rate_limit_and_succeeds ... ok [INFO] [stdout] test adapter::outbound::github_api_error::tests::parse_retry_after_returns_none_when_header_absent ... ok [INFO] [stdout] test adapter::outbound::github_client_impl::tests::with_retry_returns_immediately_on_non_github_error ... ok [INFO] [stdout] test adapter::outbound::github_client_impl::tests::with_retry_returns_immediately_on_forbidden ... ok [INFO] [stdout] test adapter::outbound::github_client_impl::tests::with_retry_exhausts_retries_on_server_error ... ok [INFO] [stdout] test adapter::outbound::github_client_impl::tests::with_retry_returns_ok_immediately_on_success ... ok [INFO] [stdout] test adapter::outbound::github_client_impl::tests::with_retry_returns_immediately_on_unauthorized ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::check_graphql_errors_fails_with_errors ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::check_graphql_errors_passes_with_empty_errors_array ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::check_graphql_errors_passes_when_no_errors ... ok [INFO] [stdout] test adapter::outbound::github_client_impl::tests::with_retry_uses_default_wait_when_rate_limit_has_no_retry_after ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::list_threads_payload_contains_variables_with_owner_repo_pr ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::list_threads_payload_passes_null_cursor_when_none ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_level_reviews_missing_reviews_field_returns_empty ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::list_threads_query_does_not_contain_literal_owner_repo_pr ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_level_reviews_normal_changes_requested ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_level_reviews_normal_commented ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::list_threads_payload_passes_cursor_as_string_in_variables ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_level_reviews_skips_empty_body ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_level_reviews_skips_invalid_timestamp ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_level_reviews_skips_null_author ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_observation_conflicting ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_level_reviews_unknown_association_defaults_to_none ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_observation_full ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_review_thread_from_json ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_review_thread_unknown_association_defaults_to_none ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_observation_merged ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_pr_observation_null_returns_none ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::aggregate_ci_status_failure_on_failure ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::aggregate_ci_status_failure_on_timed_out ... ok [INFO] [stdout] test adapter::outbound::github_graphql_client::tests::parse_review_thread_without_line ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::aggregate_ci_status_ok_when_all_success ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::aggregate_ci_status_unknown_on_cancelled ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::aggregate_ci_status_unknown_on_null_conclusion ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::close_issue_idempotent_documented ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::comment_on_issue_is_best_effort_documented ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::remove_nonexistent_worktree_is_ok ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::aggregate_ci_status_unknown_when_empty ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::parse_link_header_extracts_next_url ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::parse_link_header_extracts_target_rel_from_mixed ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::parse_link_header_handles_additional_params_after_rel ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::percent_encode_path_encodes_at_sign ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::parse_link_header_returns_none_when_no_next ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::percent_encode_path_encodes_slash ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::percent_encode_path_preserves_alphanumeric_and_safe_chars ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::remove_label_idempotent_on_not_found_documented ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::secret_string_debug_masks_token_value ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::gitignore_appends_entries_when_absent ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::parse_link_header_handles_additional_params_before_rel ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::gitignore_creates_new_file_when_not_exists ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::gitignore_skips_when_marker_already_present ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::gitignore_appends_to_existing_file_without_marker ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::gitignore_upgrade_adds_section_when_absent ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::gitignore_upgrade_preserves_content_after_cupola_section ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::install_assets_preserves_existing_file ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::install_assets_returns_false_when_everything_exists ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::install_assets_upgrade_returns_false_when_all_content_identical ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::install_assets_writes_embedded_files ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::spec_directory_at_writes_into_target_base_dir ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::spec_directory_creates_files_when_absent ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::gitignore_upgrade_replaces_existing_cupola_section ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::spec_directory_skips_when_exists ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::toml_template_creates_file_when_absent ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::toml_template_skips_when_file_exists ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::write_claude_settings_creates_new_file ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::spec_directory_works_without_templates ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::write_claude_settings_no_change_returns_false ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::write_claude_settings_scalar_existing_wins ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::write_claude_settings_merges_with_existing_allow ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::delete_pid_ok_when_file_absent ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::delete_pid_removes_file ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::is_process_alive_returns_false_for_invalid_pid ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::is_process_alive_returns_true_for_self ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::write_claude_settings_union_merge_no_duplicates ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::delete_branch_is_always_ok ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::read_pid_returns_none_after_delete_pid ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::read_pid_returns_none_when_file_absent ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::t_4_wt_3_delete_branch_idempotent_on_missing ... ok [INFO] [stdout] test adapter::outbound::init_file_generator::tests::install_assets_upgrade_overwrites_existing_managed_files ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::read_pid_rejects_overflow ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::read_pid_rejects_zero ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_read_pid_and_mode_returns_none_when_absent ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_write_and_read_pid_with_mode_daemon ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_write_and_read_pid_with_mode_foreground ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_write_pid_with_mode_already_exists ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_write_pid_with_mode_succeeds_after_delete ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::write_and_read_pid_roundtrip ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::write_pid_returns_already_exists_on_second_call ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::read_pid_succeeds_on_two_line_pid_file ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_read_pid_and_mode_invalid_pid_overflow ... ok [INFO] [stdout] test adapter::outbound::process_command_runner::tests::run_git_version_succeeds ... ok [INFO] [stdout] test adapter::outbound::process_command_runner::tests::run_in_dir_reports_invalid_working_directory ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_read_pid_and_mode_invalid_pid_zero ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::test_read_pid_and_mode_legacy_single_line ... ok [INFO] [stdout] test adapter::outbound::pid_file_manager::tests::write_pid_succeeds_after_delete_pid ... ok [INFO] [stdout] test adapter::outbound::sqlite_connection::tests::conn_lock_succeeds_on_healthy_mutex ... ok [INFO] [stdout] test adapter::outbound::sqlite_connection::tests::init_schema_is_idempotent ... ok [INFO] [stdout] test adapter::outbound::process_command_runner::tests::run_nonexistent_command_returns_failure_not_panic ... ok [INFO] [stdout] test adapter::outbound::sqlite_connection::tests::migration_weight_column_is_idempotent ... ok [INFO] [stdout] test adapter::outbound::sqlite_connection::tests::open_in_memory_and_init_schema ... ok [INFO] [stdout] test adapter::outbound::sqlite_connection::tests::migration_adds_weight_column_to_existing_db ... ok [INFO] [stdout] test adapter::outbound::sqlite_execution_log_repository::tests::record_finish_updates_log ... ok [INFO] [stdout] test adapter::outbound::sqlite_execution_log_repository::tests::multiple_logs_per_issue ... ok [INFO] [stdout] test adapter::outbound::sqlite_helpers::tests::parse_sqlite_datetime_invalid_returns_error ... ok [INFO] [stdout] test adapter::outbound::sqlite_helpers::tests::parse_sqlite_datetime_valid ... ok [INFO] [stdout] test adapter::outbound::sqlite_helpers::tests::str_to_state_invalid_returns_error ... ok [INFO] [stdout] test adapter::outbound::sqlite_helpers::tests::str_to_state_valid_roundtrip ... ok [INFO] [stdout] test adapter::outbound::sqlite_execution_log_repository::tests::record_start_and_find ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::body_hash_migration_is_idempotent ... ok [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::close_finished_roundtrip ... ok [INFO] [stdout] test adapter::outbound::process_command_runner::tests::run_existing_command_succeeds ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::consecutive_failures_epoch_roundtrip ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::body_hash_roundtrip ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::find_all_includes_terminal ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::find_by_issue_number ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::find_active_excludes_terminal ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::find_by_state_returns_only_matching ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::state_roundtrip_includes_initialize_running ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::update_full_issue ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::update_state ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::update_state_and_metadata_does_not_corrupt_adjacent_rows ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::migration_is_idempotent ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::update_state_and_metadata_writes_only_some_fields ... ok [INFO] [stdout] test adapter::outbound::sqlite_issue_repository::tests::save_and_find_by_id ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::count_consecutive_failures_counts_tail ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::find_by_issue_returns_saved_runs ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::find_latest_returns_most_recent ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmp6Ak9Xm/ [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpGAGqzL/ [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpDSmRkr/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmp0kmE4C/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::find_latest_with_consecutive_count_is_consistent ... ok [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmp5TC8bt/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmp9f9fbv/.git/ [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::consecutive_failures_with_epoch_excludes_old ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::find_latest_with_pr_number_returns_none_when_all_null ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmptwj0fI/.git/ [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::mark_failed_transitions_state ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::find_latest_with_pr_number_skips_null_rows ... ok [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::find_all_running_returns_only_running ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::mark_stale_for_issue_marks_running ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::save_returns_positive_id ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::mark_succeeded_transitions_state ... ok [INFO] [stdout] test adapter::outbound::sqlite_process_run_repository::tests::update_pid_persists ... ok [INFO] [stdout] test application::association_guard::tests::missing_label_event_returns_error ... ok [INFO] [stdout] test application::association_guard::tests::trusted_actor_returns_trusted ... ok [INFO] [stdout] test application::association_guard::tests::trusted_associations_all_returns_trusted_without_api_calls ... ok [INFO] [stdout] test application::association_guard::tests::untrusted_actor_returns_rejected_and_removes_label ... ok [INFO] [stdout] test application::association_guard::tests::timeline_api_failure_returns_error ... ok [INFO] [stdout] test application::association_guard::tests::permission_api_failure_returns_error ... ok [INFO] [stdout] test application::cleanup_use_case::tests::cleanup_continues_on_worktree_remove_failure ... ok [INFO] [stdout] test adapter::outbound::sqlite_connection::tests::conn_lock_panics_on_poisoned_mutex - should panic ... ok [INFO] [stdout] test application::cleanup_use_case::tests::cleanup_returns_empty_when_no_cancelled_issues ... ok [INFO] [stdout] test application::cleanup_use_case::tests::t_6_cl_1_cleanup_is_guarded_by_pid_check_in_cli_handler ... ok [INFO] [stdout] test application::cleanup_use_case::tests::cleanup_removes_worktree_and_branches_for_cancelled_issue ... ok [INFO] [stdout] test application::cleanup_use_case::tests::t_6_cl_2_no_op_when_no_cancelled_issues ... ok [INFO] [stdout] test application::cleanup_use_case::tests::t_6_cl_3_cleanup_per_cancelled_issue ... ok [INFO] [stdout] test application::cleanup_use_case::tests::t_6_cl_4_missing_worktree_path_continues ... ok [INFO] [stdout] test application::cleanup_use_case::tests::t_6_cl_5_branch_delete_failure_continues ... ok [INFO] [stdout] test application::cleanup_use_case::tests::t_6_cl_7_cleaned_issue_number_reported ... ok [INFO] [stdout] test application::compress_use_case::tests::find_completed_specs_returns_zero_when_dir_missing ... ok [INFO] [stdout] test application::compress_use_case::tests::find_completed_specs_returns_zero_when_no_completed ... ok [INFO] [stdout] test application::compress_use_case::tests::t_6_co_1_no_specs_dir_returns_skipped_reason ... ok [INFO] [stdout] test application::compress_use_case::tests::find_completed_specs_skips_archived ... ok [INFO] [stdout] test application::compress_use_case::tests::find_completed_specs_finds_completed ... ok [INFO] [stdout] test application::compress_use_case::tests::t_6_co_2_no_completed_specs_returns_skipped_reason ... ok [INFO] [stdout] test application::compress_use_case::tests::t_6_co_3_detects_only_completed_phases ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_assets_with_both_missing_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_assets_with_both_dirs_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_assets_with_missing_commands_dir_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_claude_with_success_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_claude_with_failure_returns_fail_with_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_assets_with_missing_settings_dir_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_config_when_file_missing_returns_fail_with_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_config_when_missing_field_returns_fail ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_config_when_validation_fails_returns_fail_with_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_db_with_existing_file_returns_ok ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpmmiaWj/.git/ [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_api_key_suffix_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_config_with_valid_file_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_db_with_missing_file_returns_fail_with_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_aws_prefix_pattern_returns_warn ... ok [INFO] [stdout] test adapter::outbound::sqlite_connection::tests::conn_lock_panics_on_poisoned_mutex_via_spawn_blocking - should panic ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_bare_wildcard_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_empty_extra_allow_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_gh_token_exact_match_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_github_token_exact_match_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_password_suffix_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_safe_patterns_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_secret_suffix_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_env_allowlist_token_suffix_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_git_with_mock_success_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_github_token_when_auth_fails_returns_fail_with_login_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_git_when_not_installed_returns_fail_with_install_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_git_when_execution_fails_returns_fail_with_stderr ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_github_token_when_gh_not_installed_returns_fail_with_install_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_labels_when_auth_fails_returns_warn_with_login_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_labels_when_weight_labels_missing_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_github_token_with_success_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_labels_when_agent_ready_missing_returns_warn_with_create_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_labels_with_all_labels_present_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_labels_when_gh_not_installed_returns_warn_with_install_remediation ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_pending_notifications_returns_ok_when_count_not_exceeded ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_pending_notifications_returns_ok_when_no_issues ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_pending_notifications_returns_ok_when_no_pending ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_pending_notifications_returns_warn_when_pending_exists ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_steering_with_empty_dir_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_steering_with_only_hidden_file_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::doctor_start_readiness_includes_env_allowlist_check_on_success ... ok [INFO] [stdout] test application::doctor_use_case::tests::doctor_use_case_config_load_failure_skips_env_allowlist ... ok [INFO] [stdout] test application::doctor_use_case::tests::doctor_use_case_returns_all_sections ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_steering_with_only_subdir_returns_warn ... ok [INFO] [stdout] test application::doctor_use_case::tests::check_steering_with_md_file_returns_ok ... ok [INFO] [stdout] test application::doctor_use_case::tests::doctor_use_case_toml_fail_with_mock_loader ... ok [INFO] [stdout] test application::doctor_use_case::tests::t_6_dr_2_start_readiness_fail_means_non_zero_exit ... ok [INFO] [stdout] test application::doctor_use_case::tests::t_6_dr_1_start_readiness_contains_required_checks ... ok [INFO] [stdout] test application::doctor_use_case::tests::t_6_dr_3_operational_readiness_contains_required_checks ... ok [INFO] [stdout] test application::doctor_use_case::tests::t_6_dr_5_check_status_variants_exist_for_all_symbols ... ok [INFO] [stdout] test application::init_task_manager::tests::at_most_one_claim_succeeds_under_sequential_stress ... ok [INFO] [stdout] test application::init_task_manager::tests::cancel_removes_handle ... ok [INFO] [stdout] test application::init_task_manager::tests::is_active_reflects_pending_and_registered ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpA7WxBd/.git/ [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpJhJDHF/.git/ [INFO] [stdout] test application::init_task_manager::tests::register_and_is_active ... ok [INFO] [stdout] test application::init_task_manager::tests::collect_finished_skips_running ... ok [INFO] [stdout] test application::init_task_manager::tests::register_consumes_claim ... ok [INFO] [stdout] test application::init_task_manager::tests::release_claim_frees_slot ... ok [INFO] [stdout] test application::init_task_manager::tests::try_claim_prevents_duplicate_for_same_issue ... ok [INFO] [stdout] test application::init_task_manager::tests::try_claim_allows_different_issues ... ok [INFO] [stdout] test application::init_use_case::tests::init_use_case_reports_successful_steering_bootstrap ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpNsobpz/.git/ [INFO] [stdout] test application::init_use_case::tests::init_use_case_creates_all_files_in_empty_dir ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::merge_rejects_origin_prefix_up_front ... ok [INFO] [stdout] test application::init_task_manager::tests::abort_all_drains_handles ... ok [INFO] [stdout] test application::init_use_case::tests::init_use_case_skips_all_when_files_exist ... ok [INFO] [stdout] test application::init_task_manager::tests::collect_finished_ok ... ok [INFO] [stdout] test application::init_task_manager::tests::collect_finished_err ... ok [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpuR4f41/.git/ [INFO] [stdout] test application::init_use_case::tests::t_6_in_1_creates_required_files_when_missing ... ok [INFO] [stdout] test application::init_use_case::tests::init_use_case_without_claude_skips_bootstrap_runs_rest ... ok [INFO] [stdout] test application::init_use_case::tests::t_6_in_5_claude_missing_skips_steering_bootstrap ... ok [INFO] [stdout] test application::io::tests::clear_inputs_dir_is_idempotent ... ok [INFO] [stdout] test application::io::tests::clear_inputs_dir_removes_files_and_leaves_empty_dir ... ok [INFO] [stdout] test application::io::tests::parse_fixing_output_empty_threads ... ok [INFO] [stdout] test application::io::tests::parse_fixing_output_invalid_json ... ok [INFO] [stdout] test application::io::tests::parse_fixing_output_success ... ok [INFO] [stdout] test application::io::tests::parse_pr_creation_output_invalid_json ... ok [INFO] [stdout] test application::io::tests::parse_pr_creation_output_missing_fields ... ok [INFO] [stdout] test application::io::tests::parse_pr_creation_output_no_structured_output ... ok [INFO] [stdout] test application::io::tests::parse_pr_creation_output_success ... ok [INFO] [stdout] test application::io::tests::clear_inputs_dir_succeeds_when_dir_does_not_exist ... ok [INFO] [stdout] test application::io::tests::write_ci_errors_input_creates_file ... ok [INFO] [stdout] test application::io::tests::write_ci_errors_input_empty_list ... ok [INFO] [stdout] test application::io::tests::write_conflict_info_creates_file ... ok [INFO] [stdout] test application::io::tests::write_review_threads_creates_json ... ok [INFO] [stdout] test application::io::tests::write_issue_input_creates_file ... ok [INFO] [stdout] test application::io::tests::write_review_threads_filters_untrusted_comments ... ok [INFO] [stdout] test application::io::tests::write_review_threads_trusted_reviewers_bypasses_association ... ok [INFO] [stdout] test application::logs_use_case::tests::t_6_lg_1_ignores_non_cupola_files ... ok [INFO] [stdout] test application::logs_use_case::tests::t_6_lg_1_picks_lexicographically_last_cupola_file ... ok [INFO] [stdout] test application::io::tests::write_review_threads_skips_threads_with_no_trusted_comments ... ok [INFO] [stdout] test application::init_use_case::tests::t_6_in_3_gitignore_contains_cupola_entries ... ok [INFO] [stdout] test application::logs_use_case::tests::t_6_lg_2_reads_fewer_than_20_when_file_shorter ... ok [INFO] [stdout] test application::logs_use_case::tests::t_6_lg_2_default_mode_reads_last_20_lines ... ok [INFO] [stdout] test application::init_use_case::tests::t_6_in_6_idempotent_on_second_run ... ok [INFO] [stdout] test application::logs_use_case::tests::t_6_lg_3_follow_mode_polls_documented ... ok [INFO] [stdout] test application::logs_use_case::tests::t_6_lg_4_errors_when_log_dir_missing ... ok [INFO] [stdout] test application::polling::collect::tests::ci_status_failure_on_failure_conclusion ... ok [INFO] [stdout] test application::polling::collect::tests::ci_status_ok_when_all_success ... ok [INFO] [stdout] test application::polling::collect::tests::ci_status_unknown_when_no_runs ... ok [INFO] [stdout] test application::polling::collect::tests::ci_status_unknown_on_cancelled ... ok [INFO] [stdout] test application::polling::collect::tests::ci_status_unknown_while_in_progress ... ok [INFO] [stdout] test application::polling::collect::tests::non_idle_states_with_ready_label_skip_api ... ok [INFO] [stdout] test application::polling::collect::tests::ci_status_unknown_when_one_in_progress_one_success ... ok [INFO] [stdout] test application::logs_use_case::tests::t_6_lg_4_errors_when_no_cupola_log_files ... ok [INFO] [stdout] test application::polling::collect::tests::observe_pr_for_type_calls_observe_pr_with_pr_number ... ok [INFO] [stdout] test application::polling::collect::tests::observe_pr_for_type_returns_none_when_no_pr_run ... ok [INFO] [stdout] test application::polling::collect::tests::observe_pr_for_type_returns_none_when_pr_not_found ... ok [INFO] [stdout] test application::polling::collect::tests::closed_issue_returns_closed_snapshot ... ok [INFO] [stdout] test application::polling::collect::tests::open_issue_with_ready_label_calls_permission_api ... ok [INFO] [stdout] test application::polling::execute::tests::best_effort_classification ... ok [INFO] [stdout] test application::polling::collect::tests::open_issue_without_ready_label_is_not_trusted ... ok [INFO] [stdout] test application::polling::execute::tests::body_tampered_error_display_contains_issue_number ... ok [INFO] [stdout] test application::polling::execute::tests::cleanup_worktree_continues_on_delete_branch_failure ... ok [INFO] [stdout] test application::polling::execute::tests::cleanup_worktree_deletes_both_branches ... ok [INFO] [stdout] test application::polling::execute::tests::cleanup_worktree_does_not_clear_worktree_path_on_permanent_db_failure ... ok [INFO] [stdout] test application::polling::execute::tests::cleanup_worktree_skips_branch_deletion_when_no_worktree_path ... ok [INFO] [stdout] test application::polling::execute::tests::close_issue_sets_close_finished_after_transient_db_failure ... ok [INFO] [stdout] test application::polling::execute::tests::effect_priority_order ... ok [INFO] [stdout] test application::polling::execute::tests::close_issue_does_not_set_close_finished_on_permanent_db_failure ... ok [INFO] [stdout] test application::polling::execute::tests::impl_fixing_spawn_calls_fetch_before_merge ... ok [INFO] [stdout] test application::polling::execute::tests::design_fixing_spawn_does_not_call_fetch_or_merge ... ok [INFO] [stdout] test application::polling::execute::tests::fixing_causes_in_spawn_process ... ok [INFO] [stdout] test application::polling::execute::tests::non_fixing_spawn_does_not_call_fetch ... ok [INFO] [stdout] test application::polling::execute::tests::impl_fixing_spawn_continues_to_merge_when_fetch_fails ... ok [INFO] [stdout] test application::polling::execute::tests::perform_init_sync_pushes_branches_and_generates_spec_in_worktree ... ok [INFO] [stdout] test application::polling::execute::tests::perform_init_sync_resume_runs_idempotent_steps ... ok [INFO] [stdout] test application::polling::execute::tests::post_ci_fix_limit_comment_persists_notified_on_success ... ok [INFO] [stdout] test application::polling::execute::tests::prepare_init_handle_marks_run_failed_on_comment_error ... ok [INFO] [stdout] test application::polling::execute::tests::prepare_init_handle_posts_design_starting_on_fresh_init ... ok [INFO] [stdout] test application::polling::execute::tests::post_ci_fix_limit_comment_skips_persist_on_comment_failure ... ok [INFO] [stdout] test application::polling::execute::tests::prepare_init_handle_posts_resuming_design_on_existing_worktree ... ok [INFO] [stdout] test application::polling::execute::tests::prepare_process_spawn_returns_body_tampered_error_when_hash_differs ... ok [INFO] [stdout] test application::polling::execute::tests::retry_db_update_exhausts_all_retries_and_returns_error ... ok [INFO] [stdout] test application::polling::execute::tests::prepare_process_spawn_skips_hash_check_when_body_hash_none ... ok [INFO] [stdout] test application::polling::execute::tests::sha256_hex_empty_string_known_value ... ok [INFO] [stdout] test application::polling::execute::tests::retry_db_update_recovers_from_transient_failure ... ok [INFO] [stdout] test application::polling::execute::tests::retry_exhausted_comment_uses_payload_consecutive_failures ... ok [INFO] [stdout] test application::polling::execute::tests::sha256_hex_is_deterministic ... ok [INFO] [stdout] test application::polling::persist::tests::persist_does_not_skip_when_only_body_hash_set ... ok [INFO] [stdout] test application::polling::execute::tests::tamper_detection_transitions_to_cancelled_and_removes_label_and_posts_comment ... ok [INFO] [stdout] test application::polling::persist::tests::persist_writes_metadata_without_state_change ... ok [INFO] [stdout] test application::polling::execute::tests::prepare_process_spawn_succeeds_when_hash_matches ... ok [INFO] [stdout] test application::polling::execute::tests::spawn_init_saves_body_hash_to_db_and_in_memory ... ok [INFO] [stdout] test application::polling::persist::tests::persist_skips_when_no_change ... ok [INFO] [stdout] test application::polling::resolve::tests::create_pr_error_calls_mark_failed_and_returns_ok ... ok [INFO] [stdout] test application::polling::resolve::tests::design_pr_base_branch_is_impl_branch ... ok [INFO] [stdout] test application::polling::resolve::tests::detect_permission_denied_json_error_type ... ok [INFO] [stdout] test application::polling::resolve::tests::detect_permission_denied_stderr_text ... ok [INFO] [stdout] test application::polling::resolve::tests::detect_permission_denied_with_tool_name_in_nested_error ... ok [INFO] [stdout] test application::polling::persist::tests::persist_writes_on_state_change ... ok [INFO] [stdout] test application::polling::resolve::tests::github_error_emits_warn_log_with_expected_fields ... ignored, flaky in parallel due to tracing callsite interest caching; run with --test-threads=1 [INFO] [stdout] test application::polling::resolve::tests::find_pr_error_calls_mark_failed_and_returns_ok ... ok [INFO] [stdout] test application::polling::resolve::tests::github_error_with_run_id_zero_skips_mark_failed ... ok [INFO] [stdout] test application::polling::resolve::tests::impl_pr_base_branch_is_default_branch ... ok [INFO] [stdout] test application::polling::resolve::tests::detect_permission_denied_json_error_message ... ok [INFO] [stdout] test application::polling::resolve::tests::detect_permission_denied_returns_none_for_normal_output ... ok [INFO] [stdout] test application::polling::resolve::tests::stderr_log_unavailable_calls_mark_failed_on_process_failure ... ok [INFO] [stdout] test application::polling::resolve::tests::stdout_log_unavailable_calls_mark_failed_in_running_phase ... ok [INFO] [stdout] test application::polling::resolve::tests::kill_stalled_skips_fresh_process ... ok [INFO] [stdout] test application::polling::resolve::tests::strip_closing_keywords_leaves_non_issue_sentences ... ok [INFO] [stdout] test application::polling::resolve::tests::strip_closing_keywords_removes_cross_repo_ref ... ok [INFO] [stdout] test application::polling::resolve::tests::strip_closing_keywords_preserves_surrounding_text ... ok [INFO] [stdout] test application::polling::resolve::tests::strip_closing_keywords_preserves_non_ascii ... ok [INFO] [stdout] test application::polling_use_case::tests::label_to_weight_heavy ... ok [INFO] [stdout] test application::polling::resolve::tests::strip_closing_keywords_removes_plain_ref ... ok [INFO] [stdout] test application::polling_use_case::tests::label_to_weight_light ... ok [INFO] [stdout] test application::polling::resolve::tests::strip_closing_keywords_respects_word_boundary ... ok [INFO] [stdout] test application::polling_use_case::tests::label_to_weight_heavy_wins_over_light ... ok [INFO] [stdout] test application::polling_use_case::tests::label_to_weight_medium_default ... ok [INFO] [stdout] test application::prompt::tests::design_fixing_prompt_delegates_to_fix_skill ... ok [INFO] [stdout] test application::prompt::tests::design_fixing_no_git_add_all ... ok [INFO] [stdout] test application::prompt::tests::design_fixing_prompt_has_no_inline_steps ... ok [INFO] [stdout] test application::prompt::tests::design_fixing_returns_fixing_schema ... ok [INFO] [stdout] test application::polling_use_case::tests::sighup_signal_is_received_by_handler ... ok [INFO] [stdout] test application::prompt::tests::design_fixing_without_pr_number_returns_err ... ok [INFO] [stdout] test application::prompt::tests::design_prompt_does_not_contain_closes ... ok [INFO] [stdout] test application::prompt::tests::design_prompt_contains_related_instruction ... ok [INFO] [stdout] test application::prompt::tests::design_prompt_does_not_contain_legacy_namespace ... ok [INFO] [stdout] test application::prompt::tests::design_prompt_generic_quality_check ... ok [INFO] [stdout] test application::prompt::tests::design_running_returns_pr_creation_schema ... ok [INFO] [stdout] test application::prompt::tests::design_running_without_pr_number_returns_ok ... ok [INFO] [stdout] test application::prompt::tests::fallback_pr_body_for_implementation ... ok [INFO] [stdout] test application::prompt::tests::fallback_pr_title_for_design ... ok [INFO] [stdout] test application::prompt::tests::fallback_pr_title_for_implementation ... ok [INFO] [stdout] test application::prompt::tests::fallback_pr_body_for_design ... ok [INFO] [stdout] test application::prompt::tests::fixing_prompt_ci_failure_only ... ok [INFO] [stdout] test application::prompt::tests::fixing_prompt_conflict_only ... ok [INFO] [stdout] test application::prompt::tests::fixing_prompt_all_causes ... ok [INFO] [stdout] test application::prompt::tests::fixing_prompt_no_git_add_all ... ok [INFO] [stdout] test application::prompt::tests::fixing_prompt_review_comments_only ... ok [INFO] [stdout] test application::prompt::tests::implementation_fixing_prompt_delegates_to_fix_skill ... ok [INFO] [stdout] test application::prompt::tests::implementation_fixing_prompt_has_no_inline_steps ... ok [INFO] [stdout] test application::prompt::tests::implementation_fixing_returns_fixing_schema ... ok [INFO] [stdout] test application::prompt::tests::implementation_fixing_without_pr_number_returns_err ... ok [INFO] [stdout] test application::prompt::tests::fixing_schema_is_valid_json ... ok [INFO] [stdout] test application::prompt::tests::implementation_prompt_contains_closes ... ok [INFO] [stdout] test application::prompt::tests::implementation_prompt_generic_quality_check ... ok [INFO] [stdout] test application::prompt::tests::implementation_running_returns_pr_creation_schema ... ok [INFO] [stdout] test application::prompt::tests::implementation_prompt_does_not_contain_legacy_namespace ... ok [INFO] [stdout] test application::retry_policy::tests::exhausted_at_limit ... ok [INFO] [stdout] test application::retry_policy::tests::retry_when_under_limit ... ok [INFO] [stdout] test application::retry_policy::tests::zero_retries_always_exhausted ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::fetch_fails_without_origin_has_context ... ok [INFO] [stdout] test application::prompt::tests::pr_creation_schema_is_valid_json ... ok [INFO] [stdout] test application::session_manager::tests::collect_exited_skips_running_process ... ok [INFO] [stdout] test application::session_manager::tests::find_stalled_detects_old_processes ... ok [INFO] [stdout] test application::init_use_case::tests::init_use_case_upgrade_overwrites_managed_files_preserves_user_owned ... ok [INFO] [stdout] test application::polling::resolve::tests::kill_stalled_kills_long_running ... ok [INFO] [stdout] test application::session_manager::tests::kill_stops_process ... ok [INFO] [stdout] test application::session_manager::tests::no_registry_existing_behavior_unchanged ... ok [INFO] [stdout] test application::session_manager::tests::pending_counts_toward_limit ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::fetch_succeeds_with_valid_origin ... ok [INFO] [stdout] test application::session_manager::tests::register_consumes_reservation ... ok [INFO] [stdout] test application::session_manager::tests::register_and_is_running ... ok [INFO] [stdout] test application::session_manager::tests::register_kills_old_process_on_duplicate_issue_id ... ok [INFO] [stdout] test application::session_manager::tests::registry_pid_added_on_register ... ok [INFO] [stdout] test application::session_manager::tests::registry_pid_removed_on_kill_all ... ok [INFO] [stdout] test application::session_manager::tests::registry_register_and_unregister ... ok [INFO] [stdout] test application::session_manager::tests::registry_shutdown_sync_empty_is_safe ... ok [INFO] [stdout] [main (root-commit) e209be0] init [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 base.txt [INFO] [stdout] [main (root-commit) 5008170] init [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 conflict.txt [INFO] [stdout] test application::session_manager::tests::collect_exited_includes_log_id ... ok [INFO] [stdout] test application::session_manager::tests::registry_unregister_nonexistent_is_safe ... ok [INFO] [stdout] test application::session_manager::tests::release_reservation_frees_slot ... ok [INFO] [stdout] test application::session_manager::tests::session_limit_not_exceeded_under_sequential_stress ... ok [INFO] [stdout] test application::session_manager::tests::collect_exited_returns_finished_process ... ok [INFO] [stdout] test application::session_manager::tests::try_reserve_returns_false_when_sessions_at_limit ... ok [INFO] [stdout] test application::session_manager::tests::count_reflects_registered_and_exited ... ok [INFO] [stdout] test application::start_use_case::tests::t_5_o_1_all_running_records_are_killed_and_marked_failed ... ok [INFO] [stdout] test application::stop_use_case::tests::execute_false_returns_not_running_when_no_pid ... ok [INFO] [stdout] test application::stop_use_case::tests::execute_false_returns_stale_when_process_dead ... ok [INFO] [stdout] test application::start_use_case::tests::t_5_o_2_null_pid_running_rows_are_marked_failed_without_kill ... ok [INFO] [stdout] test application::stop_use_case::tests::execute_rejects_pid_zero ... ok [INFO] [stdout] [main (root-commit) 5f80df8] init [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 init.txt [INFO] [stdout] test application::start_use_case::tests::t_5_o_3_live_process_killed_exactly_once ... ok [INFO] [stdout] test application::stop_use_case::tests::execute_true_returns_not_running_when_no_pid ... ok [INFO] [stdout] [main (root-commit) 03d567b] init [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 conflict.txt [INFO] [stdout] test application::session_manager::tests::registry_pid_removed_on_collect_exited ... ok [INFO] [stdout] test application::stop_use_case::tests::execute_true_stale_pid_returns_stale_cleaned ... ok [INFO] [stdout] test application::template_manager::tests::build_settings_base_duplicate_not_doubled ... ok [INFO] [stdout] test application::template_manager::tests::build_settings_base_only ... ok [INFO] [stdout] test application::template_manager::tests::build_settings_empty_slice_returns_base ... ok [INFO] [stdout] test application::template_manager::tests::build_settings_no_duplicates_in_allow ... ok [INFO] [stdout] test application::template_manager::tests::build_settings_unknown_key_returns_error ... ok [INFO] [stdout] test application::template_manager::tests::build_settings_with_multiple_templates ... ok [INFO] [stdout] test application::template_manager::tests::build_settings_with_rust_template ... ok [INFO] [stdout] test application::template_manager::tests::list_available_contains_expected_keys ... ok [INFO] [stdout] test bootstrap::app::tests::apply_pid_cleanup_deletes_pid_file_on_err_result ... ok [INFO] [stdout] test bootstrap::app::tests::apply_pid_cleanup_deletes_pid_file_on_ok_result ... ok [INFO] [stderr] To /tmp/.tmpGAGqzL [INFO] [stderr] * [new branch] main -> main [INFO] [stderr] To /tmp/.tmp6Ak9Xm [INFO] [stderr] * [new branch] main -> main [INFO] [stdout] test bootstrap::app::tests::apply_pid_cleanup_ok_when_pid_file_absent ... ok [INFO] [stderr] To /tmp/.tmp5TC8bt [INFO] [stderr] * [new branch] main -> mainTo /tmp/.tmp0kmE4C [INFO] [stderr] * [new branch] main -> main [INFO] [stderr] [INFO] [stdout] test bootstrap::app::tests::apply_pid_cleanup_preserves_original_err_when_deletion_fails ... ok [INFO] [stdout] test bootstrap::app::tests::check_and_clean_pid_file_removes_stale_pid_and_returns_ok ... ok [INFO] [stdout] test bootstrap::app::tests::check_and_clean_pid_file_returns_err_on_invalid_content ... ok [INFO] [stdout] test bootstrap::app::tests::check_and_clean_pid_file_returns_err_when_process_alive ... ok [INFO] [stdout] test bootstrap::app::tests::check_and_clean_pid_file_returns_ok_when_no_pid_file ... ok [INFO] [stdout] test bootstrap::app::tests::cleanup_aborts_when_daemon_is_running ... ok [INFO] [stdout] test bootstrap::app::tests::cleanup_aborts_when_pid_file_unreadable ... ok [INFO] [stdout] test bootstrap::app::tests::cleanup_proceeds_when_no_pid_file ... ok [INFO] [stdout] test bootstrap::app::tests::cleanup_proceeds_when_pid_file_stale ... ok [INFO] [stdout] test bootstrap::app::tests::daemon_status_appears_before_issue_list ... ok [INFO] [stdout] test application::session_manager::tests::log_is_written_after_process_completion ... ok [INFO] [stdout] test bootstrap::app::tests::daemon_status_not_running_when_no_pid_file ... ok [INFO] [stdout] test bootstrap::app::tests::daemon_status_stale_pid_cleaned ... ok [INFO] [stdout] test bootstrap::app::tests::daemon_status_running_when_pid_is_alive ... ok [INFO] [stdout] test bootstrap::app::tests::init_creates_schema_idempotently ... ok [INFO] [stdout] test bootstrap::app::tests::install_panic_hook_deletes_pid_file_on_panic ... ok [INFO] [stdout] test application::session_manager::tests::log_write_failure_does_not_kill_child ... ok [INFO] [stdout] test application::stop_use_case::tests::execute_true_includes_session_count ... ok [INFO] [stdout] branch 'main' set up to track 'origin/main'. [INFO] [stdout] test bootstrap::app::tests::issue_with_alive_pid_shows_alive ... ok [INFO] [stdout] test bootstrap::app::tests::issue_with_dead_pid_shows_dead ... ok [INFO] [stdout] test bootstrap::app::tests::issue_with_no_pid_shows_no_pid_info ... ok [INFO] [stdout] test bootstrap::app::tests::pid_file_path_helper_uses_config_dir ... ok [INFO] [stdout] test application::stop_use_case::tests::execute_true_sends_sigkill_not_sigterm ... ok [INFO] [stdout] test bootstrap::app::tests::running_count_only_counts_alive_processes ... ok [INFO] [stdout] test bootstrap::app::tests::status_with_active_issues ... ok [INFO] [stdout] branch 'main' set up to track 'origin/main'. [INFO] [stdout] test bootstrap::app::tests::t_6_st_1_process_not_running_when_no_pid_file ... ok [INFO] [stdout] test bootstrap::app::tests::status_with_no_active_issues ... ok [INFO] [stdout] test bootstrap::app::tests::t_6_st_2_process_running_with_pid ... ok [INFO] [stdout] test bootstrap::app::tests::t_6_st_3_stale_pid_shows_cleanup_message ... ok [INFO] [stdout] test bootstrap::app::tests::t_6_st_4_no_active_issues_message ... ok [INFO] [stdout] test bootstrap::app::tests::t_6_st_5_active_issues_show_claude_sessions ... ok [INFO] [stdout] branch 'main' set up to track 'origin/main'. [INFO] [stdout] test bootstrap::app::tests::t_6_st_6_default_excludes_completed_and_cancelled ... ok [INFO] [stdout] test bootstrap::app::tests::t_6_st_8_issue_line_contains_key_info ... ok [INFO] [stdout] branch 'main' set up to track 'origin/main'. [INFO] [stdout] test bootstrap::app::tests::test_ci_fix_label_pending_notification ... ok [INFO] [stdout] test bootstrap::app::tests::test_ci_fix_label_with_max_and_zero_count ... ok [INFO] [stdout] test bootstrap::app::tests::test_ci_fix_label_without_max ... ok [INFO] [stdout] test bootstrap::app::tests::test_ci_fix_label_with_max_shows_n_slash_max ... ok [INFO] [stdout] test bootstrap::app::tests::test_status_output_daemon_mode ... ok [INFO] [stdout] test bootstrap::app::tests::test_status_output_foreground_mode ... ok [INFO] [stdout] test bootstrap::app::tests::test_status_output_not_running ... ok [INFO] [stdout] test bootstrap::app::tests::test_status_output_session_label_no_max ... ok [INFO] [stdout] test bootstrap::app::tests::test_status_output_session_label_with_max ... ok [INFO] [stderr] Switched to a new branch 'feature' [INFO] [stdout] test bootstrap::app::tests::test_status_output_unknown_mode ... ok [INFO] [stdout] test bootstrap::app::tests::test_status_running_count_from_process_runs ... ok [INFO] [stdout] test bootstrap::config_loader::tests::cli_overrides_take_priority ... ok [INFO] [stdout] test bootstrap::config_loader::tests::fallback_chain_works ... ok [INFO] [stdout] test bootstrap::config_loader::tests::into_config_max_ci_fix_cycles_default ... ok [INFO] [stdout] test bootstrap::app::tests::test_status_running_count_zero_when_no_running_records ... ok [INFO] [stdout] test bootstrap::config_loader::tests::into_config_max_ci_fix_cycles_from_toml ... ok [INFO] [stdout] test bootstrap::config_loader::tests::into_config_max_ci_fix_cycles_zero_fails_validation ... ok [INFO] [stdout] test bootstrap::config_loader::tests::into_config_model_default ... ok [INFO] [stdout] test bootstrap::config_loader::tests::into_config_uses_defaults_for_optional_fields ... ok [INFO] [stdout] test bootstrap::config_loader::tests::into_config_model_specified ... ok [INFO] [stdout] test bootstrap::config_loader::tests::label_to_weight_both_labels_heavy_wins ... ok [INFO] [stdout] test bootstrap::config_loader::tests::label_to_weight_no_labels_medium ... ok [INFO] [stdout] test bootstrap::config_loader::tests::label_to_weight_only_heavy ... ok [INFO] [stdout] test bootstrap::config_loader::tests::label_to_weight_only_light ... ok [INFO] [stdout] test bootstrap::config_loader::tests::load_toml_file_not_found ... ok [INFO] [stdout] test bootstrap::config_loader::tests::missing_required_field_fails ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_claude_code_env_section_absent_defaults_to_empty ... ok [INFO] [stderr] Switched to a new branch 'feature' [INFO] [stdout] test bootstrap::config_loader::tests::parse_claude_code_env_section_present_no_extra_allow_defaults_to_empty ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_claude_code_env_section_with_extra_allow ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_full_toml ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_minimal_toml ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_max_concurrent_sessions ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_model_specified ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_model_unspecified ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_models_section_uniform ... ok [INFO] [stdout] test bootstrap::config_loader::tests::parse_models_section_per_phase ... ok [INFO] [stdout] test bootstrap::config_loader::tests::shutdown_timeout_secs_positive_value_used ... ok [INFO] [stdout] test bootstrap::config_loader::tests::shutdown_timeout_secs_unset_defaults_to_300s ... ok [INFO] [stdout] test bootstrap::config_loader::tests::shutdown_timeout_secs_zero_means_infinite_wait ... ok [INFO] [stdout] test bootstrap::config_loader::tests::trusted_associations_all_string ... ok [INFO] [stdout] test bootstrap::config_loader::tests::trusted_associations_case_insensitive ... ok [INFO] [stdout] test bootstrap::config_loader::tests::trusted_associations_invalid_value_returns_error ... ok [INFO] [stdout] test bootstrap::config_loader::tests::trusted_associations_list ... ok [INFO] [stdout] test bootstrap::config_loader::tests::trusted_associations_omitted_uses_default ... ok [INFO] [stdout] test bootstrap::logging::tests::log_level_as_filter_str ... ok [INFO] [stdout] test domain::author_association::tests::all_trusts_every_association ... ok [INFO] [stdout] test domain::author_association::tests::default_is_owner_member_collaborator ... ok [INFO] [stdout] test domain::author_association::tests::from_str_error_message_contains_input ... ok [INFO] [stdout] test domain::author_association::tests::from_str_valid_lowercase ... ok [INFO] [stdout] test domain::author_association::tests::from_str_invalid_returns_err ... ok [INFO] [stdout] test domain::author_association::tests::from_str_valid_mixed_case ... ok [INFO] [stdout] test domain::author_association::tests::from_str_valid_uppercase ... ok [INFO] [stdout] test domain::author_association::tests::specific_empty_rejects_all ... ok [INFO] [stdout] test domain::author_association::tests::specific_rejects_unlisted_associations ... ok [INFO] [stdout] test domain::author_association::tests::specific_trusts_listed_associations ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::default_extra_allow_is_empty ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::matches_pattern_bare_wildcard_never_matches ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::matches_pattern_exact_match ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::matches_pattern_exact_no_match ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::matches_pattern_leading_wildcard_treated_as_literal ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::matches_pattern_middle_wildcard_treated_as_literal ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::matches_pattern_suffix_wildcard_match ... ok [INFO] [stdout] test domain::claude_code_env_config::tests::matches_pattern_suffix_wildcard_no_match ... ok [INFO] [stdout] test domain::claude_settings::tests::deserialize_with_missing_fields_uses_empty_vecs ... ok [INFO] [stdout] test domain::claude_settings::tests::serialize_deserialize_roundtrip ... ok [INFO] [stdout] test domain::claude_settings::tests::deserialize_with_only_allow ... ok [INFO] [stdout] test domain::config::tests::default_with_repo_max_ci_fix_cycles_is_3 ... ok [INFO] [stdout] test domain::config::tests::default_with_repo_sets_correct_defaults ... ok [INFO] [stdout] test domain::config::tests::default_with_repo_log_dir_is_default_path ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_default_max_retries ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_none_max_concurrent_sessions ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_nonempty_log_dir ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_polling_above_minimum ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_polling_at_minimum ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_positive_max_ci_fix_cycles ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_positive_max_concurrent_sessions ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_positive_max_retries ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_stall_at_minimum_with_smaller_polling ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_stall_greater_than_polling ... ok [INFO] [stdout] test domain::config::tests::validate_accepts_valid_default_config ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_empty_default_branch ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_empty_default_model ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_empty_language ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_empty_log_dir ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_empty_owner ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_empty_repo ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_polling_below_minimum ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_polling_zero ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_stall_below_minimum ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_stall_equal_to_polling ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_stall_less_than_polling ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_stall_typical_misconfig ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_zero_max_ci_fix_cycles ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_zero_max_concurrent_sessions ... ok [INFO] [stdout] test domain::config::tests::validate_rejects_zero_max_retries ... ok [INFO] [stdout] test domain::config::tests::validate_skips_correlation_check_when_polling_too_small ... ok [INFO] [stdout] test domain::decide::tests::c_1_stays_completed ... ok [INFO] [stdout] test domain::decide::tests::c_2_worktree_path_not_null_emits_cleanup_worktree ... ok [INFO] [stdout] test domain::decide::tests::c_3_not_close_finished_emits_close_issue ... ok [INFO] [stdout] test domain::decide::tests::c_4_worktree_null_and_close_finished_no_effects ... ok [INFO] [stdout] test domain::decide::tests::cross_1_weight_propagated_when_changed ... ok [INFO] [stdout] test domain::decide::tests::cross_2_effects_in_priority_order ... ok [INFO] [stdout] test domain::decide::tests::cross_3_decide_performs_no_io ... ok [INFO] [stdout] test domain::decide::tests::cross_4_post_ci_fix_limit_and_count_produced_together ... ok [INFO] [stdout] test domain::decide::tests::cross_5_post_ci_fix_limit_refires_when_count_exceeds_max_unnotified_ci ... ok [INFO] [stdout] test domain::decide::tests::cross_6_post_ci_fix_limit_suppressed_when_notified_ci ... ok [INFO] [stdout] test domain::decide::tests::cross_7_post_ci_fix_limit_refires_when_count_exceeds_max_unnotified_conflict ... ok [INFO] [stdout] test domain::decide::tests::cross_8_post_ci_fix_limit_suppressed_when_notified_conflict ... ok [INFO] [stdout] test domain::decide::tests::df_10_causes_rederived_from_world_snapshot ... ok [INFO] [stdout] test domain::decide::tests::df_1_issue_closed_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::df_2_design_pr_merged_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::df_3_design_pr_closed_goes_design_running ... ok [INFO] [stdout] test domain::decide::tests::df_4_no_design_pr_goes_design_running ... ok [INFO] [stdout] test domain::decide::tests::df_6_design_fix_failed_under_cap_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::df_5_design_fix_failures_at_max_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::df_7_design_fix_stale_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::df_7b_design_fix_pending_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::df_9_no_process_spawns_design_fix ... ok [INFO] [stdout] test domain::decide::tests::df_8_design_fix_succeeded_goes_design_review_waiting ... ok [INFO] [stdout] test domain::decide::tests::df_to_dr_pr_closed_emits_spawn_design ... ok [INFO] [stdout] test domain::decide::tests::df_to_ir_merged_emits_spawn_impl ... ok [INFO] [stdout] test domain::decide::tests::dr_1_issue_closed_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::dr_2_consecutive_failures_at_max_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::dr_4_design_stale_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::dr_3_design_failed_under_cap_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::dr_4b_design_pending_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::dr_5_design_succeeded_pr_merged_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::dr_6_design_succeeded_pr_closed_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::dr_7_design_succeeded_pr_open_goes_design_review_waiting ... ok [INFO] [stdout] test domain::decide::tests::dr_8_no_process_spawns_design ... ok [INFO] [stdout] test domain::decide::tests::dr_to_ir_emits_spawn_impl ... ok [INFO] [stdout] test domain::decide::tests::drw_10_no_design_pr_goes_design_running ... ok [INFO] [stdout] test domain::decide::tests::drw_11_priority_merge_beats_close_beats_review_beats_ci_beats_conflict ... ok [INFO] [stderr] Switched to a new branch 'feature' [INFO] [stdout] test domain::decide::tests::drw_12_ci_failure_always_ignored_in_design_phase ... ok [INFO] [stderr] Switched to a new branch 'feature' [INFO] [stdout] test domain::decide::tests::drw_1_issue_closed_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::drw_2_design_pr_merged_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::drw_3_design_pr_closed_goes_design_running ... ok [INFO] [stdout] test domain::decide::tests::drw_4_has_review_comments_goes_design_fixing_with_reset ... ok [INFO] [stdout] test domain::decide::tests::drw_5_review_comments_plus_ci_failure_goes_fixing_with_reset ... ok [INFO] [stdout] test domain::decide::tests::drw_6_ci_failure_ignored_stays_waiting ... ok [INFO] [stdout] test domain::decide::tests::drw_7_ci_failure_exhausted_ignored_stays_waiting ... ok [INFO] [stdout] test domain::decide::tests::drw_8_conflict_ignored_stays_waiting ... ok [INFO] [stdout] test domain::decide::tests::drw_9_conflict_exhausted_ignored_stays_waiting ... ok [INFO] [stdout] test domain::decide::tests::drw_to_df_pending_process_emits_spawn_with_pending_id ... ok [INFO] [stdout] test domain::decide::tests::drw_to_df_no_prior_process_emits_spawn ... ok [INFO] [stdout] test domain::decide::tests::drw_to_df_running_process_no_spawn ... ok [INFO] [stdout] test domain::decide::tests::drw_to_df_with_stale_succeeded_emits_spawn_process ... ok [INFO] [stdout] test domain::decide::tests::drw_to_dr_no_pr_emits_spawn_design ... ok [INFO] [stdout] test domain::decide::tests::drw_to_ir_merged_emits_spawn_impl ... ok [INFO] [stdout] test domain::decide::tests::idle_1_ready_label_trusted_goes_to_initialize_running ... ok [INFO] [stdout] test domain::decide::tests::idle_2_ready_label_untrusted_stays_idle_with_reject ... ok [INFO] [stdout] test domain::decide::tests::idle_3_no_ready_label_stays_idle_no_effects ... ok [INFO] [stdout] test domain::decide::tests::idle_to_init_emits_spawn_init ... ok [INFO] [stdout] test domain::decide::tests::if_10_causes_rederived_from_snapshot ... ok [INFO] [stdout] test domain::decide::tests::if_1_issue_closed_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::if_2_impl_pr_merged_goes_completed ... ok [INFO] [stdout] test domain::decide::tests::if_3_impl_pr_closed_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::if_4_no_impl_pr_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::if_5_impl_fix_failures_at_max_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::if_6_impl_fix_failed_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::if_7_impl_fix_stale_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::if_7b_impl_fix_pending_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::if_8_impl_fix_succeeded_goes_impl_review_waiting ... ok [INFO] [stdout] test domain::decide::tests::if_9_no_process_spawns ... ok [INFO] [stdout] test domain::decide::tests::if_to_ir_pr_closed_emits_spawn_impl ... ok [INFO] [stdout] test domain::decide::tests::init_10_closed_state_beats_all_others ... ok [INFO] [stdout] test domain::decide::tests::init_1_issue_closed_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::init_2_consecutive_failures_at_max_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::init_3_init_failed_under_cap_stays_with_spawn_init ... ok [INFO] [stdout] test domain::decide::tests::init_4_succeeded_impl_pr_merged_goes_completed ... ok [INFO] [stdout] test domain::decide::tests::init_5_succeeded_impl_pr_open_goes_impl_review_waiting ... ok [INFO] [stdout] test domain::decide::tests::init_6_succeeded_design_pr_merged_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::init_7_succeeded_design_pr_open_goes_design_review_waiting ... ok [INFO] [stdout] test domain::decide::tests::init_8_succeeded_no_pr_goes_design_running ... ok [INFO] [stdout] test domain::decide::tests::init_9_no_init_process_spawns_init ... ok [INFO] [stdout] test domain::decide::tests::init_to_dr_emits_spawn_design ... ok [INFO] [stdout] test domain::decide::tests::ir_1_issue_closed_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::init_to_ir_emits_spawn_impl ... ok [INFO] [stdout] test domain::decide::tests::ir_2_consecutive_failures_at_max_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::ir_3_impl_failed_stays_with_switch_and_spawn ... ok [INFO] [stdout] test domain::decide::tests::ir_4_impl_stale_stays_with_switch_and_spawn ... ok [INFO] [stdout] test domain::decide::tests::ir_4b_impl_pending_stays_with_spawn ... ok [INFO] [stdout] test domain::decide::tests::ir_5_impl_succeeded_pr_merged_goes_completed ... ok [INFO] [stdout] test domain::decide::tests::ir_6_impl_succeeded_pr_closed_stays_impl_running ... ok [INFO] [stdout] test domain::decide::tests::ir_7_impl_succeeded_pr_open_goes_impl_review_waiting ... ok [INFO] [stdout] test domain::decide::tests::ir_8_no_process_spawns_with_switch ... ok [INFO] [stdout] test domain::decide::tests::ir_9_switch_ordered_before_spawn_process ... ok [INFO] [stdout] test domain::decide::tests::irw_closed_goes_cancelled ... ok [INFO] [stdout] test domain::decide::tests::irw_merge_impl_pr_merged_goes_completed ... ok [INFO] [stdout] test domain::decide::tests::irw_no_impl_pr_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::irw_closed_pr_goes_impl_running ... ok [INFO] [stdout] test domain::decide::tests::irw_review_comments_goes_impl_fixing ... ok [INFO] [stdout] test domain::decide::tests::irw_to_if_with_stale_succeeded_emits_spawn_process ... ok [INFO] [stdout] test domain::decide::tests::irw_to_ir_pr_closed_emits_spawn_impl ... ok [INFO] [stdout] test domain::decide::tests::x_1_close_finished_issue_open_goes_idle ... ok [INFO] [stdout] test domain::decide::tests::x_2_not_close_finished_stays_cancelled_with_close_issue ... ok [INFO] [stdout] test domain::decide::tests::x_3_close_finished_github_issue_closed_stays_cancelled_no_effects ... ok [INFO] [stdout] test domain::decide::tests::x_4_cancelled_to_idle_does_not_reset_ci_fix_count ... ok [INFO] [stdout] test domain::effect::tests::effect_enum_has_correct_variants ... ok [INFO] [stdout] test domain::effect::tests::effect_priority_ordering ... ok [INFO] [stdout] test domain::effect::tests::is_best_effort_returns_correct_values ... ok [INFO] [stdout] test domain::effect::tests::sorting_by_priority_produces_correct_order ... ok [INFO] [stdout] test domain::fixing_problem_kind::tests::deserialize_roundtrip ... ok [INFO] [stdout] test domain::fixing_problem_kind::tests::serialize_ci_failure ... ok [INFO] [stdout] test domain::fixing_problem_kind::tests::serialize_conflict ... ok [INFO] [stdout] test domain::fixing_problem_kind::tests::serialize_empty_vec ... ok [INFO] [stdout] test domain::fixing_problem_kind::tests::serialize_review_comments ... ok [INFO] [stdout] test domain::issue::tests::default_constructed_issue_has_expected_values ... ok [INFO] [stdout] test domain::issue::tests::issue_has_correct_fields ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_can_set_consecutive_failures_epoch ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_can_set_worktree_path_to_none ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_clears_body_hash ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_does_not_touch_body_hash_when_none ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_leaves_ci_fix_limit_notified_unchanged_when_none ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_only_mutates_some_fields ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_sets_body_hash ... ok [INFO] [stdout] test domain::metadata_update::tests::apply_to_sets_ci_fix_limit_notified_when_some ... ok [INFO] [stdout] test domain::metadata_update::tests::metadata_updates_default_is_all_none ... ok [INFO] [stdout] test domain::metadata_update::tests::metadata_updates_has_correct_fields ... ok [INFO] [stdout] test domain::model_config::tests::resolve_medium_falls_back_to_default_when_no_medium_config ... ok [INFO] [stdout] test domain::model_config::tests::resolve_no_weight_config_returns_default ... ok [INFO] [stdout] test domain::model_config::tests::resolve_per_phase_exact_match ... ok [INFO] [stdout] test domain::model_config::tests::resolve_per_phase_explicit_fix_overrides_base ... ok [INFO] [stdout] test domain::model_config::tests::resolve_per_phase_fallback_to_base ... ok [INFO] [stdout] test domain::model_config::tests::resolve_per_phase_fallback_to_global_default ... ok [INFO] [stdout] test domain::model_config::tests::resolve_phase_none_returns_default ... ok [INFO] [stdout] test domain::model_config::tests::resolve_uniform_weight_config ... ok [INFO] [stdout] test domain::model_config::tests::validate_accepts_per_phase_with_none_fields ... ok [INFO] [stdout] test domain::model_config::tests::validate_accepts_valid_config ... ok [INFO] [stdout] test domain::model_config::tests::validate_rejects_empty_default_model ... ok [INFO] [stdout] test domain::model_config::tests::validate_rejects_empty_per_phase_model ... ok [INFO] [stdout] test domain::model_config::tests::validate_rejects_empty_uniform_weight_model ... ok [INFO] [stdout] test domain::phase::tests::base_design_fix_returns_design ... ok [INFO] [stdout] test domain::phase::tests::base_design_returns_none ... ok [INFO] [stdout] test domain::phase::tests::base_implementation_fix_returns_implementation ... ok [INFO] [stdout] test domain::phase::tests::base_implementation_returns_none ... ok [INFO] [stdout] test domain::phase::tests::from_state_design_fixing ... ok [INFO] [stdout] test domain::phase::tests::from_state_design_running ... ok [INFO] [stdout] test domain::phase::tests::from_state_implementation_fixing ... ok [INFO] [stdout] test domain::phase::tests::from_state_implementation_running ... ok [INFO] [stdout] test domain::phase::tests::from_state_non_spawn_states_return_none ... ok [INFO] [stdout] test domain::process_run::tests::new_running_constructor_sets_correct_defaults ... ok [INFO] [stdout] test domain::process_run::tests::process_run_has_correct_fields ... ok [INFO] [stdout] test domain::process_run::tests::process_run_state_has_4_variants_with_roundtrip ... ok [INFO] [stdout] test domain::process_run::tests::process_run_type_has_5_variants_with_roundtrip ... ok [INFO] [stdout] test domain::shutdown_mode::tests::shutdown_mode_force ... ok [INFO] [stdout] test domain::shutdown_mode::tests::shutdown_mode_graceful_with_deadline ... ok [INFO] [stdout] test domain::shutdown_mode::tests::shutdown_mode_graceful_without_deadline ... ok [INFO] [stdout] test domain::shutdown_mode::tests::shutdown_mode_none_is_default_state ... ok [INFO] [stdout] test domain::state::tests::initialize_running_variant_exists ... ok [INFO] [stdout] test domain::state::tests::is_review_waiting_returns_true_only_for_waiting_states ... ok [INFO] [stdout] test domain::state::tests::is_terminal_returns_true_for_completed_and_cancelled ... ok [INFO] [stdout] test domain::state::tests::state_has_exactly_10_variants_with_canonical_snake_case ... ok [INFO] [stdout] test domain::state::tests::state_roundtrips_through_display_and_fromstr ... ok [INFO] [stdout] test domain::task_weight::tests::default_is_medium ... ok [INFO] [stdout] test domain::task_weight::tests::deserialize_all_variants ... ok [INFO] [stdout] test domain::task_weight::tests::serde_roundtrip_heavy ... ok [INFO] [stdout] test domain::task_weight::tests::serde_roundtrip_light ... ok [INFO] [stdout] test domain::task_weight::tests::serde_roundtrip_medium ... ok [INFO] [stdout] test domain::world_snapshot::tests::github_issue_snapshot_has_correct_fields ... ok [INFO] [stdout] test domain::world_snapshot::tests::idle_fixture_returns_sane_default ... ok [INFO] [stdout] test domain::world_snapshot::tests::pr_snapshot_has_correct_fields ... ok [INFO] [stdout] test domain::world_snapshot::tests::process_snapshot_has_correct_fields ... ok [INFO] [stdout] test domain::world_snapshot::tests::processes_snapshot_has_correct_fields ... ok [INFO] [stdout] test domain::world_snapshot::tests::world_snapshot_has_correct_fields ... ok [INFO] [stdout] test i18n_tests::en_design_starting ... ok [INFO] [stdout] test i18n_tests::en_retry_exhausted_interpolation ... ok [INFO] [stdout] test i18n_tests::ja_design_starting ... ok [INFO] [stdout] test i18n_tests::unknown_locale_falls_back_to_en ... ok [INFO] [stdout] test application::session_manager::tests::registry_shutdown_sync_terminates_sleep_process ... ok [INFO] [stdout] [feature e770fd3] feature [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 feature.txt [INFO] [stdout] [feature 53d6b30] feat [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 feature.txt [INFO] [stdout] test application::stop_use_case::tests::execute_false_sends_sigterm_not_sigkill_for_graceful ... ok [INFO] [stderr] To /tmp/.tmpGAGqzL [INFO] [stderr] * [new branch] feature -> feature [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] [feature f9eaf5a] feat [INFO] [stdout] 1 file changed, 1 insertion(+), 1 deletion(-) [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] [feature a120f22] feat [INFO] [stdout] 1 file changed, 1 insertion(+), 1 deletion(-) [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] branch 'feature' set up to track 'origin/feature'. [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpUGP1xI/.git/ [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpjGGKRs/.git/ [INFO] [stderr] Switched to branch 'main' [INFO] [stdout] Your branch is up to date with 'origin/main'. [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpKsxMt1/.git/ [INFO] [stdout] test application::init_use_case::tests::init_use_case_second_run_skips_everything ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::t_4_wt_2_checkout_and_pull_on_clean_worktree ... ok [INFO] [stderr] From /tmp/.tmp6Ak9Xm [INFO] [stderr] * [new branch] main -> origin/main [INFO] [stderr] From /tmp/.tmp0kmE4C [INFO] [stderr] * [new branch] main -> origin/main [INFO] [stderr] From /tmp/.tmp5TC8bt [INFO] [stderr] * [new branch] main -> origin/main [INFO] [stderr] Switched to a new branch 'main' [INFO] [stdout] branch 'main' set up to track 'origin/main'. [INFO] [stderr] Switched to a new branch 'main' [INFO] [stdout] branch 'main' set up to track 'origin/main'. [INFO] [stderr] Switched to a new branch 'main' [INFO] [stdout] branch 'main' set up to track 'origin/main'. [INFO] [stdout] [main ac6af6c] other [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 other.txt [INFO] [stderr] To /tmp/.tmp6Ak9Xm [INFO] [stderr] e209be0..ac6af6c main -> main [INFO] [stdout] [main 9443d8f] main change [INFO] [stdout] 1 file changed, 1 insertion(+), 1 deletion(-) [INFO] [stdout] [main 26194a0] main change [INFO] [stdout] 1 file changed, 1 insertion(+), 1 deletion(-) [INFO] [stderr] To /tmp/.tmp0kmE4C [INFO] [stderr] 5008170..9443d8f main -> main [INFO] [stderr] To /tmp/.tmp5TC8bt [INFO] [stderr] 03d567b..26194a0 main -> main [INFO] [stderr] From /tmp/.tmp6Ak9Xm [INFO] [stderr] e209be0..ac6af6c main -> origin/main [INFO] [stderr] From /tmp/.tmp5TC8bt [INFO] [stderr] 03d567b..26194a0 main -> origin/main [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::merge_clean_merge_succeeds ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::merge_conflict_returns_err ... ok [INFO] [stdout] test adapter::outbound::git_worktree_manager::tests::t_4_wt_1_fetch_and_merge_conflict_returns_ok ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::pagination_tests::test_two_pages_all_events_collected ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::pagination_tests::test_single_page_loop_terminates ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::pagination_tests::test_page_limit_prevents_excess_requests ... ok [INFO] [stdout] test adapter::outbound::github_rest_client::tests::pagination_tests::test_actor_from_second_page ... ok [INFO] [stdout] test bootstrap::app::tests::install_panic_hook_kills_child_even_with_poisoned_mutex ... ok [INFO] [stdout] test bootstrap::app::tests::install_panic_hook_kills_registered_child_process ... ok [INFO] [stdout] test bootstrap::app::tests::install_panic_hook_safe_when_pid_file_absent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 771 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 7.32s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cupola-6e77526629390bfd) [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] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-8adfa211e98e2218) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test config_validation_rejects_zero ... ok [INFO] [stdout] test version_flag_exits_with_zero_and_prints_version ... ok [INFO] [stdout] test version_short_flag_exits_with_zero_and_matches_long ... ok [INFO] [stdout] test session_manager_stall_detection ... ok [INFO] [stdout] test session_manager_lifecycle ... ok [INFO] [stdout] test session_count_decreases_after_process_exit ... ok [INFO] [stdout] test panic_hook_safe_when_pid_file_absent_in_thread ... ok [INFO] [stdout] test two_concurrent_sessions_github_error_isolated_per_session ... FAILED [INFO] [stdout] test panic_hook_deletes_pid_file_in_spawned_thread ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- two_concurrent_sessions_github_error_isolated_per_session stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'two_concurrent_sessions_github_error_isolated_per_session' (1211) panicked at tests/integration_test.rs:728:5: [INFO] [stdout] error_message should contain the GitHub error detail [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x60d1f01ba8fa - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x60d1f01ba8fa - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x60d1f01ba8fa - std[128c3efe2914e152]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x60d1f01ba8fa - <::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x60d1f01d112a - ::fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x60d1f01d112a - core[6771d259883166e6]::fmt::write [INFO] [stdout] 6: 0x60d1f01bf942 - std[128c3efe2914e152]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11 [INFO] [stdout] 7: 0x60d1f01bf942 - as std[128c3efe2914e152]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13 [INFO] [stdout] 8: 0x60d1f019739f - ::print [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x60d1f019739f - std[128c3efe2914e152]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x60d1f01b1e69 - std[128c3efe2914e152]::panicking::default_hook [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x60d1efecb793 - as core::ops::function::Fn>::call::hc02c683fcc214c4b [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9 [INFO] [stdout] 12: 0x60d1eff0cbc8 - cupola::bootstrap::app::install_panic_hook::{{closure}}::hed3f2115fa7ae290 [INFO] [stdout] at /opt/rustwide/workdir/src/bootstrap/app.rs:956:9 [INFO] [stdout] 13: 0x60d1f01b20e2 - core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9 [INFO] [stdout] 14: 0x60d1f01b20e2 - std[128c3efe2914e152]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x60d1f019748a - std[128c3efe2914e152]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x60d1f018bed9 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x60d1f019825d - __rustc[752cc74e29381ccc]::rust_begin_unwind [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x60d1f01d191c - core[6771d259883166e6]::panicking::panic_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x60d1efe23a96 - integration_test::two_concurrent_sessions_github_error_isolated_per_session::{{closure}}::hf408f7a3602d5266 [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_test.rs:728:5 [INFO] [stdout] 20: 0x60d1efe28cb2 - as core::future::future::Future>::poll::hc4e15e307347fc55 [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/future/future.rs:133:9 [INFO] [stdout] 21: 0x60d1efe28d2d - as core::future::future::Future>::poll::hf45fb54e05648696 [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/future/future.rs:133:9 [INFO] [stdout] 22: 0x60d1efe429ad - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h134fe037fe2552a6 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:70 [INFO] [stdout] 23: 0x60d1efe4275b - tokio::task::coop::with_budget::h4af2a67757903d4f [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:167:5 [INFO] [stdout] 24: 0x60d1efe4275b - tokio::task::coop::budget::he7c033e9b806b73f [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:133:5 [INFO] [stdout] 25: 0x60d1efe4275b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h7d3c050c14d416da [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:25 [INFO] [stdout] 26: 0x60d1efe3ffa0 - tokio::runtime::scheduler::current_thread::Context::enter::hb8597654ae6a0d9c [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:446:19 [INFO] [stdout] 27: 0x60d1efe41dcd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::hb0f860ff6584e936 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:768:44 [INFO] [stdout] 28: 0x60d1efe40f54 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h8f290b0d4f64558f [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:68 [INFO] [stdout] 29: 0x60d1efe279eb - tokio::runtime::context::scoped::Scoped::set::hd0edf2c86b0b0efe [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/scoped.rs:40:9 [INFO] [stdout] 30: 0x60d1efe3c3c9 - tokio::runtime::context::set_scheduler::{{closure}}::h3556b0810d72928c [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:38 [INFO] [stdout] 31: 0x60d1efe24552 - std::thread::local::LocalKey::try_with::h3701f5871ead99b6 [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/local.rs:462:12 [INFO] [stdout] 32: 0x60d1efe240de - std::thread::local::LocalKey::with::ha7b7107009def243 [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/local.rs:426:20 [INFO] [stdout] 33: 0x60d1efe3c33d - tokio::runtime::context::set_scheduler::h074e1f311613c8d8 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:17 [INFO] [stdout] 34: 0x60d1efe40d00 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hd41681a1a96d6102 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:27 [INFO] [stdout] 35: 0x60d1efe41036 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h89a55d97ef3c3834 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:756:24 [INFO] [stdout] 36: 0x60d1efe3f280 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hf3b4c0c6a5214004 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:200:33 [INFO] [stdout] 37: 0x60d1efe27b53 - tokio::runtime::context::runtime::enter_runtime::h3299f6a3d0f3e49c [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/runtime.rs:65:16 [INFO] [stdout] 38: 0x60d1efe3ec41 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h0393679f4f60e460 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:188:9 [INFO] [stdout] 39: 0x60d1efe287e4 - tokio::runtime::runtime::Runtime::block_on_inner::h01a95756a30f9312 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:371:52 [INFO] [stdout] 40: 0x60d1efe28abf - tokio::runtime::runtime::Runtime::block_on::h1ce7fa333dc401a4 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:345:18 [INFO] [stdout] 41: 0x60d1efe21e52 - integration_test::two_concurrent_sessions_github_error_isolated_per_session::h5d6abccce011d3cf [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_test.rs:747:6 [INFO] [stdout] 42: 0x60d1efe21ee7 - integration_test::two_concurrent_sessions_github_error_isolated_per_session::{{closure}}::hcf4db8edddbec9b5 [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_test.rs:624:69 [INFO] [stdout] 43: 0x60d1efe3d306 - core::ops::function::FnOnce::call_once::h098fbfb88a04b5d5 [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 44: 0x60d1efe4c0ab - core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 45: 0x60d1efe4c0ab - test[b137923399915ecf]::__rust_begin_short_backtrace::, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18 [INFO] [stdout] 46: 0x60d1efe58a7b - test[b137923399915ecf]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74 [INFO] [stdout] 47: 0x60d1efe58a7b - as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 48: 0x60d1efe58a7b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40 [INFO] [stdout] 49: 0x60d1efe58a7b - std[128c3efe2914e152]::panicking::catch_unwind::, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19 [INFO] [stdout] 50: 0x60d1efe58a7b - std[128c3efe2914e152]::panic::catch_unwind::, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14 [INFO] [stdout] 51: 0x60d1efe58a7b - test[b137923399915ecf]::run_test_in_process [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27 [INFO] [stdout] 52: 0x60d1efe58a7b - test[b137923399915ecf]::run_test::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43 [INFO] [stdout] 53: 0x60d1efe52ed4 - test[b137923399915ecf]::run_test::{closure#1} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41 [INFO] [stdout] 54: 0x60d1efe52ed4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 55: 0x60d1efe5b682 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 56: 0x60d1efe5b682 - ::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 57: 0x60d1efe5b682 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40 [INFO] [stdout] 58: 0x60d1efe5b682 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19 [INFO] [stdout] 59: 0x60d1efe5b682 - std[128c3efe2914e152]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14 [INFO] [stdout] 60: 0x60d1efe5b682 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 61: 0x60d1efe5b682 - ::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 62: 0x60d1f01b9caf - + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9 [INFO] [stdout] 63: 0x60d1f01b9caf - ::new::thread_start [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 64: 0x709e0d8a7aa4 - [INFO] [stdout] 65: 0x709e0d934a64 - clone [INFO] [stdout] 66: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] two_concurrent_sessions_github_error_isolated_per_session [INFO] [stdout] [INFO] [stdout] test result: FAILED. 8 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--test integration_test` [INFO] running `Command { std: "docker" "inspect" "51025bead33208348d92eccbb865dde0281691c1f780d0c4e4c6bf83ce4df3d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "51025bead33208348d92eccbb865dde0281691c1f780d0c4e4c6bf83ce4df3d8", kill_on_drop: false }` [INFO] [stdout] 51025bead33208348d92eccbb865dde0281691c1f780d0c4e4c6bf83ce4df3d8