[INFO] cloning repository https://github.com/meowecho/meow-soma
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/meowecho/meow-soma" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeowecho%2Fmeow-soma", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeowecho%2Fmeow-soma'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 90d9b2025de8d5194e86d4cfb63e0ced957083ab
[INFO] testing meowecho/meow-soma against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeowecho%2Fmeow-soma" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/meowecho/meow-soma
[INFO] finished tweaking git repo https://github.com/meowecho/meow-soma
[INFO] tweaked toml for git repo https://github.com/meowecho/meow-soma written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/meowecho/meow-soma on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/meowecho/meow-soma already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 549a09c3221ba3e9092f6c341d0d2731dc309af52af181e92cbb6873fb83d972
[INFO] running `Command { std: "docker" "start" "-a" "549a09c3221ba3e9092f6c341d0d2731dc309af52af181e92cbb6873fb83d972", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "549a09c3221ba3e9092f6c341d0d2731dc309af52af181e92cbb6873fb83d972", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "549a09c3221ba3e9092f6c341d0d2731dc309af52af181e92cbb6873fb83d972", kill_on_drop: false }`
[INFO] [stdout] 549a09c3221ba3e9092f6c341d0d2731dc309af52af181e92cbb6873fb83d972
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2eaf1ed2ace0375e70063477a5f8a40af9106a99ef35c0cd379bf1896a4225d6
[INFO] running `Command { std: "docker" "start" "-a" "2eaf1ed2ace0375e70063477a5f8a40af9106a99ef35c0cd379bf1896a4225d6", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling toml v1.0.3+spec-1.1.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling meow-soma v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "2eaf1ed2ace0375e70063477a5f8a40af9106a99ef35c0cd379bf1896a4225d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2eaf1ed2ace0375e70063477a5f8a40af9106a99ef35c0cd379bf1896a4225d6", kill_on_drop: false }`
[INFO] [stdout] 2eaf1ed2ace0375e70063477a5f8a40af9106a99ef35c0cd379bf1896a4225d6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2299cd0ca8851bb4dccdcb380f596f90cd13ba44b161da40d357468e079f86f5
[INFO] running `Command { std: "docker" "start" "-a" "2299cd0ca8851bb4dccdcb380f596f90cd13ba44b161da40d357468e079f86f5", kill_on_drop: false }`
[INFO] [stderr]    Compiling meow-soma v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.04s
[INFO] running `Command { std: "docker" "inspect" "2299cd0ca8851bb4dccdcb380f596f90cd13ba44b161da40d357468e079f86f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2299cd0ca8851bb4dccdcb380f596f90cd13ba44b161da40d357468e079f86f5", kill_on_drop: false }`
[INFO] [stdout] 2299cd0ca8851bb4dccdcb380f596f90cd13ba44b161da40d357468e079f86f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] edc73f9087a3642d81e6f7665e3955d756d29659c042caf7a101ec3c6df7d6ff
[INFO] running `Command { std: "docker" "start" "-a" "edc73f9087a3642d81e6f7665e3955d756d29659c042caf7a101ec3c6df7d6ff", 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/meow-1a6b448c25aa568c)
[INFO] [stdout] 
[INFO] [stdout] running 145 tests
[INFO] [stdout] test app::tests::command_mode_maps_session_continue_to_tui_resume ... ok
[INFO] [stdout] test app::tests::ask_json_error_payload_shape_is_stable ... ok
[INFO] [stdout] test app::tests::run_json_error_payload_shape_is_stable ... ok
[INFO] [stdout] test cli::tests::defaults_to_no_subcommand ... ok
[INFO] [stdout] test cli::tests::parses_ask_command_with_session_and_json_output ... ok
[INFO] [stdout] test cli::tests::parses_config_setup_command_with_provider ... ok
[INFO] [stdout] test cli::tests::parses_config_init_command_with_flags ... ok
[INFO] [stdout] test app::tests::config_setup_without_force_fails_if_config_exists ... ok
[INFO] [stdout] test app::tests::validate_export_args_rejects_markdown_for_all ... ok
[INFO] [stdout] test cli::tests::parses_config_path_command ... ok
[INFO] [stdout] test cli::tests::parses_config_validate_command ... ok
[INFO] [stdout] test cli::tests::parses_metrics_export_command ... ok
[INFO] [stdout] test cli::tests::parses_mcp_serve_command_with_transport ... ok
[INFO] [stdout] test app::tests::config_setup_writes_selected_provider ... ok
[INFO] [stdout] test cli::tests::parses_global_config_override ... ok
[INFO] [stdout] test cli::tests::parses_metrics_summary_command ... ok
[INFO] [stdout] test cli::tests::parses_session_export_single_session_defaults_to_json_in_app ... ok
[INFO] [stdout] test cli::tests::parses_session_import_with_path ... ok
[INFO] [stdout] test cli::tests::parses_session_resume_command ... ok
[INFO] [stdout] test cli::tests::parses_session_list_command ... ok
[INFO] [stdout] test cli::tests::parses_session_export_all_backup ... ok
[INFO] [stdout] test cli::tests::parses_run_command ... ok
[INFO] [stdout] test cli::tests::parses_ask_command ... ok
[INFO] [stdout] test cli::tests::parses_tool_exec_command ... ok
[INFO] [stdout] test cli::tests::parses_tool_list_command ... ok
[INFO] [stdout] test cli::tests::parses_session_fork_command_with_title ... ok
[INFO] [stdout] test cli::tests::rejects_removed_tui_subcommand ... ok
[INFO] [stdout] test config::tests::invalid_fixture_reports_validation_errors ... ok
[INFO] [stdout] test cli::tests::parses_session_continue_command ... ok
[INFO] [stdout] test cli::tests::parses_run_command_with_session_and_json_output ... ok
[INFO] [stdout] test cli::tests::rejects_session_export_without_target_scope ... ok
[INFO] [stdout] test cli::tests::rejects_session_export_all_with_markdown_format ... ok
[INFO] [stdout] test config::tests::valid_fixture_loads_and_validates ... ok
[INFO] [stdout] test cli::tests::rejects_session_export_with_all_and_session_id ... ok
[INFO] [stdout] test mcp::tests::non_boolean_approve_returns_invalid_request ... ok
[INFO] [stdout] test mcp::tests::malformed_json_returns_invalid_json_code ... ok
[INFO] [stdout] test mcp::tests::legacy_tool_request_executes ... ok
[INFO] [stdout] test mcp::tests::legacy_non_boolean_approve_returns_invalid_request ... ok
[INFO] [stdout] test mcp::tests::non_string_method_returns_invalid_request ... ok
[INFO] [stdout] test mcp::tests::unsupported_version_returns_error_code ... ok
[INFO] [stdout] test mcp::tests::malformed_request_does_not_break_followup_request ... ok
[INFO] [stdout] test mcp::tests::non_object_payload_returns_invalid_request ... ok
[INFO] [stdout] test mcp::tests::non_string_version_returns_invalid_request ... ok
[INFO] [stdout] test mcp::tests::unknown_method_returns_error_code ... ok
[INFO] [stdout] test mcp::tests::approval_required_is_mapped_to_protocol_error ... ok
[INFO] [stdout] test memory::tests::load_rejects_project_scope_via_symlinked_parent_directory ... ok
[INFO] [stdout] test memory::tests::init_force_rejects_broken_symlinked_project_file ... ok
[INFO] [stdout] test memory::tests::init_project_file_supports_force_overwrite ... ok
[INFO] [stdout] test policy::tests::canonical_policy_aliases_map_to_expected_modes ... ok
[INFO] [stdout] test mcp::tests::tools_list_returns_discovery_payload ... ok
[INFO] [stdout] test policy::tests::deny_mode_allows_only_safe_allowlisted_actions ... ok
[INFO] [stdout] test memory::tests::init_force_rejects_symlinked_project_file ... ok
[INFO] [stdout] test policy::tests::permission_gate_fixture_cases_pass ... ok
[INFO] [stdout] test policy::tests::denylist_tool_is_denied ... ok
[INFO] [stdout] test memory::tests::resolve_paths_uses_git_root_when_no_project_file_exists ... ok
[INFO] [stdout] test policy::tests::read_only_denies_non_allowlisted_shell ... ok
[INFO] [stdout] test policy::tests::risky_tool_requires_approval ... ok
[INFO] [stdout] test policy::tests::shell_command_is_normalized_before_policy_checks ... ok
[INFO] [stdout] test policy::tests::tool_specifier_rule_matches_path_prefix ... ok
[INFO] [stdout] test policy::tests::read_only_fixture_cases_pass ... ok
[INFO] [stdout] test policy::tests::risky_shell_is_approve_required ... ok
[INFO] [stdout] test providers::tests::classify_http_error_maps_status ... ok
[INFO] [stdout] test memory::tests::precedence_merges_user_local_then_project ... ok
[INFO] [stdout] test memory::tests::init_force_on_missing_file_reports_created ... ok
[INFO] [stdout] test providers::tests::anthropic_provider_success_with_mock_response ... ok
[INFO] [stdout] test policy::tests::tool_specifier_matching_normalizes_windows_path_separators ... ok
[INFO] [stdout] test memory::tests::reload_picks_up_instruction_file_changes ... ok
[INFO] [stdout] test memory::tests::load_rejects_symlinked_instruction_files ... ok
[INFO] [stdout] test providers::tests::openai_provider_maps_auth_error_end_to_end ... ok
[INFO] [stdout] test memory::tests::init_force_rejects_project_scope_via_symlinked_parent_directory ... ok
[INFO] [stdout] test providers::tests::parse_anthropic_text_reads_text_blocks ... ok
[INFO] [stdout] test providers::tests::parse_openai_text_supports_string_and_array ... ok
[INFO] [stdout] test providers::tests::parse_stream_deltas_extract_text_chunks ... ok
[INFO] [stdout] test providers::tests::partial_stream_output_disables_retryable_error_retries ... ok
[INFO] [stdout] test app::tests::resolve_or_create_session_creates_new_session_for_unknown_reference ... ok
[INFO] [stdout] test runtime::tests::respond_with_context_includes_template_and_recent_messages ... ok
[INFO] [stdout] test runtime::tests::respond_with_context_streaming_emits_chunks ... ok
[INFO] [stdout] test runtime::tests::run_goal_with_context_adds_execution_hint ... ok
[INFO] [stdout] test app::tests::export_session_markdown_writes_markdown_for_single_session ... ok
[INFO] [stdout] test app::tests::metrics_export_writes_json_summary ... ok
[INFO] [stdout] test state::tests::corruption_errors_include_recovery_steps ... ok
[INFO] [stdout] test app::tests::export_session_all_writes_snapshot_json ... ok
[INFO] [stdout] test app::tests::export_session_accepts_title_reference ... ok
[INFO] [stdout] test app::tests::fork_session_clones_message_history ... ok
[INFO] [stdout] test runtime::tests::cancellation_token_interrupts_long_running_request ... ok
[INFO] [stdout] test state::tests::creates_indexes_for_hot_paths ... ok
[INFO] [stdout] test app::tests::import_session_restores_from_json_file ... ok
[INFO] [stdout] test state::tests::import_snapshot_accepts_legacy_shape_with_missing_new_fields ... ok
[INFO] [stdout] test state::tests::import_rollback_preserves_existing_data_on_invalid_payload ... ok
[INFO] [stdout] test state::tests::rejects_database_newer_than_supported_schema ... ok
[INFO] [stdout] test providers::tests::ollama_provider_retries_and_succeeds ... ok
[INFO] [stdout] test state::tests::import_snapshot_rejects_structurally_invalid_payload_without_data_loss ... ok
[INFO] [stdout] test state::tests::migrations_apply_on_fresh_database ... ok
[INFO] [stdout] test runtime::tests::streaming_request_respects_cancellation ... ok
[INFO] [stdout] test tools::tests::fs_write_allows_explicit_approved_root ... ok
[INFO] [stdout] test state::tests::migrates_legacy_database_and_adds_reason_code_column ... ok
[INFO] [stdout] test tools::tests::fs_write_denies_escape_outside_workspace ... ok
[INFO] [stdout] test tools::tests::reads_approved_roots_from_env ... ok
[INFO] [stdout] test tui::tests::compute_feed_scroll_follows_latest_when_at_bottom ... ok
[INFO] [stdout] test state::tests::fork_session_clones_messages_and_allows_title_override ... ok
[INFO] [stdout] test state::tests::resolve_session_ref_supports_id_and_exact_title ... ok
[INFO] [stdout] test state::tests::resolve_session_ref_rejects_id_title_collision ... ok
[INFO] [stdout] test tui::tests::desired_feed_rows_grows_for_wrapped_lines_before_scroll ... ok
[INFO] [stdout] test tui::tests::feed_cache_invalidates_for_status_transcript_and_width_changes ... ok
[INFO] [stdout] test tui::tests::desired_feed_rows_reserves_space_for_status_line ... ok
[INFO] [stdout] test tui::tests::estimate_visual_line_rows_accounts_for_wrapping ... ok
[INFO] [stdout] test tools::tests::fs_write_allows_workspace_relative_path ... ok
[INFO] [stdout] test tui::tests::home_hero_height_uses_size_bands ... ok
[INFO] [stdout] test tui::tests::init_flag_parser_supports_force_and_rejects_unknown_tokens ... ok
[INFO] [stdout] test tui::tests::palette_supports_slash_prefixed_filter_and_skips_profile ... ok
[INFO] [stdout] test tui::tests::parse_slash_command_splits_args ... ok
[INFO] [stdout] test tui::tests::parse_tool_args_splits_whitespace_words ... ok
[INFO] [stdout] test tui::tests::render_entry_prefixes_role ... ok
[INFO] [stdout] test tui::tests::saturating_visual_row_total_clamps_on_overflow ... ok
[INFO] [stdout] test tui::tests::slash_completion_matches_include_alias_prefixes ... ok
[INFO] [stdout] test tui::tests::mascot_animation_cycles_frames ... ok
[INFO] [stdout] test tui::tests::palette_filters_and_selects_command ... ok
[INFO] [stdout] test tui::tests::history_navigation_roundtrip ... ok
[INFO] [stdout] test tui::tests::history_search_cycles_matching_entries ... ok
[INFO] [stdout] test tui::tests::slash_completion_seed_only_applies_to_single_token_slash_input ... ok
[INFO] [stdout] test tui::tests::slash_hint_specs_filter_by_prefix_and_hide_after_args ... ok
[INFO] [stdout] test tui::tests::slash_hint_specs_show_commands_for_root_slash ... ok
[INFO] [stdout] test tui::tests::slash_registry_resolves_aliases ... ok
[INFO] [stdout] test tui::tests::slash_suggestions_cover_prefix_and_fuzzy_matches ... ok
[INFO] [stdout] test tui::tests::status_feed_visibility_targets_runtime_states ... ok
[INFO] [stdout] test tui::tests::slash_help_includes_status_and_aliases ... ok
[INFO] [stdout] test tui::tests::tab_completion_completes_unique_command_with_trailing_space ... ok
[INFO] [stdout] test tui::tests::tab_completion_cycles_between_multiple_matches ... ok
[INFO] [stdout] test tui::tests::transcript_is_bounded ... ok
[INFO] [stdout] test tui::tests::transcript_role_mapping_keeps_expected_labels ... ok
[INFO] [stdout] test tui::tests::truncate_middle_preserves_ends ... ok
[INFO] [stdout] test tui::tests::transcript_scroll_boundaries_are_stable ... ok
[INFO] [stdout] test state::tests::telemetry_summary_aggregates_latencies_and_error_categories ... ok
[INFO] [stdout] test state::tests::migrations_are_idempotent ... ok
[INFO] [stdout] test state::tests::resolve_session_ref_rejects_ambiguous_title ... ok
[INFO] [stdout] test tui::tests::tool_slash_sets_pending_approval_for_risky_actions_in_ask_mode ... ok
[INFO] [stdout] test tui::tests::tool_slash_denylist_specifier_blocks_before_pending_approval ... ok
[INFO] [stdout] test state::tests::snapshot_export_import_roundtrip ... ok
[INFO] [stdout] test providers::tests::openai_provider_success_with_mock_response ... ok
[INFO] [stdout] test providers::tests::openai_streaming_provider_retries_and_succeeds ... ok
[INFO] [stdout] test providers::tests::openai_streaming_maps_auth_error_end_to_end ... ok
[INFO] [stdout] test providers::tests::openai_provider_maps_timeout_error_end_to_end ... ok
[INFO] [stdout] test providers::tests::openai_streaming_maps_rate_limit_error_end_to_end ... ok
[INFO] [stdout] test providers::tests::openai_provider_maps_rate_limit_error_end_to_end ... ok
[INFO] [stdout] test providers::tests::openai_streaming_maps_timeout_error_end_to_end ... ok
[INFO] [stderr]      Running tests/command_surface.rs (/opt/rustwide/target/debug/deps/command_surface-fb7b508ef4a0afe2)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 145 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.85s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test config_help_lists_subcommands ... ok
[INFO] [stdout] test metrics_help_lists_subcommands ... ok
[INFO] [stdout] test tool_help_lists_subcommands ... ok
[INFO] [stdout] test run_help_describes_goal_argument ... ok
[INFO] [stdout] test ask_help_describes_prompt_argument ... ok
[INFO] [stdout] test root_help_lists_primary_commands ... ok
[INFO] [stdout] test mcp_help_lists_serve_subcommand ... ok
[INFO] [stdout] test session_help_lists_subcommands ... ok
[INFO] [stdout] test config_setup_writes_default_provider ... ok
[INFO] [stdout] test default_command_path_loads_config_before_tui ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.47s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/policy_risky_tool_exec.rs (/opt/rustwide/target/debug/deps/policy_risky_tool_exec-a38a1c50ec639e21)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tool_specifier_denylist_rule_is_enforced_before_approval_flow ... ok
[INFO] [stdout] test deny_mode_blocks_risky_tools_even_when_approve_flag_is_present ... ok
[INFO] [stdout] test ask_mode_requires_approval_for_risky_tools_and_executes_after_approval ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "edc73f9087a3642d81e6f7665e3955d756d29659c042caf7a101ec3c6df7d6ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edc73f9087a3642d81e6f7665e3955d756d29659c042caf7a101ec3c6df7d6ff", kill_on_drop: false }`
[INFO] [stdout] edc73f9087a3642d81e6f7665e3955d756d29659c042caf7a101ec3c6df7d6ff
