[INFO] fetching crate cognisagent 0.2.1... [INFO] testing cognisagent-0.2.1 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739 [INFO] extracting crate cognisagent 0.2.1 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate cognisagent 0.2.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate cognisagent 0.2.1 [INFO] tweaked toml for crates.io crate cognisagent 0.2.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate cognisagent 0.2.1 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate cognisagent 0.2.1 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cognis-macros v0.2.1 [INFO] [stderr] Downloaded cognisgraph v0.2.1 [INFO] [stderr] Downloaded cognis-core v0.2.1 [INFO] [stderr] Downloaded cognis v0.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c5cfcb212fa0557788cda013029ab6bdaf6e6a83b7bfb3a78b98e8c5227b1d4c [INFO] running `Command { std: "docker" "start" "-a" "c5cfcb212fa0557788cda013029ab6bdaf6e6a83b7bfb3a78b98e8c5227b1d4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c5cfcb212fa0557788cda013029ab6bdaf6e6a83b7bfb3a78b98e8c5227b1d4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5cfcb212fa0557788cda013029ab6bdaf6e6a83b7bfb3a78b98e8c5227b1d4c", kill_on_drop: false }` [INFO] [stdout] c5cfcb212fa0557788cda013029ab6bdaf6e6a83b7bfb3a78b98e8c5227b1d4c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6be18ec2cb0f192db577f650820900fb749cddef30242ca23905f6d8fcbe0dec [INFO] running `Command { std: "docker" "start" "-a" "6be18ec2cb0f192db577f650820900fb749cddef30242ca23905f6d8fcbe0dec", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling secrecy v0.10.3 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling regex v1.12.3 [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 cognis-macros v0.2.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [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 reqwest v0.12.28 [INFO] [stderr] Compiling cognis-core v0.2.1 [INFO] [stderr] Compiling cognisgraph v0.2.1 [INFO] [stderr] Compiling cognis v0.2.1 [INFO] [stderr] Compiling cognisagent v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s [INFO] running `Command { std: "docker" "inspect" "6be18ec2cb0f192db577f650820900fb749cddef30242ca23905f6d8fcbe0dec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6be18ec2cb0f192db577f650820900fb749cddef30242ca23905f6d8fcbe0dec", kill_on_drop: false }` [INFO] [stdout] 6be18ec2cb0f192db577f650820900fb749cddef30242ca23905f6d8fcbe0dec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4627765169ba0d16ea4ff67759796cbfec400e4df69c0b060458bc6e60924bb6 [INFO] running `Command { std: "docker" "start" "-a" "4627765169ba0d16ea4ff67759796cbfec400e4df69c0b060458bc6e60924bb6", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [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 reqwest v0.12.28 [INFO] [stderr] Compiling cognis-core v0.2.1 [INFO] [stderr] Compiling cognis v0.2.1 [INFO] [stderr] Compiling cognisgraph v0.2.1 [INFO] [stderr] Compiling cognisagent v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 35s [INFO] running `Command { std: "docker" "inspect" "4627765169ba0d16ea4ff67759796cbfec400e4df69c0b060458bc6e60924bb6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4627765169ba0d16ea4ff67759796cbfec400e4df69c0b060458bc6e60924bb6", kill_on_drop: false }` [INFO] [stdout] 4627765169ba0d16ea4ff67759796cbfec400e4df69c0b060458bc6e60924bb6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 07b719bce692824fd69bbeacc6919b0b8fbe5696310907d075941e90d160000e [INFO] running `Command { std: "docker" "start" "-a" "07b719bce692824fd69bbeacc6919b0b8fbe5696310907d075941e90d160000e", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cognisagent-defbd9b8314f2660) [INFO] [stdout] [INFO] [stdout] running 1895 tests [INFO] [stdout] test agent::tests::test_deep_agent_with_tool_call ... ok [INFO] [stdout] test agent::tests::test_create_deep_agent_compiles ... ok [INFO] [stdout] test agent::tests::test_deep_agent_simple_response ... ok [INFO] [stdout] test backends::sandbox::tests::test_config_defaults ... ok [INFO] [stdout] test agent::tests::test_state_backend_save_load ... ok [INFO] [stdout] test backends::sandbox::tests::test_denied_path_takes_precedence ... ok [INFO] [stdout] test backends::sandbox::tests::test_builder_pattern ... ok [INFO] [stdout] test backends::sandbox::tests::test_empty_config_denies_all ... ok [INFO] [stdout] test backends::sandbox::tests::test_env_var_access_whitelist ... ok [INFO] [stdout] test backends::sandbox::tests::test_path_access_allowed ... ok [INFO] [stdout] test backends::sandbox::tests::test_permission_checker_multiple_rules ... ok [INFO] [stdout] test agent::tests::test_middleware_defaults_are_noops ... ok [INFO] [stdout] test backends::sandbox::tests::test_resource_tracking_memory ... ok [INFO] [stdout] test backends::sandbox::tests::test_sandbox_backend_delegates ... ok [INFO] [stdout] test backends::sandbox::tests::test_sandbox_violation_display ... ok [INFO] [stdout] test backends::storage::tests::test_backend_config_builder ... ok [INFO] [stdout] test agent::tests::test_memory_middleware_remember_recall ... ok [INFO] [stdout] test backends::storage::tests::test_backend_config_multiple_extras ... ok [INFO] [stdout] test backends::storage::tests::test_backend_config_new ... ok [INFO] [stdout] test backends::storage::tests::test_backend_config_to_json ... ok [INFO] [stdout] test backends::sandbox::tests::test_nested_path_checking ... ok [INFO] [stdout] test backends::storage::tests::test_cached_clear ... ok [INFO] [stdout] test backends::sandbox::tests::test_time_limit_checking ... ok [INFO] [stdout] test backends::storage::tests::test_backend_config_to_json_with_path ... ok [INFO] [stdout] test backends::filesystem::tests::test_filesystem_backend_read_nonexistent ... ok [INFO] [stdout] test backends::filesystem::tests::test_filesystem_backend_write_and_read ... ok [INFO] [stdout] test backends::sandbox::tests::test_network_access_control ... ok [INFO] [stdout] test agent::tests::test_filesystem_backend_save_load ... ok [INFO] [stdout] test backends::storage::tests::test_cached_delete_removes_from_cache ... ok [INFO] [stdout] test backends::filesystem::tests::test_filesystem_backend_list_dir ... ok [INFO] [stdout] test backends::storage::tests::test_cached_exists ... ok [INFO] [stdout] test backends::storage::tests::test_cached_hits_on_second_load ... ok [INFO] [stdout] test backends::storage::tests::test_cached_invalidate_all ... ok [INFO] [stdout] test backends::storage::tests::test_cached_invalidate_single ... ok [INFO] [stdout] test backends::filesystem::tests::test_filesystem_backend_edit_file ... ok [INFO] [stdout] test backends::storage::tests::test_cached_eviction ... ok [INFO] [stdout] test backends::sandbox::tests::test_stats_tracking ... ok [INFO] [stdout] test backends::storage::tests::test_cached_load_falls_through_on_miss ... ok [INFO] [stdout] test backends::storage::tests::test_cached_load_returns_from_cache_on_hit ... ok [INFO] [stdout] test backends::filesystem::tests::test_filesystem_backend_edit_missing_string ... ok [INFO] [stdout] test backends::sandbox::tests::test_sandbox_backend_memory_limit ... ok [INFO] [stdout] test backends::filesystem::tests::test_path_traversal_rejected ... ok [INFO] [stdout] test backends::storage::tests::test_cached_name ... ok [INFO] [stdout] test backends::storage::tests::test_cached_miss_on_uncached_key ... ok [INFO] [stdout] test backends::storage::tests::test_factory_create_memory ... ok [INFO] [stdout] test backends::storage::tests::test_factory_create_namespaced ... ok [INFO] [stdout] test backends::storage::tests::test_factory_create_cached ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_base_path ... ok [INFO] [stdout] test backends::storage::tests::test_factory_unknown_type ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_load_missing ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_delete ... ok [INFO] [stdout] test backends::storage::tests::test_factory_create_filesystem ... ok [INFO] [stdout] test backends::storage::tests::test_factory_namespaced_missing_namespace ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_clear ... ok [INFO] [stdout] test backends::storage::tests::test_factory_filesystem_missing_path ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_exists ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_keys ... ok [INFO] [stdout] test backends::storage::tests::test_cached_save_and_load ... ok [INFO] [stdout] test backends::storage::tests::test_clear_on_empty_backend ... ok [INFO] [stdout] test backends::storage::tests::test_factory_cached_default_size ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_name ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_delete_existing ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_delete_missing ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_keys ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_load_missing_key ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_new_creates_dir ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_overwrite ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_len_after_operations ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_name ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_new_is_empty ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_key_prefixing ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_overwrite ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_save_and_load ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_clear ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_isolation ... ok [INFO] [stdout] test backends::storage::tests::test_filesystem_save_and_load ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_name ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_namespace_accessor ... ok [INFO] [stdout] test backends::storage::tests::test_nested_cached_namespaced_memory ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_save_and_load ... ok [INFO] [stdout] test backends::storage::tests::test_nested_multiple_namespaces_isolation ... ok [INFO] [stdout] test backends::storage::tests::test_save_null_value ... ok [INFO] [stdout] test backends::storage::tests::test_stats_from_empty_backend ... ok [INFO] [stdout] test backends::storage::tests::test_stats_from_namespaced_backend ... ok [INFO] [stdout] test backends::storage::tests::test_stats_from_populated_backend ... ok [INFO] [stdout] test builder::tests::test_builder_duplicate_capability_ignored ... ok [INFO] [stdout] test backends::storage::tests::test_trait_object_usage ... ok [INFO] [stdout] test backends::storage::tests::test_stats_to_json ... ok [INFO] [stdout] test builder::tests::test_builder_default_max_iterations ... ok [INFO] [stdout] test builder::tests::test_builder_fails_empty_name ... ok [INFO] [stdout] test builder::tests::test_builder_fails_missing_model ... ok [INFO] [stdout] test builder::tests::test_builder_full_chain ... ok [INFO] [stdout] test builder::tests::test_builder_warns_duplicate_tools ... ok [INFO] [stdout] test builder::tests::test_builder_warns_no_capabilities ... ok [INFO] [stdout] test builder::tests::test_builder_to_json ... ok [INFO] [stdout] test builder::tests::test_builder_warns_no_system_prompt ... ok [INFO] [stdout] test builder::tests::test_capability_display_chat ... ok [INFO] [stdout] test builder::tests::test_builder_warns_tools_no_capability ... ok [INFO] [stdout] test builder::tests::test_capability_display_custom ... ok [INFO] [stdout] test builder::tests::test_capability_display_memory ... ok [INFO] [stdout] test builder::tests::test_capability_display_planning ... ok [INFO] [stdout] test builder::tests::test_capability_display_tool_use ... ok [INFO] [stdout] test builder::tests::test_capability_display_web_search ... ok [INFO] [stdout] test builder::tests::test_capability_equality ... ok [INFO] [stdout] test builder::tests::test_directory_default_is_empty ... ok [INFO] [stdout] test builder::tests::test_directory_instantiate ... ok [INFO] [stdout] test builder::tests::test_directory_instantiate_missing ... ok [INFO] [stdout] test builder::tests::test_directory_list ... ok [INFO] [stdout] test builder::tests::test_directory_new_is_empty ... ok [INFO] [stdout] test builder::tests::test_directory_register_and_get ... ok [INFO] [stdout] test builder::tests::test_directory_remove ... ok [INFO] [stdout] test builder::tests::test_memory_enabled_adds_capability ... ok [INFO] [stdout] test builder::tests::test_from_preset_coding_assistant ... ok [INFO] [stdout] test builder::tests::test_from_preset_can_override ... ok [INFO] [stdout] test builder::tests::test_from_preset_task_planner ... ok [INFO] [stdout] test builder::tests::test_middleware_spec_enabled ... ok [INFO] [stdout] test builder::tests::test_from_preset_unknown_returns_empty_builder ... ok [INFO] [stdout] test builder::tests::test_middleware_spec_new ... ok [INFO] [stdout] test builder::tests::test_middleware_spec_with_config ... ok [INFO] [stdout] test builder::tests::test_middleware_spec_with_priority ... ok [INFO] [stdout] test builder::tests::test_planning_enabled_adds_capability ... ok [INFO] [stdout] test builder::tests::test_profile_has_capability ... ok [INFO] [stdout] test builder::tests::test_profile_new ... ok [INFO] [stdout] test builder::tests::test_capability_display_code_execution ... ok [INFO] [stdout] test builder::tests::test_profile_to_json ... ok [INFO] [stdout] test builder::tests::test_capability_display_filesystem ... ok [INFO] [stdout] test builder::tests::test_builder_warns_tool_use_no_tools ... ok [INFO] [stdout] test collaboration::tests::test_consensus_result_to_json ... ok [INFO] [stdout] test builder::tests::test_profile_to_json_roundtrip_fields ... ok [INFO] [stdout] test builder::tests::test_template_from_builder ... ok [INFO] [stdout] test builder::tests::test_template_instantiate ... ok [INFO] [stdout] test builder::tests::test_tool_spec_with_schema ... ok [INFO] [stdout] test builder::tests::test_tool_spec_new ... ok [INFO] [stdout] test collaboration::tests::test_delegation_request_builder_chain ... ok [INFO] [stdout] test collaboration::tests::test_delegation_request_with_priority ... ok [INFO] [stdout] test collaboration::tests::test_delegation_request_new ... ok [INFO] [stdout] test collaboration::tests::test_delegation_request_to_json ... ok [INFO] [stdout] test collaboration::tests::test_full_delegation_workflow ... ok [INFO] [stdout] test collaboration::tests::test_full_consensus_workflow ... ok [INFO] [stdout] test collaboration::tests::test_log_default ... ok [INFO] [stdout] test collaboration::tests::test_delegation_request_unique_ids ... ok [INFO] [stdout] test collaboration::tests::test_delegation_request_with_context ... ok [INFO] [stdout] test collaboration::tests::test_log_mixed_events ... ok [INFO] [stdout] test collaboration::tests::test_log_record_delegation ... ok [INFO] [stdout] test collaboration::tests::test_log_record_response ... ok [INFO] [stdout] test collaboration::tests::test_log_filter_by_agent ... ok [INFO] [stdout] test collaboration::tests::test_log_new_is_empty ... ok [INFO] [stdout] test collaboration::tests::test_log_filter_by_agent_multiple_matches ... ok [INFO] [stdout] test collaboration::tests::test_delegation_request_with_deadline ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_keys_strips_prefix ... ok [INFO] [stdout] test backends::sandbox::tests::test_read_only_blocks_writes ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_exists ... ok [INFO] [stdout] test backends::storage::tests::test_namespaced_delete ... ok [INFO] [stdout] test builder::tests::test_template_to_json ... ok [INFO] [stdout] test backends::storage::tests::test_save_complex_json ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_default ... ok [INFO] [stdout] test backends::storage::tests::test_in_memory_clear ... ok [INFO] [stdout] test builder::tests::test_tool_spec_required ... ok [INFO] [stdout] test collaboration::tests::test_log_to_json ... ok [INFO] [stdout] test collaboration::tests::test_log_record_vote ... ok [INFO] [stdout] test collaboration::tests::test_priority_ordering ... ok [INFO] [stdout] test collaboration::tests::test_priority_sort ... ok [INFO] [stdout] test collaboration::tests::test_priority_weights ... ok [INFO] [stdout] test collaboration::tests::test_protocol_broadcast_display ... ok [INFO] [stdout] test collaboration::tests::test_protocol_clone ... ok [INFO] [stdout] test collaboration::tests::test_protocol_consensus_display ... ok [INFO] [stdout] test collaboration::tests::test_protocol_consensus_name ... ok [INFO] [stdout] test collaboration::tests::test_protocol_consensus_to_json ... ok [INFO] [stdout] test collaboration::tests::test_protocol_equality ... ok [INFO] [stdout] test collaboration::tests::test_protocol_hierarchical_display ... ok [INFO] [stdout] test collaboration::tests::test_protocol_hierarchical_name ... ok [INFO] [stdout] test collaboration::tests::test_protocol_pipeline_display ... ok [INFO] [stdout] test collaboration::tests::test_protocol_pipeline_name ... ok [INFO] [stdout] test collaboration::tests::test_response_reject ... ok [INFO] [stdout] test collaboration::tests::test_protocol_round_robin_display ... ok [INFO] [stdout] test collaboration::tests::test_protocol_round_robin_name ... ok [INFO] [stdout] test collaboration::tests::test_response_to_json ... ok [INFO] [stdout] test collaboration::tests::test_round_new ... ok [INFO] [stdout] test collaboration::tests::test_protocol_round_robin_to_json ... ok [INFO] [stdout] test collaboration::tests::test_round_result_none_before_quorum ... ok [INFO] [stdout] test collaboration::tests::test_response_accept ... ok [INFO] [stdout] test collaboration::tests::test_round_participation_rate_zero_voters ... ok [INFO] [stdout] test collaboration::tests::test_round_result_rejected ... ok [INFO] [stdout] test collaboration::tests::test_round_participation_rate ... ok [INFO] [stdout] test collaboration::tests::test_response_complete ... ok [INFO] [stdout] test collaboration::tests::test_response_fail ... ok [INFO] [stdout] test collaboration::tests::test_round_cast_vote ... ok [INFO] [stdout] test collaboration::tests::test_round_result_approved ... ok [INFO] [stdout] test collaboration::tests::test_protocol_broadcast_name ... ok [INFO] [stdout] test collaboration::tests::test_status_display ... ok [INFO] [stdout] test collaboration::tests::test_status_failed_is_terminal ... ok [INFO] [stdout] test collaboration::tests::test_round_quorum_reached ... ok [INFO] [stdout] test collaboration::tests::test_status_pending_not_terminal ... ok [INFO] [stdout] test collaboration::tests::test_round_to_json ... ok [INFO] [stdout] test collaboration::tests::test_status_completed_is_terminal ... ok [INFO] [stdout] test collaboration::tests::test_status_accepted_not_terminal ... ok [INFO] [stdout] test collaboration::tests::test_round_result_average_confidence ... ok [INFO] [stdout] test collaboration::tests::test_status_rejected_is_terminal ... ok [INFO] [stdout] test collaboration::tests::test_vote_to_json ... ok [INFO] [stdout] test collaboration::tests::test_priority_display ... ok [INFO] [stdout] test collaboration::tests::test_vote_new ... ok [INFO] [stdout] test collaboration::tests::test_vote_confidence_clamped ... ok [INFO] [stdout] test collaboration::tests::test_vote_with_reasoning ... ok [INFO] [stdout] test collaboration::tests::test_workspace_clone_independence ... ok [INFO] [stdout] test collaboration::tests::test_workspace_get_missing ... ok [INFO] [stdout] test collaboration::tests::test_workspace_put_and_get ... ok [INFO] [stdout] test collaboration::tests::test_workspace_new_is_empty ... ok [INFO] [stdout] test collaboration::tests::test_workspace_remove ... ok [INFO] [stdout] test collaboration::tests::test_workspace_snapshot ... ok [INFO] [stdout] test collaboration::tests::test_workspace_remove_missing ... ok [INFO] [stdout] test collaboration::tests::test_workspace_to_json ... ok [INFO] [stdout] test communication::tests::test_channel_subscribe ... ok [INFO] [stdout] test communication::tests::test_channel_unsubscribe_nonexistent ... ok [INFO] [stdout] test communication::tests::test_filter_combined ... ok [INFO] [stdout] test communication::tests::test_channel_broadcast_no_subscribers ... ok [INFO] [stdout] test communication::tests::test_channel_subscribe_idempotent ... ok [INFO] [stdout] test collaboration::tests::test_workspace_with_delegation_context ... ok [INFO] [stdout] test communication::tests::test_channel_broadcast ... ok [INFO] [stdout] test collaboration::tests::test_workspace_put_overwrite ... ok [INFO] [stdout] test communication::tests::test_channel_new ... ok [INFO] [stdout] test communication::tests::test_hub_register_agent ... ok [INFO] [stdout] test collaboration::tests::test_protocol_hierarchical_to_json ... ok [INFO] [stdout] test collaboration::tests::test_workspace_keys ... ok [INFO] [stdout] test communication::tests::test_filter_from_agent ... ok [INFO] [stdout] test communication::tests::test_filter_empty_matches_all ... ok [INFO] [stdout] test communication::tests::test_filter_priority ... ok [INFO] [stdout] test communication::tests::test_filter_subject_contains ... ok [INFO] [stdout] test communication::tests::test_hub_broadcast_unknown_channel ... ok [INFO] [stdout] test communication::tests::test_hub_broadcast_channel ... ok [INFO] [stdout] test communication::tests::test_hub_end_to_end_conversation ... ok [INFO] [stdout] test communication::tests::test_hub_get_mailbox_nonexistent ... ok [INFO] [stdout] test communication::tests::test_hub_new ... ok [INFO] [stdout] test communication::tests::test_hub_create_channel ... ok [INFO] [stdout] test communication::tests::test_filter_to_agent ... ok [INFO] [stdout] test communication::tests::test_channel_unsubscribe ... ok [INFO] [stdout] test communication::tests::test_hub_register_agent_idempotent ... ok [INFO] [stdout] test communication::tests::test_hub_send_message ... ok [INFO] [stdout] test communication::tests::test_hub_shared_state ... ok [INFO] [stdout] test communication::tests::test_hub_send_unknown_recipient ... ok [INFO] [stdout] test communication::tests::test_mailbox_new_is_empty ... ok [INFO] [stdout] test communication::tests::test_mailbox_deliver_and_read ... ok [INFO] [stdout] test communication::tests::test_mailbox_read_filtered ... ok [INFO] [stdout] test communication::tests::test_message_new_has_id ... ok [INFO] [stdout] test communication::tests::test_message_to_json ... ok [INFO] [stdout] test communication::tests::test_message_with_priority ... ok [INFO] [stdout] test communication::tests::test_message_to_json_with_reply ... ok [INFO] [stdout] test communication::tests::test_message_with_reply_to ... ok [INFO] [stdout] test communication::tests::test_message_unique_ids ... ok [INFO] [stdout] test communication::tests::test_priority_ordering ... ok [INFO] [stdout] test communication::tests::test_priority_sort ... ok [INFO] [stdout] test communication::tests::test_shared_state_entries_by_owner ... ok [INFO] [stdout] test communication::tests::test_shared_state_new_is_empty ... ok [INFO] [stdout] test communication::tests::test_shared_state_keys_and_len ... ok [INFO] [stdout] test communication::tests::test_shared_state_remove_nonexistent ... ok [INFO] [stdout] test communication::tests::test_shared_state_overwrite ... ok [INFO] [stdout] test config::tests::test_agent_config_defaults ... ok [INFO] [stdout] test config::tests::test_agent_config_deserialize_minimal ... ok [INFO] [stdout] test config::tests::test_agent_config_empty_json_object ... ok [INFO] [stdout] test config::tests::test_backend_config_default_is_in_memory ... ok [INFO] [stdout] test config::tests::test_backend_config_in_memory_serialization ... ok [INFO] [stdout] test config::tests::test_agent_config_full_serialize_roundtrip ... ok [INFO] [stdout] test config::tests::test_backend_config_sandbox_roundtrip ... ok [INFO] [stdout] test config::tests::test_backend_config_filesystem_roundtrip ... ok [INFO] [stdout] test communication::tests::test_shared_state_remove ... ok [INFO] [stdout] test config::tests::test_builder_defaults ... ok [INFO] [stdout] test config::tests::test_builder_enable_planning ... ok [INFO] [stdout] test config::tests::test_builder_enable_logging ... ok [INFO] [stdout] test config::tests::test_builder_enable_rate_limiter ... ok [INFO] [stdout] test config::tests::test_builder_filesystem_root ... ok [INFO] [stdout] test config::tests::test_builder_full ... ok [INFO] [stdout] test config::tests::test_builder_max_context_tokens ... ok [INFO] [stdout] test config::tests::test_config_loader_from_env_invalid_temperature ... ok [INFO] [stdout] test config::tests::test_builder_tools_override ... ok [INFO] [stdout] test config::tests::test_config_loader_from_value ... ok [INFO] [stdout] test config::tests::test_config_loader_from_json_invalid ... ok [INFO] [stdout] test config::tests::test_config_loader_merge_backend ... ok [INFO] [stdout] test config::tests::test_config_loader_from_json ... ok [INFO] [stdout] test config::tests::test_config_loader_from_env ... ok [INFO] [stdout] test config::tests::test_deep_agent_config_builder_chain ... ok [INFO] [stdout] test config::tests::test_config_loader_merge_basic ... ok [INFO] [stdout] test config::tests::test_deep_agent_config_defaults ... ok [INFO] [stdout] test config::tests::test_config_loader_merge_middleware_flags ... ok [INFO] [stdout] test config::tests::test_middleware_config_defaults ... ok [INFO] [stdout] test config::tests::test_config_loader_merge_model ... ok [INFO] [stdout] test communication::tests::test_priority_display ... ok [INFO] [stdout] test communication::tests::test_priority_equality ... ok [INFO] [stdout] test config::tests::test_middleware_config_serialize_roundtrip ... ok [INFO] [stdout] test config::tests::test_model_config_deserialize_partial ... ok [INFO] [stdout] test context::tests::test_compressor_no_compression_needed ... ok [INFO] [stdout] test config::tests::test_model_config_defaults ... ok [INFO] [stdout] test context::tests::test_compressor_only_system_entries ... ok [INFO] [stdout] test context::tests::test_compressor_preserves_system ... ok [INFO] [stdout] test context::tests::test_compressor_compresses_old_entries ... ok [INFO] [stdout] test context::tests::test_compressor_compression_ratio ... ok [INFO] [stdout] test context::tests::test_compressor_summary_content_contains_messages ... ok [INFO] [stdout] test config::tests::test_model_config_serialize_roundtrip ... ok [INFO] [stdout] test context::tests::test_entry_char_count ... ok [INFO] [stdout] test context::tests::test_entry_new ... ok [INFO] [stdout] test context::tests::test_entry_to_json ... ok [INFO] [stdout] test context::tests::test_entry_serialize_deserialize ... ok [INFO] [stdout] test context::tests::test_entry_token_estimate_short ... ok [INFO] [stdout] test context::tests::test_entry_to_json_has_role ... ok [INFO] [stdout] test context::tests::test_entry_char_count_empty ... ok [INFO] [stdout] test context::tests::test_entry_metadata_chaining ... ok [INFO] [stdout] test context::tests::test_entry_unique_ids ... ok [INFO] [stdout] test context::tests::test_entry_with_metadata ... ok [INFO] [stdout] test context::tests::test_entry_to_json_has_id ... ok [INFO] [stdout] test context::tests::test_entry_token_estimate_empty ... ok [INFO] [stdout] test context::tests::test_estimate_tokens_boundary ... ok [INFO] [stdout] test context::tests::test_filter_combined ... ok [INFO] [stdout] test context::tests::test_filter_default ... ok [INFO] [stdout] test communication::tests::test_mailbox_read_empty ... ok [INFO] [stdout] test context::tests::test_filter_by_role ... ok [INFO] [stdout] test context::tests::test_filter_empty_window ... ok [INFO] [stdout] test communication::tests::test_message_with_metadata ... ok [INFO] [stdout] test communication::tests::test_mailbox_peek_does_not_consume ... ok [INFO] [stdout] test context::tests::test_policy_default_reserve ... ok [INFO] [stdout] test context::tests::test_filter_by_token_range ... ok [INFO] [stdout] test context::tests::test_generate_id_unique ... ok [INFO] [stdout] test communication::tests::test_hub_shared_state_multiple_agents ... ok [INFO] [stdout] test communication::tests::test_hub_subscribe_creates_channel ... ok [INFO] [stdout] test communication::tests::test_shared_state_set_and_get ... ok [INFO] [stdout] test config::tests::test_builder_enable_memory ... ok [INFO] [stdout] test context::tests::test_filter_by_role_tool ... ok [INFO] [stdout] test context::tests::test_filter_no_constraints ... ok [INFO] [stdout] test context::tests::test_policy_effective_limit_underflow ... ok [INFO] [stdout] test context::tests::test_filter_by_metadata_key ... ok [INFO] [stdout] test context::tests::test_policy_effective_limit ... ok [INFO] [stdout] test communication::tests::test_message_is_reply_false ... ok [INFO] [stdout] test context::tests::test_policy_needs_compression_tokens ... ok [INFO] [stdout] test context::tests::test_policy_new ... ok [INFO] [stdout] test context::tests::test_policy_no_compression_needed ... ok [INFO] [stdout] test context::tests::test_role_as_str_assistant ... ok [INFO] [stdout] test context::tests::test_policy_with_response_reserve ... ok [INFO] [stdout] test context::tests::test_role_as_str_system ... ok [INFO] [stdout] test context::tests::test_role_as_str_tool ... ok [INFO] [stdout] test context::tests::test_role_as_str_user ... ok [INFO] [stdout] test context::tests::test_role_as_str_summary ... ok [INFO] [stdout] test context::tests::test_role_display_assistant ... ok [INFO] [stdout] test context::tests::test_role_display_system ... ok [INFO] [stdout] test context::tests::test_role_display_summary ... ok [INFO] [stdout] test context::tests::test_role_display_tool ... ok [INFO] [stdout] test context::tests::test_role_display_user ... ok [INFO] [stdout] test context::tests::test_role_equality ... ok [INFO] [stdout] test context::tests::test_role_tool_equality ... ok [INFO] [stdout] test context::tests::test_role_serialize_deserialize ... ok [INFO] [stdout] test context::tests::test_snapshot_empty_window ... ok [INFO] [stdout] test context::tests::test_snapshot_capture_restore ... ok [INFO] [stdout] test context::tests::test_snapshot_from_json_invalid ... ok [INFO] [stdout] test context::tests::test_snapshot_preserves_max_tokens ... ok [INFO] [stdout] test context::tests::test_stats_empty_window ... ok [INFO] [stdout] test context::tests::test_snapshot_roundtrip_preserves_metadata ... ok [INFO] [stdout] test context::tests::test_stats_average_entry_size ... ok [INFO] [stdout] test context::tests::test_stats_to_json ... ok [INFO] [stdout] test context::tests::test_stats_tokens_by_role ... ok [INFO] [stdout] test context::tests::test_stats_max_tokens ... ok [INFO] [stdout] test context::tests::test_window_clear ... ok [INFO] [stdout] test context::tests::test_snapshot_to_json_from_json ... ok [INFO] [stdout] test context::tests::test_window_find_by_role_empty ... ok [INFO] [stdout] test context::tests::test_window_last_n ... ok [INFO] [stdout] test context::tests::test_window_max_tokens ... ok [INFO] [stdout] test context::tests::test_stats_tool_role ... ok [INFO] [stdout] test context::tests::test_stats_utilization ... ok [INFO] [stdout] test context::tests::test_stats_entry_count_by_role ... ok [INFO] [stdout] test context::tests::test_window_entries_returns_slice ... ok [INFO] [stdout] test context::tests::test_window_remaining_tokens ... ok [INFO] [stdout] test context::tests::test_window_find_by_role ... ok [INFO] [stdout] test context::tests::test_window_new_empty ... ok [INFO] [stdout] test context::tests::test_truncate_oldest_zero ... ok [INFO] [stdout] test context::tests::test_window_remaining_tokens_saturates ... ok [INFO] [stdout] test context::tests::test_window_truncate_oldest ... ok [INFO] [stdout] test context::tests::test_window_truncate_oldest_preserves_system ... ok [INFO] [stdout] test context::tests::test_policy_needs_compression_entries ... ok [INFO] [stdout] test context::tests::test_window_truncate_to_fit ... ok [INFO] [stdout] test context::tests::test_window_last_n_exceeds_len ... ok [INFO] [stdout] test context::tests::test_window_total_tokens ... ok [INFO] [stdout] test context::tests::test_window_utilization ... ok [INFO] [stdout] test conversation::tests::test_builder_default_max_tokens ... ok [INFO] [stdout] test context::tests::test_window_utilization_zero_max ... ok [INFO] [stdout] test conversation::tests::test_builder_default_system_prompt ... ok [INFO] [stdout] test conversation::tests::test_conversation_add_turn ... ok [INFO] [stdout] test conversation::tests::test_conversation_assistant_turns ... ok [INFO] [stdout] test conversation::tests::test_conversation_get_turns ... ok [INFO] [stdout] test conversation::tests::test_builder_defaults ... ok [INFO] [stdout] test conversation::tests::test_conversation_summary ... ok [INFO] [stdout] test conversation::tests::test_conversation_new ... ok [INFO] [stdout] test conversation::tests::test_builder_max_conversations ... ok [INFO] [stdout] test conversation::tests::test_conversation_to_messages_tool_turn ... ok [INFO] [stdout] test conversation::tests::test_conversation_truncate_removes_all_if_needed ... ok [INFO] [stdout] test conversation::tests::test_conversation_truncate_to_tokens ... ok [INFO] [stdout] test conversation::tests::test_conversation_to_messages_full ... ok [INFO] [stdout] test conversation::tests::test_conversation_user_turns ... ok [INFO] [stdout] test context::tests::test_window_push_and_len ... ok [INFO] [stdout] test conversation::tests::test_conversation_with_system_prompt ... ok [INFO] [stdout] test conversation::tests::test_conversation_summary_empty ... ok [INFO] [stdout] test conversation::tests::test_manager_add_message_not_found ... ok [INFO] [stdout] test conversation::tests::test_manager_default_impl ... ok [INFO] [stdout] test conversation::tests::test_estimate_tokens ... ok [INFO] [stdout] test conversation::tests::test_conversation_to_messages_empty ... ok [INFO] [stdout] test conversation::tests::test_conversation_to_messages_with_system_prompt ... ok [INFO] [stdout] test conversation::tests::test_manager_delete_conversation ... ok [INFO] [stdout] test conversation::tests::test_conversation_last_turn ... ok [INFO] [stdout] test conversation::tests::test_builder_system_prompt_override ... ok [INFO] [stdout] test conversation::tests::test_conversation_with_max_tokens ... ok [INFO] [stdout] test conversation::tests::test_manager_create_with_system_prompt ... ok [INFO] [stdout] test conversation::tests::test_manager_add_messages ... ok [INFO] [stdout] test conversation::tests::test_manager_create_conversation ... ok [INFO] [stdout] test conversation::tests::test_manager_delete_not_found ... ok [INFO] [stdout] test conversation::tests::test_manager_export_conversation ... ok [INFO] [stdout] test conversation::tests::test_manager_export_not_found ... ok [INFO] [stdout] test conversation::tests::test_manager_get_context_window_all_fit ... ok [INFO] [stdout] test evaluation::tests::test_contains_case_insensitive_pass ... ok [INFO] [stdout] test conversation::tests::test_turn_serialization_roundtrip ... ok [INFO] [stdout] test conversation::tests::test_manager_get_context_window ... ok [INFO] [stdout] test evaluation::tests::test_contains_case_sensitive_fail ... ok [INFO] [stdout] test conversation::tests::test_manager_get_context_window_not_found ... ok [INFO] [stdout] test evaluation::tests::test_contains_empty_expected ... ok [INFO] [stdout] test evaluation::tests::test_contains_name ... ok [INFO] [stdout] test evaluation::tests::test_contains_non_string_values ... ok [INFO] [stdout] test conversation::tests::test_manager_import_conversation ... ok [INFO] [stdout] test evaluation::tests::test_contains_substring_found ... ok [INFO] [stdout] test evaluation::tests::test_eval_case_builder_basic ... ok [INFO] [stdout] test evaluation::tests::test_contains_substring_not_found ... ok [INFO] [stdout] test conversation::tests::test_manager_import_invalid_data ... ok [INFO] [stdout] test conversation::tests::test_manager_import_missing_turns ... ok [INFO] [stdout] test conversation::tests::test_manager_list_conversations ... ok [INFO] [stdout] test evaluation::tests::test_eval_case_builder_with_metadata ... ok [INFO] [stdout] test evaluation::tests::test_eval_case_builder_with_tags ... ok [INFO] [stdout] test conversation::tests::test_turn_new ... ok [INFO] [stdout] test conversation::tests::test_turn_role_serialization ... ok [INFO] [stdout] test conversation::tests::test_turn_with_metadata ... ok [INFO] [stdout] test evaluation::tests::test_eval_case_result_avg_score ... ok [INFO] [stdout] test evaluation::tests::test_eval_case_result_avg_score_empty ... ok [INFO] [stdout] test conversation::tests::test_turn_with_token_count ... ok [INFO] [stdout] test evaluation::tests::test_eval_case_result_to_json ... ok [INFO] [stdout] test evaluation::tests::test_eval_report_duration ... ok [INFO] [stdout] test evaluation::tests::test_eval_case_to_json ... ok [INFO] [stdout] test evaluation::tests::test_eval_report_passing_rate ... ok [INFO] [stdout] test evaluation::tests::test_eval_report_passing_rate_empty ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_clamped_above ... ok [INFO] [stdout] test evaluation::tests::test_eval_report_failures ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_clamped_below ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_is_passing_false ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_is_passing_true ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_with_detail ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_by_tag_no_match ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_creation ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_run_all_fail ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_run_all_pass ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_to_json ... ok [INFO] [stdout] test evaluation::tests::test_eval_score_nan_clamped ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_run_mixed ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_run_multiple_metrics ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_run_empty ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_add_case ... ok [INFO] [stdout] test evaluation::tests::test_exact_match_equal_strings ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_by_tag ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_new ... ok [INFO] [stdout] test evaluation::tests::test_eval_report_to_json ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_actual_shorter_array ... ok [INFO] [stdout] test evaluation::tests::test_eval_suite_run_no_metrics ... ok [INFO] [stdout] test evaluation::tests::test_exact_match_different_types ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_empty_arrays ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_empty_objects ... ok [INFO] [stdout] test evaluation::tests::test_exact_match_equal_numbers ... ok [INFO] [stdout] test evaluation::tests::test_exact_match_equal_objects ... ok [INFO] [stdout] test evaluation::tests::test_exact_match_name ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_identical_objects ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_arrays ... ok [INFO] [stdout] test evaluation::tests::test_exact_match_not_equal_strings ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_nested_objects ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_missing_keys ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_scalar_match ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_beyond_tolerance ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_scalar_mismatch ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_partial_match ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_non_numeric ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_negative_numbers ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_within_tolerance ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_zero_tolerance ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_string_numbers ... ok [INFO] [stdout] test events::tests::test_all_event_types_emit ... ok [INFO] [stdout] test evaluation::tests::test_json_similarity_name ... ok [INFO] [stdout] test events::tests::test_builder_basic ... ok [INFO] [stdout] test events::tests::test_emit_returns_event ... ok [INFO] [stdout] test events::tests::test_event_type_duration ... ok [INFO] [stdout] test events::tests::test_clone_shares_state ... ok [INFO] [stdout] test events::tests::test_event_type_names ... ok [INFO] [stdout] test events::tests::test_event_timestamp ... ok [INFO] [stdout] test events::tests::test_buffer_handler_capacity ... ok [INFO] [stdout] test events::tests::test_builder_buffer_size ... ok [INFO] [stdout] test events::tests::test_event_filter ... ok [INFO] [stdout] test events::tests::test_handler_count ... ok [INFO] [stdout] test events::tests::test_event_type_display ... ok [INFO] [stdout] test events::tests::test_buffer_handler_stores_events ... ok [INFO] [stdout] test events::tests::test_handler_receives_events ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_at_tolerance ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_name ... ok [INFO] [stdout] test events::tests::test_multiple_filters ... ok [INFO] [stdout] test events::tests::test_metrics_handler_duration ... ok [INFO] [stdout] test factory::tests::test_event_log_clear ... ok [INFO] [stdout] test events::tests::test_unsubscribe_out_of_bounds ... ok [INFO] [stdout] test events::tests::test_sequence_increments ... ok [INFO] [stdout] test evaluation::tests::test_numeric_distance_exact ... ok [INFO] [stdout] test factory::tests::test_event_log_events_for ... ok [INFO] [stdout] test events::tests::test_metrics_handler_avg_duration ... ok [INFO] [stdout] test events::tests::test_multiple_handlers ... ok [INFO] [stdout] test events::tests::test_metrics_handler_counts ... ok [INFO] [stdout] test events::tests::test_logging_handler_no_error ... ok [INFO] [stdout] test events::tests::test_failing_handler_does_not_break_dispatch ... ok [INFO] [stdout] test events::tests::test_no_filter_receives_all ... ok [INFO] [stdout] test factory::tests::test_event_agent_id ... ok [INFO] [stdout] test factory::tests::test_event_log_max_capacity ... ok [INFO] [stdout] test factory::tests::test_event_log_max_capacity_one ... ok [INFO] [stdout] test factory::tests::test_event_log_recent_more_than_available ... ok [INFO] [stdout] test factory::tests::test_event_log_record_and_len ... ok [INFO] [stdout] test events::tests::test_unsubscribe ... ok [INFO] [stdout] test factory::tests::test_event_to_json_created ... ok [INFO] [stdout] test factory::tests::test_factory_create_invalid_spec ... ok [INFO] [stdout] test factory::tests::test_factory_default ... ok [INFO] [stdout] test factory::tests::test_factory_create_with_defaults ... ok [INFO] [stdout] test factory::tests::test_factory_error_display ... ok [INFO] [stdout] test factory::tests::test_factory_from_template ... ok [INFO] [stdout] test factory::tests::test_instance_is_running ... ok [INFO] [stdout] test factory::tests::test_instance_has_uuid ... ok [INFO] [stdout] test factory::tests::test_instance_metadata ... ok [INFO] [stdout] test factory::tests::test_event_to_json_failed ... ok [INFO] [stdout] test factory::tests::test_instance_to_json ... ok [INFO] [stdout] test factory::tests::test_event_event_type ... ok [INFO] [stdout] test factory::tests::test_factory_create ... ok [INFO] [stdout] test factory::tests::test_event_log_recent ... ok [INFO] [stdout] test factory::tests::test_event_log_new_is_empty ... ok [INFO] [stdout] test factory::tests::test_event_to_json_completed ... ok [INFO] [stdout] test factory::tests::test_pool_active_count ... ok [INFO] [stdout] test factory::tests::test_pool_by_status ... ok [INFO] [stdout] test factory::tests::test_pool_new_is_empty ... ok [INFO] [stdout] test factory::tests::test_pool_remove ... ok [INFO] [stdout] test factory::tests::test_pool_empty_to_json ... ok [INFO] [stdout] test factory::tests::test_pool_remove_nonexistent ... ok [INFO] [stdout] test factory::tests::test_spec_builder_middlewares_override ... ok [INFO] [stdout] test factory::tests::test_spec_builder_tools_override ... ok [INFO] [stdout] test factory::tests::test_pool_get_nonexistent ... ok [INFO] [stdout] test factory::tests::test_pool_add_and_get ... ok [INFO] [stdout] test factory::tests::test_spec_to_json ... ok [INFO] [stdout] test factory::tests::test_spec_to_json_null_optionals ... ok [INFO] [stdout] test factory::tests::test_pool_to_json ... ok [INFO] [stdout] test factory::tests::test_spec_builder_defaults ... ok [INFO] [stdout] test factory::tests::test_spec_builder_full ... ok [INFO] [stdout] test factory::tests::test_spec_validate_empty_model ... ok [INFO] [stdout] test factory::tests::test_spec_validate_temperature_negative ... ok [INFO] [stdout] test factory::tests::test_spec_validate_temperature_too_high ... ok [INFO] [stdout] test factory::tests::test_spec_validate_success ... ok [INFO] [stdout] test factory::tests::test_spec_validate_temperature_valid_boundary ... ok [INFO] [stdout] test factory::tests::test_spec_validate_empty_name ... ok [INFO] [stdout] test factory::tests::test_spec_validate_zero_iterations ... ok [INFO] [stdout] test factory::tests::test_status_as_str ... ok [INFO] [stdout] test factory::tests::test_status_display ... ok [INFO] [stdout] test factory::tests::test_status_is_terminal ... ok [INFO] [stdout] test factory::tests::test_status_equality ... ok [INFO] [stdout] test factory::tests::test_template_chat_agent ... ok [INFO] [stdout] test factory::tests::test_template_research_agent ... ok [INFO] [stdout] test factory::tests::test_template_new_without_spec ... ok [INFO] [stdout] test factory::tests::test_template_coding_agent ... ok [INFO] [stdout] test factory::tests::test_template_with_spec ... ok [INFO] [stdout] test health::tests::test_builder_default ... ok [INFO] [stdout] test health::tests::test_builder_with_timeout ... ok [INFO] [stdout] test health::tests::test_component_health_to_json ... ok [INFO] [stdout] test health::tests::test_component_health_unhealthy_constructor ... ok [INFO] [stdout] test health::tests::test_backend_health_check_failure ... ok [INFO] [stdout] test factory::tests::test_template_with_tags ... ok [INFO] [stdout] test health::tests::test_disk_space_degraded ... ok [INFO] [stdout] test health::tests::test_backend_health_check_healthy ... ok [INFO] [stdout] test health::tests::test_disk_space_error ... ok [INFO] [stdout] test health::tests::test_component_health_healthy_constructor ... ok [INFO] [stdout] test health::tests::test_disk_space_unhealthy ... ok [INFO] [stdout] test health::tests::test_health_status_is_healthy ... ok [INFO] [stdout] test health::tests::test_disk_space_healthy ... ok [INFO] [stdout] test health::tests::test_memory_health_check_healthy ... ok [INFO] [stdout] test health::tests::test_model_health_check_success ... ok [INFO] [stdout] test health::tests::test_model_health_check_failure ... ok [INFO] [stdout] test health::tests::test_health_status_label ... ok [INFO] [stdout] test factory::tests::test_pool_by_status_with_failed ... ok [INFO] [stdout] test health::tests::test_health_status_message ... ok [INFO] [stdout] test factory::tests::test_pool_default ... ok [INFO] [stdout] test health::tests::test_health_status_to_json ... ok [INFO] [stdout] test health::tests::test_health_status_is_unhealthy ... ok [INFO] [stdout] test health::tests::test_endpoint_status_code_healthy ... ok [INFO] [stdout] test health::tests::test_endpoint_status_code_unhealthy ... ok [INFO] [stdout] test health::tests::test_endpoint_to_json_includes_http_status ... ok [INFO] [stdout] test health::tests::test_memory_health_check_failure ... ok [INFO] [stdout] test health::tests::test_monitor_check_component_not_found ... ok [INFO] [stdout] test health::tests::test_monitor_counting ... ok [INFO] [stdout] test health::tests::test_monitor_empty ... ok [INFO] [stdout] test factory::tests::test_pool_get_mut ... ok [INFO] [stdout] test health::tests::test_monitor_register ... ok [INFO] [stdout] test health::tests::test_tool_health_check_all_failed ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_can_transition_running_to_paused ... ok [INFO] [stdout] test health::tests::test_tool_health_check_partial_failure ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_can_transition_init_to_ready ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_can_transition_stopping_to_failed ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_can_transition_paused_to_running ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_can_transition_ready_to_running ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_can_transition_stopping_to_stopped ... ok [INFO] [stdout] test health::tests::test_tool_health_check_all_healthy ... ok [INFO] [stdout] test health::tests::test_monitor_check_component_found ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_can_transition_running_to_failed ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_cannot_transition_failed ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_cannot_transition_init_to_running ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_cannot_transition_stopped ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_cannot_transition_stopping_to_running ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_display_failed ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_display_running ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_active_initializing ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_active_paused ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_active_ready ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_not_active_stopped ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_not_active_failed ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_active_running ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_terminal_failed ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_terminal_stopped ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_not_terminal_running ... ok [INFO] [stdout] test lifecycle::tests::test_graceful_shutdown_initiate ... ok [INFO] [stdout] test lifecycle::tests::test_graceful_shutdown_no_cleanups ... ok [INFO] [stdout] test lifecycle::tests::test_graceful_shutdown_not_timed_out_before_initiate ... ok [INFO] [stdout] test lifecycle::tests::test_full_lifecycle_workflow ... ok [INFO] [stdout] test lifecycle::tests::test_graceful_shutdown_not_timed_out_immediately ... ok [INFO] [stdout] test lifecycle::tests::test_graceful_shutdown_register_and_run_cleanups ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_after_heartbeat ... ok [INFO] [stdout] test lifecycle::tests::test_agent_state_is_active_stopping ... ok [INFO] [stdout] test health::tests::test_report_duration_tracked ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_error_rate ... ok [INFO] [stdout] test lifecycle::tests::test_graceful_shutdown_not_initiated ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_heartbeat_resets_errors ... ok [INFO] [stdout] test lifecycle::tests::test_graceful_shutdown_timed_out_zero_timeout ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_error_rate_zero ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_steps_completed ... ok [INFO] [stdout] test health::tests::test_monitor_all_healthy ... ok [INFO] [stdout] test health::tests::test_report_to_json ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_consecutive_errors ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_last_heartbeat ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_new_not_healthy ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_step_resets_consecutive_errors ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_unhealthy_after_three_errors ... ok [INFO] [stdout] test lifecycle::tests::test_health_check_to_json ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_error_display_already_stopped ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_error_display_already_running ... ok [INFO] [stdout] test health::tests::test_monitor_degraded ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_agent_id ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_display_created ... ok [INFO] [stdout] test health::tests::test_monitor_one_unhealthy ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_name_created ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_error_display_not_started ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_name_step_completed ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_names_exhaustive ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_error_is_error_trait ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_display_step ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_display_error ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_to_json_step_completed ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_to_json_error ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_event_to_json_created ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_fail ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_history_recorded ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_pause_not_running ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_new_is_initializing ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_pause_and_resume ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_resume_not_paused ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_start ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_start_after_stopped_fails ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_fail_is_terminal ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_stop_already_stopped ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_error_display_invalid_transition ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_start_already_running ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_uptime_steps ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_default ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_failed_agents ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_get_existing ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_get_missing ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_new_empty ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_transition_to_json_no_reason ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_stop ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_delay_no_backoff ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_active_agents ... ok [INFO] [stdout] test lifecycle::tests::test_lifecycle_stop_not_started ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_register_and_count ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_delay_with_backoff ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_to_json_always ... ok [INFO] [stdout] test lifecycle::tests::test_monitor_to_json ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_always_within_limit ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_never ... ok [INFO] [stdout] test lifecycle::tests::test_transition_with_reason ... ok [INFO] [stdout] test lifecycle::tests::test_transition_new_has_timestamp ... ok [INFO] [stdout] test logging::tests::test_aggregator_count_by_level ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_on_failure_within_limit ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_to_json_never ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_to_json_on_failure ... ok [INFO] [stdout] test lifecycle::tests::test_transition_to_json ... ok [INFO] [stdout] test logging::tests::test_aggregator_error_rate_all_errors ... ok [INFO] [stdout] test logging::tests::test_aggregator_error_rate ... ok [INFO] [stdout] test logging::tests::test_aggregator_error_rate_zero ... ok [INFO] [stdout] test logging::tests::test_aggregator_most_common_source ... ok [INFO] [stdout] test logging::tests::test_aggregator_to_json ... ok [INFO] [stdout] test logging::tests::test_aggregator_default ... ok [INFO] [stdout] test logging::tests::test_aggregator_multiple_ingests ... ok [INFO] [stdout] test logging::tests::test_aggregator_new ... ok [INFO] [stdout] test logging::tests::test_log_entry_builder_with_context ... ok [INFO] [stdout] test logging::tests::test_log_entry_builder_basic ... ok [INFO] [stdout] test logging::tests::test_json_sink_write ... ok [INFO] [stdout] test logging::tests::test_log_entry_builder_with_span_id ... ok [INFO] [stdout] test lifecycle::tests::test_restart_policy_delay_capped ... ok [INFO] [stdout] test logging::tests::test_aggregator_most_common_source_empty ... ok [INFO] [stdout] test logging::tests::test_in_memory_sink_multiple_writes ... ok [INFO] [stdout] test logging::tests::test_log_entry_clone ... ok [INFO] [stdout] test logging::tests::test_log_entry_empty_strings ... ok [INFO] [stdout] test logging::tests::test_log_entry_to_formatted_string ... ok [INFO] [stdout] test logging::tests::test_log_entry_to_formatted_string_error ... ok [INFO] [stdout] test logging::tests::test_log_entry_to_json ... ok [INFO] [stdout] test logging::tests::test_in_memory_sink_name ... ok [INFO] [stdout] test logging::tests::test_in_memory_sink_new ... ok [INFO] [stdout] test logging::tests::test_in_memory_sink_write ... ok [INFO] [stdout] test logging::tests::test_json_sink_name ... ok [INFO] [stdout] test logging::tests::test_json_sink_new ... ok [INFO] [stdout] test logging::tests::test_log_filter_combined ... ok [INFO] [stdout] test logging::tests::test_json_sink_produces_valid_json ... ok [INFO] [stdout] test logging::tests::test_log_filter_contains ... ok [INFO] [stdout] test logging::tests::test_log_filter_contains_partial_match ... ok [INFO] [stdout] test logging::tests::test_log_filter_default ... ok [INFO] [stdout] test logging::tests::test_log_filter_empty_matches_all ... ok [INFO] [stdout] test logging::tests::test_log_filter_min_level ... ok [INFO] [stdout] test logging::tests::test_log_filter_source ... ok [INFO] [stdout] test logging::tests::test_log_level_as_str ... ok [INFO] [stdout] test logging::tests::test_log_level_display ... ok [INFO] [stdout] test logging::tests::test_log_level_clone ... ok [INFO] [stdout] test logging::tests::test_log_level_equality ... ok [INFO] [stdout] test logging::tests::test_log_level_ordering ... ok [INFO] [stdout] test logging::tests::test_log_level_severity ... ok [INFO] [stdout] test logging::tests::test_log_level_sort ... ok [INFO] [stdout] test logging::tests::test_logger_clear ... ok [INFO] [stdout] test logging::tests::test_logger_convenience_methods ... ok [INFO] [stdout] test logging::tests::test_logger_entries_order ... ok [INFO] [stdout] test logging::tests::test_logger_filter_by_source_and_level ... ok [INFO] [stdout] test logging::tests::test_logger_filtered ... ok [INFO] [stdout] test logging::tests::test_logger_filtered_empty_result ... ok [INFO] [stdout] test logging::tests::test_logger_log ... ok [INFO] [stdout] test logging::tests::test_logger_new ... ok [INFO] [stdout] test logging::tests::test_multi_logger_add_sink ... ok [INFO] [stdout] test logging::tests::test_multi_logger_default ... ok [INFO] [stdout] test logging::tests::test_multi_logger_dispatches_to_all_sinks ... ok [INFO] [stdout] test logging::tests::test_multi_logger_flush_all ... ok [INFO] [stdout] test logging::tests::test_multi_logger_log_no_sinks ... ok [INFO] [stdout] test logging::tests::test_multi_logger_new ... ok [INFO] [stdout] test memory::tests::test_category_conversation_as_str ... ok [INFO] [stdout] test memory::tests::test_category_custom_as_str ... ok [INFO] [stdout] test memory::tests::test_category_display ... ok [INFO] [stdout] test memory::tests::test_category_context_as_str ... ok [INFO] [stdout] test memory::tests::test_category_fact_as_str ... ok [INFO] [stdout] test memory::tests::test_category_instruction_as_str ... ok [INFO] [stdout] test memory::tests::test_category_preference_as_str ... ok [INFO] [stdout] test memory::tests::test_empty_search_query ... ok [INFO] [stdout] test memory::tests::test_entry_builder_access_count ... ok [INFO] [stdout] test memory::tests::test_entry_builder_defaults ... ok [INFO] [stdout] test memory::tests::test_entry_builder_importance_clamped_high ... ok [INFO] [stdout] test memory::tests::test_entry_builder_with_category ... ok [INFO] [stdout] test memory::tests::test_entry_builder_importance_clamped_low ... ok [INFO] [stdout] test memory::tests::test_entry_builder_with_timestamps ... ok [INFO] [stdout] test memory::tests::test_entry_builder_with_importance ... ok [INFO] [stdout] test memory::tests::test_index_new_empty ... ok [INFO] [stdout] test memory::tests::test_index_case_insensitive ... ok [INFO] [stdout] test memory::tests::test_index_remove ... ok [INFO] [stdout] test memory::tests::test_index_remove_nonexistent ... ok [INFO] [stdout] test memory::tests::test_index_search_multiple_matches ... ok [INFO] [stdout] test memory::tests::test_index_add_and_search ... ok [INFO] [stdout] test memory::tests::test_index_search_ranked_by_frequency ... ok [INFO] [stdout] test memory::tests::test_index_search_no_results ... ok [INFO] [stdout] test memory::tests::test_long_term_by_importance ... ok [INFO] [stdout] test memory::tests::test_index_term_count ... ok [INFO] [stdout] test memory::tests::test_long_term_by_category ... ok [INFO] [stdout] test memory::tests::test_long_term_merge_from ... ok [INFO] [stdout] test memory::tests::test_long_term_merge_from_empty ... ok [INFO] [stdout] test memory::tests::test_long_term_remove ... ok [INFO] [stdout] test memory::tests::test_long_term_new_empty ... ok [INFO] [stdout] test memory::tests::test_long_term_store_and_get ... ok [INFO] [stdout] test memory::tests::test_long_term_to_json_empty ... ok [INFO] [stdout] test memory::tests::test_long_term_search ... ok [INFO] [stdout] test memory::tests::test_manager_forget ... ok [INFO] [stdout] test memory::tests::test_long_term_to_json ... ok [INFO] [stdout] test memory::tests::test_manager_new ... ok [INFO] [stdout] test memory::tests::test_manager_forget_nonexistent ... ok [INFO] [stdout] test memory::tests::test_entry_to_json ... ok [INFO] [stdout] test memory::tests::test_manager_remember_boundary_importance ... ok [INFO] [stdout] test memory::tests::test_manager_recall_not_found ... ok [INFO] [stdout] test memory::tests::test_manager_remember_high_importance_auto_promote ... ok [INFO] [stdout] test memory::tests::test_manager_promote_not_found ... ok [INFO] [stdout] test memory::tests::test_entry_touch ... ok [INFO] [stdout] test memory::tests::test_manager_remember_low_importance ... ok [INFO] [stdout] test memory::tests::test_manager_recall_from_long_term ... ok [INFO] [stdout] test memory::tests::test_manager_stats ... ok [INFO] [stdout] test memory::tests::test_manager_stats_empty ... ok [INFO] [stdout] test memory::tests::test_short_term_by_category ... ok [INFO] [stdout] test memory::tests::test_manager_stats_to_json ... ok [INFO] [stdout] test memory::tests::test_manager_promote ... ok [INFO] [stdout] test memory::tests::test_manager_search ... ok [INFO] [stdout] test memory::tests::test_manager_recall_from_short_term ... ok [INFO] [stdout] test memory::tests::test_short_term_by_category_empty ... ok [INFO] [stdout] test memory::tests::test_manager_remember_below_boundary ... ok [INFO] [stdout] test memory::tests::test_short_term_capacity_one ... ok [INFO] [stdout] test memory::tests::test_short_term_clear ... ok [INFO] [stdout] test memory::tests::test_short_term_get_nonexistent ... ok [INFO] [stdout] test memory::tests::test_short_term_get_mut ... ok [INFO] [stdout] test memory::tests::test_short_term_capacity_eviction ... ok [INFO] [stdout] test memory::tests::test_short_term_new_empty ... ok [INFO] [stdout] test memory::tests::test_short_term_remove ... ok [INFO] [stdout] test memory::tests::test_short_term_search_in_value ... ok [INFO] [stdout] test middleware::approval_gate::tests::approval_decision_helpers ... ok [INFO] [stdout] test memory::tests::test_short_term_update_existing_key ... ok [INFO] [stdout] test middleware::approval_gate::tests::approve_allows_execution ... ok [INFO] [stdout] test middleware::approval_gate::tests::predicate_skips_ungated_tools ... ok [INFO] [stdout] test middleware::approval_gate::tests::custom_predicate_gates_by_input ... ok [INFO] [stdout] test middleware::approval_gate::tests::pre_cancelled_token_rejects_immediately ... ok [INFO] [stdout] test memory::tests::test_short_term_search ... ok [INFO] [stdout] test memory::tests::test_short_term_search_no_results ... ok [INFO] [stdout] test middleware::approval_gate::tests::approval_token_roundtrip ... ok [INFO] [stdout] test memory::tests::test_short_term_eviction_no_access ... ok [INFO] [stdout] test middleware::approval_gate::tests::resolve_unknown_token_errors ... ok [INFO] [stdout] test middleware::approval_gate::tests::tool_gate_decision_is_rejected ... ok [INFO] [stdout] test middleware::context::tests::test_add_remove_sources ... ok [INFO] [stdout] test memory::tests::test_short_term_store_and_get ... ok [INFO] [stdout] test middleware::context::tests::test_context_entry_estimated_tokens ... ok [INFO] [stdout] test middleware::approval_gate::tests::reject_short_circuits_with_observation ... ok [INFO] [stdout] test middleware::context::tests::test_empty_context_sources ... ok [INFO] [stdout] test middleware::context::tests::test_context_manager_combines_sources ... ok [INFO] [stdout] test middleware::context::tests::test_context_position_before_system ... ok [INFO] [stdout] test middleware::context::tests::test_priority_ordering ... ok [INFO] [stdout] test middleware::context::tests::test_context_position_after_system ... ok [INFO] [stdout] test middleware::context::tests::test_environment_context_reads_env_vars ... ok [INFO] [stdout] test middleware::approval_gate::tests::register_returns_working_token ... ok [INFO] [stdout] test middleware::context::tests::test_config_defaults ... ok [INFO] [stdout] test middleware::context::tests::test_session_context_get_set ... ok [INFO] [stdout] test middleware::context::tests::test_middleware_name ... ok [INFO] [stdout] test middleware::context::tests::test_formatted_context_output ... ok [INFO] [stdout] test middleware::context::tests::test_session_context_produces_context_entry ... ok [INFO] [stdout] test middleware::context::tests::test_static_context_returns_fixed_text ... ok [INFO] [stdout] test middleware::context::tests::test_time_context_includes_current_date ... ok [INFO] [stdout] test middleware::logging::tests::test_agent_start_end_logging ... ok [INFO] [stdout] test middleware::context::tests::test_user_profile_context_with_data ... ok [INFO] [stdout] test middleware::logging::tests::test_clear_logs ... ok [INFO] [stdout] test middleware::logging::tests::test_config_defaults ... ok [INFO] [stdout] test middleware::context::tests::test_token_budget_drop_lowest ... ok [INFO] [stdout] test middleware::logging::tests::test_error_logging ... ok [INFO] [stdout] test middleware::logging::tests::test_in_memory_storage ... ok [INFO] [stdout] test middleware::logging::tests::test_content_truncation ... ok [INFO] [stdout] test middleware::logging::tests::test_json_format ... ok [INFO] [stdout] test middleware::logging::tests::test_log_entry_creation ... ok [INFO] [stdout] test middleware::logging::tests::test_middleware_name ... ok [INFO] [stdout] test middleware::logging::tests::test_log_level_ordering_and_filtering ... ok [INFO] [stdout] test middleware::logging::tests::test_log_event_variants ... ok [INFO] [stdout] test middleware::logging::tests::test_model_call_logging ... ok [INFO] [stdout] test middleware::logging::tests::test_pretty_format ... ok [INFO] [stdout] test middleware::logging::tests::test_tool_call_logging ... ok [INFO] [stdout] test middleware::logging::tests::test_text_format ... ok [INFO] [stdout] test middleware::logging::tests::test_state_change_logging ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_find_closest_tool_empty ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_find_closest_tool_exact_match ... ok [INFO] [stdout] test middleware::context::tests::test_ttl_expiration ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_levenshtein ... ok [INFO] [stdout] test middleware::logging::tests::test_content_redaction_api_key ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_fix_misspelled_tool_name ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_repair_json_single_quotes ... ok [INFO] [stdout] test middleware::pipeline::tests::test_context_clone ... ok [INFO] [stdout] test middleware::pipeline::tests::test_context_empty_request ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_no_known_tools_no_patching ... ok [INFO] [stdout] test middleware::pipeline::tests::test_logging_clear ... ok [INFO] [stdout] test middleware::pipeline::tests::test_context_to_json ... ok [INFO] [stdout] test middleware::pipeline::tests::test_context_new ... ok [INFO] [stdout] test middleware::pipeline::tests::test_context_metadata_overwrite ... ok [INFO] [stdout] test middleware::pipeline::tests::test_context_metadata_get_set ... ok [INFO] [stdout] test middleware::pipeline::tests::test_logging_new ... ok [INFO] [stdout] test middleware::pipeline::tests::test_logging_in_pipeline ... ok [INFO] [stdout] test middleware::pipeline::tests::test_logging_multiple_requests ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_fix_json_trailing_comma ... ok [INFO] [stdout] test middleware::patch_tool_calls::tests::test_valid_tool_calls_not_modified ... ok [INFO] [stdout] test middleware::pipeline::tests::test_logging_default ... ok [INFO] [stdout] test middleware::pipeline::tests::test_logging_on_error_records ... ok [INFO] [stdout] test middleware::pipeline::tests::test_middleware_priority_default_is_zero ... ok [INFO] [stdout] test middleware::pipeline::tests::test_mixed_pipeline_validation_then_transform ... ok [INFO] [stdout] test middleware::pipeline::tests::test_on_error_default_returns_error ... ok [INFO] [stdout] test middleware::pipeline::tests::test_mixed_pipeline_validation_fails_before_transform ... ok [INFO] [stdout] test middleware::pipeline::tests::test_logging_records_request ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_add_and_len ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_middleware_names ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_new_is_empty ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_halt_stops_execution ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_on_error_callback_invoked ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_all_error ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_all_halt ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_default ... ok [INFO] [stdout] test middleware::logging::tests::test_multiple_redaction_patterns ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_empty_execute ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_error_stops_execution ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_negative_priority_runs_first ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_same_priority_preserves_insertion_order ... ok [INFO] [stdout] test middleware::pipeline::tests::test_rate_limit_halt_value_contains_info ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_single_middleware ... ok [INFO] [stdout] test middleware::pipeline::tests::test_rate_limit_halts_at_limit ... ok [INFO] [stdout] test middleware::pipeline::tests::test_result_continue ... ok [INFO] [stdout] test middleware::pipeline::tests::test_rate_limit_allows_under_limit ... ok [INFO] [stdout] test middleware::pipeline::tests::test_rate_limit_zero_max ... ok [INFO] [stdout] test middleware::pipeline::tests::test_rate_limit_reset ... ok [INFO] [stdout] test middleware::pipeline::tests::test_rate_limit_in_pipeline ... ok [INFO] [stdout] test middleware::pipeline::tests::test_result_into_value_continue ... ok [INFO] [stdout] test middleware::pipeline::tests::test_result_error ... ok [INFO] [stdout] test middleware::pipeline::tests::test_result_into_value_error ... ok [INFO] [stdout] test middleware::pipeline::tests::test_rate_limit_remaining ... ok [INFO] [stdout] test middleware::pipeline::tests::test_result_into_value_halt ... ok [INFO] [stdout] test middleware::pipeline::tests::test_pipeline_execution_order_by_priority ... ok [INFO] [stdout] test middleware::pipeline::tests::test_stack_default ... ok [INFO] [stdout] test middleware::pipeline::tests::test_transform_default ... ok [INFO] [stdout] test middleware::pipeline::tests::test_result_halt ... ok [INFO] [stdout] test middleware::pipeline::tests::test_stack_execute_missing ... ok [INFO] [stdout] test middleware::pipeline::tests::test_stack_execute_existing ... ok [INFO] [stdout] test middleware::pipeline::tests::test_stack_new_is_empty ... ok [INFO] [stdout] test middleware::pipeline::tests::test_stack_pipeline_names ... ok [INFO] [stdout] test middleware::pipeline::tests::test_stack_replace_pipeline ... ok [INFO] [stdout] test middleware::pipeline::tests::test_transform_chained_in_pipeline ... ok [INFO] [stdout] test middleware::pipeline::tests::test_transform_custom_function ... ok [INFO] [stdout] test middleware::pipeline::tests::test_stack_register_and_get ... ok [INFO] [stdout] test middleware::pipeline::tests::test_transform_identity ... ok [INFO] [stdout] test middleware::pipeline::tests::test_transform_modifies_context_request ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_all_fields_present ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_multiple_required_fields ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_no_fields_passes ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_non_object_with_fields ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_non_object_no_fields ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_required_field_missing ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_default ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_before_model_no_plan ... ok [INFO] [stdout] test middleware::pipeline::tests::test_validation_required_field_present ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_before_model_injects_plan ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_after_model_with_plan_update ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_add_step ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_create_plan ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_current_plan ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_update_step ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_next_actionable_step ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_name ... ok [INFO] [stdout] test middleware::planning::tests::test_middleware_set_get_plan ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_progress_percentage ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_get_ready_steps_with_deps ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_get_step ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_is_complete ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_status_summary ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_step_is_terminal ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_step_status_serialization ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_step_new ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_serialization_roundtrip ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_new ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_get_ready_steps_no_deps ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_step_with_dependencies ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_step_with_dependencies_vec ... ok [INFO] [stdout] test middleware::planning::tests::test_plan_update_step_status ... ok [INFO] [stdout] test middleware::prompt_caching::tests::test_default_config ... ok [INFO] [stdout] test middleware::planning::tests::test_simple_strategy_unstructured_goal ... ok [INFO] [stdout] test middleware::planning::tests::test_replanning_strategy_max_retries ... ok [INFO] [stdout] test middleware::planning::tests::test_simple_strategy_revise_plan ... ok [INFO] [stdout] test middleware::planning::tests::test_simple_strategy_structured_goal ... ok [INFO] [stdout] test middleware::prompt_caching::tests::test_cleanup_after_model ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_backoff_reject ... ok [INFO] [stdout] test middleware::prompt_caching::tests::test_inject_when_enough_messages ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_bucket_try_acquire ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_bucket_wait_for ... ok [INFO] [stdout] test middleware::prompt_caching::tests::test_custom_config ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_burst_limit ... ok [INFO] [stdout] test middleware::prompt_caching::tests::test_skip_when_too_few_messages ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_multiple_windows ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_rate_limit_error_variants ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_config_defaults ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_reset_stats ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_after_model_tracks_tokens ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_middleware_name ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_stats_tracking ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_tool_rate_limit ... ok [INFO] [stdout] test middleware::subagent::spec_tests::test_compiled_subagent_debug ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_token_budget_tracking ... ok [INFO] [stdout] test middleware::skills::tests::test_before_model_injects_listing ... ok [INFO] [stdout] test middleware::subagent::spec_tests::test_subagent_spec_serialization_roundtrip ... ok [INFO] [stdout] test middleware::subagent::tests::test_subagent_middleware_name ... ok [INFO] [stdout] test middleware::skills::tests::test_trigger_injects_full_instructions ... ok [INFO] [stdout] test middleware::subagent::spec_tests::test_subagent_spec_defaults ... ok [INFO] [stdout] test middleware::subagent::tests::test_subagent_middleware_provides_tool ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_cost_limit_tracking ... ok [INFO] [stdout] test middleware::subagent::tests::test_subagent_tool_with_context ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_model_rate_limit_reject ... ok [INFO] [stdout] test middleware::summarization::tests::test_custom_summary_prompt ... ok [INFO] [stdout] test middleware::skills::tests::test_load_from_dir ... ok [INFO] [stdout] test middleware::subagent::spec_tests::test_compiled_subagent_invoke ... ok [INFO] [stdout] test middleware::summarization::tests::test_exact_limit_not_summarized ... ok [INFO] [stdout] test middleware::approval_gate::tests::cancellation_token_aborts_pending_approval ... ok [INFO] [stdout] test middleware::subagent::tests::test_subagent_tracks_handle_status ... ok [INFO] [stdout] test middleware::summarization::tests::test_messages_under_limit_not_summarized ... ok [INFO] [stdout] test middleware::subagent::tests::test_subagent_tool_runs_and_returns_result ... ok [INFO] [stdout] test middleware::todo::tests::test_todo_middleware_custom_key ... ok [INFO] [stdout] test middleware::todo::tests::test_format_todos ... ok [INFO] [stdout] test middleware::summarization::tests::test_summarization_middleware_name ... ok [INFO] [stdout] test middleware::approval_gate::tests::timeout_rejects_with_timeout_message ... ok [INFO] [stdout] test middleware::summarization::tests::test_messages_over_limit_get_summarized ... ok [INFO] [stdout] test middleware::summarization::tests::test_no_messages_key_is_noop ... ok [INFO] [stdout] test middleware::todo::tests::test_todo_middleware_empty_todos_no_injection ... ok [INFO] [stdout] test middleware::summarization::tests::test_recent_messages_preserved_intact ... ok [INFO] [stdout] test multi_agent::tests::test_agent_role_has_capability ... ok [INFO] [stdout] test middleware::todo::tests::test_todo_middleware_injects_system_prompt ... ok [INFO] [stdout] test multi_agent::tests::test_agent_role_to_json ... ok [INFO] [stdout] test middleware::todo::tests::test_todo_middleware_no_todos_no_injection ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_assign_task_unknown_task ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_add_role_and_task ... ok [INFO] [stdout] test multi_agent::tests::test_agent_role_builder ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_assign_task ... ok [INFO] [stdout] test multi_agent::tests::test_agent_role_empty_capabilities ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_assign_task_unknown_role ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_complete_task ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_fail_task ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_fail_unknown_task ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_new ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_complete_unknown_task ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_full_lifecycle ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_is_complete_mixed ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_progress ... ok [INFO] [stdout] test multi_agent::tests::test_priority_display ... ok [INFO] [stdout] test multi_agent::tests::test_priority_ordering ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_next_ready_tasks ... ok [INFO] [stdout] test multi_agent::tests::test_priority_weight ... ok [INFO] [stdout] test multi_agent::tests::test_progress_completion_rate_empty ... ok [INFO] [stdout] test multi_agent::tests::test_priority_sort ... ok [INFO] [stdout] test multi_agent::tests::test_progress_completion_rate ... ok [INFO] [stdout] test multi_agent::tests::test_status_display ... ok [INFO] [stdout] test multi_agent::tests::test_task_assignment_to_json ... ok [INFO] [stdout] test multi_agent::tests::test_orchestrator_next_ready_tasks_multiple_deps ... ok [INFO] [stdout] test multi_agent::tests::test_progress_to_json ... ok [INFO] [stdout] test multi_agent::tests::test_task_assignment_is_ready_no_deps ... ok [INFO] [stdout] test multi_agent::tests::test_status_is_terminal ... ok [INFO] [stdout] test multi_agent::tests::test_task_default_priority ... ok [INFO] [stdout] test multi_agent::tests::test_team_add_member ... ok [INFO] [stdout] test multi_agent::tests::test_task_is_ready_empty_completed_with_deps ... ok [INFO] [stdout] test multi_agent::tests::test_team_members ... ok [INFO] [stdout] test multi_agent::tests::test_team_new ... ok [INFO] [stdout] test multi_agent::tests::test_team_find_for_capability ... ok [INFO] [stdout] test multi_agent::tests::test_task_assignment_is_ready_with_deps ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_add_dependency ... ok [INFO] [stdout] test multi_agent::tests::test_team_to_json ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_add_dependency_idempotent ... ok [INFO] [stdout] test multi_agent::tests::test_task_assignment_builder ... ok [INFO] [stdout] test health::tests::test_model_health_check_timeout ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_add_dependency_out_of_bounds ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_add_step ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_new ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_pattern_display ... ok [INFO] [stdout] test observability::tests::test_alert_display ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_pattern_equality ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_pattern_name ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_step_to_json ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_to_json ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_validate_invalid_dep_index ... ok [INFO] [stdout] test observability::tests::test_alert_manager_add_rule ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_validate_self_dependency ... ok [INFO] [stdout] test observability::tests::test_alert_manager_alerts_by_severity ... ok [INFO] [stdout] test observability::tests::test_alert_manager_clear ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_validate_valid ... ok [INFO] [stdout] test multi_agent::tests::test_workflow_validate_empty ... ok [INFO] [stdout] test observability::tests::test_alert_manager_no_match ... ok [INFO] [stdout] test observability::tests::test_alert_new ... ok [INFO] [stdout] test observability::tests::test_alert_manager_remove_rule ... ok [INFO] [stdout] test observability::tests::test_alert_rule_fires ... ok [INFO] [stdout] test observability::tests::test_alert_manager_evaluate ... ok [INFO] [stdout] test observability::tests::test_alert_manager_new ... ok [INFO] [stdout] test observability::tests::test_alert_rule_does_not_fire ... ok [INFO] [stdout] test observability::tests::test_alert_rule_disabled ... ok [INFO] [stdout] test observability::tests::test_condition_greater_than ... ok [INFO] [stdout] test observability::tests::test_condition_less_than ... ok [INFO] [stdout] test observability::tests::test_dashboard_alert_manager_access ... ok [INFO] [stdout] test observability::tests::test_alert_rule_enable_disable ... ok [INFO] [stdout] test observability::tests::test_alert_manager_evaluate_metric ... ok [INFO] [stdout] test observability::tests::test_condition_equals ... ok [INFO] [stdout] test observability::tests::test_dashboard_default ... ok [INFO] [stdout] test observability::tests::test_dashboard_emit_events ... ok [INFO] [stdout] test observability::tests::test_dashboard_all_reports ... ok [INFO] [stdout] test observability::tests::test_dashboard_health_degraded ... ok [INFO] [stdout] test observability::tests::test_dashboard_health_healthy ... ok [INFO] [stdout] test observability::tests::test_dashboard_health_unhealthy ... ok [INFO] [stdout] test observability::tests::test_dashboard_health_info ... ok [INFO] [stdout] test observability::tests::test_dashboard_new ... ok [INFO] [stdout] test observability::tests::test_dashboard_profiler ... ok [INFO] [stdout] test observability::tests::test_event_llm_call_completed ... ok [INFO] [stdout] test observability::tests::test_event_memory_pressure ... ok [INFO] [stdout] test observability::tests::test_event_threshold_exceeded_no_agent ... ok [INFO] [stdout] test observability::tests::test_event_timestamp ... ok [INFO] [stdout] test observability::tests::test_event_tool_called ... ok [INFO] [stdout] test health::tests::test_monitor_timeout ... ok [INFO] [stdout] test observability::tests::test_event_agent_started ... ok [INFO] [stdout] test observability::tests::test_health_status_display ... ok [INFO] [stdout] test observability::tests::test_health_status_equality ... ok [INFO] [stdout] test observability::tests::test_dashboard_sink_access ... ok [INFO] [stdout] test observability::tests::test_dashboard_summary ... ok [INFO] [stdout] test observability::tests::test_profile_category_display ... ok [INFO] [stdout] test observability::tests::test_profiler_new ... ok [INFO] [stdout] test observability::tests::test_profiler_record ... ok [INFO] [stdout] test observability::tests::test_profile_report_summary_format ... ok [INFO] [stdout] test observability::tests::test_dashboard_summary_with_alerts ... ok [INFO] [stdout] test observability::tests::test_event_agent_completed ... ok [INFO] [stdout] test observability::tests::test_event_middleware_executed ... ok [INFO] [stdout] test observability::tests::test_profiler_wall_duration_while_running ... ok [INFO] [stdout] test observability::tests::test_severity_display ... ok [INFO] [stdout] test observability::tests::test_event_error_occurred ... ok [INFO] [stdout] test observability::tests::test_profiler_report_zero_wall ... ok [INFO] [stdout] test observability::tests::test_sink_errors ... ok [INFO] [stdout] test observability::tests::test_sink_filter_by_agent ... ok [INFO] [stdout] test observability::tests::test_profiler_stop_timer_unknown_key ... ok [INFO] [stdout] test observability::tests::test_sink_count_by_kind ... ok [INFO] [stdout] test observability::tests::test_profiler_report ... ok [INFO] [stdout] test observability::tests::test_sink_filter_by_kind ... ok [INFO] [stdout] test observability::tests::test_severity_ordering ... ok [INFO] [stdout] test observability::tests::test_sink_capacity_eviction ... ok [INFO] [stdout] test observability::tests::test_sink_flush_is_noop ... ok [INFO] [stdout] test observability::tests::test_sink_receive_event ... ok [INFO] [stdout] test observability::tests::test_sink_new_empty ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_critical_path_empty ... ok [INFO] [stdout] test observability::tests::test_severity_equality ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_from_empty_plan ... ok [INFO] [stdout] test observability::tests::test_sink_clear ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_critical_path_single ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_critical_path_chain ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_critical_path_diamond ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_mermaid_no_edges ... ok [INFO] [stdout] test orchestrator::tests::test_call_status_display_error ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_critical_path_selects_longest ... ok [INFO] [stdout] test orchestrator::tests::test_call_status_display_timeout ... ok [INFO] [stdout] test orchestrator::tests::test_empty_plan ... ok [INFO] [stdout] test orchestrator::tests::test_call_graph_mermaid_with_edges ... ok [INFO] [stdout] test orchestrator::tests::test_call_status_display_skipped ... ok [INFO] [stdout] test orchestrator::tests::test_mock_executor_default ... ok [INFO] [stdout] test orchestrator::tests::test_mock_executor_failure ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_bucket_refill ... ok [INFO] [stdout] test orchestrator::tests::test_mock_executor_no_delay_for_other_tool ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_execute_plan_empty ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_execute_plan_independent ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_execute_single_failure ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_execute_single_success ... ok [INFO] [stdout] test orchestrator::tests::test_call_status_display_success ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_execute_plan_sequential ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_result_get_result ... ok [INFO] [stdout] test observability::tests::test_profiler_timer ... ok [INFO] [stdout] test observability::tests::test_profiler_start_stop ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_result_to_json ... ok [INFO] [stdout] test orchestrator::tests::test_plan_all_sequential ... ok [INFO] [stdout] test orchestrator::tests::test_plan_batch_count ... ok [INFO] [stdout] test orchestrator::tests::test_plan_all_independent ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_with_max_parallel ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_skips_on_failed_dependency ... ok [INFO] [stdout] test orchestrator::tests::test_plan_single_call ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_to_json ... ok [INFO] [stdout] test orchestrator::tests::test_plan_validate_cycle ... ok [INFO] [stdout] test orchestrator::tests::test_plan_validate_self_cycle ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_unique_ids ... ok [INFO] [stdout] test orchestrator::tests::test_plan_validate_missing_dependency ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_multiple_dependencies ... ok [INFO] [stdout] test orchestrator::tests::test_plan_diamond_dependency ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_new ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_result_is_not_success ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_result_is_success ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_with_dependency ... ok [INFO] [stdout] test planning::tests::test_builder_empty ... ok [INFO] [stdout] test planning::tests::test_builder_sequential ... ok [INFO] [stdout] test planning::tests::test_builder_step_with_deps ... ok [INFO] [stdout] test planning::tests::test_builder_step ... ok [INFO] [stdout] test planning::tests::test_event_type_display ... ok [INFO] [stdout] test orchestrator::tests::test_tool_call_result_to_json ... ok [INFO] [stdout] test planning::tests::test_execution_event_to_json ... ok [INFO] [stdout] test planning::tests::test_diamond_dependency ... ok [INFO] [stdout] test planning::tests::test_executor_complete_step ... ok [INFO] [stdout] test planning::tests::test_executor_no_ready_step ... ok [INFO] [stdout] test planning::tests::test_executor_elapsed_steps ... ok [INFO] [stdout] test planning::tests::test_executor_fail_step ... ok [INFO] [stdout] test planning::tests::test_executor_sequential_flow ... ok [INFO] [stdout] test planning::tests::test_executor_skip_step ... ok [INFO] [stdout] test planning::tests::test_executor_empty_plan ... ok [INFO] [stdout] test planning::tests::test_parallel_execution_pattern ... ok [INFO] [stdout] test planning::tests::test_executor_start_next ... ok [INFO] [stdout] test planning::tests::test_full_plan_execution ... ok [INFO] [stdout] test planning::tests::test_plan_get_step_nonexistent ... ok [INFO] [stdout] test planning::tests::test_plan_insert_after ... ok [INFO] [stdout] test planning::tests::test_plan_is_complete ... ok [INFO] [stdout] test planning::tests::test_plan_add_and_get_step ... ok [INFO] [stdout] test planning::tests::test_plan_is_failed ... ok [INFO] [stdout] test planning::tests::test_executor_execution_log ... ok [INFO] [stdout] test planning::tests::test_plan_insert_after_nonexistent ... ok [INFO] [stdout] test planning::tests::test_plan_new_is_empty ... ok [INFO] [stdout] test planning::tests::test_plan_get_step_mut ... ok [INFO] [stdout] test planning::tests::test_plan_next_step ... ok [INFO] [stdout] test planning::tests::test_plan_progress ... ok [INFO] [stdout] test planning::tests::test_plan_progress_completion_rate ... ok [INFO] [stdout] test planning::tests::test_plan_next_step_empty ... ok [INFO] [stdout] test planning::tests::test_plan_progress_completion_rate_empty ... ok [INFO] [stdout] test planning::tests::test_builder_mixed ... ok [INFO] [stdout] test planning::tests::test_plan_progress_success_rate_no_terminal ... ok [INFO] [stdout] test planning::tests::test_plan_progress_success_rate ... ok [INFO] [stdout] test planning::tests::test_plan_ready_steps_all_independent ... ok [INFO] [stdout] test planning::tests::test_plan_ready_steps_with_dependency ... ok [INFO] [stdout] test planning::tests::test_plan_progress_to_json ... ok [INFO] [stdout] test planning::tests::test_plan_remove_step_nonexistent ... ok [INFO] [stdout] test planning::tests::test_plan_serialization_roundtrip ... ok [INFO] [stdout] test planning::tests::test_plan_step_is_ready_deps_met ... ok [INFO] [stdout] test planning::tests::test_plan_step_mark_complete_with_result ... ok [INFO] [stdout] test planning::tests::test_plan_step_chained_dependencies ... ok [INFO] [stdout] test planning::tests::test_plan_step_is_ready_no_deps ... ok [INFO] [stdout] test planning::tests::test_plan_step_estimated_tokens ... ok [INFO] [stdout] test planning::tests::test_plan_remove_step ... ok [INFO] [stdout] test planning::tests::test_plan_step_mark_complete_without_result ... ok [INFO] [stdout] test planning::tests::test_plan_step_mark_failed ... ok [INFO] [stdout] test planning::tests::test_plan_step_mark_in_progress ... ok [INFO] [stdout] test planning::tests::test_plan_step_metadata ... ok [INFO] [stdout] test planning::tests::test_plan_step_mark_skipped ... ok [INFO] [stdout] test planning::tests::test_plan_step_new_has_pending_status ... ok [INFO] [stdout] test planning::tests::test_plan_step_not_ready_deps_unmet ... ok [INFO] [stdout] test planning::tests::test_plan_step_with_dependency ... ok [INFO] [stdout] test planning::tests::test_plan_step_to_json ... ok [INFO] [stdout] test planning::tests::test_plan_to_json ... ok [INFO] [stdout] test planning::tests::test_builder_parallel ... ok [INFO] [stdout] test planning::tests::test_plan_steps_iterator ... ok [INFO] [stdout] test planning::tests::test_replanner_add_steps ... ok [INFO] [stdout] test planning::tests::test_replanner_default ... ok [INFO] [stdout] test planning::tests::test_replanner_multiple_operations ... ok [INFO] [stdout] test planning::tests::test_plan_step_not_ready_if_in_progress ... ok [INFO] [stdout] test planning::tests::test_replanner_insert_after ... ok [INFO] [stdout] test planning::tests::test_replanner_remove_nonexistent ... ok [INFO] [stdout] test planning::tests::test_replanner_remove_step ... ok [INFO] [stdout] test planning::tests::test_replanner_to_json ... ok [INFO] [stdout] test planning::tests::test_step_status_completed_is_success ... ok [INFO] [stdout] test planning::tests::test_step_status_display_failed ... ok [INFO] [stdout] test planning::tests::test_step_status_completed_is_terminal ... ok [INFO] [stdout] test planning::tests::test_step_status_display_completed ... ok [INFO] [stdout] test planning::tests::test_step_status_display_pending ... ok [INFO] [stdout] test planning::tests::test_step_status_display_skipped ... ok [INFO] [stdout] test planning::tests::test_step_status_failed_is_not_success ... ok [INFO] [stdout] test planning::tests::test_step_status_display_in_progress ... ok [INFO] [stdout] test planning::tests::test_step_status_in_progress_is_not_terminal ... ok [INFO] [stdout] test planning::tests::test_step_status_failed_is_terminal ... ok [INFO] [stdout] test planning::tests::test_step_status_serialization_roundtrip ... ok [INFO] [stdout] test planning::tests::test_step_status_pending_is_not_terminal ... ok [INFO] [stdout] test plugins::tests::test_capability_display_event_handler ... ok [INFO] [stdout] test plugins::tests::test_instance_initial_status ... ok [INFO] [stdout] test planning::tests::test_step_status_skipped_is_terminal ... ok [INFO] [stdout] test planning::tests::test_plan_with_failure_and_replan ... ok [INFO] [stdout] test plugins::tests::test_capability_display_custom ... ok [INFO] [stdout] test plugins::tests::test_capability_display_middleware_provider ... ok [INFO] [stdout] test plugins::tests::test_capability_display_state_transformer ... ok [INFO] [stdout] test plugins::tests::test_capability_display_tool_provider ... ok [INFO] [stdout] test plugins::tests::test_capability_equality ... ok [INFO] [stdout] test plugins::tests::test_instance_activate_from_registered_fails ... ok [INFO] [stdout] test plugins::tests::test_instance_deactivate_from_loaded_fails ... ok [INFO] [stdout] test plugins::tests::test_instance_full_lifecycle ... ok [INFO] [stdout] test plugins::tests::test_metadata_builder_chain ... ok [INFO] [stdout] test plugins::tests::test_metadata_has_capability ... ok [INFO] [stdout] test plugins::tests::test_metadata_new_defaults ... ok [INFO] [stdout] test plugins::tests::test_metadata_to_json ... ok [INFO] [stdout] test plugins::tests::test_registry_activate_already_active_fails ... ok [INFO] [stdout] test plugins::tests::test_registry_activate_and_deactivate ... ok [INFO] [stdout] test plugins::tests::test_registry_active_plugins ... ok [INFO] [stdout] test plugins::tests::test_instance_reactivate_from_disabled ... ok [INFO] [stdout] test plugins::tests::test_instance_unload_from_active_fails ... ok [INFO] [stdout] test plugins::tests::test_registry_activate_missing_fails ... ok [INFO] [stdout] test plugins::tests::test_instance_load ... ok [INFO] [stdout] test plugins::tests::test_registry_deactivate_missing_fails ... ok [INFO] [stdout] test plugins::tests::test_registry_default ... ok [INFO] [stdout] test plugins::tests::test_registry_duplicate_registration_fails ... ok [INFO] [stdout] test plugins::tests::test_registry_get_missing ... ok [INFO] [stdout] test plugins::tests::test_registry_plugins_with_capability ... ok [INFO] [stdout] test plugins::tests::test_registry_list ... ok [INFO] [stdout] test plugins::tests::test_registry_unregister ... ok [INFO] [stdout] test plugins::tests::test_registry_unregister_missing_fails ... ok [INFO] [stdout] test plugins::tests::test_resolve_dependencies_missing_dep ... ok [INFO] [stdout] test plugins::tests::test_registry_register_and_get ... ok [INFO] [stdout] test plugins::tests::test_instance_load_twice_fails ... ok [INFO] [stdout] test plugins::tests::test_resolve_dependencies_no_deps ... ok [INFO] [stdout] test plugins::tests::test_resolve_dependencies_simple_chain ... ok [INFO] [stdout] test plugins::tests::test_registry_unregister_active_fails ... ok [INFO] [stdout] test plugins::tests::test_registry_new_is_empty ... ok [INFO] [stdout] test plugins::tests::test_simple_plugin_with_builder ... ok [INFO] [stdout] test plugins::tests::test_resolve_dependencies_diamond ... ok [INFO] [stdout] test plugins::tests::test_status_display ... ok [INFO] [stdout] test plugins::tests::test_status_is_active ... ok [INFO] [stdout] test plugins::tests::test_status_is_error ... ok [INFO] [stdout] test plugins::tests::test_simple_plugin_tracks_calls ... ok [INFO] [stdout] test plugins::tests::test_unregister_after_deactivate ... ok [INFO] [stdout] test presets::tests::test_agent_preset_new ... ok [INFO] [stdout] test presets::tests::test_code_reviewer_preset ... ok [INFO] [stdout] test presets::tests::test_coding_assistant_preset ... ok [INFO] [stdout] test presets::tests::test_all_presets_have_nonempty_description ... ok [INFO] [stdout] test presets::tests::test_customizer_with_model ... ok [INFO] [stdout] test presets::tests::test_customizer_with_system_prompt ... ok [INFO] [stdout] test presets::tests::test_customer_support_preset ... ok [INFO] [stdout] test presets::tests::test_customizer_does_not_mutate_original ... ok [INFO] [stdout] test presets::tests::test_customizer_chained ... ok [INFO] [stdout] test presets::tests::test_data_analyst_preset ... ok [INFO] [stdout] test presets::tests::test_customizer_with_tools ... ok [INFO] [stdout] test presets::tests::test_all_presets_have_system_prompt_in_config ... ok [INFO] [stdout] test presets::tests::test_customizer_with_temperature ... ok [INFO] [stdout] test presets::tests::test_customizer_from_preset_clones ... ok [INFO] [stdout] test presets::tests::test_registry_list_by_tag ... ok [INFO] [stdout] test presets::tests::test_preset_config_name_matches_preset_name ... ok [INFO] [stdout] test presets::tests::test_registry_list_by_tag_no_match ... ok [INFO] [stdout] test presets::tests::test_registry_register_and_get ... ok [INFO] [stdout] test presets::tests::test_registry_list_by_tag_specific ... ok [INFO] [stdout] test presets::tests::test_registry_new_is_empty ... ok [INFO] [stdout] test presets::tests::test_research_assistant_preset ... ok [INFO] [stdout] test presets::tests::test_writing_assistant_preset ... ok [INFO] [stdout] test presets::tests::test_registry_register_replaces_duplicate ... ok [INFO] [stdout] test presets::tests::test_task_planner_preset ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_all_pass ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_check_and_record ... ok [INFO] [stdout] test presets::tests::test_registry_default_has_all_builtins ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_default ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_empty_allows ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_one_fails ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_len_and_empty ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_reset_all ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_allows_within_budget ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_check_and_record ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_exact_budget ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_remaining_budget ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_reset ... ok [INFO] [stdout] test presets::tests::test_registry_get_nonexistent ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_denies_over_budget ... ok [INFO] [stdout] test rate_limiting::tests::test_default_middleware_reset ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_model_costs ... ok [INFO] [stdout] test rate_limiting::tests::test_default_middleware_record_usage ... ok [INFO] [stdout] test rate_limiting::tests::test_limiter_trait_cost_based ... ok [INFO] [stdout] test rate_limiting::tests::test_cost_limiter_policy ... ok [INFO] [stdout] test rate_limiting::tests::test_limiter_trait_token_bucket ... ok [INFO] [stdout] test rate_limiting::tests::test_default_middleware_with_quotas ... ok [INFO] [stdout] test rate_limiting::tests::test_limiter_trait_sliding_window ... ok [INFO] [stdout] test rate_limiting::tests::test_composite_multiple_failures_aggregated ... ok [INFO] [stdout] test rate_limiting::tests::test_policy_backoff_variant ... ok [INFO] [stdout] test rate_limiting::tests::test_policy_default_is_reject ... ok [INFO] [stdout] test rate_limiting::tests::test_policy_queue_variant ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_keys ... ok [INFO] [stdout] test rate_limiting::tests::test_policy_serialization ... ok [INFO] [stdout] test middleware::rate_limiter::tests::test_backoff_wait_with_timeout ... ok [INFO] [stdout] test rate_limiting::tests::test_policy_throttle_variant ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_record_without_quota ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_no_quota_allows ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_cost_quota ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_set_and_check ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_usage ... ok [INFO] [stdout] test rate_limiting::tests::test_result_allowed ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_reset_specific ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_usage_none ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_reset_all ... ok [INFO] [stdout] test rate_limiting::tests::test_result_serialization ... ok [INFO] [stdout] test rate_limiting::tests::test_result_denied ... ok [INFO] [stdout] test rate_limiting::tests::test_sliding_window_count ... ok [INFO] [stdout] test rate_limiting::tests::test_sliding_window_multiple_windows ... ok [INFO] [stdout] test rate_limiting::tests::test_sliding_window_reset ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_acquire_failure ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_acquire_success ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_force_acquire ... ok [INFO] [stdout] test rate_limiting::tests::test_sliding_window_single_window ... ok [INFO] [stdout] test rate_limiting::tests::test_sliding_window_policy ... ok [INFO] [stdout] test rate_limiting::tests::test_time_window_serialization ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_fractional_tokens ... ok [INFO] [stdout] test rate_limiting::tests::test_sliding_window_remaining_decreases ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_reset ... ok [INFO] [stdout] test rate_limiting::tests::test_time_window_durations ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_partial_acquire ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_wait_time_zero_when_available ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_wait_time ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_zero_refill_rate ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_creation ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_record_no_label ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_tracker_report ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_tracker_reset ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_record_serialization ... ok [INFO] [stdout] test rate_limiting::tests::test_default_middleware_model_check ... ok [INFO] [stdout] test rate_limiting::tests::test_default_middleware_tool_check ... ok [INFO] [stdout] test recovery::tests::test_classify_auth ... ok [INFO] [stdout] test recovery::tests::test_auth_failure_not_retryable ... ok [INFO] [stdout] test recovery::tests::test_classify_model_overloaded ... ok [INFO] [stdout] test recovery::tests::test_classify_network ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_report_serialization ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_tracker_basic ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_tracker_default ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_tracker_no_label ... ok [INFO] [stdout] test rate_limiting::tests::test_usage_tracker_peak_rps ... ok [INFO] [stdout] test recovery::tests::test_classify_parse_error ... ok [INFO] [stdout] test recovery::tests::test_classify_rate_limit ... ok [INFO] [stdout] test recovery::tests::test_classify_resource_exhausted ... ok [INFO] [stdout] test recovery::tests::test_classify_timeout ... ok [INFO] [stdout] test recovery::tests::test_classify_tool_error ... ok [INFO] [stdout] test recovery::tests::test_classify_unknown ... ok [INFO] [stdout] test recovery::tests::test_default_policy_aborts_auth ... ok [INFO] [stdout] test recovery::tests::test_custom_pattern ... ok [INFO] [stdout] test recovery::tests::test_custom_strategy ... ok [INFO] [stdout] test recovery::tests::test_custom_pattern_takes_priority ... ok [INFO] [stdout] test recovery::tests::test_default_policy_retries_rate_limit ... ok [INFO] [stdout] test recovery::tests::test_empty_log ... ok [INFO] [stdout] test recovery::tests::test_exponential_backoff ... ok [INFO] [stdout] test recovery::tests::test_display_impl ... ok [INFO] [stdout] test recovery::tests::test_exponential_backoff_capped ... ok [INFO] [stdout] test recovery::tests::test_fixed_backoff ... ok [INFO] [stdout] test recovery::tests::test_linear_backoff ... ok [INFO] [stdout] test recovery::tests::test_log_attempts_by_category ... ok [INFO] [stdout] test recovery::tests::test_log_clear ... ok [INFO] [stdout] test recovery::tests::test_log_record_and_len ... ok [INFO] [stdout] test recovery::tests::test_log_success_rate ... ok [INFO] [stdout] test recovery::tests::test_log_to_json ... ok [INFO] [stdout] test recovery::tests::test_manager_backoff_increases_for_exponential ... ok [INFO] [stdout] test recovery::tests::test_log_total_recovery_time ... ok [INFO] [stdout] test recovery::tests::test_manager_handle_retryable_error ... ok [INFO] [stdout] test recovery::tests::test_manager_log_is_populated ... ok [INFO] [stdout] test recovery::tests::test_manager_multiple_attempts_increment ... ok [INFO] [stdout] test recovery::tests::test_manager_reset_clears_state ... ok [INFO] [stdout] test recovery::tests::test_network_error_is_retryable ... ok [INFO] [stdout] test recovery::tests::test_parse_error_not_retryable ... ok [INFO] [stdout] test recovery::tests::test_model_overloaded_is_retryable ... ok [INFO] [stdout] test recovery::tests::test_manager_with_classifier ... ok [INFO] [stdout] test recovery::tests::test_manager_handle_non_retryable_error ... ok [INFO] [stdout] test recovery::tests::test_manager_exhausts_retries ... ok [INFO] [stdout] test recovery::tests::test_recovery_action_should_retry_false_not_retry ... ok [INFO] [stdout] test rate_limiting::tests::test_token_bucket_refill ... ok [INFO] [stdout] test recovery::tests::test_resource_exhausted_not_retryable ... ok [INFO] [stdout] test recovery::tests::test_recovery_action_to_json ... ok [INFO] [stdout] test recovery::tests::test_recovery_action_should_retry_true ... ok [INFO] [stdout] test recovery::tests::test_suggested_delays_differ ... ok [INFO] [stdout] test recovery::tests::test_timeout_is_retryable ... ok [INFO] [stdout] test recovery::tests::test_unknown_category_uses_default ... ok [INFO] [stdout] test recovery::tests::test_unknown_not_retryable ... ok [INFO] [stdout] test recovery::tests::test_rate_limit_is_retryable ... ok [INFO] [stdout] test recovery::tests::test_recovery_action_should_retry_false_exceeded ... ok [INFO] [stdout] test recovery::tests::test_tool_error_not_retryable ... ok [INFO] [stdout] test recovery::tests::test_with_default_retry ... ok [INFO] [stdout] test recovery::tests::test_zero_attempt_exponential_backoff ... ok [INFO] [stdout] test recovery::tests::test_recovery_attempt_to_json ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_all_denied ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_all_allowed ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_default ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_denial_rate ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_entry_fields ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_check_denied ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_tool_use_permission ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_to_json ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_tool_calls ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_empty ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_record_checks ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_denied_entries ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_check_allowed ... ok [INFO] [stdout] test sandbox::tests::test_audit_log_to_json ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_violations_accumulate ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_unlimited_tool_calls ... ok [INFO] [stdout] test sandbox::tests::test_execution_complete ... ok [INFO] [stdout] test sandbox::tests::test_execution_fail ... ok [INFO] [stdout] test sandbox::tests::test_execution_start ... ok [INFO] [stdout] test sandbox::tests::test_execution_new ... ok [INFO] [stdout] test sandbox::tests::test_execution_to_json ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_display ... ok [INFO] [stdout] test sandbox::tests::test_execution_terminate ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_display_network ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_file_permissions ... ok [INFO] [stdout] test sandbox::tests::test_enforcing_sandbox_not_expired ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_matches_path_all ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_matches_path_file_read ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_name_variants ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_to_json ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_matches_path_file_write ... ok [INFO] [stdout] test sandbox::tests::test_fg_permission_matches_path_non_file ... ok [INFO] [stdout] test sandbox::tests::test_manager_get_nonexistent ... ok [INFO] [stdout] test sandbox::tests::test_manager_list ... ok [INFO] [stdout] test sandbox::tests::test_manager_new_is_empty ... ok [INFO] [stdout] test sandbox::tests::test_manager_remove ... ok [INFO] [stdout] test sandbox::tests::test_manager_replace_existing ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_all_recursive ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_double_wildcard_prefix ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_exact_match ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_getter ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_no_match_empty ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_leading_slash ... ok [INFO] [stdout] test sandbox::tests::test_permission_display_custom ... ok [INFO] [stdout] test sandbox::tests::test_permission_display_env ... ok [INFO] [stdout] test sandbox::tests::test_permission_display_shell ... ok [INFO] [stdout] test sandbox::tests::test_permission_display_file_write ... ok [INFO] [stdout] test sandbox::tests::test_permission_is_dangerous_file_write ... ok [INFO] [stdout] test sandbox::tests::test_permission_is_dangerous_network ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_single_wildcard ... ok [INFO] [stdout] test sandbox::tests::test_permission_is_not_dangerous_custom ... ok [INFO] [stdout] test sandbox::tests::test_permission_is_dangerous_shell_exec ... ok [INFO] [stdout] test sandbox::tests::test_permission_is_not_dangerous_file_read ... ok [INFO] [stdout] test sandbox::tests::test_permission_display_network ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_display ... ok [INFO] [stdout] test sandbox::tests::test_permission_display_file_read ... ok [INFO] [stdout] test sandbox::tests::test_manager_create_and_get ... ok [INFO] [stdout] test sandbox::tests::test_manager_get_mut ... ok [INFO] [stdout] test sandbox::tests::test_path_pattern_double_wildcard ... ok [INFO] [stdout] test sandbox::tests::test_policy_allowed_paths_restrict ... ok [INFO] [stdout] test sandbox::tests::test_policy_denied_takes_precedence ... ok [INFO] [stdout] test sandbox::tests::test_policy_denied_paths_block ... ok [INFO] [stdout] test sandbox::tests::test_policy_allow_and_check ... ok [INFO] [stdout] test sandbox::tests::test_permission_is_not_dangerous_env ... ok [INFO] [stdout] test sandbox::tests::test_policy_deny_revokes ... ok [INFO] [stdout] test sandbox::tests::test_policy_duplicate_allow ... ok [INFO] [stdout] test sandbox::tests::test_policy_empty_path ... ok [INFO] [stdout] test sandbox::tests::test_policy_path_no_rules_allows_all ... ok [INFO] [stdout] test sandbox::tests::test_policy_permissive_does_not_include_custom ... ok [INFO] [stdout] test sandbox::tests::test_policy_with_limits ... ok [INFO] [stdout] test sandbox::tests::test_preset_network_only ... ok [INFO] [stdout] test sandbox::tests::test_pset_allow_and_check ... ok [INFO] [stdout] test sandbox::tests::test_pset_allowed_tools ... ok [INFO] [stdout] test sandbox::tests::test_pset_allowed_tools_with_all ... ok [INFO] [stdout] test sandbox::tests::test_preset_permissive ... ok [INFO] [stdout] test sandbox::tests::test_preset_file_only ... ok [INFO] [stdout] test sandbox::tests::test_preset_restrictive ... ok [INFO] [stdout] test sandbox::tests::test_pset_can_read ... ok [INFO] [stdout] test sandbox::tests::test_pset_default ... ok [INFO] [stdout] test sandbox::tests::test_pset_deny_overrides_allow ... ok [INFO] [stdout] test sandbox::tests::test_pset_deny_specific_path ... ok [INFO] [stdout] test sandbox::tests::test_pset_empty_denies_all ... ok [INFO] [stdout] test sandbox::tests::test_pset_merge ... ok [INFO] [stdout] test sandbox::tests::test_pset_network_access_check ... ok [INFO] [stdout] test sandbox::tests::test_pset_shell_exec_check ... ok [INFO] [stdout] test sandbox::tests::test_pset_to_json ... ok [INFO] [stdout] test sandbox::tests::test_pset_len ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_builder_cpu ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_builder_file_size ... ok [INFO] [stdout] test sandbox::tests::test_pset_can_write ... ok [INFO] [stdout] test orchestrator::tests::test_mock_executor_delay ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_builder_chain ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_builder_network ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_default_is_unlimited ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_builder_open_files ... ok [INFO] [stdout] test sandbox::tests::test_resource_tracker_default ... ok [INFO] [stdout] test sandbox::tests::test_resource_tracker_cpu_accumulates ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_to_json ... ok [INFO] [stdout] test sandbox::tests::test_resource_limits_builder_memory ... ok [INFO] [stdout] test sandbox::tests::test_policy_new_is_restrictive ... ok [INFO] [stdout] test sandbox::tests::test_policy_permissive_has_all_standard_permissions ... ok [INFO] [stdout] test sandbox::tests::test_resource_tracker_io_accumulates ... ok [INFO] [stdout] test sandbox::tests::test_resource_tracker_memory_monotonic_decrease ... ok [INFO] [stdout] test sandbox::tests::test_resource_tracker_memory_peak ... ok [INFO] [stdout] test sandbox::tests::test_resource_tracker_to_json ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_config_builder_chain ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_config_new ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_config_to_json ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_execute_mock ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_executions_slice ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_check_permission_denied ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_check_permission_granted ... ok [INFO] [stdout] test sandbox::tests::test_resource_tracker_new_zeroes ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_new ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_multiple_executions ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_to_json ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_reset ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_validate_path_allowed ... ok [INFO] [stdout] test sandbox::tests::test_status_is_active ... ok [INFO] [stdout] test sandbox::tests::test_violation_display ... ok [INFO] [stdout] test sandbox::tests::test_violation_new ... ok [INFO] [stdout] test session::tests::test_session_add_multiple_events_sequence ... ok [INFO] [stdout] test session::tests::test_session_config_builder_chain ... ok [INFO] [stdout] test sandbox::tests::test_violation_timestamp_populated ... ok [INFO] [stdout] test sandbox::tests::test_violation_to_json ... ok [INFO] [stdout] test sandbox::tests::test_violation_with_context ... ok [INFO] [stdout] test session::tests::test_session_add_event ... ok [INFO] [stdout] test session::tests::test_session_config_with_tag ... ok [INFO] [stdout] test session::tests::test_session_duration ... ok [INFO] [stdout] test session::tests::test_session_empty_to_json ... ok [INFO] [stdout] test session::tests::test_session_event_new ... ok [INFO] [stdout] test session::tests::test_session_config_with_auto_save ... ok [INFO] [stdout] test sandbox::tests::test_status_is_terminal ... ok [INFO] [stdout] test session::tests::test_session_config_defaults ... ok [INFO] [stdout] test session::tests::test_session_config_with_timeout ... ok [INFO] [stdout] test session::tests::test_session_config_with_max_events ... ok [INFO] [stdout] test session::tests::test_session_events_by_type_no_match ... ok [INFO] [stdout] test session::tests::test_session_events_by_type ... ok [INFO] [stdout] test session::tests::test_session_last_event ... ok [INFO] [stdout] test session::tests::test_session_failed_status_message ... ok [INFO] [stdout] test session::tests::test_session_manager_create_session_with_config ... ok [INFO] [stdout] test session::tests::test_session_manager_completed_sessions ... ok [INFO] [stdout] test session::tests::test_session_manager_duplicate_names ... ok [INFO] [stdout] test session::tests::test_session_manager_create_session ... ok [INFO] [stdout] test session::tests::test_session_manager_get_session_mut ... ok [INFO] [stdout] test session::tests::test_session_manager_default ... ok [INFO] [stdout] test session::tests::test_session_manager_active_sessions ... ok [INFO] [stdout] test session::tests::test_session_manager_get_session_not_found ... ok [INFO] [stdout] test session::tests::test_session_manager_remove_session ... ok [INFO] [stdout] test session::tests::test_session_new ... ok [INFO] [stdout] test session::tests::test_session_max_events_enforcement ... ok [INFO] [stdout] test session::tests::test_session_replay_event_timeline ... ok [INFO] [stdout] test session::tests::test_session_manager_list_sessions ... ok [INFO] [stdout] test session::tests::test_session_replay_empty_session ... ok [INFO] [stdout] test session::tests::test_session_replay_from_session ... ok [INFO] [stdout] test session::tests::test_session_set_metadata ... ok [INFO] [stdout] test session::tests::test_session_set_status ... ok [INFO] [stdout] test session::tests::test_session_set_status_completed ... ok [INFO] [stdout] test session::tests::test_session_status_display_cancelled ... ok [INFO] [stdout] test session::tests::test_session_status_display_completed ... ok [INFO] [stdout] test session::tests::test_session_status_display_active ... ok [INFO] [stdout] test session::tests::test_session_status_display_failed ... ok [INFO] [stdout] test session::tests::test_session_status_is_terminal_cancelled ... ok [INFO] [stdout] test session::tests::test_session_status_is_terminal_active ... ok [INFO] [stdout] test session::tests::test_session_status_is_terminal_paused ... ok [INFO] [stdout] test session::tests::test_session_status_display_paused ... ok [INFO] [stdout] test session::tests::test_session_summary ... ok [INFO] [stdout] test session::tests::test_session_with_config ... ok [INFO] [stdout] test session::tests::test_session_status_is_terminal_completed ... ok [INFO] [stdout] test skills::tests::test_definition_matches_tag_case_insensitive ... ok [INFO] [stdout] test session::tests::test_session_manager_new ... ok [INFO] [stdout] test skills::tests::test_definition_matches_tag_no_tags ... ok [INFO] [stdout] test skills::tests::test_definition_builder_chain ... ok [INFO] [stdout] test session::tests::test_session_manager_remove_nonexistent ... ok [INFO] [stdout] test session::tests::test_session_status_is_terminal_failed ... ok [INFO] [stdout] test session::tests::test_session_to_json ... ok [INFO] [stdout] test skills::tests::test_definition_to_json_includes_author ... ok [INFO] [stdout] test skills::tests::test_definition_to_json_null_author ... ok [INFO] [stdout] test skills::tests::test_execution_to_json ... ok [INFO] [stdout] test skills::tests::test_execution_to_json_with_error ... ok [INFO] [stdout] test skills::tests::test_history_by_skill_no_match ... ok [INFO] [stdout] test skills::tests::test_definition_new_defaults ... ok [INFO] [stdout] test skills::tests::test_history_by_skill ... ok [INFO] [stdout] test session::tests::test_session_replay_events_in_range ... ok [INFO] [stdout] test skills::tests::test_definition_to_json ... ok [INFO] [stdout] test skills::tests::test_history_clear ... ok [INFO] [stdout] test skills::tests::test_history_max_entries_eviction ... ok [INFO] [stdout] test sandbox::tests::test_sandbox_validate_path_denied ... ok [INFO] [stdout] test skills::tests::test_history_max_entries_one ... ok [INFO] [stdout] test sandbox::tests::test_status_display ... ok [INFO] [stdout] test skills::tests::test_history_new_empty ... ok [INFO] [stdout] test skills::tests::test_history_recent ... ok [INFO] [stdout] test skills::tests::test_history_recent_more_than_available ... ok [INFO] [stdout] test skills::tests::test_history_success_rate_all_success ... ok [INFO] [stdout] test skills::tests::test_history_record_and_total ... ok [INFO] [stdout] test skills::tests::test_history_success_rate_no_executions ... ok [INFO] [stdout] test skills::tests::test_param_type_boolean_name ... ok [INFO] [stdout] test skills::tests::test_param_type_boolean_validates_bool ... ok [INFO] [stdout] test skills::tests::test_param_type_json_name ... ok [INFO] [stdout] test skills::tests::test_param_type_number_name ... ok [INFO] [stdout] test skills::tests::test_param_type_list_name ... ok [INFO] [stdout] test skills::tests::test_param_type_text_name ... ok [INFO] [stdout] test skills::tests::test_param_type_json_validates_anything ... ok [INFO] [stdout] test skills::tests::test_param_type_text_validates_string ... ok [INFO] [stdout] test skills::tests::test_history_success_rate_all_failures ... ok [INFO] [stdout] test skills::tests::test_parameter_builder_chain ... ok [INFO] [stdout] test skills::tests::test_history_success_rate_mixed ... ok [INFO] [stdout] test skills::tests::test_parameter_new_defaults ... ok [INFO] [stdout] test skills::tests::test_param_type_list_validates_array ... ok [INFO] [stdout] test skills::tests::test_param_type_number_validates_number ... ok [INFO] [stdout] test skills::tests::test_parameter_with_required ... ok [INFO] [stdout] test skills::tests::test_registry_default ... ok [INFO] [stdout] test skills::tests::test_registry_search_by_description ... ok [INFO] [stdout] test skills::tests::test_registry_duplicate_registration_fails ... ok [INFO] [stdout] test skills::tests::test_registry_get_missing ... ok [INFO] [stdout] test skills::tests::test_registry_list_by_tag ... ok [INFO] [stdout] test skills::tests::test_registry_new_is_empty ... ok [INFO] [stdout] test skills::tests::test_registry_register_and_get ... ok [INFO] [stdout] test skills::tests::test_registry_search_by_name ... ok [INFO] [stdout] test skills::tests::test_registry_search_case_insensitive ... ok [INFO] [stdout] test skills::tests::test_registry_search_by_tag ... ok [INFO] [stdout] test skills::tests::test_registry_to_json ... ok [INFO] [stdout] test skills::tests::test_registry_unregister ... ok [INFO] [stdout] test skills::tests::test_registry_search_no_match ... ok [INFO] [stdout] test skills::tests::test_template_add_parameter ... ok [INFO] [stdout] test skills::tests::test_registry_all ... ok [INFO] [stdout] test session::tests::test_session_event_elapsed_since_start ... ok [INFO] [stdout] test skills::tests::test_registry_search_empty_registry ... ok [INFO] [stdout] test skills::tests::test_registry_unregister_missing_fails ... ok [INFO] [stdout] test skills::tests::test_template_new ... ok [INFO] [stdout] test skills::tests::test_template_render_with_default ... ok [INFO] [stdout] test skills::tests::test_template_validate_args_missing_required ... ok [INFO] [stdout] test skills::tests::test_template_render_number_arg ... ok [INFO] [stdout] test skills::tests::test_template_render_multiple_placeholders ... ok [INFO] [stdout] test skills::tests::test_template_validate_args_wrong_type ... ok [INFO] [stdout] test summarization::tests::test_compressed_message_new ... ok [INFO] [stdout] test summarization::tests::test_compressed_message_to_json ... ok [INFO] [stdout] test skills::tests::test_template_validate_args_required_with_default_ok ... ok [INFO] [stdout] test summarization::tests::test_compressed_message_to_json_with_count ... ok [INFO] [stdout] test skills::tests::test_template_validate_args_optional_missing_ok ... ok [INFO] [stdout] test skills::tests::test_template_render_simple ... ok [INFO] [stdout] test skills::tests::test_template_required_params ... ok [INFO] [stdout] test summarization::tests::test_compressor_invalidates_cache_on_add ... ok [INFO] [stdout] test summarization::tests::test_config_builder ... ok [INFO] [stdout] test summarization::tests::test_compressor_no_compression_when_fits ... ok [INFO] [stdout] test summarization::tests::test_extractive_basic_summarization ... ok [INFO] [stdout] test summarization::tests::test_compressor_add_messages ... ok [INFO] [stdout] test summarization::tests::test_compressor_preserves_recent_messages ... ok [INFO] [stdout] test summarization::tests::test_extractive_key_terms_boost ... ok [INFO] [stdout] test summarization::tests::test_extractive_empty_text ... ok [INFO] [stdout] test summarization::tests::test_extractive_no_key_facts_when_disabled ... ok [INFO] [stdout] test summarization::tests::test_extractive_preserves_key_facts ... ok [INFO] [stdout] test summarization::tests::test_extractive_compression_ratio ... ok [INFO] [stdout] test summarization::tests::test_config_clone ... ok [INFO] [stdout] test summarization::tests::test_estimate_tokens ... ok [INFO] [stdout] test summarization::tests::test_extractive_short_text ... ok [INFO] [stdout] test summarization::tests::test_compressor_compresses_when_over_budget ... ok [INFO] [stdout] test summarization::tests::test_compressor_single_message ... ok [INFO] [stdout] test summarization::tests::test_config_defaults ... ok [INFO] [stdout] test summarization::tests::test_compressor_empty ... ok [INFO] [stdout] test summarization::tests::test_compressed_message_summary ... ok [INFO] [stdout] test summarization::tests::test_extractive_single_sentence ... ok [INFO] [stdout] test summarization::tests::test_hierarchical_no_sections ... ok [INFO] [stdout] test summarization::tests::test_segment_char_count ... ok [INFO] [stdout] test summarization::tests::test_hierarchical_multiple_sections ... ok [INFO] [stdout] test summarization::tests::test_hierarchical_single_section ... ok [INFO] [stdout] test summarization::tests::test_hierarchical_importance_ordering ... ok [INFO] [stdout] test summarization::tests::test_segment_with_metadata ... ok [INFO] [stdout] test summarization::tests::test_split_sentences_basic ... ok [INFO] [stdout] test summarization::tests::test_segment_word_count ... ok [INFO] [stdout] test summarization::tests::test_segment_to_json ... ok [INFO] [stdout] test summarization::tests::test_split_sentences_mixed_punctuation ... ok [INFO] [stdout] test summarization::tests::test_result_compression_ratio_calculation ... ok [INFO] [stdout] test summarization::tests::test_result_to_json ... ok [INFO] [stdout] test summarization::tests::test_segment_new ... ok [INFO] [stdout] test summarization::tests::test_segment_empty ... ok [INFO] [stdout] test summarization::tests::test_split_sentences_no_period ... ok [INFO] [stdout] test summarization::tests::test_strategy_clone ... ok [INFO] [stdout] test summarization::tests::test_strategy_debug ... ok [INFO] [stdout] test summarization::tests::test_strategy_equality ... ok [INFO] [stdout] test summarization::tests::test_strategy_display ... ok [INFO] [stdout] test summarization::tests::test_truncation_empty_text ... ok [INFO] [stdout] test summarization::tests::test_strategy_names ... ok [INFO] [stdout] test summarization::tests::test_truncation_long_first_sentence ... ok [INFO] [stdout] test summarization::tests::test_truncation_single_word ... ok [INFO] [stdout] test summarization::tests::test_truncation_multiple_sentences ... ok [INFO] [stdout] test summarization::tests::test_truncation_at_sentence_boundary ... ok [INFO] [stdout] test summarization::tests::test_truncation_text_fits ... ok [INFO] [stdout] test telemetry::tests::test_collector_record_token_usage ... ok [INFO] [stdout] test telemetry::tests::test_collector_multiple_spans ... ok [INFO] [stdout] test telemetry::tests::test_collector_record_metric ... ok [INFO] [stdout] test telemetry::tests::test_collector_new_empty ... ok [INFO] [stdout] test telemetry::tests::test_collector_default ... ok [INFO] [stdout] test telemetry::tests::test_collector_start_and_finish_span ... ok [INFO] [stdout] test telemetry::tests::test_collector_token_usage_summary_aggregation ... ok [INFO] [stdout] test telemetry::tests::test_metric_type_display ... ok [INFO] [stdout] test telemetry::tests::test_metric_to_json ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_as_count ... ok [INFO] [stdout] test telemetry::tests::test_json_exporter ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_to_json_count ... ok [INFO] [stdout] test summarization::tests::test_extractive_very_long_text ... ok [INFO] [stdout] test telemetry::tests::test_json_exporter_empty ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_as_float ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_to_json_duration ... ok [INFO] [stdout] test telemetry::tests::test_metric_new ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_to_json_distribution ... ok [INFO] [stdout] test telemetry::tests::test_metric_with_labels ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_to_json_float ... ok [INFO] [stdout] test telemetry::tests::test_span_context_child_to_json ... ok [INFO] [stdout] test telemetry::tests::test_pretty_print_exporter ... ok [INFO] [stdout] test telemetry::tests::test_span_context_set_status ... ok [INFO] [stdout] test telemetry::tests::test_span_context_set_status_cancelled ... ok [INFO] [stdout] test telemetry::tests::test_collector_reset ... ok [INFO] [stdout] test telemetry::tests::test_collector_to_json ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_as_duration ... ok [INFO] [stdout] test telemetry::tests::test_metric_value_distribution_returns_none_for_helpers ... ok [INFO] [stdout] test telemetry::tests::test_span_context_finish ... ok [INFO] [stdout] test telemetry::tests::test_span_context_child ... ok [INFO] [stdout] test telemetry::tests::test_span_context_duration_while_running ... ok [INFO] [stdout] test telemetry::tests::test_pretty_print_exporter_empty ... ok [INFO] [stdout] test telemetry::tests::test_span_context_set_attribute ... ok [INFO] [stdout] test telemetry::tests::test_token_usage_estimate_cost_unknown_model ... ok [INFO] [stdout] test telemetry::tests::test_token_usage_estimate_cost_gpt4 ... ok [INFO] [stdout] test telemetry::tests::test_token_usage_to_metric ... ok [INFO] [stdout] test telemetry::tests::test_span_context_to_json ... ok [INFO] [stdout] test tool_registry::tests::test_check_permission_allowed ... ok [INFO] [stdout] test tool_registry::tests::test_builder ... ok [INFO] [stdout] test telemetry::tests::test_token_usage_auto_total ... ok [INFO] [stdout] test telemetry::tests::test_span_context_new ... ok [INFO] [stdout] test telemetry::tests::test_token_usage_estimate_cost_claude_sonnet ... ok [INFO] [stdout] test telemetry::tests::test_span_status_display ... ok [INFO] [stdout] test tool_registry::tests::test_check_permission_denied_for_missing ... ok [INFO] [stdout] test tool_registry::tests::test_default_creates_empty_registry ... ok [INFO] [stdout] test tool_registry::tests::test_check_permission_rate_limited ... ok [INFO] [stdout] test tool_registry::tests::test_enable_disable ... ok [INFO] [stdout] test tool_registry::tests::test_check_permission_requires_approval ... ok [INFO] [stdout] test tool_registry::tests::test_get_missing_returns_none ... ok [INFO] [stdout] test tool_registry::tests::test_record_call_missing_tool_does_not_panic ... ok [INFO] [stdout] test tool_registry::tests::test_get_schemas_only_enabled ... ok [INFO] [stdout] test tool_registry::tests::test_register_and_get ... ok [INFO] [stdout] test tool_registry::tests::test_len_and_is_empty ... ok [INFO] [stdout] test tool_registry::tests::test_search_by_tag ... ok [INFO] [stdout] test tool_registry::tests::test_unregister ... ok [INFO] [stdout] test tool_registry::tests::test_clone_shares_state ... ok [INFO] [stdout] test tool_registry::tests::test_record_call ... ok [INFO] [stdout] test tool_registry::tests::test_list_categories ... ok [INFO] [stdout] test tool_registry::tests::test_register_replaces_existing ... ok [INFO] [stdout] test tool_registry::tests::test_search_combined_filters ... ok [INFO] [stdout] test tooling::tests::test_builtin_calculate_divide ... ok [INFO] [stdout] test tool_registry::tests::test_search_by_category ... ok [INFO] [stdout] test tooling::tests::test_builtin_calculate_division_by_zero ... ok [INFO] [stdout] test tool_registry::tests::test_search_enabled_only ... ok [INFO] [stdout] test tool_registry::tests::test_search_by_name_pattern ... ok [INFO] [stdout] test tool_registry::tests::test_unregister_missing ... ok [INFO] [stdout] test tooling::tests::test_builtin_calculate_add ... ok [INFO] [stdout] test tooling::tests::test_builtin_calculate_invalid_operands ... ok [INFO] [stdout] test tooling::tests::test_builtin_calculate_subtract ... ok [INFO] [stdout] test tooling::tests::test_builtin_calculate_multiply ... ok [INFO] [stdout] test tooling::tests::test_builtin_json_query_array_index ... ok [INFO] [stdout] test tooling::tests::test_builtin_json_query_missing_path ... ok [INFO] [stdout] test tooling::tests::test_builtin_json_query_nested ... ok [INFO] [stdout] test tooling::tests::test_builtin_json_query_empty_path ... ok [INFO] [stdout] test rate_limiting::tests::test_quota_manager_custom_window ... ok [INFO] [stdout] test tooling::tests::test_builtin_list_directory_success ... ok [INFO] [stdout] test tooling::tests::test_builtin_read_file_success ... ok [INFO] [stdout] test tooling::tests::test_builtin_read_file_empty_path ... ok [INFO] [stdout] test tooling::tests::test_builtin_search_text_empty_pattern ... ok [INFO] [stdout] test tooling::tests::test_builtin_search_text_not_found ... ok [INFO] [stdout] test tooling::tests::test_builtin_json_query_simple ... ok [INFO] [stdout] test tooling::tests::test_category_computation_as_str ... ok [INFO] [stdout] test tooling::tests::test_builtin_search_text_found ... ok [INFO] [stdout] test tooling::tests::test_builtin_read_file_missing_path ... ok [INFO] [stdout] test tooling::tests::test_category_custom_as_str ... ok [INFO] [stdout] test tooling::tests::test_builtin_list_directory_default_path ... ok [INFO] [stdout] test tooling::tests::test_builtin_write_file_empty_path ... ok [INFO] [stdout] test tooling::tests::test_category_display ... ok [INFO] [stdout] test tooling::tests::test_builtin_write_file_success ... ok [INFO] [stdout] test tooling::tests::test_category_filesystem_as_str ... ok [INFO] [stdout] test tooling::tests::test_category_memory_as_str ... ok [INFO] [stdout] test tooling::tests::test_category_search_as_str ... ok [INFO] [stdout] test tooling::tests::test_chain_add_step ... ok [INFO] [stdout] test tooling::tests::test_category_network_as_str ... ok [INFO] [stdout] test tooling::tests::test_chain_empty ... ok [INFO] [stdout] test tooling::tests::test_chain_execute_single_step ... ok [INFO] [stdout] test tooling::tests::test_chain_stops_on_error ... ok [INFO] [stdout] test tooling::tests::test_param_new_defaults ... ok [INFO] [stdout] test tooling::tests::test_chain_execute_multiple_steps ... ok [INFO] [stdout] test tooling::tests::test_chain_missing_tool_returns_error ... ok [INFO] [stdout] test tooling::tests::test_registry_default ... ok [INFO] [stdout] test tooling::tests::test_registry_all_specs ... ok [INFO] [stdout] test tooling::tests::test_param_with_required ... ok [INFO] [stdout] test tooling::tests::test_param_builder_chain ... ok [INFO] [stdout] test tooling::tests::test_registry_by_category ... ok [INFO] [stdout] test tooling::tests::test_registry_execute_missing_tool ... ok [INFO] [stdout] test tooling::tests::test_registry_execute_success ... ok [INFO] [stdout] test tooling::tests::test_registry_register_and_get_spec ... ok [INFO] [stdout] test tooling::tests::test_registry_to_json ... ok [INFO] [stdout] test tooling::tests::test_result_error ... ok [INFO] [stdout] test tooling::tests::test_spec_builder_chain ... ok [INFO] [stdout] test tooling::tests::test_result_success ... ok [INFO] [stdout] test tooling::tests::test_registry_get_spec_missing ... ok [INFO] [stdout] test tooling::tests::test_registry_new_empty ... ok [INFO] [stdout] test tooling::tests::test_spec_validate_args_ok ... ok [INFO] [stdout] test tooling::tests::test_stats_by_tool_missing ... ok [INFO] [stdout] test tooling::tests::test_spec_to_json ... ok [INFO] [stdout] test tooling::tests::test_spec_validate_args_with_default_ok ... ok [INFO] [stdout] test tooling::tests::test_stats_default ... ok [INFO] [stdout] test tooling::tests::test_spec_new_defaults ... ok [INFO] [stdout] test tooling::tests::test_spec_validate_args_missing_required ... ok [INFO] [stdout] test tooling::tests::test_spec_validate_args_not_object ... ok [INFO] [stdout] test tooling::tests::test_stats_new_empty ... ok [INFO] [stdout] test tooling::tests::test_stats_most_used ... ok [INFO] [stdout] test tooling::tests::test_registry_execute_invalid_args ... ok [INFO] [stdout] test tooling::tests::test_stats_to_json ... ok [INFO] [stdout] test workflow::tests::test_builder_invalid_dependency_step ... ok [INFO] [stdout] test workflow::tests::test_builder_with_full_step ... ok [INFO] [stdout] test workflow::tests::test_builder_simple ... ok [INFO] [stdout] test workflow::tests::test_execute_checkpoint_action ... ok [INFO] [stdout] test workflow::tests::test_execute_condition_pass ... ok [INFO] [stdout] test tooling::tests::test_stats_total_calls ... ok [INFO] [stdout] test workflow::tests::test_execute_chained_transforms ... ok [INFO] [stdout] test workflow::tests::test_execute_message_action ... ok [INFO] [stdout] test workflow::tests::test_execute_condition_skip ... ok [INFO] [stdout] test workflow::tests::test_execute_parallel_action ... ok [INFO] [stdout] test tooling::tests::test_stats_record_and_by_tool ... ok [INFO] [stdout] test workflow::tests::test_execute_retry_success_on_transform ... ok [INFO] [stdout] test workflow::tests::test_execute_retry_then_fail ... ok [INFO] [stdout] test workflow::tests::test_execute_single_transform ... ok [INFO] [stdout] test workflow::tests::test_execute_respects_dependency_order ... ok [INFO] [stdout] test workflow::tests::test_get_ready_steps_no_deps ... ok [INFO] [stdout] test workflow::tests::test_is_complete_empty_workflow ... ok [INFO] [stdout] test workflow::tests::test_step_action_debug ... ok [INFO] [stdout] test workflow::tests::test_get_ready_steps_with_deps ... ok [INFO] [stdout] test workflow::tests::test_is_complete ... ok [INFO] [stdout] test workflow::tests::test_workflow_new ... ok [INFO] [stdout] test workflow::tests::test_step_result_has_duration ... ok [INFO] [stdout] test workflow::tests::test_workflow_step_new ... ok [INFO] [stdout] test workflow::tests::test_step_status_display ... ok [INFO] [stdout] test workflow::tests::test_step_status_equality ... ok [INFO] [stdout] test workflow::tests::test_workflow_step_with_condition ... ok [INFO] [stdout] test tooling::tests::test_builtin_calculate_unsupported_operator ... ok [INFO] [stdout] test workflow::tests::test_workflow_executor_default ... ok [INFO] [stdout] test workflow::tests::test_workflow_step_with_dependencies ... ok [INFO] [stdout] test workflow::tests::test_workflow_add_step ... ok [INFO] [stdout] test workflow::tests::test_workflow_step_with_dependency ... ok [INFO] [stdout] test telemetry::tests::test_span_context_duration_after_finish ... ok [INFO] [stdout] test workflow::tests::test_workflow_result_succeeded_and_failed ... ok [INFO] [stdout] test workflow::tests::test_workflow_step_with_description ... ok [INFO] [stdout] test workflow::tests::test_workflow_step_with_retry_count ... ok [INFO] [stdout] test workflow::tests::test_workflow_validate_duplicate_ids ... ok [INFO] [stdout] test workflow::tests::test_workflow_step_with_timeout ... ok [INFO] [stdout] test workflow::tests::test_workflow_validate_missing_dependency ... ok [INFO] [stdout] test workflow::tests::test_workflow_validate_cycle ... ok [INFO] [stdout] test workflow::tests::test_workflow_validate_valid ... ok [INFO] [stdout] test workflow::tests::test_workflow_validate_self_dependency ... ok [INFO] [stdout] test orchestrator::tests::test_orchestrator_timeout ... ok [INFO] [stderr] Running tests/cross_crate_tests.rs (/opt/rustwide/target/debug/deps/cross_crate_tests-23048ef94a86d572) [INFO] [stdout] test rate_limiting::tests::test_sliding_window_expiry ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1895 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.53s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_cognisgraph_stategraph_with_core_message_types ... ok [INFO] [stdout] test test_cognis_memory_with_cognisagent_agent_state ... ok [INFO] [stdout] test test_cognisagent_middleware_wraps_chat_model ... ok [INFO] [stdout] test test_runnable_sequence_with_lambda_steps ... ok [INFO] [stdout] test test_full_rag_pipeline_across_crates ... ok [INFO] [stdout] test test_deep_agent_tool_calling_round_trip ... ok [INFO] [stdout] test test_cognisgraph_checkpoint_save_restore_with_core_types ... ok [INFO] [stdout] test test_core_runnable_trait_implemented_by_lambda_and_chain ... ok [INFO] [stdout] test test_output_parsers_with_chain_outputs ... ok [INFO] [stdout] test test_llmchain_with_fake_chat_model ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-208cb6593f78c665) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test integration::test_deep_agent_error_display ... ok [INFO] [stdout] test integration::test_config_builder_methods ... ok [INFO] [stdout] test integration::test_create_deep_agent_with_default_config ... ok [INFO] [stdout] test integration::test_deep_agent_max_iterations ... ok [INFO] [stdout] test integration::test_filesystem_middleware_provides_tools ... ok [INFO] [stdout] test integration::test_deep_agent_with_memory_middleware ... ok [INFO] [stdout] test integration::test_deep_agent_with_system_prompt ... ok [INFO] [stdout] test integration::test_deep_agent_with_tool_call ... ok [INFO] [stdout] test integration::test_deep_agent_simple_conversation ... ok [INFO] [stdout] test integration::test_memory_middleware_injects_context_into_state ... ok [INFO] [stdout] test integration::test_memory_middleware_empty_is_noop ... ok [INFO] [stdout] test integration::test_memory_middleware_inserts_after_system_prompt ... ok [INFO] [stdout] test integration::test_memory_middleware_remember_recall ... ok [INFO] [stdout] test integration::test_noop_middleware_is_noop ... ok [INFO] [stdout] test integration::test_skills_middleware_injects_listing ... ok [INFO] [stdout] test integration::test_summarization_middleware_triggers_on_overflow ... ok [INFO] [stdout] test integration::test_patch_tool_calls_name_correction ... ok [INFO] [stdout] test integration::test_state_backend_persistence ... ok [INFO] [stdout] test integration::test_filesystem_backend_round_trip ... ok [INFO] [stderr] Doc-tests cognisagent [INFO] [stdout] test integration::test_deep_agent_with_multiple_middleware ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test src/evaluation.rs - evaluation (line 8) ... ignored [INFO] [stdout] test src/events.rs - events (line 16) ... ignored [INFO] [stdout] test src/health.rs - health (line 9) ... ignored [INFO] [stdout] test src/lib.rs - (line 14) ... ignored [INFO] [stdout] test src/middleware/approval_gate.rs - middleware::approval_gate (line 24) ... ignored [INFO] [stdout] test src/orchestrator.rs - orchestrator (line 11) ... ignored [INFO] [stdout] test src/telemetry.rs - telemetry (line 11) ... ignored [INFO] [stdout] test src/workflow.rs - workflow (line 8) ... ignored [INFO] [stdout] test src/recovery.rs - recovery (line 9) ... ok [INFO] [stdout] test src/multi_agent.rs - multi_agent (line 17) ... ok [INFO] [stdout] test src/factory.rs - factory (line 19) ... ok [INFO] [stdout] test src/logging.rs - logging (line 10) ... ok [INFO] [stdout] test src/presets.rs - presets (line 19) ... ok [INFO] [stdout] test src/communication.rs - communication (line 17) ... ok [INFO] [stdout] test src/builder.rs - builder (line 14) ... ok [INFO] [stdout] test src/collaboration.rs - collaboration (line 19) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 15.94s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "07b719bce692824fd69bbeacc6919b0b8fbe5696310907d075941e90d160000e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07b719bce692824fd69bbeacc6919b0b8fbe5696310907d075941e90d160000e", kill_on_drop: false }` [INFO] [stdout] 07b719bce692824fd69bbeacc6919b0b8fbe5696310907d075941e90d160000e