[INFO] cloning repository https://github.com/ymadd/agentpit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ymadd/agentpit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fymadd%2Fagentpit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fymadd%2Fagentpit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 66054dae1b4497a84362445f92de2b8c0a788933
[INFO] testing ymadd/agentpit against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fymadd%2Fagentpit" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ymadd/agentpit
[INFO] finished tweaking git repo https://github.com/ymadd/agentpit
[INFO] tweaked toml for git repo https://github.com/ymadd/agentpit written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ymadd/agentpit on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ymadd/agentpit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0
[INFO] running `Command { std: "docker" "start" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling rmcp v1.7.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling endian-type v0.2.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling self_update v0.44.0
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling radix_trie v0.3.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling rustyline v18.0.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling polling v3.11.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling async-signal v0.2.14
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling futures-concurrency v7.7.1
[INFO] [stderr]    Compiling self-replace v1.5.0
[INFO] [stderr]    Compiling tar v0.4.45
[INFO] [stderr]    Compiling async-process v2.5.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling agent-client-protocol-derive v0.11.1
[INFO] [stderr]    Compiling cliclack v0.5.4
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_with_macros v3.20.0
[INFO] [stderr]    Compiling rmcp-macros v1.7.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling jsonrpcmsg v0.1.2
[INFO] [stderr]    Compiling agentpit-events v0.1.0 (/opt/rustwide/workdir/agentpit-events)
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde_with v3.20.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling agent-client-protocol-schema v0.13.2
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling agent-client-protocol v0.12.1
[INFO] [stderr]    Compiling agentpit v0.1.25 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 40s
[INFO] running `Command { std: "docker" "inspect" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling agentpit-events v0.1.0 (/opt/rustwide/workdir/agentpit-events)
[INFO] [stderr]    Compiling agentpit v0.1.25 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.50s
[INFO] running `Command { std: "docker" "inspect" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.74s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentpit-b5bd1c6b8bd3fa18)
[INFO] [stdout] 
[INFO] [stdout] running 305 tests
[INFO] [stdout] test ask::core::tests::ask_kind_parses_and_defaults_to_review ... ok
[INFO] [stdout] test cli::cancel::tests::interrupted_maps_to_back ... ok
[INFO] [stdout] test cli::cancel::tests::nav_variants_are_distinct ... ok
[INFO] [stdout] test auth::detect_failure::tests::formats_message_with_launch_hint ... ok
[INFO] [stdout] test cli::cancel::tests::ok_maps_to_value ... ok
[INFO] [stdout] test cli::cancel::tests::not_connected_propagates_as_err ... ok
[INFO] [stdout] test cli::cancel::tests::permission_denied_propagates_as_err ... ok
[INFO] [stdout] test cli::diagnose::tests::confident_coding_task_routes_to_profile_argmax ... ok
[INFO] [stdout] test cli::diagnose::tests::human_render_contains_chain ... ok
[INFO] [stdout] test cli::cancel::tests::other_error_kind_propagates_as_err ... ok
[INFO] [stdout] test cli::ensemble::tests::aggregator_prompt_includes_responses ... ok
[INFO] [stdout] test cli::init::tests::embeds_eleven_commands_and_eleven_skills ... ok
[INFO] [stdout] test cli::ensemble::tests::aggregator_prompt_bounds_each_member ... ok
[INFO] [stdout] test cli::ensemble::tests::clamp_truncates_long_output_on_char_boundary ... ok
[INFO] [stdout] test cli::init::tests::user_scope_uses_home_dot_claude ... ok
[INFO] [stdout] test cli::profile::tests::render_show_includes_source_and_scores ... ok
[INFO] [stdout] test cli::diagnose::tests::low_confidence_task_falls_back_to_default ... ok
[INFO] [stdout] test cli::diagnose::tests::report_serializes_to_expected_json_shape ... ok
[INFO] [stdout] test cli::ensemble::tests::emits_section_per_outcome ... ok
[INFO] [stdout] test cli::profile::tests::run_dry_run_without_fixture_prints_plan ... ok
[INFO] [stdout] test cli::profile::tests::run_replay_and_raw_replay_are_mutually_exclusive ... ok
[INFO] [stdout] test cli::ensemble::tests::aggregator_prompt_marks_failed_members ... ok
[INFO] [stdout] test cli::ensemble::tests::clamp_keeps_short_output_verbatim ... ok
[INFO] [stdout] test cli::profile::tests::run_replay_rejects_backend_mismatch ... ok
[INFO] [stdout] test cli::profile::tests::run_replay_dry_run_scores_without_writing ... ok
[INFO] [stdout] test cli::init::tests::project_scope_uses_cwd_dot_claude ... ok
[INFO] [stdout] test cli::profile::tests::render_show_flags_unpersisted_defaults ... ok
[INFO] [stdout] test cli::diagnose::tests::confident_task_with_unscored_category_falls_back ... ok
[INFO] [stdout] test cli::profile::tests::run_without_target_demands_one ... ok
[INFO] [stdout] test cli::refute_bench::tests::render_explains_a_failed_leg_instead_of_a_bare_n_a ... ok
[INFO] [stdout] test cli::repl::commands::tests::empty_input_returns_none ... ok
[INFO] [stdout] test cli::repl::commands::tests::parse_slash_preserves_multi_word_rest ... ok
[INFO] [stdout] test cli::refute_bench::tests::render_shows_before_after_delta_and_per_probe_verdict ... ok
[INFO] [stdout] test cli::repl::commands::tests::non_slash_input_returns_none ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_backend_set_with_arg ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_backend_set_trims_whitespace ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_backend_show_when_no_arg ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_clear ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_config ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_cwd_no_arg ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_cwd_with_path ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_ensemble_empty_prompt ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_ensemble_with_prompt ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_exit_as_quit ... ok
[INFO] [stdout] test cli::profile::tests::seed_writes_then_refuses_without_force ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_quit ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_help ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_login_no_arg ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_help_case_insensitive ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_login_with_backend ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_menu ... ok
[INFO] [stdout] test cli::repl::commands::tests::valid_backends_list_is_comma_separated ... ok
[INFO] [stdout] test cli::profile::tests::reset_clears_measured_values_back_to_seeded ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_status ... ok
[INFO] [stdout] test cli::repl::commands::tests::unknown_command_returns_none ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_review_with_target ... ok
[INFO] [stdout] test cli::repl::commands::tests::parses_workflow_with_goal ... ok
[INFO] [stdout] test cli::repl::commands::tests::valid_backends_list_includes_known_backends ... ok
[INFO] [stdout] test cli::profile::tests::run_replay_scores_fixture_and_merges_into_profiles ... ok
[INFO] [stdout] test cli::repl::dispatch_turn::tests::at_prefix_with_agy_alias_parses ... ok
[INFO] [stdout] test cli::repl::dispatch_turn::tests::at_prefix_with_unknown_backend_returns_none ... ok
[INFO] [stdout] test cli::repl::dispatch_turn::tests::leading_whitespace_before_at_is_accepted ... ok
[INFO] [stdout] test cli::repl::dispatch_turn::tests::plain_text_has_no_modifier ... ok
[INFO] [stdout] test cli::repl::dispatch_turn::tests::plain_text_with_at_in_middle_is_not_treated_as_modifier ... ok
[INFO] [stdout] test cli::rescue::tests::role_and_backend_together_is_a_hard_error ... ok
[INFO] [stdout] test cli::profile::tests::run_raw_replay_grades_through_judge_and_merges ... ok
[INFO] [stdout] test cli::repl::dispatch_turn::tests::at_prefix_with_valid_backend_parses ... ok
[INFO] [stdout] test cli::rescue::tests::backend_only_plans_a_direct_explicit_dispatch ... ok
[INFO] [stdout] test cli::repl::dispatch_turn::tests::at_prefix_alone_no_task_text ... ok
[INFO] [stdout] test cli::rescue::tests::no_role_no_backend_plans_a_direct_default_dispatch ... ok
[INFO] [stdout] test cli::workflow::tests::low_tier_discipline_invites_ab_fork_asks ... ok
[INFO] [stdout] test cli::workflow::tests::manager_persona_block_is_injected_in_both_modes ... ok
[INFO] [stdout] test cli::rescue::tests::role_only_plans_a_role_dispatch ... ok
[INFO] [stdout] test cli::workflow::tests::cli_prompt_has_no_mcp_tool_names ... ok
[INFO] [stdout] test cli::workflow::tests::manager_resolution_order_explicit_then_role_then_config_then_default ... ok
[INFO] [stdout] test cli::workflow::tests::conversation_block_teaches_handoff_and_refute_when_enabled ... ok
[INFO] [stdout] test cli::workflow::tests::mcp_conversation_block_points_at_post_note_and_refute_tools ... ok
[INFO] [stdout] test cli::workflow::tests::discipline_block_absent_when_ask_disabled ... ok
[INFO] [stdout] test cli::workflow::tests::legacy_mcp_prompt_is_byte_identical_without_roles ... ok
[INFO] [stdout] test cli::workflow::tests::mcp_prompt_uses_mcp_tools_and_omits_bash_grammar ... ok
[INFO] [stdout] test cli::workflow::tests::manager_role_with_unsupported_backends_propagates_the_error ... ok
[INFO] [stdout] test cli::workflow::tests::high_tier_discipline_asks_only_on_destructive_not_ab_forks ... ok
[INFO] [stdout] test cli::workflow::tests::persona_only_manager_role_keeps_legacy_backend_but_carries_persona ... ok
[INFO] [stdout] test cli::workflow::tests::mcp_discipline_points_at_ask_human_tool ... ok
[INFO] [stdout] test cli::workflow::tests::role_mode_mcp_prompt_teaches_dispatch_task_role_arg ... ok
[INFO] [stdout] test cli::workflow::tests::prompt_includes_agents_goal_grammar_and_synthesis ... ok
[INFO] [stdout] test cli::workflow::tests::roster_is_none_without_worker_roles ... ok
[INFO] [stdout] test cli::workflow::tests::roster_errors_when_every_worker_role_is_unresolvable ... ok
[INFO] [stdout] test cli::workflow::tests::role_mode_shell_prompt_teaches_rescue_role_grammar ... ok
[INFO] [stdout] test cli::workflow::tests::roster_renders_resolved_roles_and_skips_unresolvable_ones ... ok
[INFO] [stdout] test cli::workflow::tests::self_path_is_shell_quoted_for_paths_with_spaces ... ok
[INFO] [stdout] test config::tests::expand_env_preserves_non_ascii_characters ... ok
[INFO] [stdout] test config::tests::parses_toml_overrides ... ok
[INFO] [stdout] test config::tests::expands_env_references ... ok
[INFO] [stdout] test config::tests::expand_env_ignores_malformed_placeholders ... ok
[INFO] [stdout] test auth::detect_failure::tests::does_not_flag_innocuous_text ... ok
[INFO] [stdout] test config::tests::expand_env_handles_multiple_variables_and_unknowns ... ok
[INFO] [stdout] test config::tests::sample_config_roles_example_parses_when_uncommented ... ok
[INFO] [stdout] test diagnose::features::tests::extracts_verbs_as_whole_words_deduped ... ok
[INFO] [stdout] test diagnose::features::tests::matches_category_keywords ... ok
[INFO] [stdout] test config::tests::workflow_roles_default_empty_and_parse_tables ... ok
[INFO] [stdout] test diagnose::features::tests::does_not_match_verb_inside_a_larger_word ... ok
[INFO] [stdout] test config::tests::returns_defaults_when_file_missing ... ok
[INFO] [stdout] test auth::detect_failure::tests::recognizes_known_failure_phrases ... ok
[INFO] [stdout] test config::tests::workflow_section_defaults_when_absent ... ok
[INFO] [stdout] test diagnose::features::tests::token_estimate_matches_len_div_four_ceil ... ok
[INFO] [stdout] test diagnose::heuristic::tests::refactor_task_classifies_as_refactor ... ok
[INFO] [stdout] test diagnose::heuristic::tests::softmax_confidence_is_a_probability ... ok
[INFO] [stdout] test diagnose::heuristic::tests::security_audit_classifies_as_security_review ... ok
[INFO] [stdout] test diagnose::heuristic::tests::no_signal_short_task_is_low_confidence ... ok
[INFO] [stdout] test config::tests::rejects_invalid_backend ... ok
[INFO] [stdout] test diagnose::features::tests::detects_code_fence ... ok
[INFO] [stdout] test diagnose::tests::diagnose_refactor_task ... ok
[INFO] [stdout] test config::tests::workflow_section_parses_overrides ... ok
[INFO] [stdout] test diagnose::tests::diagnose_security_audit_task ... ok
[INFO] [stdout] test diagnose::tests::diagnosis_is_serializable ... ok
[INFO] [stdout] test dispatch::tests::child_token_timeout_isolates_siblings ... ok
[INFO] [stdout] test dispatch::tests::prefers_exec_when_both_registered ... ok
[INFO] [stdout] test dispatch::tests::returns_acp_when_only_acp_registered ... ok
[INFO] [stdout] test dispatch::tests::returns_exec_when_only_exec_registered ... ok
[INFO] [stdout] test dispatch::tests::returns_none_when_unregistered ... ok
[INFO] [stdout] test exec::antigravity::tests::declares_full_autonomy_and_carries_the_bypass_flag ... ok
[INFO] [stdout] test exec::antigravity::tests::passes_task_as_prompt_arg ... ok
[INFO] [stdout] test exec::autonomy::tests::ask_tier_derives_from_autonomy ... ok
[INFO] [stdout] test exec::autonomy::tests::ask_tier_str_is_stable ... ok
[INFO] [stdout] test exec::autonomy::tests::level_str_is_stable ... ok
[INFO] [stdout] test exec::codex::tests::declares_full_autonomy_via_exec_subcommand ... ok
[INFO] [stdout] test exec::codex::tests::passes_task_via_stdin ... ok
[INFO] [stdout] test exec::gemini::tests::declares_full_autonomy_and_carries_yolo ... ok
[INFO] [stdout] test exec::claude::tests::declares_full_autonomy_and_accepts_edits ... ok
[INFO] [stdout] test exec::workflow_manager::tests::claude_mcp_mode_uses_mcp_config_and_tool_allowlist ... ok
[INFO] [stdout] test exec::gemini::tests::passes_task_as_prompt_arg ... ok
[INFO] [stdout] test exec::claude::tests::uses_print_and_accept_edits_flags ... ok
[INFO] [stdout] test exec::workflow_manager::tests::claude_spec_bypasses_permissions_with_bash_allowlist ... ok
[INFO] [stdout] test exec::workflow_manager::tests::codex_spec_uses_danger_full_access_and_stdin ... ok
[INFO] [stdout] test exec::workflow_manager::tests::declares_full_autonomy ... ok
[INFO] [stdout] test exec::workflow_manager::tests::only_claude_and_codex_are_supported_managers ... ok
[INFO] [stdout] test exec::workflow_manager::tests::mcp_config_guard_writes_then_removes_file ... ok
[INFO] [stdout] test mcp::tools::tests::dispatch_task_unknown_backend_is_structured_error_not_panic ... ok
[INFO] [stdout] test mcp::tools::tests::dispatch_task_unknown_role_is_structured_error ... ok
[INFO] [stdout] test mcp::tools::tests::dispatch_task_backend_and_role_together_is_structured_error ... ok
[INFO] [stdout] test mcp::tools::tests::dispatch_task_neither_backend_nor_role_is_structured_error ... ok
[INFO] [stdout] test mcp::tools::tests::post_note_unknown_from_is_structured_error_not_panic ... ok
[INFO] [stdout] test mcp::tools::tests::list_backends_reports_available_set ... ok
[INFO] [stdout] test mcp::tools::tests::refute_unknown_critic_is_structured_error_not_panic ... ok
[INFO] [stdout] test diagnose::tests::diagnose_long_task_promotes_to_long_context ... ok
[INFO] [stdout] test diagnose::heuristic::tests::long_but_strong_signal_does_not_promote ... ok
[INFO] [stdout] test mcp::tools::tests::run_ensemble_rejects_empty_members ... ok
[INFO] [stdout] test mcp::tools::tests::run_workflow_unknown_agent_is_structured_error_not_panic ... ok
[INFO] [stdout] test profile::bench::judge::tests::grade_recurses_into_a_refute_tasks_inner_grader ... ok
[INFO] [stdout] test diagnose::heuristic::tests::long_weak_task_promotes_to_long_context ... ok
[INFO] [stdout] test mcp::tools::tests::run_workflow_unknown_manager_is_structured_error_not_panic ... ok
[INFO] [stdout] test profile::bench::judge::tests::outcome_mapping_and_dispatch ... ok
[INFO] [stdout] test profile::bench::judge::tests::refactor_gate_is_a_hard_gate ... ok
[INFO] [stdout] test profile::bench::merge::tests::aggregate_buckets_by_category_with_expected_value_and_samples ... ok
[INFO] [stdout] test profile::bench::merge::tests::aggregate_clamps_out_of_range_fractions ... ok
[INFO] [stdout] test profile::bench::merge::tests::aggregate_never_generates_a_timestamp ... ok
[INFO] [stdout] test profile::bench::judge::tests::grade_refute_inner_grades_an_arbitrary_candidate_against_the_inner_grader ... ok
[INFO] [stdout] test profile::bench::judge::tests::grade_refute_inner_is_none_for_a_non_refute_task ... ok
[INFO] [stdout] test profile::bench::merge::tests::confidence_drops_as_scores_spread_out ... ok
[INFO] [stdout] test profile::bench::merge::tests::confidence_climbs_with_more_samples ... ok
[INFO] [stdout] test profile::bench::refute_run::tests::delta_is_after_minus_before_when_both_are_real_scores ... ok
[INFO] [stdout] test profile::bench::refute_run::tests::delta_is_none_when_either_half_is_skipped_or_missing ... ok
[INFO] [stdout] test profile::bench::refute_run::tests::gate_requires_at_least_one_real_delta_and_all_of_them_above_margin ... ok
[INFO] [stdout] test profile::bench::refute_run::tests::real_probe_tasks_round_trip_through_score_refute_bundle ... ok
[INFO] [stdout] test profile::bench::refute_run::tests::score_refute_bundle_grades_stuck_and_extracts_the_revision_from_a_fenced_defense ... ok
[INFO] [stdout] test profile::bench::refute_run::tests::score_refute_bundle_handles_a_failed_critique_with_no_defense ... ok
[INFO] [stdout] test profile::bench::refute_tasks::tests::each_stuck_candidate_scores_meaningfully_below_one_offline ... ok
[INFO] [stdout] test cli::workflow::tests::legacy_prompt_is_byte_identical_without_roles ... ok
[INFO] [stdout] test profile::bench::merge::tests::merge_leaves_uncovered_categories_intact ... ok
[INFO] [stdout] test profile::bench::refute_tasks::tests::every_probe_carries_a_refute_grading_with_a_non_empty_stuck_candidate ... ok
[INFO] [stdout] test profile::bench::refute_tasks::tests::probe_ids_are_unique_and_namespaced ... ok
[INFO] [stdout] test profile::bench::replay::tests::averages_outcomes_within_a_category ... ok
[INFO] [stdout] test profile::bench::replay::tests::passed_over_total_is_an_error ... ok
[INFO] [stdout] test profile::bench::replay::tests::unknown_task_id_is_an_error ... ok
[INFO] [stdout] test profile::bench::replay::tests::zero_total_is_an_error ... ok
[INFO] [stdout] test profile::bench::run::tests::grades_review_output_through_the_real_scorer ... ok
[INFO] [stdout] test profile::bench::run::tests::raw_fixture_round_trips_through_json ... ok
[INFO] [stdout] test profile::bench::replay::tests::scores_perfect_outcome_as_full_marks ... ok
[INFO] [stdout] test profile::bench::replay::tests::fixture_round_trips_through_json ... ok
[INFO] [stdout] test profile::bench::sandbox::tests::live_broken_python_scores_zero ... ok
[INFO] [stdout] test profile::bench::sandbox::tests::live_missing_code_block_scores_zero ... ok
[INFO] [stdout] test profile::bench::sandbox::tests::parse_cargo_sums_result_lines ... ok
[INFO] [stdout] test profile::bench::sandbox::tests::parse_pytest_summaries ... ok
[INFO] [stdout] test profile::bench::sandbox::tests::live_correct_python_passes_all ... ok
[INFO] [stdout] test profile::bench::score::tests::adversarial_credits_a_correct_line_despite_a_differently_worded_kind ... ok
[INFO] [stdout] test profile::bench::score::tests::adversarial_decoy_is_a_harder_fp_than_random_noise ... ok
[INFO] [stdout] test profile::bench::run::tests::unknown_task_id_is_an_error ... ok
[INFO] [stdout] test profile::bench::score::tests::adversarial_real_only_beats_reporting_a_decoy ... ok
[INFO] [stdout] test profile::bench::score::tests::complexity_and_loc_are_pure_and_sane ... ok
[INFO] [stdout] test profile::bench::score::tests::extract_last_fence_filters_by_language ... ok
[INFO] [stdout] test profile::bench::score::tests::extract_last_fence_picks_the_last_matching_block ... ok
[INFO] [stdout] test profile::bench::score::tests::long_context_exact_match ... ok
[INFO] [stdout] test profile::bench::score::tests::long_context_partial_credit ... ok
[INFO] [stdout] test profile::bench::score::tests::parse_findings_distinguishes_empty_from_failure ... ok
[INFO] [stdout] test profile::bench::score::tests::refactor_metric_norm_rewards_lean_code ... ok
[INFO] [stdout] test profile::bench::score::tests::review_parse_failure_scores_zero ... ok
[INFO] [stdout] test profile::bench::merge::tests::merge_promotes_seeded_to_benchmarked_overwrites_and_persists ... ok
[INFO] [stdout] test profile::bench::score::tests::review_correct_finding_scores_full_f1 ... ok
[INFO] [stdout] test profile::bench::score::tests::review_noise_task_rewards_empty_and_penalises_overdetection ... ok
[INFO] [stdout] test profile::bench::score::tests::security_matches_on_cwe_and_misses_on_mismatch ... ok
[INFO] [stdout] test profile::bench::suite::tests::coding_and_debug_use_hidden_tests ... ok
[INFO] [stdout] test profile::bench::suite::tests::adversarial_tasks_mix_real_and_decoy ... ok
[INFO] [stdout] test profile::bench::suite::tests::covers_all_seven_complete_gold_categories ... ok
[INFO] [stdout] test profile::bench::suite::tests::decoy_false_positive_weight_is_two ... ok
[INFO] [stdout] test profile::bench::suite::tests::every_category_has_at_least_two_tasks ... ok
[INFO] [stdout] test profile::bench::suite::tests::refactor_tasks_all_carry_a_behaviour_gate ... ok
[INFO] [stdout] test profile::bench::suite::tests::refute_grading_round_trips_through_json_and_excludes_from_all_tasks ... ok
[INFO] [stdout] test profile::bench::suite::tests::security_defects_require_cwe ... ok
[INFO] [stdout] test profile::bench::suite::tests::task_ids_are_unique ... ok
[INFO] [stdout] test profile::bench::score::tests::security_fp_resistance_task_rewards_empty ... ok
[INFO] [stdout] test profile::category::tests::display_from_str_round_trips ... ok
[INFO] [stdout] test profile::category::tests::from_str_accepts_aliases ... ok
[INFO] [stdout] test profile::bench::suite::tests::whole_task_round_trips_through_json ... ok
[INFO] [stdout] test profile::bench::suite::tests::grading_metadata_round_trips_through_json ... ok
[INFO] [stdout] test profile::category::tests::from_str_rejects_unknown ... ok
[INFO] [stdout] test profile::category::tests::serde_uses_lowercase_tokens ... ok
[INFO] [stdout] test profile::model::tests::source_priority_orders_benchmarked_over_learned_over_seeded ... ok
[INFO] [stdout] test profile::model::tests::telemetry_defaults_to_all_none ... ok
[INFO] [stdout] test profile::model::tests::apply_benchmark_is_immutable_and_overwrites_seeded ... ok
[INFO] [stdout] test profile::seed::tests::every_seeded_score_is_low_confidence_seeded_source ... ok
[INFO] [stdout] test profile::seed::tests::encodes_known_strengths_as_argmax_winners ... ok
[INFO] [stdout] test profile::seed::tests::seeds_the_five_known_backends ... ok
[INFO] [stdout] test profile::store::tests::malformed_file_is_an_error ... ok
[INFO] [stdout] test profile::store::tests::missing_file_returns_seeded ... ok
[INFO] [stdout] test profile::store::tests::round_trips_benchmarked_scores_and_telemetry ... ok
[INFO] [stdout] test profile::store::tests::save_creates_missing_parent_dirs ... ok
[INFO] [stdout] test profile::tests::best_for_respects_availability_filter ... ok
[INFO] [stdout] test profile::tests::best_for_picks_argmax_within_available ... ok
[INFO] [stdout] test profile::tests::best_for_returns_none_when_available_is_empty ... ok
[INFO] [stdout] test profile::tests::best_for_returns_none_when_no_backend_scored_category ... ok
[INFO] [stdout] test router::tests::auto_route_disabled_skips_keyword_match ... ok
[INFO] [stdout] test router::tests::auto_routes_by_keyword ... ok
[INFO] [stdout] test router::tests::falls_back_to_default ... ok
[INFO] [stdout] test router::tests::honors_explicit_backend_when_registered ... ok
[INFO] [stdout] test router::tests::ignores_explicit_when_unavailable ... ok
[INFO] [stdout] test profile::bench::score::tests::review_within_two_lines_still_matches_but_wrong_kind_misses ... ok
[INFO] [stdout] test router::tests::low_confidence_diagnosis_does_not_take_profile_path ... ok
[INFO] [stdout] test router::tests::profile_argmax_respects_availability ... ok
[INFO] [stdout] test router::tests::profile_routes_diagnosed_category_to_argmax_backend ... ok
[INFO] [stdout] test router::tests::uses_route_table_for_tool ... ok
[INFO] [stdout] test types::tests::display_round_trips ... ok
[INFO] [stdout] test types::tests::parses_known_backends ... ok
[INFO] [stdout] test update::tests::asset_identifiers_distinguish_cli_from_dashboard ... ok
[INFO] [stdout] test router::tests::auto_routes_long_context ... ok
[INFO] [stdout] test update::tests::dashboard_locator_prefers_override_then_sibling_then_path ... ok
[INFO] [stdout] test types::tests::rejects_unknown_backends ... ok
[INFO] [stdout] test update::tests::detects_newer_versions ... ok
[INFO] [stdout] test update::tests::empty_poison_tag_is_not_newer ... ok
[INFO] [stdout] test update::tests::equal_or_older_is_not_newer ... ok
[INFO] [stdout] test update::tests::fresh_cache_is_within_window ... ok
[INFO] [stdout] test update::tests::parses_prerelease_as_base_version ... ok
[INFO] [stdout] test update::tests::parses_simple_versions ... ok
[INFO] [stdout] test update::tests::stale_cache_is_outside_window ... ok
[INFO] [stdout] test update::tests::version_normalization_accepts_release_tags ... ok
[INFO] [stdout] test update::tests::ensure_executable_restores_missing_exec_bits ... ok
[INFO] [stdout] test workflow::converse::tests::critique_prompt_embeds_task_and_candidate_and_demands_concreteness ... ok
[INFO] [stdout] test workflow::converse::tests::clamp_truncates_oversized_input_on_a_boundary ... ok
[INFO] [stdout] test workflow::converse::tests::defense_prompt_carries_the_critique_for_a_real_rebuttal ... ok
[INFO] [stdout] test workflow::converse::tests::defense_prompt_demands_the_revision_in_the_original_format_as_the_final_block ... ok
[INFO] [stdout] test workflow::converse::tests::normalize_kind_defaults_to_handoff_and_canonicalizes_known_tags ... ok
[INFO] [stdout] test workflow::converse::tests::note_kind_constants_are_the_expected_tags ... ok
[INFO] [stdout] test workflow::converse::tests::render_explains_a_skipped_defense_when_the_critique_failed ... ok
[INFO] [stdout] test workflow::converse::tests::pick_prefers_the_preferred_order_and_respects_skip ... ok
[INFO] [stdout] test workflow::converse::tests::render_includes_both_legs_and_the_adjudication_instruction ... ok
[INFO] [stdout] test workflow::converse::tests::resolve_pair_defaults_to_distinct_preferred_backends ... ok
[INFO] [stdout] test workflow::converse::tests::pick_falls_back_deterministically_when_preferred_is_exhausted ... ok
[INFO] [stdout] test workflow::converse::tests::resolve_pair_errors_when_nothing_is_available ... ok
[INFO] [stdout] test workflow::converse::tests::resolve_pair_falls_back_to_self_with_a_single_backend ... ok
[INFO] [stdout] test workflow::guard::tests::check_allows_below_ceiling ... ok
[INFO] [stdout] test workflow::guard::tests::check_bails_at_ceiling ... ok
[INFO] [stdout] test workflow::guard::tests::child_env_returns_three_pairs_with_incremented_depth ... ok
[INFO] [stdout] test workflow::guard::tests::clamp_max_depth_enforces_floor_and_ceiling ... ok
[INFO] [stdout] test workflow::guard::tests::depth_defaults_to_zero_when_unset ... ok
[INFO] [stdout] test workflow::guard::tests::depth_reads_from_env ... ok
[INFO] [stdout] test workflow::guard::tests::depth_rejects_non_numeric_tampering ... ok
[INFO] [stdout] test workflow::roles::tests::dispatching_to_the_manager_role_is_rejected ... ok
[INFO] [stdout] test workflow::roles::tests::empty_backend_list_falls_back_to_sorted_available ... ok
[INFO] [stdout] test workflow::roles::tests::manager_role_absent_yields_none ... ok
[INFO] [stdout] test workflow::converse::tests::resolve_pair_honors_explicit_choices ... ok
[INFO] [stdout] test workflow::roles::tests::manager_role_persona_only_keeps_legacy_backend_resolution ... ok
[INFO] [stdout] test workflow::converse::tests::resolve_pair_rejects_an_unavailable_explicit_backend ... ok
[INFO] [stdout] test workflow::roles::tests::manager_role_picks_first_supported_backend ... ok
[INFO] [stdout] test workflow::roles::tests::manager_role_with_no_supported_backend_errors ... ok
[INFO] [stdout] test workflow::roles::tests::persona_task_wraps_only_when_a_prompt_exists ... ok
[INFO] [stdout] test workflow::roles::tests::persona_task_treats_blank_prompt_as_passthrough ... ok
[INFO] [stdout] test workflow::roles::tests::no_available_backend_for_a_role_is_a_hard_error ... ok
[INFO] [stdout] test workflow::roles::tests::resolves_first_available_backend_in_preference_order ... ok
[INFO] [stdout] test workflow::roles::tests::summary_line_takes_first_nonempty_line_and_truncates ... ok
[INFO] [stdout] test workflow::roles::tests::unknown_role_with_no_worker_roles_configured_says_so ... ok
[INFO] [stdout] test workflow::roles::tests::unknown_role_lists_configured_workers ... ok
[INFO] [stdout] test workflow::roles::tests::worker_roles_excludes_the_manager ... ok
[INFO] [stdout] test profile::store::tests::save_then_load_round_trips ... ok
[INFO] [stdout] test ask::core::tests::answered_when_response_written ... ok
[INFO] [stdout] test ask::core::tests::unavailable_on_timeout_and_records_it ... ok
[INFO] [stdout] test ask::core::tests::unavailable_on_cancel ... ok
[INFO] [stdout] test cli::ask::tests::ask_allowed_only_when_token_matches_run_id ... ok
[INFO] [stdout] test cli::note::tests::manager_run_id_returns_id_only_when_token_matches ... ok
[INFO] [stdout] test exec::base::tests::ask_allow_token_is_stripped_from_children_unless_respecced ... ok
[INFO] [stdout] test mcp::tools::tests::dispatch_task_role_runs_resolved_backend ... ok
[INFO] [stdout] test mcp::tools::tests::ask_human_times_out_to_sentinel_as_success ... ok
[INFO] [stdout] test mcp::tools::tests::dispatch_task_runs_registered_backend ... ok
[INFO] [stdout] test mcp::tools::tests::post_note_records_with_run_context ... ok
[INFO] [stdout] test mcp::tools::tests::post_note_without_run_context_is_error ... ok
[INFO] [stdout] test mcp::tools::tests::run_ensemble_dedupes_repeated_members ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 305 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.36s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agentpit-05990f66f5840e01)
[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 unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentpit_events-7ee9bea50ac88fe9)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test tests::ask_tokens_are_unique_safe_and_prefixed ... ok
[INFO] [stdout] test tests::compaction_keeps_only_newest_runs ... ok
[INFO] [stdout] test tests::logger_note_appends_to_event_log ... ok
[INFO] [stdout] test tests::ask_paths_reject_traversal_and_live_under_asks_dir ... ok
[INFO] [stdout] test tests::run_ids_are_unique_and_carry_pid_and_nonce ... ok
[INFO] [stdout] test tests::safe_log_component_accepts_valid_ids ... ok
[INFO] [stdout] test tests::note_event_round_trips_and_omits_absent_author ... ok
[INFO] [stdout] test tests::event_round_trips_through_json ... ok
[INFO] [stdout] test tests::ask_events_round_trip_through_json ... ok
[INFO] [stdout] test tests::parses_known_backends ... ok
[INFO] [stdout] test tests::bench_run_kind_serializes_as_bench_and_round_trips ... ok
[INFO] [stdout] test tests::safe_log_component_rejects_traversal_and_separators ... ok
[INFO] [stdout] test tests::safe_log_component_rejects_nul_byte ... ok
[INFO] [stdout] test tests::writes_to_temp_state_dir ... ok
[INFO] [stdout] test tests::backend_display_round_trips ... ok
[INFO] [stderr]    Doc-tests agentpit
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/cli/cancel.rs - cli::cancel (line 15) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.49s; merged doctests compilation took 0.47s
[INFO] [stderr]    Doc-tests agentpit_events
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0", kill_on_drop: false }`
[INFO] [stdout] 2d361bd45800e2397593928394bb14f9564833fd26fcf3736eb2451b53d74fe0
