[INFO] cloning repository https://github.com/Alireza29675/teamctl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Alireza29675/teamctl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlireza29675%2Fteamctl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlireza29675%2Fteamctl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 51b32c35b3e6825d11c710236c989560d531dd50
[INFO] testing Alireza29675/teamctl 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%2FAlireza29675%2Fteamctl" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-6-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Alireza29675/teamctl
[INFO] finished tweaking git repo https://github.com/Alireza29675/teamctl
[INFO] tweaked toml for git repo https://github.com/Alireza29675/teamctl written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Alireza29675/teamctl 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/Alireza29675/teamctl 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5
[INFO] running `Command { std: "docker" "start" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5", 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" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5" "/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" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5", 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" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5" "/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 shlex v1.3.0
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling erasable v1.3.0
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling text-size v1.1.1
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling countme v3.0.1
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling rowan v0.16.1
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling yaml-edit v0.2.1
[INFO] [stderr]    Compiling pin-project v1.1.11
[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 signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling rc-box v1.3.0
[INFO] [stderr]    Compiling take_mut v0.2.2
[INFO] [stderr]    Compiling takecell v0.1.1
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling dptree v0.3.0
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling serial2 v0.2.36
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling teamctl v0.10.0 (/opt/rustwide/workdir/crates/teamctl)
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling aquamarine v0.5.0
[INFO] [stderr]    Compiling teloxide-macros v0.8.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling serde_with v1.14.0
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling team-core v0.10.0 (/opt/rustwide/workdir/crates/team-core)
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling teloxide-core v0.10.1
[INFO] [stderr]    Compiling team-mcp v0.10.0 (/opt/rustwide/workdir/crates/team-mcp)
[INFO] [stderr]    Compiling teloxide v0.13.0
[INFO] [stderr]    Compiling team-bot v0.10.0 (/opt/rustwide/workdir/crates/team-bot)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.75s
[INFO] running `Command { std: "docker" "inspect" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5", 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" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5" "/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 bitflags v2.11.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling team-core v0.10.0 (/opt/rustwide/workdir/crates/team-core)
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling team-mcp v0.10.0 (/opt/rustwide/workdir/crates/team-mcp)
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling teamctl v0.10.0 (/opt/rustwide/workdir/crates/teamctl)
[INFO] [stderr]    Compiling team-bot v0.10.0 (/opt/rustwide/workdir/crates/team-bot)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.14s
[INFO] running `Command { std: "docker" "inspect" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5", 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" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5" "/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.34s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/team_bot-b0bffbde2dc89984)
[INFO] [stdout] 
[INFO] [stdout] running 144 tests
[INFO] [stdout] test tests::build_inbound_body_blockquotes_each_line_of_a_multiline_quote ... ok
[INFO] [stdout] test tests::approval_outcome_line_uses_approver_first_name ... ok
[INFO] [stdout] test tests::approval_outcome_line_handles_unicode_first_name ... ok
[INFO] [stdout] test tests::build_inbound_body_header_only_when_nothing_quotable ... ok
[INFO] [stdout] test tests::build_inbound_body_omits_msg_id_when_unresolved ... ok
[INFO] [stdout] test tests::approval_keyboard_multi_renders_options_then_cancel ... ok
[INFO] [stdout] test tests::approval_keyboard_empty_options_is_binary_back_compat ... ok
[INFO] [stdout] test tests::build_inbound_body_prefixes_reply_with_mailbox_id ... ok
[INFO] [stdout] test tests::cc_slash_command_descriptions_satisfy_telegram_constraints ... ok
[INFO] [stdout] test tests::bounded_writer_errors_when_chunk_would_exceed_max ... ok
[INFO] [stdout] test tests::bounded_writer_allows_exactly_max ... ok
[INFO] [stdout] test tests::bounded_writer_errors_on_single_oversize_chunk ... ok
[INFO] [stdout] test tests::bounded_writer_passes_through_when_under_max ... ok
[INFO] [stdout] test tests::classify_kind_falls_back_for_unknown_kinds ... ok
[INFO] [stdout] test tests::build_inbound_body_passes_plain_message_through ... ok
[INFO] [stdout] test tests::cc_slash_command_names_satisfy_telegram_constraints ... ok
[INFO] [stdout] test tests::classify_kind_unknown_fallback_unchanged_for_other_strings ... ok
[INFO] [stdout] test tests::classify_kind_routes_reaction ... ok
[INFO] [stdout] test tests::build_inbound_body_renders_quote_only_reply ... ok
[INFO] [stdout] test tests::classify_kind_routes_typing ... ok
[INFO] [stdout] test tests::classify_kind_treats_null_and_empty_as_text ... ok
[INFO] [stdout] test tests::classify_kind_unknown_fallback_unchanged_for_typing_lookalikes ... ok
[INFO] [stdout] test tests::classify_kind_routes_image_and_file ... ok
[INFO] [stdout] test tests::clear_typing_window_removes_present_entry_and_reports_true ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_codex ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_gemini ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_unscoped_bot ... ok
[INFO] [stdout] test tests::clear_typing_window_returns_false_when_chat_not_tracked ... ok
[INFO] [stdout] test tests::decision_and_cancel_outcome_lines_name_the_chooser ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_empty_for_unknown_runtime ... ok
[INFO] [stdout] test tests::commands_for_runtime_returns_full_cc_list_for_claude_code ... ok
[INFO] [stdout] test tests::extend_typing_window_inserts_new_entry_with_deadline ... ok
[INFO] [stdout] test tests::decode_options_handles_null_and_garbage ... ok
[INFO] [stdout] test tests::extension_for_document_falls_back_to_mime_when_filename_missing ... ok
[INFO] [stdout] test tests::extend_typing_window_resets_existing_deadline_on_second_call ... ok
[INFO] [stdout] test tests::extension_for_document_prefers_filename_extension ... ok
[INFO] [stdout] test tests::extension_from_mime_covers_canonical_types ... ok
[INFO] [stdout] test tests::extension_from_mime_falls_back_to_bin_for_unknown ... ok
[INFO] [stdout] test tests::fence_marker_truncates_lang_at_non_ascii ... ok
[INFO] [stdout] test tests::extension_for_document_rejects_funky_extensions ... ok
[INFO] [stdout] test tests::fence_marker_admits_dash_and_underscore_in_lang ... ok
[INFO] [stdout] test tests::bounded_writer_aborts_mid_stream_on_tokio_fs_file_without_excess_disk_bytes ... ok
[INFO] [stdout] test tests::fence_marker_takes_leading_alphanumeric_dash_underscore_run_as_lang ... ok
[INFO] [stdout] test tests::fence_marker_truncates_lang_at_quote_for_attribute_injection_safety ... ok
[INFO] [stdout] test tests::fence_marker_truncates_lang_at_other_punctuation ... ok
[INFO] [stdout] test tests::help_lists_advanced_commands_for_scoped_bot ... ok
[INFO] [stdout] test tests::inbound_media_path_composes_root_project_rowid_extension ... ok
[INFO] [stdout] test tests::help_lists_dm_and_pending_for_unscoped_bot ... ok
[INFO] [stdout] test tests::input_file_from_unknown_source_returns_none ... ok
[INFO] [stdout] test tests::html_escape_str_escapes_the_three_html_specials_only ... ok
[INFO] [stdout] test tests::hitl_card_text_format_pins_agent_then_action_then_summary ... ok
[INFO] [stdout] test tests::input_file_from_path_and_url_both_construct ... ok
[INFO] [stdout] test tests::map_voice_outcome_failed_yields_no_inbox_row_and_surfaces_error ... ok
[INFO] [stdout] test tests::map_voice_outcome_ok_yields_quoted_reply_and_prefixed_inbox_row ... ok
[INFO] [stdout] test tests::map_voice_outcome_skipped_yields_no_inbox_row ... ok
[INFO] [stdout] test tests::markdown_escape_str_escapes_underscores_and_specials ... ok
[INFO] [stdout] test tests::max_download_bytes_strictly_exceeds_max_voice_bytes ... ok
[INFO] [stdout] test tests::media_error_payload_carries_verbose_error_and_optional_caption ... ok
[INFO] [stdout] test tests::media_size_mid_reject_carries_kind_and_distinguishes ... ok
[INFO] [stdout] test tests::media_size_pre_reject_carries_kind_and_names_both_numbers ... ok
[INFO] [stdout] test tests::media_success_payload_includes_caption_when_present ... ok
[INFO] [stdout] test tests::media_success_payload_includes_path_mime_size_and_omits_empty_caption ... ok
[INFO] [stdout] test tests::cli_rich_messages_default_on ... ok
[INFO] [stdout] test tests::cli_no_rich_messages_opt_out ... ok
[INFO] [stdout] test tests::parse_callback_accepts_all_four_verbs ... ok
[INFO] [stdout] test tests::parse_callback_rejects_malformed ... ok
[INFO] [stdout] test tests::parse_payload_extracts_source_value_and_caption ... ok
[INFO] [stdout] test tests::cli_no_rich_messages_accepts_boolish_values ... ok
[INFO] [stdout] test tests::parse_payload_handles_missing_caption ... ok
[INFO] [stdout] test tests::parse_payload_returns_none_on_garbage ... ok
[INFO] [stdout] test tests::parse_reaction_payload_extracts_telegram_msg_id_and_emoji ... ok
[INFO] [stdout] test tests::parse_reaction_payload_returns_none_on_missing_fields ... ok
[INFO] [stdout] test tests::parse_reaction_payload_returns_none_on_wrong_types ... ok
[INFO] [stdout] test tests::peel_readnow_is_case_sensitive ... ok
[INFO] [stdout] test tests::peel_readnow_passes_through_when_prefix_absent ... ok
[INFO] [stdout] test tests::peel_readnow_requires_single_space_separator ... ok
[INFO] [stdout] test tests::peel_readnow_strips_prefix_when_present ... ok
[INFO] [stdout] test tests::peel_readnow_with_empty_body_after_prefix ... ok
[INFO] [stdout] test tests::lookup_replied_row_returns_none_when_absent ... ok
[INFO] [stdout] test tests::refresh_typing_windows_drops_expired_and_returns_active ... ok
[INFO] [stdout] test tests::refresh_typing_windows_returns_empty_on_empty_map ... ok
[INFO] [stdout] test tests::render_html_escapes_inside_inline_code ... ok
[INFO] [stdout] test tests::render_html_escapes_lt_gt_amp_in_raw_text ... ok
[INFO] [stdout] test tests::live_tap_keeps_existing_delivered_at_unchanged ... ok
[INFO] [stdout] test tests::render_html_fenced_block_drops_injected_quote_in_lang_tag ... ok
[INFO] [stdout] test tests::agent_runtime_returns_none_for_unknown_agent ... ok
[INFO] [stdout] test tests::render_html_fenced_block_escapes_html_inside ... ok
[INFO] [stdout] test tests::render_html_fenced_block_no_language ... ok
[INFO] [stdout] test tests::render_html_fenced_block_strips_trailing_lang_garbage ... ok
[INFO] [stdout] test tests::agent_runtime_returns_runtime_when_runtime_varies ... ok
[INFO] [stdout] test tests::manager_of_returns_self_for_a_manager ... ok
[INFO] [stdout] test tests::render_html_fenced_block_with_language_tag ... ok
[INFO] [stdout] test tests::agent_runtime_returns_runtime_for_known_agent ... ok
[INFO] [stdout] test tests::render_html_inline_code_is_not_re_parsed ... ok
[INFO] [stdout] test tests::render_html_paired_bold_emphasis ... ok
[INFO] [stdout] test tests::lookup_replied_row_finds_row_by_telegram_id ... ok
[INFO] [stdout] test tests::render_html_leaves_single_underscore_alone ... ok
[INFO] [stdout] test tests::render_html_paired_italic_and_inline_code ... ok
[INFO] [stdout] test tests::render_html_pairing_is_per_line ... ok
[INFO] [stdout] test tests::render_html_preserves_emoji_and_converts_inline ... ok
[INFO] [stdout] test tests::live_tap_on_pending_flips_status_and_delivered_at ... ok
[INFO] [stdout] test tests::lookup_replied_row_picks_most_recent_on_telegram_id_collision ... ok
[INFO] [stdout] test tests::outbound_select_returns_kind_and_payload_for_structured_rows ... ok
[INFO] [stdout] test tests::render_html_translates_list_bullets ... ok
[INFO] [stdout] test tests::outbound_select_returns_telegram_msg_id_when_set_for_threaded_rows ... ok
[INFO] [stdout] test tests::reply_parameters_for_returns_none_when_telegram_msg_id_is_none ... ok
[INFO] [stdout] test tests::rich_message_body_has_chat_and_markdown ... ok
[INFO] [stdout] test tests::manager_of_returns_none_for_unknown_agent ... ok
[INFO] [stdout] test tests::render_html_unmatched_delimiters_pass_through ... ok
[INFO] [stdout] test tests::outbound_select_returns_null_kind_for_legacy_text_rows ... ok
[INFO] [stdout] test tests::placeholder_then_error_update_writes_media_error_kind ... ok
[INFO] [stdout] test tests::manager_of_resolves_reports_to_for_a_worker ... ok
[INFO] [stdout] test tests::reply_parameters_for_returns_some_when_telegram_msg_id_is_set ... ok
[INFO] [stdout] test tests::reply_parameters_for_safely_casts_within_i32_range ... ok
[INFO] [stdout] test tests::slash_outcome_passes_through_for_claude_code_runtime ... ok
[INFO] [stdout] test tests::rich_message_body_preserves_multiline_markdown ... ok
[INFO] [stdout] test tests::placeholder_then_success_update_round_trip ... ok
[INFO] [stdout] test tests::slash_outcome_rejects_codex_runtime_with_named_runtime ... ok
[INFO] [stdout] test tests::sender_label_for_classifies_bot_human_and_anonymous ... ok
[INFO] [stdout] test tests::slash_outcome_honours_custom_tmux_prefix ... ok
[INFO] [stdout] test tests::render_html_unmatched_fence_falls_through_as_normal_line ... ok
[INFO] [stdout] test tests::slash_outcome_rejects_gemini_runtime_with_named_runtime ... ok
[INFO] [stdout] test tests::slash_outcome_rejects_malformed_manager_id ... ok
[INFO] [stdout] test tests::start_greeting_is_one_liner_using_manager_id_fallback ... ok
[INFO] [stdout] test tests::tmux_send_keys_argv_passes_body_verbatim_no_quote_munging ... ok
[INFO] [stdout] test tests::start_greeting_unscoped_points_to_help ... ok
[INFO] [stdout] test tests::start_greeting_prefers_display_name ... ok
[INFO] [stdout] test tests::use_rich_path_three_way_precedence ... ok
[INFO] [stdout] test tests::truncate_quote_cuts_long_text_with_ellipsis ... ok
[INFO] [stdout] test tests::tmux_send_keys_argv_pins_send_keys_target_body_enter_shape ... ok
[INFO] [stdout] test tests::voice_echoes_routing_only_on_a_successful_insert ... ok
[INFO] [stdout] test tests::truncate_quote_counts_chars_not_bytes ... ok
[INFO] [stdout] test tests::truncate_quote_passes_short_text_through ... ok
[INFO] [stdout] test tests::voice_inbox_prefix_matches_issue_spec ... ok
[INFO] [stdout] test tests::voice_size_pre_reject_names_both_numbers ... ok
[INFO] [stdout] test tests::voice_stt_missing_reply_carries_operator_actionable_hints ... ok
[INFO] [stdout] test tests::voice_path_mid_reject_names_both_numbers_and_distinguishes ... ok
[INFO] [stdout] test tests::scoped_bot_routes_only_its_managers_chain ... ok
[INFO] [stdout] test tests::scoped_bot_with_unknown_agent_falls_back_to_self_routing ... ok
[INFO] [stdout] test tests::unscoped_bot_routes_every_approval ... ok
[INFO] [stdout] test tests::stale_tap_on_undeliverable_does_not_flip_delivered_at ... ok
[INFO] [stdout] test tests::reply_routes_only_to_its_senders_bot ... ok
[INFO] [stdout] test tests::update_message_kind_refuses_system_and_leaves_row_untouched ... ok
[INFO] [stdout] test tests::update_message_kind_writes_legitimate_media_kinds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 144 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/team_core-5c723ff9df9c3101)
[INFO] [stdout] 
[INFO] [stdout] running 217 tests
[INFO] [stdout] test attachments::tests::audit_no_op_when_path_unset ... ok
[INFO] [stdout] test attachments::tests::human_message_avoids_markdown_chars ... ok
[INFO] [stdout] test attachments::tests::is_within_any_root_handles_descendant_and_equal_paths ... ok
[INFO] [stdout] test attachments::tests::disabled_short_circuits_before_any_filesystem_work ... ok
[INFO] [stdout] test attachments::tests::audit_creates_parent_dir_on_first_write ... ok
[INFO] [stdout] test attachments::tests::empty_allowed_roots_returns_no_allowed_roots ... ok
[INFO] [stdout] test attachments::tests::file_above_size_cap_is_rejected_before_read ... ok
[INFO] [stdout] test attachments::tests::scanner_configured_but_caller_passes_none_returns_scanner_not_provided ... ok
[INFO] [stdout] test attachments::tests::scanner_clean_passes_through ... ok
[INFO] [stdout] test attachments::tests::scanner_only_runs_after_path_and_size_pass ... ok
[INFO] [stdout] test attachments::tests::path_outside_allowed_roots_is_rejected ... ok
[INFO] [stdout] test attachments::tests::happy_path_returns_bytes_unmodified ... ok
[INFO] [stdout] test attachments::tests::check_and_read_with_metadata_returns_blake3_and_size ... ok
[INFO] [stdout] test attachments::tests::stage_to_tempfile_is_idempotent_for_identical_content ... ok
[INFO] [stdout] test attachments::tests::sweep_expired_drops_stale_files_and_returns_count ... ok
[INFO] [stdout] test attachments::tests::truncate_for_reject_passes_short_strings_through ... ok
[INFO] [stdout] test attachments::tests::stage_to_tempfile_writes_and_returns_content_addressed_path ... ok
[INFO] [stdout] test attachments::tests::sweep_expired_returns_zero_when_dir_missing ... ok
[INFO] [stdout] test attachments::tests::scanner_reject_blocks_read ... ok
[INFO] [stdout] test attachments::tests::unresolvable_path_returns_path_unresolvable ... ok
[INFO] [stdout] test attachments::tests::truncate_for_reject_caps_long_strings ... ok
[INFO] [stdout] test compose::tests::effort_renders_to_lowercase_string ... ok
[INFO] [stdout] test compose::tests::channel_members_explicit_checks_list ... ok
[INFO] [stdout] test compose::tests::channel_members_all_expands ... ok
[INFO] [stdout] test attachments::tests::audit_appends_jsonl_lines ... ok
[INFO] [stdout] test compose::tests::discover_prefers_dot_team ... ok
[INFO] [stdout] test compose::tests::discover_returns_first_dot_team_walking_up ... ok
[INFO] [stdout] test attachments::tests::real_scanner_for_spec_clean_path_returns_clean ... ok
[INFO] [stdout] test compose::tests::effort_unknown_value_is_rejected ... ok
[INFO] [stdout] test compose::tests::agent_defaults_are_stable ... ok
[INFO] [stdout] test compose::tests::load_leaves_canonical_semver_file_untouched ... ok
[INFO] [stdout] test compose::tests::agent_telegram_block_parses_speech_to_text_without_language ... ok
[INFO] [stdout] test compose::tests::agent_telegram_block_parses_under_interfaces ... ok
[INFO] [stdout] test compose::tests::agent_telegram_block_parses_speech_to_text ... ok
[INFO] [stdout] test compose::tests::profile_picture_fallback_defaults_to_initials_when_omitted ... ok
[INFO] [stdout] test compose::tests::manager_bot_missing_token_env_rejected ... ok
[INFO] [stdout] test compose::tests::effort_parses_all_five_levels ... ok
[INFO] [stdout] test compose::tests::profile_picture_fallback_unknown_value_rejected ... ok
[INFO] [stdout] test compose::tests::image_model_missing_required_fields_rejected ... ok
[INFO] [stdout] test compose::tests::profile_picture_image_model_optional_with_initials_fallback ... ok
[INFO] [stdout] test compose::tests::project_without_interfaces_block_parses_unchanged ... ok
[INFO] [stdout] test compose::tests::project_telegram_block_parses_manager_bot_only ... ok
[INFO] [stdout] test compose::tests::discover_no_longer_falls_back_to_flat_layout ... ok
[INFO] [stdout] test compose::tests::discover_errors_when_nothing_found ... ok
[INFO] [stdout] test compose::tests::load_rewrites_legacy_version_two_in_file_and_in_memory ... ok
[INFO] [stdout] test compose::tests::role_prompt_parses_single_string_form ... ok
[INFO] [stdout] test compose::tests::schema_version_accepts_semver_string ... ok
[INFO] [stdout] test compose::tests::role_prompt_parses_list_form ... ok
[INFO] [stdout] test compose::tests::project_telegram_block_parses_under_interfaces ... ok
[INFO] [stdout] test compose::tests::load_hard_errors_on_non_two_integer_version ... ok
[INFO] [stdout] test compose::tests::role_prompt_paths_returns_declared_order ... ok
[INFO] [stdout] test compose::tests::schema_version_rejects_other_integers ... ok
[INFO] [stdout] test compose::tests::schema_version_coerces_legacy_integer_two ... ok
[INFO] [stdout] test attachments::tests::real_scanner_for_spec_nonzero_exit_returns_rejected ... ok
[INFO] [stdout] test mailbox::tests::is_privileged_kind_true_only_for_system ... ok
[INFO] [stdout] test compose::tests::ultracode_parses_from_yaml_and_defaults_false ... ok
[INFO] [stdout] test mailbox::tests::privileged_kind_const_is_system ... ok
[INFO] [stdout] test compose::tests::schema_version_accepts_arbitrary_semver_string_for_later_validation ... ok
[INFO] [stdout] test compose::tests::schema_version_rejects_non_string_non_int_shapes ... ok
[INFO] [stdout] test mailbox::tests::is_privileged_kind_false_for_ordinary_kinds ... ok
[INFO] [stdout] test preview::tests::descriptor_omits_model_when_not_pinned ... ok
[INFO] [stdout] test preview::tests::all_known_model_labels_render ... ok
[INFO] [stdout] test preview::tests::empty_project_yields_only_the_shared_root ... ok
[INFO] [stdout] test preview::tests::descriptor_includes_model_when_pinned ... ok
[INFO] [stdout] test preview::tests::unknown_runtime_and_model_pass_through_raw ... ok
[INFO] [stdout] test registry::tests::is_orphan_tracks_presence_of_compose ... ok
[INFO] [stdout] test registry::tests::is_orphan_falls_back_to_bare_root_layout_for_sessions_parity ... ok
[INFO] [stdout] test registry::tests::load_missing_file_is_empty ... ok
[INFO] [stdout] test registry::tests::reap_targets_drops_removed_keeps_current ... ok
[INFO] [stdout] test preview::tests::descriptor_counts_subagents_skills_hooks_mcps ... ok
[INFO] [stdout] test preview::tests::orphan_worker_hangs_at_top_level_after_managers ... ok
[INFO] [stdout] test preview::tests::label_prefers_display_name_then_falls_back_to_id ... ok
[INFO] [stdout] test preview::tests::single_manager_with_two_workers_orders_and_nests ... ok
[INFO] [stdout] test preview::tests::multi_project_shares_one_root_with_per_project_sibling_groups ... ok
[INFO] [stdout] test registry::tests::reap_targets_honors_project_scope ... ok
[INFO] [stdout] test registry::tests::load_corrupt_file_degrades_to_empty ... ok
[INFO] [stdout] test registry::tests::distinct_keys_coexist_and_sort ... ok
[INFO] [stdout] test registry::tests::same_name_other_root_flags_only_a_live_different_folder ... ok
[INFO] [stdout] test registry::tests::orphans_for_root_loads_and_diffs_against_desired ... ok
[INFO] [stdout] test registry::tests::reap_targets_skips_entirely_on_per_agent_teardown ... ok
[INFO] [stdout] test preview::tests::two_managers_sort_by_id ... ok
[INFO] [stdout] test registry::tests::clear_scoped_project_keeps_sibling_at_same_root ... ok
[INFO] [stdout] test registry::tests::clear_whole_root_drops_all_its_entries ... ok
[INFO] [stdout] test registry::tests::roster_for_root_rebuilds_sessions_from_recorded_prefix ... ok
[INFO] [stdout] test render::tests::claude_settings_absent_for_non_claude_runtimes ... ok
[INFO] [stdout] test registry::tests::upsert_then_load_roundtrips ... ok
[INFO] [stdout] test render::tests::claude_settings_absent_when_non_claude_agent_opts_into_ultracode ... ok
[INFO] [stdout] test registry::tests::save_is_atomic_and_leaves_no_temp ... ok
[INFO] [stdout] test render::tests::declared_hooks_noop_on_non_claude_runtime ... ok
[INFO] [stdout] test render::tests::claude_settings_emits_ultracode_when_set ... ok
[INFO] [stdout] test render::tests::claude_settings_omits_ultracode_when_unset ... ok
[INFO] [stdout] test render::tests::env_contains_agent_id_and_mailbox ... ok
[INFO] [stdout] test render::tests::declared_hook_merges_alongside_deny_hook ... ok
[INFO] [stdout] test render::tests::claude_settings_present_for_claude_code ... ok
[INFO] [stdout] test render::tests::env_emits_claude_agent_scope_for_claude_code ... ok
[INFO] [stdout] test render::tests::env_emits_claude_session_id_and_name_for_claude_code_runtime ... ok
[INFO] [stdout] test registry::tests::upsert_same_key_replaces_and_preserves_started_at ... ok
[INFO] [stdout] test render::tests::default_hooks_are_deny_plus_heartbeat_buckets ... ok
[INFO] [stdout] test render::tests::env_omits_claude_agent_scope_for_non_claude_runtimes ... ok
[INFO] [stdout] test render::tests::declared_hook_without_matcher_opens_new_event_bucket ... ok
[INFO] [stdout] test render::tests::env_emits_effort_when_set ... ok
[INFO] [stdout] test render::tests::env_omits_claude_session_vars_for_non_claude_runtimes ... ok
[INFO] [stdout] test render::tests::env_omits_claude_settings_for_non_claude_runtimes ... ok
[INFO] [stdout] test render::tests::env_omits_effort_when_unset ... ok
[INFO] [stdout] test render::tests::env_emits_claude_agents_json_for_claude_code ... ok
[INFO] [stdout] test render::tests::claude_settings_pre_trust_all_project_mcp_servers ... ok
[INFO] [stdout] test render::tests::env_emits_claude_settings_path_for_claude_code ... ok
[INFO] [stdout] test render::tests::env_points_at_concat_path_for_multi_role_prompt ... ok
[INFO] [stdout] test render::tests::env_pins_teamctl_root_to_compose_root ... ok
[INFO] [stdout] test render::tests::env_points_at_source_for_single_role_prompt ... ok
[INFO] [stdout] test render::tests::mcp_json_unchanged_when_no_servers_declared ... ok
[INFO] [stdout] test render::tests::mcp_json_parses_back ... ok
[INFO] [stdout] test render::tests::heartbeat_hooks_touch_and_clear_the_marker ... ok
[INFO] [stdout] test render::tests::mcp_json_threads_tmux_prefix_from_compose ... ok
[INFO] [stdout] test render::tests::lastseen_path_is_a_dotlastseen_sibling_of_the_marker ... ok
[INFO] [stdout] test render::tests::render_subagents_errors_on_missing_source ... ok
[INFO] [stdout] test render::tests::render_subagents_none_when_empty ... ok
[INFO] [stdout] test render::tests::render_subagents_errors_on_unterminated_frontmatter ... ok
[INFO] [stdout] test render::tests::render_subagents_ignored_on_non_claude_runtime ... ok
[INFO] [stdout] test render::tests::render_subagents_builds_agents_json_from_frontmatter ... ok
[INFO] [stdout] test render::tests::session_start_hook_runs_the_boot_script ... ok
[INFO] [stdout] test render::tests::mcp_json_team_server_is_non_clobberable ... ok
[INFO] [stdout] test render::tests::render_subagents_name_falls_back_to_file_stem ... ok
[INFO] [stdout] test render::tests::render_subagents_supports_yaml_list_tools ... ok
[INFO] [stdout] test render::tests::render_subagents_isolates_per_agent ... ok
[INFO] [stdout] test render::tests::stop_budget_record_hook_records_cost ... ok
[INFO] [stdout] test render::tests::stop_failure_rate_limit_hook_records_a_hit ... ok
[INFO] [stdout] test render::tests::mcp_json_skips_declared_servers_on_runtime_without_mcp_support ... ok
[INFO] [stdout] test render::tests::mcp_json_includes_declared_servers_alongside_team ... ok
[INFO] [stdout] test render::tests::write_agent_skills_ignored_on_non_claude_runtime ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_errors_on_missing_source ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_is_noop_for_single ... ok
[INFO] [stdout] test render::tests::write_agent_skills_clear_stale_preserves_source ... ok
[INFO] [stdout] test schemas::tests::regen_golden ... ignored, writes the source tree; run manually to regenerate the golden
[INFO] [stdout] test runtimes::tests::embedded_defaults_parse ... ok
[INFO] [stdout] test schemas::tests::bundled_lookup_resolves_current_and_misses_unknown ... ok
[INFO] [stdout] test render::tests::write_subagents_json_writes_then_clears_stale ... ok
[INFO] [stdout] test session::tests::derived_uuid_is_v5_and_uses_namespace ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_joins_in_declared_order ... ok
[INFO] [stdout] test session::tests::different_agents_yield_different_uuids ... ok
[INFO] [stdout] test runtimes::tests::load_nonexistent_returns_embedded_defaults ... ok
[INFO] [stdout] test render::tests::write_agent_skills_materializes_symlinks ... ok
[INFO] [stdout] test render::tests::write_role_prompt_concat_reflects_source_edits ... ok
[INFO] [stdout] test runtimes::tests::user_file_can_add_new_runtime ... ok
[INFO] [stdout] test session::tests::different_projects_yield_different_uuids ... ok
[INFO] [stdout] test session::tests::freshen_is_noop_when_no_matching_session ... ok
[INFO] [stdout] test render::tests::write_agent_skills_isolates_per_agent ... ok
[INFO] [stdout] test session::tests::namespace_constant_is_stable ... ok
[INFO] [stdout] test session::tests::same_inputs_yield_same_uuid ... ok
[INFO] [stdout] test session::tests::session_name_format_is_canonical ... ok
[INFO] [stdout] test runtimes::tests::user_file_overrides_embedded_default ... ok
[INFO] [stdout] test session::tests::freshen_is_noop_when_projects_dir_absent ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_with_zero_timeout_returns_timed_out_killed_and_calls_down ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_poll_interval_default_is_250ms ... ok
[INFO] [stdout] test supervisor::drain_tests::poll_zero_timeout_only_checks_once_then_kills ... ok
[INFO] [stdout] test supervisor::env_harden_tests::env_assignments_missing_file_is_empty_not_error ... ok
[INFO] [stdout] test session::tests::freshen_moves_existing_session_aside ... ok
[INFO] [stdout] test session::tests::freshen_only_touches_the_session_jsonl ... ok
[INFO] [stdout] test supervisor::env_harden_tests::build_up_command_quotes_each_token_and_has_no_cat ... ok
[INFO] [stdout] test supervisor::shlex::tests::quotes_plain_path ... ok
[INFO] [stdout] test supervisor::env_harden_tests::env_assignments_keeps_lines_verbatim_skips_blank_and_no_eq ... ok
[INFO] [stdout] test supervisor::env_harden_tests::build_up_command_empty_env_has_no_stray_token ... ok
[INFO] [stdout] test supervisor::drain_tests::poll_returns_graceful_when_stopped_observed_in_time ... ok
[INFO] [stdout] test supervisor::shlex::tests::escapes_embedded_single_quote ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_with_graceful_stop_does_not_call_down ... ok
[INFO] [stdout] test validate::tests::bare_two_string_flags_too ... ok
[INFO] [stdout] test validate::tests::blank_display_name_flags ... ok
[INFO] [stdout] test validate::tests::clean_compose_validates ... ok
[INFO] [stdout] test validate::tests::clean_compose_passes_id_charset ... ok
[INFO] [stdout] test validate::tests::declared_mcp_server_named_team_flags ... ok
[INFO] [stdout] test validate::tests::declared_mcp_server_with_normal_name_validates ... ok
[INFO] [stdout] test validate::tests::display_name_above_max_length_flags ... ok
[INFO] [stdout] test validate::tests::display_name_at_max_length_validates ... ok
[INFO] [stdout] test validate::tests::is_valid_id_accepts_existing_id_shapes ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_colon_as_reserved_separator ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_empty_and_control_chars ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_non_ascii ... ok
[INFO] [stdout] test validate::tests::is_valid_id_rejects_shell_metacharacter_class ... ok
[INFO] [stdout] test schemas::tests::schema_matches_committed_golden ... ok
[INFO] [stdout] test validate::tests::dm_to_unknown_agent_flags ... ok
[INFO] [stdout] test validate::tests::drain_timeout_above_600s_flags ... ok
[INFO] [stdout] test validate::tests::display_name_counts_chars_not_bytes ... ok
[INFO] [stdout] test validate::tests::empty_role_prompt_list_flags ... ok
[INFO] [stdout] test validate::tests::drain_timeout_zero_is_valid ... ok
[INFO] [stdout] test validate::tests::empty_role_prompt_string_flags ... ok
[INFO] [stdout] test schemas::tests::schema_covers_per_project_agent_tree ... ok
[INFO] [stdout] test validate::tests::malformed_semver_string_flags ... ok
[INFO] [stdout] test validate::tests::manager_id_with_shell_metacharacters_flags ... ok
[INFO] [stdout] test validate::tests::populated_display_name_validates ... ok
[INFO] [stdout] test validate::tests::populated_role_prompt_list_validates ... ok
[INFO] [stdout] test validate::tests::project_id_with_reserved_colon_flags ... ok
[INFO] [stdout] test validate::tests::project_id_with_shell_metacharacters_flags ... ok
[INFO] [stdout] test validate::tests::unknown_broker_flags ... ok
[INFO] [stdout] test validate::tests::single_role_prompt_validates ... ok
[INFO] [stdout] test validate::tests::valid_semver_string_validates ... ok
[INFO] [stdout] test validate::tests::worker_id_with_shell_metacharacters_flags ... ok
[INFO] [stdout] test validate::tests::whitespace_only_display_name_flags_blank ... ok
[INFO] [stdout] test supervisor::drain_tests::drain_poll_interval_override_is_used_by_orchestrator ... ok
[INFO] [stdout] test yaml_edit::tests::replace_existing_leaf_nests_values_under_it ... ok
[INFO] [stdout] test yaml_edit::tests::mutation_preserves_comments ... ok
[INFO] [stdout] test supervisor::drain_tests::poll_falls_through_to_kill_when_agent_never_stops ... ok
[INFO] [stdout] test yaml_edit::tests::idempotent_replace_preserves_siblings ... ok
[INFO] [stdout] test yaml_edit::tests::replace_file_final_leaf_preserves_abutting_comment ... ok
[INFO] [stdout] test yaml_edit::tests::replace_file_final_leaf_preserves_deeper_indented_comment ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_only_touches_top_level_key ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_is_idempotent ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_replaces_integer_with_quoted_string ... ok
[INFO] [stdout] test yaml_edit::tests::replace_file_final_leaf_preserves_no_trailing_newline ... ok
[INFO] [stdout] test yaml_edit::tests::replace_file_final_leaf_preserves_multiple_trailing_comments ... ok
[INFO] [stdout] test yaml_edit::tests::replace_file_final_leaf_preserves_trailing_trivia ... ok
[INFO] [stdout] test yaml_edit::tests::round_trip_preserves_byte_for_byte ... ok
[INFO] [stdout] test yaml_edit::tests::save_does_not_strip_existing_comments ... ok
[INFO] [stdout] test supervisor::env_harden_tests::env_values_round_trip_through_real_shell ... ok
[INFO] [stdout] test validate::tests::semver_with_prerelease_and_build_metadata_validates ... ok
[INFO] [stdout] test yaml_edit::tests::set_top_level_scalar_errors_on_missing_key ... ok
[INFO] [stdout] test compose::tests::load_degrades_to_in_memory_when_legacy_rewrite_cannot_write ... FAILED
[INFO] [stdout] test attachments::tests::real_scanner_for_spec_timeout_returns_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- compose::tests::load_degrades_to_in_memory_when_legacy_rewrite_cannot_write stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'compose::tests::load_degrades_to_in_memory_when_legacy_rewrite_cannot_write' (3255) panicked at crates/team-core/src/compose.rs:1494:9:
[INFO] [stdout] the read-only degrade must emit its tracing::warn; captured:
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x573d214e8fc1 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x573d214e8fc1 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x573d214e8fc1 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x573d214e8fc1 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x573d2150009a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x573d2150009a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x573d214ee00c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x573d214ee00c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x573d214c3796 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x573d214c3796 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x573d214df6f9 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x573d213b0510 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x573d213b0510 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x573d214df8b2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x573d214df8b2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x573d214c3842 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x573d214ba7c9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x573d214c47ed - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x573d215008cc - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x573d212be2b5 - team_core[933fd49e894b954d]::compose::tests::load_degrades_to_in_memory_when_legacy_rewrite_cannot_write
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/team-core/src/compose.rs:1494:9
[INFO] [stdout]   20:     0x573d212a7d17 - team_core[933fd49e894b954d]::compose::tests::load_degrades_to_in_memory_when_legacy_rewrite_cannot_write::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/team-core/src/compose.rs:1438:69
[INFO] [stdout]   21:     0x573d212065e6 - <team_core[933fd49e894b954d]::compose::tests::load_degrades_to_in_memory_when_legacy_rewrite_cannot_write::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x573d213a384b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x573d213a384b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x573d213b0e95 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x573d213b0e95 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x573d213b0e95 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   27:     0x573d213b0e95 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x573d213b0e95 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x573d213b0e95 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x573d213b0e95 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x573d213ab944 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x573d213ab944 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x573d213b3fe2 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x573d213b3fe2 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x573d213b3fe2 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   36:     0x573d213b3fe2 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x573d213b3fe2 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x573d213b3fe2 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x573d213b3fe2 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x573d214e7f7f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   41:     0x573d214e7f7f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   42:     0x79fce828faa4 - <unknown>
[INFO] [stdout]   43:     0x79fce831ca64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     compose::tests::load_degrades_to_in_memory_when_legacy_rewrite_cannot_write
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 215 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p team-core --lib`
[INFO] running `Command { std: "docker" "inspect" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5", kill_on_drop: false }`
[INFO] [stdout] 73398c585b92acad63ce7ed644c9e764888e7d5daae552c382369f450a2319f5
