[INFO] cloning repository https://github.com/jiyuan/AgentOrch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jiyuan/AgentOrch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiyuan%2FAgentOrch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiyuan%2FAgentOrch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7b52e7dc1cf39aac87b26d06ae3599874ea1895f
[INFO] testing jiyuan/AgentOrch against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiyuan%2FAgentOrch" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jiyuan/AgentOrch
[INFO] finished tweaking git repo https://github.com/jiyuan/AgentOrch
[INFO] tweaked toml for git repo https://github.com/jiyuan/AgentOrch written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jiyuan/AgentOrch on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jiyuan/AgentOrch already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tower-http v0.6.9
[INFO] [stderr]   Downloaded tokio v1.52.1
[INFO] [stderr]   Downloaded sqlite-vec v0.1.9
[INFO] [stderr]   Downloaded derive_builder_macro v0.20.2
[INFO] [stderr]   Downloaded derive_builder v0.20.2
[INFO] [stderr]   Downloaded croner v3.0.1
[INFO] [stderr]   Downloaded derive_builder_core v0.20.2
[INFO] [stderr]   Downloaded rayon v1.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb
[INFO] running `Command { std: "docker" "start" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling compression-core v0.4.32
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling compression-codecs v0.4.38
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling sqlite-vec v0.1.9
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling agentos-proto v0.6.0 (/opt/rustwide/workdir/crates/agentos-proto)
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling agentos-interfaces v0.6.0 (/opt/rustwide/workdir/crates/agentos-interfaces)
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling croner v3.0.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling async-compression v0.4.42
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling tower-http v0.6.9
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling agentos-llm v0.6.0 (/opt/rustwide/workdir/crates/agentos-llm)
[INFO] [stderr]    Compiling agentos-memory-vector v0.6.0 (/opt/rustwide/workdir/extensions/memory/agentos-memory-vector)
[INFO] [stderr]    Compiling agentos-core v0.6.0 (/opt/rustwide/workdir/crates/agentos-core)
[INFO] [stderr]    Compiling agentos-cli v0.6.0 (/opt/rustwide/workdir/crates/agentos-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling tower-http v0.6.9
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling agentos-proto v0.6.0 (/opt/rustwide/workdir/crates/agentos-proto)
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling agentos-interfaces v0.6.0 (/opt/rustwide/workdir/crates/agentos-interfaces)
[INFO] [stderr]    Compiling croner v3.0.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling agentos-memory-vector v0.6.0 (/opt/rustwide/workdir/extensions/memory/agentos-memory-vector)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling agentos-llm v0.6.0 (/opt/rustwide/workdir/crates/agentos-llm)
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling agentos-core v0.6.0 (/opt/rustwide/workdir/crates/agentos-core)
[INFO] [stderr]    Compiling agentos-cli v0.6.0 (/opt/rustwide/workdir/crates/agentos-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 15s
[INFO] running `Command { std: "docker" "inspect" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentos_cli-fcb5f59066805f91)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test slash::tests::parse_recognises_clear_aliases ... ok
[INFO] [stdout] test slash::tests::parse_recognises_help_aliases ... ok
[INFO] [stdout] test slash::tests::parse_does_not_swallow_lookalike_commands ... ok
[INFO] [stdout] test slash::tests::parse_usage_variants ... ok
[INFO] [stdout] test slash::tests::parse_simple_lists ... ok
[INFO] [stdout] test slash::tests::parse_returns_not_slash_for_plain_text ... ok
[INFO] [stdout] test slash::tests::parse_handles_non_ascii_without_panicking ... ok
[INFO] [stdout] test slash::tests::format_usage_reports_no_calls_until_a_run_completes ... ok
[INFO] [stdout] test slash::tests::format_usage_accumulates_runs_and_reports_cache_hit_rate ... ok
[INFO] [stdout] test slash::tests::parse_orchestrator_variants ... ok
[INFO] [stdout] test tests::factory_resolves_only_the_vector_extension ... ok
[INFO] [stdout] test slash::tests::parse_model_variants ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::persistent_channels_default_to_config ... ok
[INFO] [stdout] test tests::persistent_channels_env_override_takes_precedence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agentos_cli-22c9968ad3eadd37)
[INFO] [stderr]      Running unittests src/bin/agentos-gateway.rs (/opt/rustwide/target/debug/deps/agentos_gateway-1901402c6d834acb)
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentos_core-05607bb4630b3ca8)
[INFO] [stdout] 
[INFO] [stdout] running 165 tests
[INFO] [stdout] test approve::tests::orchestrator_strategy_round_trips_through_u8 ... ok
[INFO] [stdout] test approve::tests::tool_has_arg_constraints_handles_any_action ... ok
[INFO] [stdout] test approve::tests::tool_has_arg_constraints_only_matches_constrained_tool ... ok
[INFO] [stdout] test approve::tests::tool_has_arg_constraints_returns_false_when_no_rule_constrains_args ... ok
[INFO] [stdout] test approve::tests::decide_skips_arg_parse_when_no_rule_needs_args ... ok
[INFO] [stdout] test approve::tests::decide_matches_constrained_args ... ok
[INFO] [stdout] test channels::feishu::event::tests::parses_file_message ... ok
[INFO] [stdout] test channels::feishu::event::tests::allowed_source_filter_applies ... ok
[INFO] [stdout] test channels::feishu::event::tests::open_id_receive_type_uses_sender_open_id_as_conversation ... ok
[INFO] [stdout] test channels::feishu::tests::server_rotation_messages_are_expected_disconnects ... ok
[INFO] [stdout] test channels::feishu::tests::genuine_faults_are_not_treated_as_disconnects ... ok
[INFO] [stdout] test channels::feishu::event::tests::open_id_receive_type_falls_back_to_chat_id_when_sender_missing ... ok
[INFO] [stdout] test channels::feishu::tests::clamp_feishu_text_truncates_to_message_limit ... ok
[INFO] [stdout] test channels::feishu::tests::successful_reconnect_clears_backoff ... ok
[INFO] [stdout] test channels::feishu::event::tests::parses_text_message ... ok
[INFO] [stdout] test channels::attachments::tests::sanitize_strips_separators_and_traversal ... ok
[INFO] [stdout] test channels::feishu::event::tests::parses_image_message ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::target_url_defaults_ws_port_to_80 ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::target_url_parses_host_and_default_port ... ok
[INFO] [stdout] test approve::tests::narrow_allows_child_allow_when_parent_would_ask_user ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::target_url_parses_explicit_port ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::target_url_accepts_plain_ws_for_mocks ... ok
[INFO] [stdout] test channels::telegram::tests::clamp_stream_text_truncates_to_message_limit ... ok
[INFO] [stdout] test channels::telegram::tests::parse_update_extracts_document ... ok
[INFO] [stdout] test channels::feishu::tests::reconnect_backoff_escalates_then_caps ... ok
[INFO] [stdout] test channels::telegram::tests::parse_update_filters_chat_id ... ok
[INFO] [stdout] test channels::telegram::tests::parse_update_picks_largest_photo_and_caption ... ok
[INFO] [stdout] test channels::telegram::tests::parse_update_extracts_text_only ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::target_url_rejects_non_ws_scheme ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::proxy_accepts_bare_host_port ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::proxy_honours_no_proxy ... ok
[INFO] [stdout] test channels::text::tests::respects_custom_cap ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::proxy_accepts_http_scheme ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::proxy_rejects_https_scheme_with_warning ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::proxy_rejects_socks_scheme ... ok
[INFO] [stdout] test channels::text::tests::chunks_at_paragraph_boundary ... ok
[INFO] [stdout] test channels::text::tests::chunks_at_newline_when_no_paragraph_break ... ok
[INFO] [stdout] test channels::text::tests::hard_breaks_continuous_text ... ok
[INFO] [stdout] test config::orchestrator::tests::stage_execution_order_respects_dependencies ... ok
[INFO] [stdout] test channels::text::tests::passes_short_text_through_unchanged ... ok
[INFO] [stdout] test config::orchestrator::tests::llm_classifier_defaults_to_enabled_and_parses_when_disabled ... ok
[INFO] [stdout] test config::tests::invalid_inert_config_keys_are_rejected_when_known ... ok
[INFO] [stdout] test channels::attachments::tests::target_path_creates_parent_and_lays_out_segments ... ok
[INFO] [stdout] test crons::tests::schedule_rejects_invalid_expression ... ok
[INFO] [stdout] test crons::tests::retry_exhaustion_skips_to_next_tick ... ok
[INFO] [stdout] test crons::tests::task_is_due_only_once_per_scheduled_tick ... ok
[INFO] [stdout] test guardrails::tests::allows_skill_bundle_read_and_listing ... ok
[INFO] [stdout] test guardrails::tests::allows_write_outside_skill_bundles ... ok
[INFO] [stdout] test guardrails::tests::email_heuristic_ignores_urls_and_package_specs ... ok
[INFO] [stdout] test guardrails::tests::email_heuristic_matches_real_addresses ... ok
[INFO] [stdout] test config::tests::canonical_loader_merges_workspace_files_and_effective_schema ... ok
[INFO] [stdout] test crons::tests::envelope_wraps_prompt_with_execution_directive ... ok
[INFO] [stdout] test crons::tests::envelope_requests_ephemeral_session_scope ... ok
[INFO] [stdout] test crons::tests::retry_backoff_overrides_schedule ... ok
[INFO] [stdout] test crons::tests::previous_and_next_fire_are_absolute ... ok
[INFO] [stdout] test crons::tests::anchor_unfired_stops_back_firing_on_first_sight ... ok
[INFO] [stdout] test config::orchestrator::tests::cyclic_template_is_rejected_at_config_load ... ok
[INFO] [stdout] test crons::tests::fired_task_round_trips_through_toml ... ok
[INFO] [stdout] test crons::tests::memory_maintenance_cron_anchors_on_first_sight ... ok
[INFO] [stdout] test config::tests::repository_workspace_config_declares_effective_resources ... ok
[INFO] [stdout] test guardrails::tests::non_file_tool_is_ignored ... ok
[INFO] [stdout] test guardrails::tests::traversal_into_skills_is_rejected_not_allowed ... ok
[INFO] [stdout] test guardrails::tests::shell_allowlist_rejects_arguments_in_command_field_with_hint ... ok
[INFO] [stdout] test guardrails::tests::trips_on_skill_bundle_write ... ok
[INFO] [stdout] test orchestrator::max::tests::skill_prelude_message_is_none_when_catalog_empty ... ok
[INFO] [stdout] test memory::tests::memory_caller_uses_parent_channel_metadata_after_tool_call ... ok
[INFO] [stdout] test orchestrator::max::tests::skill_prelude_message_emits_each_skill_instructions ... ok
[INFO] [stdout] test memory::tests::audit_store_read_requires_parent_admin_path ... ok
[INFO] [stdout] test orchestrator::max::tests::workspace_diagnostic_request_matches_local_artifacts ... ok
[INFO] [stdout] test orchestrator::max::tests::validation_failure_returns_to_tool_aware_llm_path ... ok
[INFO] [stdout] test channels::feishu::event::tests::drops_unsupported_message_type ... ok
[INFO] [stdout] test orchestrator::max::tests::general_chat_without_vocabulary_overlap_skips_router_llm ... ok
[INFO] [stdout] test orchestrator::max::tests::disabled_llm_classifier_routes_to_fallback_without_llm ... ok
[INFO] [stdout] test orchestrator::max::tests::vocabulary_overlap_still_uses_router_llm ... ok
[INFO] [stdout] test orchestrator::max::tests::workspace_skill_request_matches_enabled_skill_aliases ... ok
[INFO] [stdout] test orchestrator::max::tests::enabled_workspace_skill_request_stays_in_parent_llm_path ... ok
[INFO] [stdout] test crons::tests::persisted_task_fires_once_per_tick_across_reloads ... ok
[INFO] [stdout] test orchestrator::routing::tests::routing_prompt_includes_subagent_functional_descriptions ... ok
[INFO] [stdout] test orchestrator::max::tests::workspace_diagnostic_request_stays_in_parent_llm_path ... ok
[INFO] [stdout] test orchestrator::max::tests::natural_language_skill_creation_stays_in_parent_llm_path ... ok
[INFO] [stdout] test orchestrator::routing::tests::vocabulary_is_empty_when_any_rule_lacks_examples ... ok
[INFO] [stdout] test r#loop::items::tests::tool_result_item_caps_large_content ... ok
[INFO] [stdout] test runner::tests::tool_guardrail_trip_returns_failed_tool_result_to_model ... ok
[INFO] [stdout] test runner::tests::loop_records_llm_usage_for_tool_calling_turns_not_just_replies ... ok
[INFO] [stdout] test runner::tests::ephemeral_scoped_run_neither_loads_nor_persists_conversation_history ... ok
[INFO] [stdout] test runtime::tests::default_shell_guardrail_allows_readonly_inspection_commands ... ok
[INFO] [stdout] test runner::tests::policy_denied_tool_call_returns_denied_result_to_model_not_run_error ... ok
[INFO] [stdout] test runtime::tests::main_max_turns_uses_agent_config ... ok
[INFO] [stdout] test runner::tests::budget_exhausted_finishes_with_partial_result_not_error ... ok
[INFO] [stdout] test runtime::tools_config::tests::allowlisted_tool_bypasses_ask_user ... ok
[INFO] [stdout] test runtime::tests::mcp_registration_follows_resources_mcp_enabled ... ok
[INFO] [stdout] test runtime::tests::default_shell_guardrail_still_blocks_unlisted_commands ... ok
[INFO] [stdout] test runner::tests::paused_subagent_tool_approval_resumes_child_and_parent ... ok
[INFO] [stdout] test runner::tests::subagent_allowlisted_tool_runs_without_parent_approval ... ok
[INFO] [stdout] test runtime::tools_config::tests::non_allowlisted_tool_still_asks_user ... ok
[INFO] [stdout] test runtime::tools_config::tests::narrowed_subagent_listed_tool_never_asks_for_approval ... ok
[INFO] [stdout] test orchestrator::max::tests::workspace_skill_maintenance_request_uses_router ... ok
[INFO] [stdout] test memory::sqlite::tests::record_read_access_increments_each_record_in_one_statement ... ok
[INFO] [stdout] test memory::sqlite::tests::record_read_access_is_a_noop_for_empty_input ... ok
[INFO] [stdout] test memory::sqlite::tests::append_access_log_for_records_is_a_noop_for_empty_input ... ok
[INFO] [stdout] test channels::feishu::websocket::tests::proxy_strips_userinfo ... ok
[INFO] [stdout] test runtime::tools_config::tests::parent_policy_default_follows_config_policy ... ok
[INFO] [stdout] test runtime::tools_config::tests::parent_tools_follow_resources_tools_enabled ... ok
[INFO] [stdout] test runtime::tools_config::tests::parent_policy_does_not_inherit_subagent_tool_permissions ... ok
[INFO] [stdout] test runtime::tools_config::tests::parent_file_write_requires_approval_even_when_child_declares_file ... ok
[INFO] [stdout] test runtime::tools_config::tests::subagent_explicit_tool_allowlist_avoids_tool_approval ... ok
[INFO] [stdout] test runtime::tools_config::tests::subagent_cannot_allowlist_tool_parent_never_grants ... ok
[INFO] [stdout] test skills::skill_creator::tests::defaults_missing_description ... ok
[INFO] [stdout] test skills::skill_creator::tests::parses_name_and_description ... ok
[INFO] [stdout] test runtime::tools_config::tests::subagent_file_policy_narrows_parent_file_policy ... ok
[INFO] [stdout] test runtime::tools_config::tests::subagent_memory_tool_operations_avoid_approval_when_declared ... ok
[INFO] [stdout] test skills::skill_creator::tests::parses_prefix_case_insensitively ... ok
[INFO] [stdout] test skills::skill_creator::tests::authoring_covers_both_create_and_update ... ok
[INFO] [stdout] test skills::skill_creator::tests::detects_skill_update_requests ... ok
[INFO] [stdout] test skills::skill_creator::tests::parses_called_name_with_purpose ... ok
[INFO] [stdout] test skills::skill_creator::tests::detects_natural_language_skill_creation_requests ... ok
[INFO] [stdout] test skills::skill_creator::tests::accepts_skill_create_synonym ... ok
[INFO] [stdout] test skills::skill_creator::tests::file_write_success_plans_validation ... ok
[INFO] [stdout] test skills::skill_creator::tests::rejects_unrelated_prompts ... ok
[INFO] [stdout] test skills::skill_creator::tests::valid_skill_creation_request_falls_through_to_llm_generation ... ok
[INFO] [stdout] test skills::skill_creator::tests::skill_creation_without_name_requests_clarification ... ok
[INFO] [stdout] test skills::workspace::tests::filtered_empty_means_no_skills_granted ... ok
[INFO] [stdout] test skills::workspace::tests::filtered_normalises_input_names ... ok
[INFO] [stdout] test subagents::tests::child_envelope_carries_parent_attachments_when_prompt_present ... ok
[INFO] [stdout] test subagents::tests::child_envelope_conv_id_separates_distinct_prompts ... ok
[INFO] [stdout] test skills::workspace::tests::filtered_silently_drops_unknown_names ... ok
[INFO] [stdout] test subagents::tests::child_envelope_conv_id_stable_across_parent_run_ids ... ok
[INFO] [stdout] test skills::skill_creator::tests::validation_failure_falls_through_for_llm_repair ... ok
[INFO] [stdout] test skills::skill_creator::tests::validation_success_returns_to_llm_for_bundle_completion ... ok
[INFO] [stdout] test skills::workspace::tests::filtered_returns_subset_by_name ... ok
[INFO] [stdout] test skills::skill_creator::tests::update_request_planner_defers_to_model_without_name_prompt ... ok
[INFO] [stdout] test runtime::tools_config::tests::repository_subagent_policies_narrow_parent_policy ... ok
[INFO] [stdout] test subagents::tests::child_envelope_skips_attachments_when_parent_is_not_user_turn ... ok
[INFO] [stdout] test tools::builtin::common::tests::safe_workspace_path_accepts_relative ... ok
[INFO] [stdout] test tools::builtin::common::tests::safe_workspace_path_rejects_empty ... ok
[INFO] [stdout] test tools::builtin::common::tests::safe_workspace_path_rejects_inner_traversal ... ok
[INFO] [stdout] test tools::builtin::common::tests::safe_workspace_path_rejects_parent_traversal ... ok
[INFO] [stdout] test tools::builtin::common::tests::safe_workspace_path_rejects_absolute ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_creator_tool_rejects_invalid_expression ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_creator_tool_rejects_root_override_from_caller ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_creator_tool_persists_task_file ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_creator_tool_rejects_invalid_id ... ok
[INFO] [stdout] test subagents::tests::child_envelope_uses_parent_conversation_id ... ok
[INFO] [stdout] test subagents::tests::child_envelope_uses_parent_message_when_no_prompt ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_creator_tool_anchors_task_so_it_does_not_fire_immediately ... ok
[INFO] [stdout] test task_workspace::tests::append_session_event_falls_back_to_sync_when_no_runtime ... ok
[INFO] [stdout] test memory::sqlite::tests::append_access_log_for_records_writes_one_row_per_id ... ok
[INFO] [stdout] test task_workspace::tests::append_session_event_buffers_through_flusher_when_runtime_present ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_list_tool_returns_persisted_tasks ... ok
[INFO] [stdout] test tools::builtin::skill_validate::tests::skill_validate_rejects_unknown_fields ... ok
[INFO] [stdout] test tools::builtin::file::tests::read_directory_listing_can_filter_recent_files_and_include_metadata ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_remove_tool_deletes_file_and_is_idempotent ... ok
[INFO] [stdout] test tools::builtin::skill_validate::tests::skill_validate_passes_for_well_formed_bundle ... ok
[INFO] [stdout] test tools::builtin::skill_validate::tests::skill_validate_reports_folder_name_mismatch_with_hint ... ok
[INFO] [stdout] test tools::builtin::skill_validate::tests::skill_validate_reports_bundle_inventory ... ok
[INFO] [stdout] test tools::builtin::skill_validate::tests::skill_validate_reports_missing_directory_with_hint ... ok
[INFO] [stdout] test tools::builtin::skill_validate::tests::skill_validate_reports_empty_body_with_hint ... ok
[INFO] [stdout] test tools::builtin::skill_validate::tests::skill_validate_reports_malformed_frontmatter_with_hint ... ok
[INFO] [stdout] test orchestrator::routing::tests::vocabulary_collects_significant_tokens_and_excludes_fallback ... ok
[INFO] [stdout] test channels::telegram::tests::parse_update_drops_empty_message ... ok
[INFO] [stdout] test skills::skill_creator::tests::parses_quoted_natural_language_name ... ok
[INFO] [stdout] test subagents::tests::child_envelope_falls_back_when_parent_metadata_missing ... ok
[INFO] [stdout] test tools::builtin::file::tests::read_directory_listing_returns_sorted_entries_and_marks_dirs ... ok
[INFO] [stdout] test tools::builtin::file::tests::read_file_slice_defaults_to_bounded_tail_or_range ... ok
[INFO] [stdout] test tools::builtin::cron::tests::cron_creator_tool_requires_an_expression ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 165 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/agentos-mcp-stdio-worker.rs (/opt/rustwide/target/debug/deps/agentos_mcp_stdio_worker-e8be9c238c00e552)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/agentos-tool-worker.rs (/opt/rustwide/target/debug/deps/agentos_tool_worker-4664a170d6cd8c0a)
[INFO] [stderr]      Running tests/config_loader.rs (/opt/rustwide/target/debug/deps/config_loader-66b97cb30737d74d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test loaders_agree_on_missing_config ... ok
[INFO] [stdout] test loaders_agree_on_minimal_fixture ... ok
[INFO] [stdout] test loaders_agree_on_repository_workspace_config ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/import_boundary.rs (/opt/rustwide/target/debug/deps/import_boundary-fa486cb3153ec6f7)
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/loop_invariants.rs (/opt/rustwide/target/debug/deps/loop_invariants-f40defb449a7452b)
[INFO] [stdout] test import_boundary_checker_rejects_violating_manifests ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/memory_reflection.rs (/opt/rustwide/target/debug/deps/memory_reflection-40affb9d3cd6f906)
[INFO] [stdout] test adversarial_orchestrator_is_stopped_by_turn_budget ... ok
[INFO] [stdout] test paused_run_state_json_round_trips_and_resumes_with_trace_continuity ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test reflect_all_is_noop_without_episodes ... ok
[INFO] [stdout] test reflect_all_promotes_repeated_episodes_across_conversations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/policy_narrow_props.rs (/opt/rustwide/target/debug/deps/policy_narrow_props-c981a29356c3d213)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test widened_child_default_is_rejected ... ok
[INFO] [stdout] test narrow_is_reflexive ... ok
[INFO] [stdout] test allow_rule_on_unexposed_tool_is_rejected ... ok
[INFO] [stdout] test narrowed_default_never_exceeds_parent_default ... ok
[INFO] [stdout] test narrowed_policy_never_exceeds_parent_default_on_unexposed_actions ... ok
[INFO] [stderr]      Running tests/runner_narrowing.rs (/opt/rustwide/target/debug/deps/runner_narrowing-5dbdf0173934bb64)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.77s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test parent_tool_call_still_requires_approval_when_child_declares_allow ... ok
[INFO] [stdout] test child_tool_declaration_cannot_widen_parent_policy ... ok
[INFO] [stdout] test child_allow_narrowing_parent_ask_user_runs_without_pause ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stderr]      Running tests/streaming.rs (/opt/rustwide/target/debug/deps/streaming-bcd47c62812aa817)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test min_orchestrator_uses_buffered_path_without_sink ... ok
[INFO] [stdout] test min_orchestrator_streams_chunks_and_returns_full_reply ... ok
[INFO] [stdout] test mid_stream_transport_error_falls_back_to_buffered ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentos_interfaces-f3dfc6aa1f489b98)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test paths::tests::cwd_fallback_when_no_var_and_no_loaded_path ... ok
[INFO] [stdout] test paths::tests::loaded_env_parent_used_when_var_unset ... ok
[INFO] [stdout] test paths::tests::env_var_wins_over_loaded_env_path_and_cwd ... ok
[INFO] [stdout] test test_support::tests::mock_skill_records_invocation ... ok
[INFO] [stdout] test test_support::tests::mock_memory_round_trips_and_forgets ... ok
[INFO] [stdout] test test_support::tests::mock_orchestrator_returns_canned_plan_and_counts_calls ... ok
[INFO] [stdout] test test_support::tests::mock_channel_receives_inbound_and_records_sent ... ok
[INFO] [stdout] test test_support::tests::mock_input_guardrail_records_calls ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentos_llm-ce279d039b96a351)
[INFO] [stdout] test test_support::tests::mock_tool_records_call_id_and_returns_result ... ok
[INFO] [stdout] test test_support::tests::mock_session_appends_and_loads ... ok
[INFO] [stdout] test test_support::tests::mock_mcp_client_lists_tools_and_records_calls ... ok
[INFO] [stdout] test test_support::tests::mock_tool_guardrail_separates_call_and_result_outcomes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test providers::anthropic::tests::text_only_message_keeps_string_content ... ok
[INFO] [stdout] test providers::anthropic::tests::anthropic_tool_spec_uses_input_schema_field ... ok
[INFO] [stdout] test providers::anthropic::tests::assistant_with_tool_calls_emits_tool_use_block ... ok
[INFO] [stdout] test providers::anthropic::tests::image_attachment_emits_image_block ... ok
[INFO] [stdout] test providers::anthropic::tests::pdf_attachment_emits_document_block ... ok
[INFO] [stdout] test providers::anthropic::tests::tool_role_emits_user_with_tool_result_block ... ok
[INFO] [stdout] test providers::anthropic::tests::unsupported_image_falls_back_to_descriptor ... ok
[INFO] [stdout] test providers::arg_extraction_tests::invalid_arg_string_is_rejected ... ok
[INFO] [stdout] test providers::arg_extraction_tests::both_arg_shapes_produce_identical_raw_values_for_sorted_input ... ok
[INFO] [stdout] test providers::arg_extraction_tests::missing_args_default_to_empty_object_in_both_shapes ... ok
[INFO] [stdout] test providers::anthropic::tests::missing_file_falls_back_to_descriptor ... ok
[INFO] [stdout] test providers::content::tests::append_descriptors_joins_with_newline ... ok
[INFO] [stdout] test providers::content::tests::descriptor_includes_metadata ... ok
[INFO] [stdout] test providers::content::tests::document_mime_recognises_pdf ... ok
[INFO] [stdout] test providers::content::tests::format_text_document_escapes_collisions ... ok
[INFO] [stdout] test providers::content::tests::image_mime_falls_back_to_extension ... ok
[INFO] [stdout] test providers::content::tests::image_mime_rejects_unsupported ... ok
[INFO] [stdout] test providers::content::tests::image_mime_uses_explicit_mime_first ... ok
[INFO] [stdout] test providers::content::tests::read_text_document_caps_size ... ok
[INFO] [stdout] test providers::deepseek::tests::assistant_tool_call_request_echoes_reasoning_content ... ok
[INFO] [stdout] test providers::deepseek::tests::non_assistant_request_does_not_emit_reasoning_content ... ok
[INFO] [stdout] test providers::deepseek::tests::detects_reasoning_content_passback_errors ... ok
[INFO] [stdout] test providers::deepseek::tests::paired_tool_result_stays_tool_role ... ok
[INFO] [stdout] test providers::openai::tests::parse_tool_calls_extracts_function_calls ... ok
[INFO] [stdout] test providers::openai::tests::assistant_with_tool_calls_serializes_tool_calls_field ... ok
[INFO] [stdout] test providers::content::tests::read_text_document_skips_non_text ... ok
[INFO] [stdout] test providers::deepseek::tests::detects_reasoning_passback_in_streaming_error_detail ... ok
[INFO] [stdout] test providers::openai::tests::pdf_attachment_emits_file_block ... ok
[INFO] [stdout] test providers::openai::tests::text_document_inlined_as_fenced_block ... ok
[INFO] [stdout] test providers::openai::tests::orphan_tool_result_becomes_user_context ... ok
[INFO] [stdout] test providers::openai::tests::paired_tool_result_stays_tool_role ... ok
[INFO] [stdout] test providers::openai::tests::non_pdf_binary_document_falls_back_to_descriptor ... ok
[INFO] [stdout] test providers::openai::tests::text_only_keeps_string_content ... ok
[INFO] [stdout] test providers::openai::tests::tool_spec_serializes_as_function_definition ... ok
[INFO] [stdout] test providers::content::tests::read_text_document_reads_text_extensions ... ok
[INFO] [stdout] test providers::provider_error_tests::api_errors_are_matchable_and_keep_operator_diagnostics ... ok
[INFO] [stdout] test providers::provider_error_tests::missing_credentials_text_matches_legacy_message ... ok
[INFO] [stdout] test providers::openai::tests::tool_role_serializes_as_tool_message ... ok
[INFO] [stdout] test providers::stream::tests::anthropic_text_deltas_concatenate_and_carry_usage ... ok
[INFO] [stdout] test providers::stream::tests::final_usage_chunk_attaches_token_metadata ... ok
[INFO] [stdout] test providers::stream::tests::anthropic_tool_use_block_assembles_input_json ... ok
[INFO] [stdout] test providers::stream::tests::reasoning_content_captured_into_metadata_not_text ... ok
[INFO] [stdout] test providers::stream::tests::text_deltas_concatenate_to_final_content ... ok
[INFO] [stdout] test providers::tests::retry_after_caps_long_waits ... ok
[INFO] [stdout] test providers::stream::tests::tool_call_fragments_assemble_into_one_call ... ok
[INFO] [stdout] test providers::tests::backoff_delay_honors_retry_after_over_exponential ... ok
[INFO] [stdout] test providers::openai::tests::image_with_caption_uses_caption_as_text_block ... ok
[INFO] [stdout] test providers::tests::retry_after_parses_seconds ... ok
[INFO] [stdout] test providers::tests::token_usage_no_cache_fields_treats_all_input_as_miss ... ok
[INFO] [stdout] test providers::openai::tests::image_emits_image_url_data_uri ... ok
[INFO] [stdout] test providers::tests::token_usage_parses_anthropic_cache_read_and_creation ... ok
[INFO] [stdout] test providers::tests::retry_after_ignores_http_dates ... ok
[INFO] [stdout] test providers::tests::token_usage_parses_ollama_top_level_counts ... ok
[INFO] [stdout] test providers::tests::attached_usage_deserializes_into_proto_usage_with_cache_breakdown ... ok
[INFO] [stdout] test providers::tests::retryable_status_covers_throttling_and_5xx ... ok
[INFO] [stdout] test providers::tests::token_usage_parses_deepseek_explicit_hit_miss ... ok
[INFO] [stdout] test providers::deepseek::tests::assistant_response_preserves_reasoning_content_metadata ... ok
[INFO] [stdout] test providers::tests::token_usage_parses_openai_with_cached_prompt_details ... ok
[INFO] [stdout] test providers::stream::tests::partial_lines_across_chunk_boundaries_are_buffered ... ok
[INFO] [stdout] test providers::tests::backoff_delay_grows_within_cap ... ok
[INFO] [stdout] test providers::tests::token_usage_absent_when_no_usage_metadata ... ok
[INFO] [stdout] test providers::deepseek::tests::orphan_tool_result_becomes_user_context ... ok
[INFO] [stdout] test stream_tests::concatenated_text_chunks_equal_final_content ... ok
[INFO] [stdout] test stream_tests::single_message_stream_emits_text_then_done ... ok
[INFO] [stdout] test stream_tests::single_message_stream_skips_empty_text_for_tool_call_only_reply ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentos_memory_vector-d2f74f0d314b720c)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::delete_removes_a_record_from_results ... ok
[INFO] [stdout] test tests::hashing_fallback_ranks_token_overlap ... ok
[INFO] [stdout] test tests::ranks_by_embedder_similarity ... ok
[INFO] [stdout] test tests::search_is_namespace_scoped ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentos_proto-5849cbee4ee999b3)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test usage::tests::merge_sums_all_fields_including_call_count ... ok
[INFO] [stdout] test usage::tests::legacy_snapshot_without_cache_fields_deserializes ... ok
[INFO] [stdout] test usage::tests::record_call_accumulates_and_counts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests agentos_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests agentos_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests agentos_interfaces
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests agentos_llm
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests agentos_memory_vector
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests agentos_proto
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb", kill_on_drop: false }`
[INFO] [stdout] aeb264985afa1c53491ef0257a819ba5452a245905fcd0e5a08de3a27e7b7ffb
