[INFO] cloning repository https://github.com/Linkq123/LingClaw
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Linkq123/LingClaw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLinkq123%2FLingClaw", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLinkq123%2FLingClaw'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8e210c0fbf7874ce633dee07e5b06db37e1c0fbb
[INFO] testing Linkq123/LingClaw against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLinkq123%2FLingClaw" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Linkq123/LingClaw
[INFO] finished tweaking git repo https://github.com/Linkq123/LingClaw
[INFO] tweaked toml for git repo https://github.com/Linkq123/LingClaw written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Linkq123/LingClaw on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Linkq123/LingClaw 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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 43adf4c87321bc04faf6fdeece13ecb7d6e91f6552af6121da16d772105ca709
[INFO] running `Command { std: "docker" "start" "-a" "43adf4c87321bc04faf6fdeece13ecb7d6e91f6552af6121da16d772105ca709", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43adf4c87321bc04faf6fdeece13ecb7d6e91f6552af6121da16d772105ca709", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43adf4c87321bc04faf6fdeece13ecb7d6e91f6552af6121da16d772105ca709", kill_on_drop: false }`
[INFO] [stdout] 43adf4c87321bc04faf6fdeece13ecb7d6e91f6552af6121da16d772105ca709
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c989b59eef7c8aa2ccb103806e2873b654aea5b9ea1289b44383440d85a40baa
[INFO] running `Command { std: "docker" "start" "-a" "c989b59eef7c8aa2ccb103806e2873b654aea5b9ea1289b44383440d85a40baa", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rtoolbox v0.0.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rpassword v7.4.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rand_chacha v0.9.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 tokio-macros v2.6.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling lingclaw v0.6.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "c989b59eef7c8aa2ccb103806e2873b654aea5b9ea1289b44383440d85a40baa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c989b59eef7c8aa2ccb103806e2873b654aea5b9ea1289b44383440d85a40baa", kill_on_drop: false }`
[INFO] [stdout] c989b59eef7c8aa2ccb103806e2873b654aea5b9ea1289b44383440d85a40baa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e5bfe3432ad80684fbebf3e923d9a8f3261d5e143e3f9a02fb2f10050b9aa68a
[INFO] running `Command { std: "docker" "start" "-a" "e5bfe3432ad80684fbebf3e923d9a8f3261d5e143e3f9a02fb2f10050b9aa68a", kill_on_drop: false }`
[INFO] [stderr]    Compiling lingclaw v0.6.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.80s
[INFO] running `Command { std: "docker" "inspect" "e5bfe3432ad80684fbebf3e923d9a8f3261d5e143e3f9a02fb2f10050b9aa68a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5bfe3432ad80684fbebf3e923d9a8f3261d5e143e3f9a02fb2f10050b9aa68a", kill_on_drop: false }`
[INFO] [stdout] e5bfe3432ad80684fbebf3e923d9a8f3261d5e143e3f9a02fb2f10050b9aa68a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ec40f0c0ed567c6398863c5434c20decb10ac58939ed6b48ac5229c36e62b70d
[INFO] running `Command { std: "docker" "start" "-a" "ec40f0c0ed567c6398863c5434c20decb10ac58939ed6b48ac5229c36e62b70d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lingclaw-f6568c70cae7b31d)
[INFO] [stdout] 
[INFO] [stdout] running 652 tests
[INFO] [stdout] test agent::tests::auto_think_level_adapts_by_cycle ... ok
[INFO] [stdout] test agent::tests::auto_think_level_escalates_on_errors ... ok
[INFO] [stdout] test agent::tests::direct_finish_without_tools ... ok
[INFO] [stdout] test agent::tests::finish_nudge_gentle_at_15 ... ok
[INFO] [stdout] test agent::tests::finish_nudge_none_for_short_runs ... ok
[INFO] [stdout] test agent::tests::finish_nudge_strong_at_30 ... ok
[INFO] [stdout] test agent::tests::multi_cycle_tracking ... ok
[INFO] [stdout] test agent::tests::observation_annotation_short ... ok
[INFO] [stdout] test agent::tests::observation_context_hint_builds_markdown ... ok
[INFO] [stdout] test agent::tests::finish_heuristic ... ok
[INFO] [stdout] test agent::tests::observation_hint_degradation_at_3_errors ... ok
[INFO] [stdout] test agent::tests::observation_annotation_long ... ok
[INFO] [stdout] test agent::tests::observation_context_hint_none_when_empty ... ok
[INFO] [stdout] test agent::tests::observation_hint_no_degradation_below_2 ... ok
[INFO] [stdout] test cli::cli_tests::build_s3_start_detail_lines_report_disabled_by_setting ... ok
[INFO] [stdout] test cli::cli_tests::build_s3_start_detail_lines_show_enabled_summary ... ok
[INFO] [stdout] test cli::cli_tests::doctor_node_version_strips_leading_v ... ok
[INFO] [stdout] test cli::cli_tests::build_s3_start_detail_lines_report_env_override_note ... ok
[INFO] [stdout] test agent::tests::evaluate_finish_returns_correct_reasons ... ok
[INFO] [stdout] test agent::tests::simple_query_rejects_complex ... ok
[INFO] [stdout] test agent::tests::simple_query_short_greetings ... ok
[INFO] [stdout] test agent::tests::phase_transitions_happy_path ... ok
[INFO] [stdout] test cli::cli_tests::build_systemd_service_unit_quotes_paths_with_spaces ... ok
[INFO] [stdout] test agent::tests::summarize_observations_produces_summary_for_large ... ok
[INFO] [stdout] test agent::tests::observation_hint_degradation_at_2_errors ... ok
[INFO] [stdout] test cli::cli_tests::doctor_npm_version_trims_whitespace ... ok
[INFO] [stdout] test cli::cli_tests::install_frontend_assets_replaces_stale_target_static_dir ... ok
[INFO] [stdout] test cli::cli_tests::install_release_artifacts_copies_binary_and_frontend_assets ... ok
[INFO] [stdout] test agent::tests::summarize_observations_empty_when_short ... ok
[INFO] [stdout] test cli::cli_tests::parse_version_triple_accepts_missing_patch ... ok
[INFO] [stdout] test cli::cli_tests::parse_version_triple_rejects_non_numeric ... ok
[INFO] [stdout] test cli::cli_tests::parse_version_triple_parses_major_minor_patch ... ok
[INFO] [stdout] test cli::cli_tests::prepare_frontend_assets_reuses_prebuilt_static_when_frontend_source_is_missing ... ok
[INFO] [stdout] test cli::cli_tests::mcp_check_succeeded_returns_true_for_empty_reports ... ok
[INFO] [stdout] test cli::cli_tests::preflight_config_sets_default_timeout_when_missing ... ok
[INFO] [stdout] test cli::cli_tests::preflight_config_caps_mcp_timeouts ... ok
[INFO] [stdout] test cli::cli_tests::wizard_suggested_fast_model_falls_back_to_primary_model ... ok
[INFO] [stdout] test cli::cli_tests::wizard_suggested_fast_model_prefers_known_family_fast_model ... ok
[INFO] [stdout] test cli::cli_tests::prepare_frontend_assets_fails_without_npm_when_static_bundle_is_missing ... ok
[INFO] [stdout] test cli::cli_tests::prepare_frontend_assets_reuses_prebuilt_static_when_npm_is_unavailable ... ok
[INFO] [stdout] test cli::cli_tests::wizard_validate_provider_name_rejects_duplicates_and_invalid_chars ... ok
[INFO] [stdout] test cli::cli_tests::wizard_next_provider_name_numbers_per_family ... ok
[INFO] [stdout] test commands::tests::append_daily_memory_entry_creates_new_file_with_header ... ok
[INFO] [stdout] test cli::cli_tests::with_preflight_timeout_returns_ready_result ... ok
[INFO] [stdout] test commands::tests::append_daily_memory_entry_appends_without_overwriting_existing_content ... ok
[INFO] [stdout] test cli::cli_tests::inspect_mcp_preflight_is_nonfatal_inside_runtime ... ok
[INFO] [stdout] test cli::cli_tests::run_mcp_inspection_without_timeout_returns_reports ... ok
[INFO] [stdout] test cli::cli_tests::inspect_mcp_check_is_nonfatal_inside_runtime ... ok
[INFO] [stdout] test cli::cli_tests::remote_cargo_toml_refs_include_main_and_master_fallbacks ... ok
[INFO] [stdout] test cli::cli_tests::mcp_check_succeeded_returns_false_when_any_server_fails ... ok
[INFO] [stdout] test agent::tests::invalid_act_from_observe - should panic ... ok
[INFO] [stdout] test agent::tests::invalid_finish_from_act - should panic ... ok
[INFO] [stdout] test commands::tests::status_command_uses_live_round_for_auto_think_estimate ... ok
[INFO] [stdout] test config::config_tests::align_runtime_provider_config_updates_provider_family_from_primary_model ... ok
[INFO] [stdout] test config::config_tests::align_runtime_provider_config_uses_primary_provider_entry ... ok
[INFO] [stdout] test config::config_tests::empty_provider_config_accepts_gemini_model_prefix ... ok
[INFO] [stdout] test config::config_tests::gemini_is_supported_as_builtin_provider ... ok
[INFO] [stdout] test config::config_tests::json_default_model_deserializes_null_override_and_unknown_nested_fields ... ok
[INFO] [stdout] test config::config_tests::model_supports_image_prefers_runtime_aligned_provider_for_plain_ids ... ok
[INFO] [stdout] test config::config_tests::resolve_provider_name_prefers_configured_provider_alias ... ok
[INFO] [stdout] test config::config_tests::sanitize_loaded_json_config_filters_invalid_provider_names ... ok
[INFO] [stdout] test config::config_tests::validate_json_agent_model_refs_allows_null_dynamic_sub_agent_override ... ok
[INFO] [stdout] test config::config_tests::validate_json_agent_model_refs_checks_dynamic_sub_agent_overrides ... ok
[INFO] [stdout] test config::config_tests::validate_json_agent_model_refs_rejects_unknown_model_for_configured_provider ... ok
[INFO] [stdout] test config::config_tests::validate_json_agent_model_refs_rejects_unknown_prefix_without_provider_config ... ok
[INFO] [stdout] test config::config_tests::validate_json_agent_model_refs_rejects_unknown_provider_alias ... ok
[INFO] [stdout] test config::config_tests::validate_json_mcp_servers_rejects_empty_command ... ok
[INFO] [stdout] test config::config_tests::validate_json_mcp_servers_rejects_zero_timeout ... ok
[INFO] [stdout] test config::config_tests::validate_json_provider_models_rejects_empty_model_id ... ok
[INFO] [stdout] test config::config_tests::validate_json_provider_names_allows_case_insensitive_api_kind ... ok
[INFO] [stdout] test config::config_tests::validate_json_provider_names_rejects_invalid_api_kind ... ok
[INFO] [stdout] test config::config_tests::validate_json_provider_names_rejects_invalid_provider_keys ... ok
[INFO] [stdout] test hooks::hooks_tests::prune_messages_trims_local_snapshot_to_fit_budget ... ok
[INFO] [stdout] test commands::tests::reflection_command_enabled_shows_status ... ok
[INFO] [stdout] test commands::tests::reflection_command_invalid_arg_shows_usage ... ok
[INFO] [stdout] test commands::tests::reflection_command_today_filters_out_new_summaries ... ok
[INFO] [stdout] test hooks::hooks_tests::run_command_hooks_noop_when_empty ... ok
[INFO] [stdout] test hooks::hooks_tests::run_command_hooks_skips_non_matching_command ... ok
[INFO] [stdout] test hooks::hooks_tests::run_command_hooks_fires_for_matching_command ... ok
[INFO] [stdout] test hooks::hooks_tests::run_command_hooks_fires_for_unknown_command_result_type ... ok
[INFO] [stdout] test hooks::hooks_tests::run_llm_hooks_chained_extra_system_visible_to_next_hook ... ok
[INFO] [stdout] test hooks::hooks_tests::run_command_hooks_skips_wrong_point_hook ... ok
[INFO] [stdout] test hooks::hooks_tests::run_llm_hooks_chained_think_override_visible_to_next_hook ... ok
[INFO] [stdout] test hooks::hooks_tests::run_llm_hooks_extra_system_appended ... ok
[INFO] [stdout] test hooks::hooks_tests::run_llm_hooks_multiple_extra_system_concatenated ... ok
[INFO] [stdout] test commands::tests::system_prompt_command_returns_current_prompt_and_token_estimate ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_after_skipped_for_rejected_tool ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_before_chaining_second_hook_sees_modified_args ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_invalid_modify_args_during_after_treated_as_noop ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_invalid_modify_result_during_before_treated_as_noop ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_after_sees_effective_args ... ok
[INFO] [stdout] test hooks::hooks_tests::run_llm_hooks_noop_when_empty ... ok
[INFO] [stdout] test hooks::hooks_tests::run_llm_hooks_skips_wrong_point_hook ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_invalid_reject_during_after_treated_as_noop ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_modify_result ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_reject_skips_non_matching_tool ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_reject_short_circuits ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_skips_wrong_point_hook ... ok
[INFO] [stdout] test commands::tests::memory_command_rejects_unknown_subcommand ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_modify_args ... ok
[INFO] [stdout] test image_uploads::tests::canonical_uri_from_url_preserves_endpoint_path_prefix ... ok
[INFO] [stdout] test image_uploads::tests::attachment_object_key_tokens_round_trip ... ok
[INFO] [stdout] test commands::tests::switch_command_is_blocked_in_single_session_mode ... ok
[INFO] [stdout] test image_uploads::tests::detect_image_upload_content_type_rejects_unsupported_formats ... ok
[INFO] [stdout] test image_uploads::tests::detect_image_upload_content_type_rejects_non_images ... ok
[INFO] [stdout] test image_uploads::tests::detect_image_upload_content_type_rejects_truncated_images ... ok
[INFO] [stdout] test image_uploads::tests::detect_image_upload_content_type_recognizes_common_formats ... ok
[INFO] [stdout] test hooks::hooks_tests::run_tool_hooks_noop_when_no_hooks_registered ... ok
[INFO] [stdout] test image_uploads::tests::merge_s3_lifecycle_configuration_creates_rule_document ... ok
[INFO] [stdout] test image_uploads::tests::merge_s3_lifecycle_configuration_replaces_existing_lingclaw_rule ... ok
[INFO] [stdout] test image_uploads::tests::s3_lifecycle_rule_id_is_stable_for_prefix ... ok
[INFO] [stdout] test image_uploads::tests::s3_presigned_get_url_clamps_expiry_for_aws_china_endpoints ... ok
[INFO] [stdout] test image_uploads::tests::resolve_image_url_presigns_uploaded_s3_objects ... ok
[INFO] [stdout] test image_uploads::tests::s3_presigned_get_url_clamps_expiry_for_aws_endpoints ... ok
[INFO] [stdout] test image_uploads::tests::s3_rule_matches_cfg_accepts_equivalent_rule_with_whitespace ... ok
[INFO] [stdout] test image_uploads::tests::s3_rule_matches_cfg_rejects_complex_filter_rules ... ok
[INFO] [stdout] test image_uploads::tests::supported_image_content_type_allows_only_png_and_jpeg ... ok
[INFO] [stdout] test main_tests::anthropic_provider_estimate_counts_structured_thinking_blocks ... ok
[INFO] [stdout] test image_uploads::tests::s3_presigned_get_url_preserves_expiry_for_compatible_gateways ... ok
[INFO] [stdout] test image_uploads::tests::s3_rule_matches_cfg_handles_xml_entity_escaped_prefix ... ok
[INFO] [stdout] test image_uploads::tests::merge_s3_lifecycle_configuration_preserves_unrelated_rules ... ok
[INFO] [stdout] test commands::tests::status_command_reports_runtime_request_estimate ... ok
[INFO] [stdout] test commands::tests::reflection_command_disabled_allows_read_today ... ok
[INFO] [stdout] test commands::tests::reflection_command_list_shows_only_files_with_reflections ... ok
[INFO] [stdout] test image_uploads::tests::s3_rule_matches_cfg_preserves_spaces_in_prefix_content ... ok
[INFO] [stdout] test commands::tests::reflection_command_today_shows_content ... ok
[INFO] [stdout] test commands::tests::memory_command_stats_reports_unavailable_without_runtime_queue ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_invalid_provider_names ... ok
[INFO] [stdout] test commands::tests::reflection_command_today_preserves_horizontal_rules_in_body ... ok
[INFO] [stdout] test main_tests::api_client_config_rejects_non_local_host ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_empty_provider_model_id ... ok
[INFO] [stdout] test main_tests::auto_compress_cutoff_preserves_recent_turns ... ok
[INFO] [stdout] test main_tests::auto_think_adapts_in_agent_loop_context ... ok
[INFO] [stdout] test main_tests::available_models_omits_ambiguous_plain_default_alias ... ok
[INFO] [stdout] test main_tests::build_compressed_messages_inserts_summary_and_keeps_recent_tail ... ok
[INFO] [stdout] test main_tests::build_active_session_lines_lists_only_active_sessions_with_full_ids ... ok
[INFO] [stdout] test main_tests::build_history_payload_distinguishes_repeated_task_tool_call_ids ... ok
[INFO] [stdout] test main_tests::build_history_payload_hides_internal_image_cache_metadata ... ok
[INFO] [stdout] test main_tests::build_history_payload_includes_subagent_snapshot_on_task_results ... ok
[INFO] [stdout] test main_tests::build_global_today_usage_sums_all_sessions ... ok
[INFO] [stdout] test main_tests::build_history_payload_marks_failed_tool_result_with_is_error ... ok
[INFO] [stdout] test main_tests::build_history_payload_preserves_raw_tool_result_content ... ok
[INFO] [stdout] test main_tests::build_history_payload_with_s3_refreshes_uploaded_image_urls ... ok
[INFO] [stdout] test main_tests::build_session_status_reports_resolved_target ... ok
[INFO] [stdout] test main_tests::build_session_usage_formats_totals ... ok
[INFO] [stdout] test main_tests::build_session_usage_resets_today_window_when_day_changes ... ok
[INFO] [stdout] test main_tests::build_usage_report_includes_session_and_global_sections ... ok
[INFO] [stdout] test main_tests::canonical_model_ref_allows_explicit_provider_without_provider_config ... ok
[INFO] [stdout] test main_tests::canonical_model_ref_expands_unique_plain_id ... ok
[INFO] [stdout] test main_tests::canonical_model_ref_preserves_explicit_provider_model ... ok
[INFO] [stdout] test main_tests::canonical_model_ref_rejects_ambiguous_plain_id ... ok
[INFO] [stdout] test main_tests::canonical_model_ref_rejects_unknown_plain_id_when_providers_exist ... ok
[INFO] [stdout] test main_tests::build_history_payload_includes_thinking_only_assistant_messages ... ok
[INFO] [stdout] test main_tests::chat_message_has_nonempty_content ... ok
[INFO] [stdout] test main_tests::chat_message_has_tool_calls ... ok
[INFO] [stdout] test main_tests::chat_message_is_empty_assistant_message ... ok
[INFO] [stdout] test main_tests::chat_message_with_thinking_is_not_empty_assistant_message ... ok
[INFO] [stdout] test main_tests::compression_source_text_includes_image_markers ... ok
[INFO] [stdout] test main_tests::cli_default_model_marker_uses_canonical_model_ref ... ok
[INFO] [stdout] test main_tests::compression_source_text_skips_auto_generated_summary ... ok
[INFO] [stdout] test main_tests::context_input_budget_reserves_headroom ... ok
[INFO] [stdout] test main_tests::dangerous_command_allows_safe_commands ... ok
[INFO] [stdout] test main_tests::dangerous_command_blocks_fork_bomb_and_dev_overwrite ... ok
[INFO] [stdout] test main_tests::dangerous_command_blocks_mkfs_and_dd ... ok
[INFO] [stdout] test main_tests::dangerous_command_blocks_rm_rf_root ... ok
[INFO] [stdout] test main_tests::dangerous_command_blocks_windows_destructive_commands ... ok
[INFO] [stdout] test main_tests::dangerous_command_detects_new_patterns ... ok
[INFO] [stdout] test main_tests::dangerous_command_normalizes_whitespace ... ok
[INFO] [stdout] test main_tests::default_port_constant_is_18989 ... ok
[INFO] [stdout] test commands::tests::reflection_command_disabled_shows_hint ... ok
[INFO] [stdout] test main_tests::api_client_config_returns_upload_token ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_empty_mcp_command ... ok
[INFO] [stdout] test main_tests::effective_enable_s3_prefers_env_override ... ok
[INFO] [stdout] test main_tests::estimate_tokens_sums_messages ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_unknown_agent_provider_alias ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_unknown_agent_provider_prefix_without_models_config ... ok
[INFO] [stdout] test main_tests::dispatch_live_event_ignores_stale_connection_after_rebind ... ok
[INFO] [stdout] test main_tests::find_static_dir_from_does_not_walk_past_expected_exe_ancestors ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_invalid_provider_api_kind ... ok
[INFO] [stdout] test main_tests::find_static_dir_from_falls_back_to_cwd ... ok
[INFO] [stdout] test main_tests::finish_reason_label_appears_in_done_event_shape ... ok
[INFO] [stdout] test main_tests::format_size_bytes ... ok
[INFO] [stdout] test main_tests::find_static_dir_from_prefers_exe_ancestors ... ok
[INFO] [stdout] test main_tests::format_size_kilobytes ... ok
[INFO] [stdout] test main_tests::format_sub_agent_timeout_renders_seconds_when_nonzero ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_mcp_cwd_outside_workspace ... ok
[INFO] [stdout] test main_tests::format_token_count_uses_k_and_m_units ... ok
[INFO] [stdout] test main_tests::format_sub_agent_timeout_renders_unlimited_for_zero ... ok
[INFO] [stdout] test main_tests::generate_shutdown_token_returns_64_hex_chars ... ok
[INFO] [stdout] test main_tests::dispatch_live_event_allows_active_run_source_after_rebind ... ok
[INFO] [stdout] test main_tests::api_usage_rolls_over_stale_daily_usage_before_serializing ... ok
[INFO] [stdout] test main_tests::format_size_megabytes ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_unknown_agent_model_id_for_configured_provider ... ok
[INFO] [stdout] test main_tests::gather_global_today_usage_uses_main_session_only_in_single_session_mode ... ok
[INFO] [stdout] test main_tests::finalize_connection_removes_unbound_session_from_memory ... ok
[INFO] [stdout] test main_tests::handle_command_persists_new_on_empty_context ... ok
[INFO] [stdout] test main_tests::legacy_settings_provider_fields_deserialize ... ok
[INFO] [stdout] test main_tests::list_saved_session_ids_in_dir_uses_filenames_even_for_invalid_json ... ok
[INFO] [stdout] test main_tests::list_saved_session_summaries_in_dir_counts_messages_after_sanitization ... ok
[INFO] [stdout] test main_tests::list_saved_session_summaries_in_dir_includes_corrupt_files ... ok
[INFO] [stdout] test main_tests::load_session_from_disk_drops_empty_assistant_reply ... ok
[INFO] [stdout] test main_tests::load_session_from_disk_migrates_show_react_to_true_for_older_sessions ... ok
[INFO] [stdout] test main_tests::load_session_from_disk_migrates_tool_and_reasoning_visibility_to_true_for_older_sessions ... ok
[INFO] [stdout] test main_tests::load_session_from_disk_trims_incomplete_tool_transaction ... ok
[INFO] [stdout] test commands::tests::reflection_command_reads_runtime_daily_reflection_updates ... ok
[INFO] [stdout] test main_tests::dispatch_live_event_allows_live_round_source_after_run_teardown ... ok
[INFO] [stdout] test main_tests::matches_glob_extension_pattern ... ok
[INFO] [stdout] test main_tests::matches_glob_prefix_pattern ... ok
[INFO] [stdout] test main_tests::memory_model_falls_back_when_unset ... ok
[INFO] [stdout] test main_tests::matches_glob_exact_match ... ok
[INFO] [stdout] test main_tests::message_token_len_cjk_aware ... ok
[INFO] [stdout] test main_tests::message_token_len_content_only ... ok
[INFO] [stdout] test main_tests::message_token_len_empty_message ... ok
[INFO] [stdout] test main_tests::message_token_len_with_tool_calls ... ok
[INFO] [stdout] test main_tests::normalized_s3_endpoint_defaults_to_aws_china_host ... ok
[INFO] [stdout] test main_tests::normalized_s3_endpoint_defaults_to_aws_china_host_for_mixed_case_region ... ok
[INFO] [stdout] test main_tests::normalized_s3_endpoint_defaults_to_regional_aws_host ... ok
[INFO] [stdout] test main_tests::normalized_s3_endpoint_preserves_custom_gateway_paths ... ok
[INFO] [stdout] test main_tests::normalized_s3_endpoint_rewrites_legacy_aws_global_host ... ok
[INFO] [stdout] test main_tests::normalized_s3_endpoint_rewrites_official_aws_host_for_china_region ... ok
[INFO] [stdout] test main_tests::normalized_s3_prefix_defaults_when_empty ... ok
[INFO] [stdout] test main_tests::memory_model_prefers_dedicated_config ... ok
[INFO] [stdout] test main_tests::normalized_s3_region_defaults_and_lowercases ... ok
[INFO] [stdout] test main_tests::normalized_s3_prefix_trims_and_enforces_trailing_slash ... ok
[INFO] [stdout] test main_tests::observation_summary_does_not_appear_in_persisted_tool_result ... ok
[INFO] [stdout] test main_tests::observation_summary_includes_error_tools ... ok
[INFO] [stdout] test main_tests::observation_summaries_are_independent_of_session_messages ... ok
[INFO] [stdout] test main_tests::openai_request_estimate_includes_builtin_tool_schemas ... ok
[INFO] [stdout] test main_tests::parse_serde_error_position_returns_none_for_no_match ... ok
[INFO] [stdout] test main_tests::parse_serde_error_position_extracts_line_and_column ... ok
[INFO] [stdout] test main_tests::provider_aware_estimate_adds_tool_protocol_overhead ... ok
[INFO] [stdout] test main_tests::provider_detect_accepts_provider_prefixed_model_refs ... ok
[INFO] [stdout] test main_tests::prune_messages_removes_complete_turns_without_recomputing_from_scratch ... ok
[INFO] [stdout] test main_tests::help_command_lists_usage_without_extra_indent ... ok
[INFO] [stdout] test main_tests::prune_messages_tracks_removal_count ... ok
[INFO] [stdout] test main_tests::read_config_file_snapshot_waits_for_active_writer ... ok
[INFO] [stdout] test main_tests::recoverable_session_ids_skip_empty_and_corrupt_sessions ... ok
[INFO] [stdout] test main_tests::reflection_model_config_deserializes ... ok
[INFO] [stdout] test main_tests::repeated_compression_excludes_previous_summary ... ok
[INFO] [stdout] test main_tests::replace_file_from_temp_replaces_existing_file_without_losing_data ... ok
[INFO] [stdout] test main_tests::replace_session_messages_rekeys_subagent_snapshots_for_remaining_history ... ok
[INFO] [stdout] test main_tests::read_file_reports_workspace_escape_clearly ... ok
[INFO] [stdout] test main_tests::prune_messages_removes_complete_tool_turn ... ok
[INFO] [stdout] test main_tests::finalize_connection_does_not_remove_newer_connection_cancel_binding ... ok
[INFO] [stdout] test main_tests::api_put_config_rejects_zero_mcp_timeout ... ok
[INFO] [stdout] test main_tests::handle_command_switch_is_blocked_in_single_session_mode ... ok
[INFO] [stdout] test main_tests::api_usage_returns_token_sources ... ok
[INFO] [stdout] test main_tests::handle_command_persists_clear_changes ... ok
[INFO] [stdout] test main_tests::handle_command_persists_tool_and_reasoning_visibility_changes ... ok
[INFO] [stdout] test main_tests::finalize_connection_keeps_main_session_loaded_in_memory ... ok
[INFO] [stdout] test main_tests::replay_ignores_orphaned_tool_result_after_task_completed ... ok
[INFO] [stdout] test main_tests::request_estimate_includes_tool_schema_overhead ... ok
[INFO] [stdout] test main_tests::resolve_model_accepts_ollama_prefix_without_provider_config ... ok
[INFO] [stdout] test main_tests::resolve_model_prefers_current_provider_for_duplicate_plain_ids ... ok
[INFO] [stdout] test main_tests::resolve_model_prefers_exact_runtime_match_for_same_anthropic_provider_type ... ok
[INFO] [stdout] test main_tests::resolve_model_prefers_exact_runtime_match_for_same_ollama_provider_type ... ok
[INFO] [stdout] test main_tests::resolve_model_prefers_exact_runtime_match_for_same_provider_type ... ok
[INFO] [stdout] test main_tests::resolve_model_strips_provider_prefix_without_provider_config ... ok
[INFO] [stdout] test main_tests::resolve_model_uses_config_for_plain_model_id ... ok
[INFO] [stdout] test main_tests::resolve_model_uses_ollama_provider_config_for_plain_model_id ... ok
[INFO] [stdout] test main_tests::replay_live_round_preserves_subagent_tool_event_order ... ok
[INFO] [stdout] test main_tests::replay_preserves_multiple_orchestrations_until_round_ends ... ok
[INFO] [stdout] test main_tests::resolve_path_checked_allows_relative_path_that_normalizes_to_workspace_root ... ok
[INFO] [stdout] test main_tests::resolve_path_checked_allows_workspace_root_absolute_path ... ok
[INFO] [stdout] test main_tests::resolve_path_checked_rejects_bootstrap_baseline_dir ... ok
[INFO] [stdout] test main_tests::resolve_path_clamps_parent_escape_attempts ... ok
[INFO] [stdout] test main_tests::resolve_path_checked_rejects_absolute_paths_outside_workspace ... ok
[INFO] [stdout] test main_tests::resolve_session_target_accepts_unique_prefix ... ok
[INFO] [stdout] test main_tests::resolve_session_target_rejects_ambiguous_prefix ... ok
[INFO] [stdout] test main_tests::sanitize_session_messages_keeps_assistant_with_anthropic_thinking_blocks ... ok
[INFO] [stdout] test main_tests::sanitize_session_messages_removes_empty_assistant_reply ... ok
[INFO] [stdout] test main_tests::resolved_main_prefix_is_still_protected ... ok
[INFO] [stdout] test main_tests::save_session_to_disk_omits_empty_assistant_reply_from_json ... ok
[INFO] [stdout] test main_tests::session_version_defaults_to_zero_for_old_sessions ... ok
[INFO] [stdout] test main_tests::session_version_is_preserved_in_serialization ... ok
[INFO] [stdout] test main_tests::settings_anthropic_prompt_caching_deserializes ... ok
[INFO] [stdout] test main_tests::settings_daily_reflection_deserializes ... ok
[INFO] [stdout] test main_tests::settings_enable_s3_deserializes ... ok
[INFO] [stdout] test main_tests::settings_max_llm_retries_defaults_to_none ... ok
[INFO] [stdout] test main_tests::malformed_orchestrate_terminal_does_not_remove_unrelated_task ... ok
[INFO] [stdout] test main_tests::replay_preserves_completed_orchestration_until_round_ends ... ok
[INFO] [stdout] test main_tests::save_session_to_disk_overwrites_existing_file ... ok
[INFO] [stdout] test main_tests::settings_openai_stream_include_usage_deserializes ... ok
[INFO] [stdout] test main_tests::settings_sub_agent_timeout_deserializes ... ok
[INFO] [stdout] test main_tests::settings_max_llm_retries_deserializes ... ok
[INFO] [stdout] test main_tests::settings_sub_agent_timeout_zero_means_unlimited ... ok
[INFO] [stdout] test main_tests::settings_tool_timeout_deserializes ... ok
[INFO] [stdout] test main_tests::system_prompt_with_observation_hint_preserves_original_content ... ok
[INFO] [stdout] test main_tests::show_react_field_defaults_to_true_in_deserialized_session ... ok
[INFO] [stdout] test hooks::hooks_tests::reprune_integration_hook_extra_system_triggers_prune_and_fits_budget ... ok
[INFO] [stdout] test main_tests::handle_command_persists_model_think_and_react_changes ... ok
[INFO] [stdout] test main_tests::replay_live_round_rehydrates_inflight_round_state ... ok
[INFO] [stdout] test main_tests::handle_command_reports_mcp_load_failures ... ok
[INFO] [stdout] test main_tests::tool_think_fallback_when_no_thought ... ok
[INFO] [stdout] test main_tests::replay_live_round_rehydrates_active_task_with_task_id ... ok
[INFO] [stdout] test main_tests::trim_incomplete_tool_calls_removes_orphaned_assistant_and_partial_results ... ok
[INFO] [stdout] test main_tests::trim_incomplete_tool_calls_preserves_complete_transaction ... ok
[INFO] [stdout] test main_tests::truncate_ascii_at_boundary ... ok
[INFO] [stdout] test main_tests::trim_incomplete_tool_calls_in_session_drops_orphaned_subagent_snapshots ... ok
[INFO] [stdout] test main_tests::replay_live_round_rehydrates_active_orchestration_state ... ok
[INFO] [stdout] test main_tests::truncate_emoji_boundary ... ok
[INFO] [stdout] test main_tests::truncate_safe_preserves_char_boundary ... ok
[INFO] [stdout] test main_tests::turn_len_standalone_assistant_text ... ok
[INFO] [stdout] test main_tests::turn_len_orphan_assistant_with_tool_results ... ok
[INFO] [stdout] test main_tests::turn_len_standalone_user ... ok
[INFO] [stdout] test main_tests::turn_len_user_plus_assistant ... ok
[INFO] [stdout] test main_tests::turn_len_user_assistant_with_tool_calls_and_results ... ok
[INFO] [stdout] test main_tests::validate_local_request_headers_accepts_loopback_host_and_origin ... ok
[INFO] [stdout] test main_tests::truncate_utf8_multibyte_boundary ... ok
[INFO] [stdout] test main_tests::replay_live_round_scopes_subagent_tool_results_to_task ... ok
[INFO] [stdout] test main_tests::truncate_short_string_unchanged ... ok
[INFO] [stdout] test main_tests::validate_local_request_headers_rejects_non_local_origin ... ok
[INFO] [stdout] test memory::tests::test_build_conversation_excerpt_includes_tool_calls_and_results ... ok
[INFO] [stdout] test memory::tests::test_build_conversation_excerpt_skips_auto_compress_summary ... ok
[INFO] [stdout] test memory::tests::test_format_memory_for_injection_empty ... ok
[INFO] [stdout] test memory::tests::test_format_memory_for_injection_sorts_by_recency ... ok
[INFO] [stdout] test memory::tests::test_format_memory_for_injection_with_facts ... ok
[INFO] [stdout] test memory::tests::test_format_memory_query_aware_sorting ... ok
[INFO] [stdout] test memory::tests::test_format_queue_status_includes_counters_and_error ... ok
[INFO] [stdout] test main_tests::tool_think_records_thought ... ok
[INFO] [stdout] test memory::tests::test_load_missing_returns_default ... ok
[INFO] [stdout] test memory::tests::test_memory_queue_shutdown_cancels_runtime_loop ... ok
[INFO] [stdout] test memory::tests::test_memory_queue_replace_config_updates_runtime_snapshot ... ok
[INFO] [stdout] test memory::tests::test_memory_runtime_status_unavailable_without_queue ... ok
[INFO] [stdout] test memory::tests::test_memory_status_empty ... ok
[INFO] [stdout] test memory::tests::test_build_conversation_excerpt_truncates_long_tool_results ... ok
[INFO] [stdout] test memory::tests::test_merge_empty_response_preserves_memory ... ok
[INFO] [stdout] test memory::tests::test_merge_incremental_delete_removes_fact ... ok
[INFO] [stdout] test memory::tests::test_merge_incremental_preserves_untouched_facts ... ok
[INFO] [stdout] test memory::tests::test_merge_incremental_update_modifies_existing ... ok
[INFO] [stdout] test memory::tests::test_merge_incremental_update_adds_new_fact ... ok
[INFO] [stdout] test memory::tests::test_memory_status_utf8_multibyte_no_panic ... ok
[INFO] [stdout] test memory::tests::test_memory_status_with_data ... ok
[INFO] [stdout] test memory::tests::test_merge_legacy_full_replacement_still_works ... ok
[INFO] [stdout] test memory::tests::test_merge_same_value_is_noop ... ok
[INFO] [stdout] test memory::tests::test_strip_json_fences ... ok
[INFO] [stdout] test memory::tests::test_query_aware_sorting_with_cjk_query ... ok
[INFO] [stdout] test memory::tests::test_save_and_load_structured_memory ... ok
[INFO] [stdout] test memory::tests::test_tokenize_for_matching_handles_cjk ... ok
[INFO] [stdout] test memory::tests::test_structured_memory_default ... ok
[INFO] [stdout] test prompts::tests::collect_dir_tree_mtimes_detects_new_subdirectory ... ok
[INFO] [stdout] test prompts::tests::collect_dir_tree_mtimes_nonexistent_returns_single_none ... ok
[INFO] [stdout] test prompts::tests::collect_dir_tree_mtimes_tracks_subdirectories ... ok
[INFO] [stdout] test prompts::tests::bootstrap_completion_uses_session_baseline_instead_of_current_template ... ok
[INFO] [stdout] test prompts::tests::discover_all_skills_deduplicates_by_name_later_wins ... ok
[INFO] [stdout] test prompts::tests::discover_all_skills_merges_session_skills ... ok
[INFO] [stdout] test prompts::tests::discover_skills_finds_valid_skills_in_workspace ... ok
[INFO] [stdout] test prompts::tests::discover_skills_returns_empty_when_no_skills_dir ... ok
[INFO] [stdout] test prompts::tests::ensure_session_workspace_migrates_legacy_agent_file ... ok
[INFO] [stdout] test main_tests::validate_local_request_headers_rejects_non_local_host ... ok
[INFO] [stdout] test memory::tests::test_build_conversation_excerpt ... ok
[INFO] [stdout] test prompts::tests::ensure_session_workspace_creates_skills_directory ... ok
[INFO] [stdout] test prompts::tests::load_session_prompt_files_auto_completes_bootstrap_when_identity_is_edited ... ok
[INFO] [stdout] test prompts::tests::invalidate_skills_cache_forces_rediscovery ... ok
[INFO] [stdout] test prompts::tests::load_session_prompt_files_auto_completes_bootstrap_when_values_are_appended_below_placeholders ... ok
[INFO] [stdout] test prompts::tests::local_time_snapshot_uses_single_now_across_midnight_boundaries ... ok
[INFO] [stdout] test prompts::tests::parse_skill_frontmatter_allows_empty_description ... ok
[INFO] [stdout] test prompts::tests::parse_skill_frontmatter_extracts_name_and_description ... ok
[INFO] [stdout] test prompts::tests::load_session_prompt_files_keeps_bootstrap_until_profile_files_change ... ok
[INFO] [stdout] test prompts::tests::load_session_prompt_files_auto_completes_bootstrap_when_user_is_edited ... ok
[INFO] [stdout] test prompts::tests::parse_skill_frontmatter_handles_quoted_values ... ok
[INFO] [stdout] test prompts::tests::load_session_prompt_files_uses_same_snapshot_for_today_and_yesterday ... ok
[INFO] [stdout] test prompts::tests::parse_skill_frontmatter_ignores_extra_fields ... ok
[INFO] [stdout] test prompts::tests::load_session_prompt_files_truncates_large_daily_memory ... ok
[INFO] [stdout] test prompts::tests::parse_skill_frontmatter_returns_none_without_frontmatter ... ok
[INFO] [stdout] test prompts::tests::render_skills_catalog_returns_none_for_empty_list ... ok
[INFO] [stdout] test prompts::tests::skill_source_label_returns_correct_strings ... ok
[INFO] [stdout] test prompts::tests::parse_skill_frontmatter_returns_none_without_name ... ok
[INFO] [stdout] test prompts::tests::render_skills_catalog_formats_correctly ... ok
[INFO] [stdout] test prompts::tests::system_skill_disabled_exact_match ... ok
[INFO] [stdout] test prompts::tests::system_skill_disabled_no_match ... ok
[INFO] [stdout] test prompts::tests::system_skill_disabled_group_match ... ok
[INFO] [stdout] test prompts::tests::system_skill_disabled_empty_set ... ok
[INFO] [stdout] test prompts::tests::system_skill_disabled_no_partial_prefix_collision ... ok
[INFO] [stdout] test prompts::tests::system_skill_disabled_non_system_path_passthrough ... ok
[INFO] [stdout] test prompts::tests::test_local_datetime_formatters ... ok
[INFO] [stdout] test prompts::tests::test_render_skills_catalog_query_aware_compression ... ok
[INFO] [stdout] test prompts::tests::test_render_skills_catalog_zero_hit_shows_all_descriptions ... ok
[INFO] [stdout] test prompts::tests::test_skill_tokenize_handles_cjk ... ok
[INFO] [stdout] test providers::tests::anthropic_prompt_caching_is_disabled_for_compatible_api_by_default ... ok
[INFO] [stdout] test providers::tests::anthropic_prompt_caching_is_enabled_for_official_api ... ok
[INFO] [stdout] test providers::tests::anthropic_prompt_caching_can_be_forced_for_compatible_api ... ok
[INFO] [stdout] test providers::tests::anthropic_system_payload_no_split_without_environment_block ... ok
[INFO] [stdout] test prompts::tests::test_skill_tokenize_excludes_cjk_punctuation ... ok
[INFO] [stdout] test providers::tests::anthropic_system_payload_splits_at_environment_delimiter ... ok
[INFO] [stdout] test providers::tests::anthropic_system_payload_uses_structured_cache_blocks_when_enabled ... ok
[INFO] [stdout] test providers::tests::anthropic_system_payload_stays_plain_string_when_disabled ... ok
[INFO] [stdout] test providers::tests::anthropic_thinking_clamps_budget_when_max_tokens_is_small ... ok
[INFO] [stdout] test providers::tests::anthropic_tools_last_has_cache_control_when_enabled ... ok
[INFO] [stdout] test providers::tests::auto_think_supported_for_openai_requires_official_or_explicit_format ... ok
[INFO] [stdout] test providers::tests::anthropic_thinking_does_not_inflate_max_tokens ... ok
[INFO] [stdout] test providers::tests::anthropic_thinking_disabled_when_max_tokens_too_small ... ok
[INFO] [stdout] test providers::tests::build_gemini_body_for_gemini3_includes_thinking_config ... ok
[INFO] [stdout] test providers::tests::build_gemini_body_rejects_invalid_cached_image_data ... ok
[INFO] [stdout] test providers::tests::anthropic_tools_do_not_add_cache_control_when_disabled ... ok
[INFO] [stdout] test providers::tests::build_anthropic_llm_response_stores_roundtrip_blocks ... ok
[INFO] [stdout] test providers::tests::build_llm_response_empty_content_and_no_tools ... ok
[INFO] [stdout] test providers::tests::build_llm_response_empty_thinking_buf_is_none ... ok
[INFO] [stdout] test providers::tests::build_llm_response_assigns_unique_fallback_tool_ids ... ok
[INFO] [stdout] test providers::tests::build_llm_response_thinking_buf_stored ... ok
[INFO] [stdout] test providers::tests::build_llm_response_with_content_and_tools ... ok
[INFO] [stdout] test providers::tests::build_ollama_stream_body_uses_levels_for_gpt_oss ... ok
[INFO] [stdout] test providers::tests::build_ollama_stream_body_includes_tools_think_and_num_predict ... ok
[INFO] [stdout] test providers::tests::build_openai_simple_body_keeps_string_tool_call_content_for_compatible_api ... ok
[INFO] [stdout] test providers::tests::build_openai_simple_body_deepseek_v4_replays_missing_reasoning_tool_turn_as_text ... ok
[INFO] [stdout] test providers::tests::build_openai_simple_body_uses_null_tool_call_content_for_official_api ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_deepseek_v4_keeps_reasoning_after_parallel_tool_calls ... ok
[INFO] [stdout] test memory::tests::test_memory_debug_status_includes_recent_audit_entries ... FAILED
[INFO] [stdout] test providers::tests::build_openai_simple_body_deepseek_v4_includes_reasoning_content_in_messages ... ok
[INFO] [stdout] test providers::tests::build_openai_simple_body_non_deepseek_keeps_reasoningless_tool_turn_structured ... ok
[INFO] [stdout] test providers::tests::build_gemini_body_inlines_images_and_function_declarations ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_deepseek_v4_maps_low_to_high ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_deepseek_v4_maps_xhigh_to_max ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_deepseek_v4_replays_missing_reasoning_tool_turn_as_text ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_deepseek_v4_off_sends_thinking_disabled ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_deepseek_v4_sends_thinking_and_reasoning_effort ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_keeps_string_tool_call_content_for_compatible_api ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_uses_null_tool_call_content_for_official_api ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_non_deepseek_keeps_reasoningless_tool_turn_structured ... ok
[INFO] [stdout] test providers::tests::build_openai_stream_body_deepseek_v4_off_keeps_reasoningless_tool_turn_structured ... ok
[INFO] [stdout] test main_tests::replay_preserves_completed_standalone_task_until_round_ends ... ok
[INFO] [stdout] test main_tests::replay_preserves_task_and_orchestration_global_order ... ok
[INFO] [stdout] test prompts::tests::init_session_creates_skills_directory ... ok
[INFO] [stdout] test prompts::tests::prompt_cache_invalidates_on_file_change ... ok
[INFO] [stdout] test main_tests::tool_outcome_parameter_validation ... ok
[INFO] [stdout] test main_tests::resolve_or_create_socket_session_ignores_requested_session_and_uses_main ... ok
[INFO] [stdout] test providers::tests::call_llm_stream_gemini_auto_enables_medium_thinking_config ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_anthropic_assistant_with_tool_use ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_anthropic_empty_assistant_gets_placeholder ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_anthropic_roundtrips_structured_thinking_blocks ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_anthropic_system_extraction ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_anthropic_tool_as_user_message ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_anthropic_user_with_images ... ok
[INFO] [stdout] test providers::tests::call_llm_stream_gemini_closes_thinking_on_thought_only_stream_end ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_gemini_omits_missing_thought_signature ... ok
[INFO] [stdout] test providers::tests::call_llm_stream_openai_surfaces_json_error_envelope ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_gemini_preserves_function_call_id_and_thought_signature ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_ollama_all_roles ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_ollama_user_with_images ... ok
[INFO] [stdout] test main_tests::sync_memory_queue_hot_toggles_structured_memory_runtime ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_openai_allows_null_tool_call_content_when_requested ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_openai_assistant_with_tool_calls ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_openai_deepseek_v4_includes_reasoning_content ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_openai_deepseek_v4_omits_empty_reasoning_content ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_gemini_groups_parallel_function_responses ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_openai_strips_images_when_tool_messages_present ... ok
[INFO] [stdout] test providers::tests::call_llm_simple_openai_surfaces_json_error_envelope ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_openai_all_roles ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_openai_user_with_images ... ok
[INFO] [stdout] test main_tests::tool_outcome_does_not_treat_raw_tool_output_as_failure ... ok
[INFO] [stdout] test providers::tests::convert_messages_to_ollama_user_with_images_missing_b64 ... ok
[INFO] [stdout] test providers::tests::drain_sse_lines_preserves_partial_tail ... ok
[INFO] [stdout] test providers::tests::normalize_tool_call_ids_whitespace_only_id_gets_fallback ... ok
[INFO] [stdout] test providers::tests::official_openai_api_base_requires_exact_hostname_match ... ok
[INFO] [stdout] test providers::tests::fetch_images_base64_reads_persisted_cache_without_refetch ... ok
[INFO] [stdout] test providers::tests::openai_null_tool_call_content_allows_explicit_opt_in_for_custom_domain ... ok
[INFO] [stdout] test providers::tests::call_llm_simple_ollama_sends_auth_and_expected_body ... ok
[INFO] [stdout] test providers::tests::process_anthropic_sse_line_keeps_event_type_between_lines ... ok
[INFO] [stdout] test providers::tests::process_gemini_data_line_collects_thought_summary_signature_and_function_call_id ... ok
[INFO] [stdout] test providers::tests::process_gemini_data_line_rejects_blocked_prompt ... ok
[INFO] [stdout] test providers::tests::process_anthropic_sse_line_captures_signature_and_redacted_blocks ... ok
[INFO] [stdout] test providers::tests::process_ollama_json_line_streams_thinking_content_and_tool_calls ... ok
[INFO] [stdout] test providers::tests::process_gemini_data_line_collects_text_tools_and_usage ... ok
[INFO] [stdout] test providers::tests::materialize_image_urls_refreshes_uploaded_s3_urls ... ok
[INFO] [stdout] test providers::tests::call_llm_simple_openai_reports_raw_body_for_html_gateway_response ... ok
[INFO] [stdout] test providers::tests::think_level_to_budget_all_levels ... ok
[INFO] [stdout] test providers::tests::think_level_to_deepseek_reasoning_effort_all_levels ... ok
[INFO] [stdout] test providers::tests::think_level_to_reasoning_effort_all_levels ... ok
[INFO] [stdout] test providers::tests::resolve_image_cache_path_accepts_session_cache_and_rejects_external_path ... ok
[INFO] [stdout] test providers::tests::total_anthropic_input_tokens_sums_cache_components ... ok
[INFO] [stdout] test providers::tests::transient_error_detects_429 ... ok
[INFO] [stdout] test providers::tests::transient_error_detects_5xx ... ok
[INFO] [stdout] test providers::tests::transient_error_detects_http_error ... ok
[INFO] [stdout] test providers::tests::transient_error_detects_exhausted_retries ... ok
[INFO] [stdout] test providers::tests::transient_error_rejects_bad_request ... ok
[INFO] [stdout] test providers::tests::transient_error_rejects_client_disconnected ... ok
[INFO] [stdout] test providers::tests::transient_error_rejects_stream_errors ... ok
[INFO] [stdout] test providers::tests::transient_error_rejects_unrecognized ... ok
[INFO] [stdout] test providers::tests::transient_error_rejects_auth_errors ... ok
[INFO] [stdout] test providers::tests::process_openai_data_line_keeps_reasoning_open_for_empty_content_delta ... ok
[INFO] [stdout] test providers::tests::process_openai_data_line_reports_done_marker ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::cancel_active_reflections_cancels_registered_tasks ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::drain_busy_socket_messages_collects_interventions_and_stops_run ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::effective_think_level_auto_treats_gemini3_as_reasoning_capable ... ok
[INFO] [stdout] test providers::tests::call_llm_stream_openai_auto_skips_reasoning_effort_for_compatible_gateway ... ok
[INFO] [stdout] test providers::tests::call_llm_stream_openai_deepseek_multi_tool_stream_keeps_two_tool_calls_and_thinking ... ok
[INFO] [stdout] test providers::tests::call_llm_stream_ollama_parses_ndjson_end_to_end ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::hard_cap_events_include_terminal_done_message ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::messages_have_images_detects_historical_image_context ... ok
[INFO] [stdout] test main_tests::delegated_events_cap_prevents_unbounded_growth ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::reflection_model_or_fallback_chain ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::reflection_runtime_generation_invalidates_stale_tasks_after_disable ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::resolve_input_image_url_prefers_verified_s3_object_url ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::resolve_input_image_url_rejects_incomplete_uploaded_metadata ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::rollback_reflection_claim_is_noop_when_slot_already_reclaimed ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::rollover_daily_usage_caps_usage_history_at_limit ... ok
[INFO] [stdout] test main_tests::tool_outcome_error_detection_by_convention ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::select_analyze_model_keeps_primary_for_image_turn_when_fast_lacks_image_support ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::select_analyze_model_uses_fast_for_image_turn_when_fast_supports_images ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::select_analyze_model_uses_fast_for_simple_text_turn ... ok
[INFO] [stdout] test providers::tests::call_llm_stream_openai_reports_html_gateway_response ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::try_claim_reflection_prevents_concurrent_claims ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::try_claim_reflection_requires_minimum_cycles ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::try_claim_reflection_respects_cooldown ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::apply_run_cancel_outcome_treats_shared_stop_as_user_stop ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::apply_llm_response_persists_multi_tool_assistant_with_thinking ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::update_session_token_usage_with_providers_merges_breakdown ... ok
[INFO] [stdout] test providers::tests::call_llm_simple_gemini_sends_key_header_and_expected_path ... ok
[INFO] [stdout] test subagents::subagents_tests::interrupted_parallel_batch_outcome_skips_after_tool_exec_hook_without_result ... ok
[INFO] [stdout] test subagents::subagents_tests::collect_parallel_tool_results_preserves_finished_results_on_deadline ... ok
[INFO] [stdout] test subagents::subagents_tests::parallel_batch_interrupt_fires_hooks_only_for_completed_tools ... ok
[INFO] [stdout] test providers::tests::with_optional_bearer_auth_skips_header_for_empty_key ... ok
[INFO] [stdout] test providers::tests::with_optional_bearer_auth_sets_header_for_non_empty_key ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::stale_reflection_generation_returns_before_work_or_write ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::handle_idle_socket_input_stop_cancels_reconnected_run ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::handle_idle_socket_input_queues_new_prompt_while_reconnected_run_active ... ok
[INFO] [stdout] test providers::tests::fetch_single_image_base64_trusted_allows_localhost_s3_gateways ... ok
[INFO] [stdout] test subagents::subagents_tests::test_augment_subagent_prompt_with_runtime_context_is_idempotent ... ok
[INFO] [stdout] test subagents::subagents_tests::test_augment_subagent_prompt_with_runtime_context_prepends_local_time ... ok
[INFO] [stdout] test subagents::subagents_tests::test_compute_layers_diamond ... ok
[INFO] [stdout] test subagents::subagents_tests::test_compute_layers_parallel ... ok
[INFO] [stdout] test subagents::subagents_tests::test_compute_layers_serial ... ok
[INFO] [stdout] test subagents::subagents_tests::test_discover_agents_empty_dir ... ok
[INFO] [stdout] test providers::tests::fetch_images_base64_trusted_uploaded_urls_bypass_ssrf_on_cache_miss ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::persist_pending_interventions_appends_user_messages ... ok
[INFO] [stdout] test subagents::subagents_tests::test_filter_tools_for_agent ... ok
[INFO] [stdout] test subagents::subagents_tests::test_filter_tools_for_agent_with_mcp_no_servers ... ok
[INFO] [stdout] test subagents::subagents_tests::test_format_result_basic ... ok
[INFO] [stdout] test providers::tests::fetch_images_base64_skips_uncached_historical_fetch_failures ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::update_llm_response_usage_uses_request_estimate_when_provider_usage_missing ... ok
[INFO] [stdout] test subagents::subagents_tests::test_has_cycle_no_cycle ... ok
[INFO] [stdout] test subagents::subagents_tests::test_has_cycle_with_cycle ... ok
[INFO] [stdout] test subagents::subagents_tests::test_interpolate_results_basic ... ok
[INFO] [stdout] test subagents::subagents_tests::test_interpolate_results_does_not_recurse_into_values ... ok
[INFO] [stdout] test subagents::subagents_tests::test_interpolate_results_malformed_placeholder ... ok
[INFO] [stdout] test subagents::subagents_tests::test_interpolate_results_no_placeholders ... ok
[INFO] [stdout] test subagents::subagents_tests::test_interpolate_results_unicode_in_value ... ok
[INFO] [stdout] test subagents::subagents_tests::test_max_turns_clamped_to_hard_limit ... ok
[INFO] [stdout] test subagents::subagents_tests::test_max_turns_within_cap_preserved ... ok
[INFO] [stdout] test subagents::subagents_tests::test_interpolate_results_missing_reference ... ok
[INFO] [stdout] test subagents::subagents_tests::test_mcp_tool_classification_defaults_unknown_tools_to_mutating ... ok
[INFO] [stdout] test subagents::subagents_tests::test_mcp_tool_classification_description_only_mutation ... ok
[INFO] [stdout] test subagents::subagents_tests::test_mcp_tool_classification_mutating ... ok
[INFO] [stdout] test subagents::subagents_tests::test_mcp_tool_classification_no_false_positives_from_substrings ... ok
[INFO] [stdout] test subagents::subagents_tests::test_mcp_tool_classification_read_only ... ok
[INFO] [stdout] test subagents::subagents_tests::test_model_resolution_falls_back_to_primary ... ok
[INFO] [stdout] test subagents::subagents_tests::test_model_resolution_prefers_specific_sub_agent_override ... ok
[INFO] [stdout] test subagents::subagents_tests::test_model_resolution_prefers_sub_agent_config ... ok
[INFO] [stdout] test subagents::subagents_tests::test_orchestrate_format_result_aborted ... ok
[INFO] [stdout] test subagents::subagents_tests::test_orchestrate_format_result_all_completed ... ok
[INFO] [stdout] test subagents::subagents_tests::test_orchestrate_format_result_with_skipped ... ok
[INFO] [stdout] test subagents::subagents_tests::test_orchestrate_provider_usage_aggregates_tasks ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_ignores_legacy_model_field ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_invalid_mcp_policy ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_mcp_policy_all ... ok
[INFO] [stdout] test subagents::subagents_tests::test_format_result_with_failures ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_minimal ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_no_frontmatter ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_no_name ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_with_mcp_policy ... ok
[INFO] [stdout] test subagents::subagents_tests::test_parse_agent_frontmatter_no_mcp_policy ... ok
[INFO] [stdout] test subagents::subagents_tests::test_render_agents_catalog_empty ... ok
[INFO] [stdout] test subagents::subagents_tests::test_render_agents_catalog_mentions_orchestrate ... ok
[INFO] [stdout] test subagents::subagents_tests::test_tool_permissions_allow_and_deny ... ok
[INFO] [stdout] test subagents::subagents_tests::test_tool_permissions_allow_list ... ok
[INFO] [stdout] test subagents::subagents_tests::test_tool_permissions_basic ... ok
[INFO] [stdout] test subagents::subagents_tests::test_tool_permissions_blocks_orchestrate ... ok
[INFO] [stdout] test subagents::subagents_tests::test_tool_permissions_blocks_orchestrate_even_if_explicitly_allowed ... ok
[INFO] [stdout] test subagents::subagents_tests::test_tool_permissions_deny_list ... ok
[INFO] [stdout] test subagents::subagents_tests::test_validate_plan_ignores_unknown_prompt_placeholders ... ok
[INFO] [stdout] test subagents::subagents_tests::test_validate_plan_infers_dependencies_from_prompt_placeholders ... ok
[INFO] [stdout] test subagents::subagents_tests::test_render_agents_catalog_with_agents ... ok
[INFO] [stdout] test subagents::subagents_tests::test_validate_plan_merges_explicit_and_prompt_dependencies_without_duplicates ... ok
[INFO] [stdout] test subagents::subagents_tests::test_validate_plan_rejects_cycle_introduced_by_prompt_placeholders ... ok
[INFO] [stdout] test subagents::subagents_tests::test_validate_plan_rejects_non_placeholder_compatible_task_id ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::build_exposed_name_adds_suffix_for_collisions ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::build_exposed_name_stays_unique_for_sanitized_server_collisions ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::run_agent_session_emits_user_stop_done_for_shared_stop_request ... ok
[INFO] [stdout] test subagents::subagents_tests::timeout_outcome_still_runs_after_tool_exec_hook ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::handle_idle_socket_input_rejects_intervention_when_reconnected_run_is_finishing ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::format_mcp_timeout_error_includes_phase_and_diagnostics ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::inspect_servers_returns_reports_in_sorted_order ... ok
[INFO] [stdout] test subagents::subagents_tests::test_execute_orchestration_cancelled_emits_skipped_events_for_remaining_tasks ... ok
[INFO] [stdout] test cli::cli_tests::with_preflight_timeout_rejects_slow_future ... ok
[INFO] [stdout] test subagents::subagents_tests::run_subagent_forces_final_summary_after_tool_only_last_turn ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::path_to_file_uri_encodes_spaces_and_non_ascii ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::push_diagnostic_line_trims_and_limits_buffer ... ok
[INFO] [stdout] test runtime_loop::runtime_loop_tests::update_llm_response_usage_uses_configured_provider_name ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::read_message_accepts_newline_delimited_jsonrpc_and_ignores_noise ... ok
[INFO] [stdout] test subagents::subagents_tests::run_subagent_configured_openai_gateway_auto_disables_reasoning_controls ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::read_response_handles_roots_list_requests_while_waiting_for_expected_id ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::read_response_handles_ping_requests_while_waiting_for_expected_id ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::read_message_keeps_legacy_content_length_compatibility ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::render_call_result_prefers_text_and_structured_content ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::resolve_server_command_falls_back_to_home_local_bin ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::resolve_server_command_keeps_explicit_paths ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::resolve_server_cwd_rejects_workspace_escape ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::runtime_tool_note_lists_enabled_servers ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::sanitize_name_segment_normalizes_non_identifier_chars ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::server_timeout_defaults_to_tool_timeout_when_override_missing ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::should_reset_mcp_session_matches_transport_failures ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::spawn_cooldown_blocks_rapid_retry ... ok
[INFO] [stdout] test subagents::subagents_tests::test_mcp_read_only_tools_are_parallelizable_for_dispatch ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::write_message_uses_newline_delimited_jsonrpc ... ok
[INFO] [stdout] test tools::net::tests::check_ssrf_allows_https_public_domain ... ok
[INFO] [stdout] test tools::net::tests::check_ssrf_allows_public_ip ... ok
[INFO] [stdout] test tools::net::tests::check_ssrf_blocks_invalid_url ... ok
[INFO] [stdout] test tools::net::tests::check_ssrf_blocks_private_ip_literals ... ok
[INFO] [stdout] test tools::net::tests::check_ssrf_blocks_unsupported_schemes ... ok
[INFO] [stdout] test tools::net::tests::is_private_ip_link_local_v4 ... ok
[INFO] [stdout] test tools::net::tests::is_private_ip_loopback ... ok
[INFO] [stdout] test tools::net::tests::is_private_ip_private_ranges_v4 ... ok
[INFO] [stdout] test tools::net::tests::is_private_ip_public_addresses ... ok
[INFO] [stdout] test tools::net::tests::is_private_ip_unspecified ... ok
[INFO] [stdout] test tools::net::tests::is_private_ip_v6_unique_local_and_link_local ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_accepts_common_image_extensions ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_allows_dynamic_urls_without_extensions ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_dotfile_non_image_extensions ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_encoded_non_image_extensions ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_non_http_schemes ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_non_image_extensions ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_other_explicit_non_image_extensions ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_private_ips ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_trailing_dot_bypass ... ok
[INFO] [stdout] test tools::net::tests::validate_image_url_blocks_unsupported_image_extensions ... ok
[INFO] [stdout] test tools::tests::execute_tool_rejects_descending_read_file_range ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::cached_tool_definitions_do_not_start_server_on_cache_miss ... ok
[INFO] [stdout] test tools::tests::gemini_tool_parameters_drop_unsupported_schema_keywords ... ok
[INFO] [stdout] test tools::tests::is_parallelizable_tool_matches_read_only_tools_only ... ok
[INFO] [stdout] test tools::tests::is_read_only_tool_covers_expected_set ... ok
[INFO] [stdout] test tools::tests::is_task_tool_only_matches_task ... ok
[INFO] [stdout] test tools::tests::validate_tool_args_enforces_array_min_items ... ok
[INFO] [stdout] test tools::tests::validate_tool_args_enforces_string_pattern ... ok
[INFO] [stdout] test tools::tests::validate_tool_args_rejects_non_array_for_array_type ... ok
[INFO] [stdout] test tools::tests::validate_tool_args_rejects_non_object_arguments ... ok
[INFO] [stdout] test tools::tests::validate_tool_args_rejects_wrong_type_and_out_of_range ... ok
[INFO] [stdout] test tools::tests::execute_tool_rejects_zero_search_results_limit ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::concurrent_calls_share_cached_session ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::call_server_restarts_cached_session_after_server_exit ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::isolated_mcp_calls_use_separate_sessions ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::mutating_mcp_tools_are_not_parallelizable ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::parallelizable_tool_call_cache_miss_does_not_start_server ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::reap_idle_server_sessions_removes_stale_entries ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::refresh_servers_clears_cached_tools_and_sessions ... ok
[INFO] [stdout] test tools::mcp::mcp_tests::tools_list_changed_notification_invalidates_cached_descriptors ... ok
[INFO] [stdout] test subagents::subagents_tests::test_execute_orchestration_failed_task_event_includes_error_text ... ok
[INFO] [stdout] test subagents::subagents_tests::run_subagent_timeout_during_tool_exec_still_runs_after_tool_exec_hook ... ok
[INFO] [stdout] test subagents::subagents_tests::run_subagent_multi_read_only_batch_executes_after_tool_exec_hooks ... ok
[INFO] [stdout] test subagents::subagents_tests::run_subagent_sequential_tools_emit_interleaved_tool_events ... ok
[INFO] [stdout] test subagents::subagents_tests::run_subagent_emits_tool_result_event_for_completed_tool ... ok
[INFO] [stdout] test subagents::subagents_tests::run_subagent_executes_mcp_tool_allowed_by_policy ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- memory::tests::test_memory_debug_status_includes_recent_audit_entries stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'memory::tests::test_memory_debug_status_includes_recent_audit_entries' (1029) panicked at src/tests/memory_tests.rs:369:5:
[INFO] [stdout] assertion failed: status.contains("success")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60538b1eec6a - std[1209cfb42f6d497f]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60538b1eec6a - std[1209cfb42f6d497f]::backtrace_rs::backtrace::trace_unsynchronized::<std[1209cfb42f6d497f]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60538b1eec6a - std[1209cfb42f6d497f]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x60538b1eec6a - <<std[1209cfb42f6d497f]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[4a92201981c6b77a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x60538b207e0a - <core[4a92201981c6b77a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x60538b207e0a - core[4a92201981c6b77a]::fmt::write
[INFO] [stdout]    6:     0x60538b1f4532 - std[1209cfb42f6d497f]::io::default_write_fmt::<alloc[420bb310a727dfd7]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x60538b1f4532 - <alloc[420bb310a727dfd7]::vec::Vec<u8> as std[1209cfb42f6d497f]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x60538b1c8acf - <std[1209cfb42f6d497f]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x60538b1c8acf - std[1209cfb42f6d497f]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x60538b1e48a9 - std[1209cfb42f6d497f]::panicking::default_hook
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x60538a9fcf7c - <alloc[420bb310a727dfd7]::boxed::Box<dyn for<'a, 'b> core[4a92201981c6b77a]::ops::function::Fn<(&'a std[1209cfb42f6d497f]::panic::PanicHookInfo<'b>,), Output = ()> + core[4a92201981c6b77a]::marker::Sync + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::Fn<(&std[1209cfb42f6d497f]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x60538a9fcf7c - test[59e67a9bc0e119f1]::test_main_inner::<test[59e67a9bc0e119f1]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x60538b1e4b22 - <alloc[420bb310a727dfd7]::boxed::Box<dyn for<'a, 'b> core[4a92201981c6b77a]::ops::function::Fn<(&'a std[1209cfb42f6d497f]::panic::PanicHookInfo<'b>,), Output = ()> + core[4a92201981c6b77a]::marker::Sync + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::Fn<(&std[1209cfb42f6d497f]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x60538b1e4b22 - std[1209cfb42f6d497f]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x60538b1c8bba - std[1209cfb42f6d497f]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x60538b1bd9c9 - std[1209cfb42f6d497f]::sys::backtrace::__rust_end_short_backtrace::<std[1209cfb42f6d497f]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x60538b1c9b1d - __rustc[4effac393e9f3da6]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x60538b20864c - core[4a92201981c6b77a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x60538b208612 - core[4a92201981c6b77a]::panicking::panic
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x60538a95fedd - lingclaw[c2354a0a062b3632]::memory::tests::test_memory_debug_status_includes_recent_audit_entries::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tests/memory_tests.rs:369:5
[INFO] [stdout]   21:     0x60538a77bfa2 - <core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>> as core[4a92201981c6b77a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x60538a77d63d - <core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>> as core[4a92201981c6b77a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x60538a06c9fd - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:70
[INFO] [stdout]   24:     0x60538a06406b - tokio[8fab92b22ef8ac0f]::task::coop::with_budget::<core[4a92201981c6b77a]::task::poll::Poll<()>, <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x60538a06406b - tokio[8fab92b22ef8ac0f]::task::coop::budget::<core[4a92201981c6b77a]::task::poll::Poll<()>, <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x60538a06406b - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:25
[INFO] [stdout]   27:     0x605389f70650 - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Context>::enter::<core[4a92201981c6b77a]::task::poll::Poll<()>, <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:446:19
[INFO] [stdout]   28:     0x60538a02338d - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:768:44
[INFO] [stdout]   29:     0x605389ff2e54 - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}, core[4a92201981c6b77a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:68
[INFO] [stdout]   30:     0x60538a3780fb - <tokio[8fab92b22ef8ac0f]::runtime::context::scoped::Scoped<tokio[8fab92b22ef8ac0f]::runtime::scheduler::Context>>::set::<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}, core[4a92201981c6b77a]::option::Option<()>>::{closure#0}, (alloc[420bb310a727dfd7]::boxed::Box<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Core>, core[4a92201981c6b77a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x60538a465c49 - tokio[8fab92b22ef8ac0f]::runtime::context::set_scheduler::<(alloc[420bb310a727dfd7]::boxed::Box<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Core>, core[4a92201981c6b77a]::option::Option<()>), <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}, core[4a92201981c6b77a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x60538a30cbe2 - <std[1209cfb42f6d497f]::thread::local::LocalKey<tokio[8fab92b22ef8ac0f]::runtime::context::Context>>::try_with::<tokio[8fab92b22ef8ac0f]::runtime::context::set_scheduler<(alloc[420bb310a727dfd7]::boxed::Box<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Core>, core[4a92201981c6b77a]::option::Option<()>), <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}, core[4a92201981c6b77a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[420bb310a727dfd7]::boxed::Box<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Core>, core[4a92201981c6b77a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   33:     0x60538a2f9f8e - <std[1209cfb42f6d497f]::thread::local::LocalKey<tokio[8fab92b22ef8ac0f]::runtime::context::Context>>::with::<tokio[8fab92b22ef8ac0f]::runtime::context::set_scheduler<(alloc[420bb310a727dfd7]::boxed::Box<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Core>, core[4a92201981c6b77a]::option::Option<()>), <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}, core[4a92201981c6b77a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[420bb310a727dfd7]::boxed::Box<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Core>, core[4a92201981c6b77a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   34:     0x60538a4313cd - tokio[8fab92b22ef8ac0f]::runtime::context::set_scheduler::<(alloc[420bb310a727dfd7]::boxed::Box<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::Core>, core[4a92201981c6b77a]::option::Option<()>), <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}, core[4a92201981c6b77a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x605389fb1de0 - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>::{closure#0}, core[4a92201981c6b77a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:27
[INFO] [stdout]   36:     0x605389fc6686 - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[4a92201981c6b77a]::pin::Pin<&mut core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:756:24
[INFO] [stdout]   37:     0x605389fd8670 - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x60538a71d1c3 - tokio[8fab92b22ef8ac0f]::runtime::context::runtime::enter_runtime::<<tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x605389f52111 - <tokio[8fab92b22ef8ac0f]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x60538a68e2e4 - <tokio[8fab92b22ef8ac0f]::runtime::runtime::Runtime>::block_on_inner::<core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:371:52
[INFO] [stdout]   41:     0x60538a69772f - <tokio[8fab92b22ef8ac0f]::runtime::runtime::Runtime>::block_on::<core[4a92201981c6b77a]::pin::Pin<&mut dyn core[4a92201981c6b77a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:345:18
[INFO] [stdout]   42:     0x60538a99acc3 - lingclaw[c2354a0a062b3632]::memory::tests::test_memory_debug_status_includes_recent_audit_entries
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tests/memory_tests.rs:372:42
[INFO] [stdout]   43:     0x60538a95f617 - lingclaw[c2354a0a062b3632]::memory::tests::test_memory_debug_status_includes_recent_audit_entries::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tests/memory_tests.rs:344:66
[INFO] [stdout]   44:     0x60538a9193a6 - <lingclaw[c2354a0a062b3632]::memory::tests::test_memory_debug_status_includes_recent_audit_entries::{closure#0} as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x60538a9f025b - <fn() -> core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x60538a9f025b - test[59e67a9bc0e119f1]::__rust_begin_short_backtrace::<core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>, fn() -> core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:724:18
[INFO] [stdout]   47:     0x60538a9fda4b - test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:747:74
[INFO] [stdout]   48:     0x60538a9fda4b - <core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   49:     0x60538a9fda4b - std[1209cfb42f6d497f]::panicking::catch_unwind::do_call::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}>, core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x60538a9fda4b - std[1209cfb42f6d497f]::panicking::catch_unwind::<core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>, core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x60538a9fda4b - std[1209cfb42f6d497f]::panic::catch_unwind::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<test[59e67a9bc0e119f1]::run_test_in_process::{closure#0}>, core[4a92201981c6b77a]::result::Result<(), alloc[420bb310a727dfd7]::string::String>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x60538a9fda4b - test[59e67a9bc0e119f1]::run_test_in_process
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:747:27
[INFO] [stdout]   53:     0x60538a9fda4b - test[59e67a9bc0e119f1]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:668:43
[INFO] [stdout]   54:     0x60538a9f7164 - test[59e67a9bc0e119f1]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/test/src/lib.rs:698:41
[INFO] [stdout]   55:     0x60538a9f7164 - std[1209cfb42f6d497f]::sys::backtrace::__rust_begin_short_backtrace::<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x60538aa00652 - std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked::<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   57:     0x60538aa00652 - <core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   58:     0x60538aa00652 - std[1209cfb42f6d497f]::panicking::catch_unwind::do_call::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x60538aa00652 - std[1209cfb42f6d497f]::panicking::catch_unwind::<(), core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x60538aa00652 - std[1209cfb42f6d497f]::panic::catch_unwind::<core[4a92201981c6b77a]::panic::unwind_safe::AssertUnwindSafe<std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x60538aa00652 - std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked::<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   62:     0x60538aa00652 - <std[1209cfb42f6d497f]::thread::lifecycle::spawn_unchecked<test[59e67a9bc0e119f1]::run_test::{closure#1}, ()>::{closure#1} as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x60538b1ed92f - <alloc[420bb310a727dfd7]::boxed::Box<dyn core[4a92201981c6b77a]::ops::function::FnOnce<(), Output = ()> + core[4a92201981c6b77a]::marker::Send> as core[4a92201981c6b77a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   64:     0x60538b1ed92f - <std[1209cfb42f6d497f]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/f9988fefd3add01f414f52b414308e7872622fee/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   65:     0x7662217ceaa4 - <unknown>
[INFO] [stdout]   66:     0x76622185ba64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     memory::tests::test_memory_debug_status_includes_recent_audit_entries
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 651 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.63s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin lingclaw`
[INFO] running `Command { std: "docker" "inspect" "ec40f0c0ed567c6398863c5434c20decb10ac58939ed6b48ac5229c36e62b70d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec40f0c0ed567c6398863c5434c20decb10ac58939ed6b48ac5229c36e62b70d", kill_on_drop: false }`
[INFO] [stdout] ec40f0c0ed567c6398863c5434c20decb10ac58939ed6b48ac5229c36e62b70d
