[INFO] cloning repository https://github.com/BiBoyang/AMClaw [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BiBoyang/AMClaw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBiBoyang%2FAMClaw", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBiBoyang%2FAMClaw'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b2cfe8a31af8ec7da1d17e90bb1c511d61e8da5f [INFO] testing BiBoyang/AMClaw against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBiBoyang%2FAMClaw" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/BiBoyang/AMClaw [INFO] finished tweaking git repo https://github.com/BiBoyang/AMClaw [INFO] tweaked toml for git repo https://github.com/BiBoyang/AMClaw written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/BiBoyang/AMClaw on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/BiBoyang/AMClaw already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5e5ca7942f357145b4b8ee100a045fbdcfe61fed47ac6e2d643a6e56609d34ee [INFO] running `Command { std: "docker" "start" "-a" "5e5ca7942f357145b4b8ee100a045fbdcfe61fed47ac6e2d643a6e56609d34ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5e5ca7942f357145b4b8ee100a045fbdcfe61fed47ac6e2d643a6e56609d34ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5e5ca7942f357145b4b8ee100a045fbdcfe61fed47ac6e2d643a6e56609d34ee", kill_on_drop: false }` [INFO] [stdout] 5e5ca7942f357145b4b8ee100a045fbdcfe61fed47ac6e2d643a6e56609d34ee [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d12b61c3d57f44f7c2ebcb72452838046a6d1b7e2ccd2ebcff467fa05bb2839e [INFO] running `Command { std: "docker" "start" "-a" "d12b61c3d57f44f7c2ebcb72452838046a6d1b7e2ccd2ebcff467fa05bb2839e", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling chrono-tz v0.10.4 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling phf_shared v0.12.1 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling phf v0.12.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling AMClaw v0.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s [INFO] running `Command { std: "docker" "inspect" "d12b61c3d57f44f7c2ebcb72452838046a6d1b7e2ccd2ebcff467fa05bb2839e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d12b61c3d57f44f7c2ebcb72452838046a6d1b7e2ccd2ebcff467fa05bb2839e", kill_on_drop: false }` [INFO] [stdout] d12b61c3d57f44f7c2ebcb72452838046a6d1b7e2ccd2ebcff467fa05bb2839e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d782f621ccc35855f4b43a978b291a9bb147ef7de731ec743805056daf1a4b8e [INFO] running `Command { std: "docker" "start" "-a" "d782f621ccc35855f4b43a978b291a9bb147ef7de731ec743805056daf1a4b8e", kill_on_drop: false }` [INFO] [stderr] Compiling AMClaw v0.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 14.15s [INFO] running `Command { std: "docker" "inspect" "d782f621ccc35855f4b43a978b291a9bb147ef7de731ec743805056daf1a4b8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d782f621ccc35855f4b43a978b291a9bb147ef7de731ec743805056daf1a4b8e", kill_on_drop: false }` [INFO] [stdout] d782f621ccc35855f4b43a978b291a9bb147ef7de731ec743805056daf1a4b8e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d15c74a9f88404b2a35ec95e81fc357fee06e93bd3fee27e4a53a1c9116a45dd [INFO] running `Command { std: "docker" "start" "-a" "d15c74a9f88404b2a35ec95e81fc357fee06e93bd3fee27e4a53a1c9116a45dd", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/amclaw-c33b6735f81e085a) [INFO] [stdout] [INFO] [stdout] running 371 tests [INFO] [stdout] test agent_core::tests::agent_log_payload_keeps_contract_fields ... ok [INFO] [stdout] test agent_core::tests::ask_user_failure_action_returns_user_message ... ok [INFO] [stdout] test agent_core::tests::context_pack_exposes_section_metadata ... ok [INFO] [stdout] test agent_core::tests::agent_run_with_context_writes_upstream_metadata ... ok [INFO] [stdout] test agent_core::tests::context_pack_includes_previous_observation_summaries ... ok [INFO] [stdout] test agent_core::tests::current_step_index_tracks_executor_progress ... ok [INFO] [stdout] test agent_core::tests::current_step_replan_scope_preserves_done_prefix_and_tail ... ok [INFO] [stdout] test agent_core::tests::context_summary_contains_core_runtime_signals ... ok [INFO] [stdout] test agent_core::tests::daily_index_markdown_is_generated ... ok [INFO] [stdout] test agent_core::tests::context_assembler_includes_runtime_fields_and_observation ... ok [INFO] [stdout] test agent_core::tests::context_pack_records_trim_and_drop_reasons ... ok [INFO] [stdout] test agent_core::tests::llm_plan_json_is_supported ... ok [INFO] [stdout] test agent_core::tests::llm_plan_business_tools_are_supported ... ok [INFO] [stdout] test agent_core::tests::full_replan_scope_replaces_entire_plan ... ok [INFO] [stdout] test agent_core::tests::llm_plan_markdown_json_is_supported ... ok [INFO] [stdout] test agent_core::tests::llm_plan_with_expected_observation_is_supported ... ok [INFO] [stdout] test agent_core::tests::invalid_command_returns_error ... ok [INFO] [stdout] test agent_core::tests::llm_plan_with_plan_steps_and_progress_is_supported ... ok [INFO] [stdout] test agent_core::tests::low_value_observation_replan_then_ask_user ... ok [INFO] [stdout] test agent_core::tests::map_llm_plan_requires_path_for_read ... ok [INFO] [stdout] test agent_core::tests::latest_observation_pre_trims_to_section_budget ... ok [INFO] [stdout] test agent_core::tests::loop_create_then_read ... ok [INFO] [stdout] test agent_core::tests::failed_tool_marks_plan_step_failed ... ok [INFO] [stdout] test agent_core::tests::derive_runtime_session_state_merges_persistent_and_runtime ... ok [INFO] [stdout] test agent_core::tests::invalid_retriever_mode_fails_explicitly ... ok [INFO] [stdout] test agent_core::tests::merge_string_arrays_dedup_still_works_with_reserve ... ok [INFO] [stdout] test agent_core::tests::merge_string_arrays_deduplicates_and_caps_length ... ok [INFO] [stdout] test agent_core::tests::merge_string_arrays_is_case_insensitive_dedup ... ok [INFO] [stdout] test agent_core::tests::merge_string_arrays_runtime_signal_is_reserved_when_capacity_full ... ok [INFO] [stdout] test agent_core::tests::agent_run_writes_trace_file ... ok [INFO] [stdout] test agent_core::tests::agent_core_uses_retriever_trait_not_store_directly ... ok [INFO] [stdout] test agent_core::tests::one_step_is_not_enough_for_tool_then_finalize ... ok [INFO] [stdout] test agent_core::tests::prefix_command_is_supported ... ok [INFO] [stdout] test agent_core::tests::memory_v1_types_are_injected_with_labels ... ok [INFO] [stdout] test agent_core::tests::plan_step_statuses_are_tracked_in_trace ... ok [INFO] [stdout] test agent_core::tests::business_context_snapshot_reads_current_and_recent_tasks ... ok [INFO] [stdout] test agent_core::tests::memory_no_user_id_degrades_gracefully ... ok [INFO] [stdout] test agent_core::tests::legacy_flow_no_regression_with_default_rule_retriever ... ok [INFO] [stdout] test agent_core::tests::remaining_plan_replan_scope_replaces_remaining_steps ... ok [INFO] [stdout] test agent_core::tests::previous_observations_skip_duplicate_summaries ... ok [INFO] [stdout] test agent_core::tests::memory_feedback_retrieved_and_injected_are_recorded ... ok [INFO] [stdout] test agent_core::tests::hybrid_mode_returns_hybrid_retriever_with_fallback ... ok [INFO] [stdout] test agent_core::tests::recovery_loop_guard_prevents_infinite_escalation ... ok [INFO] [stdout] test agent_core::tests::memory_budget_trimming_for_typed_memories ... ok [INFO] [stdout] test agent_core::tests::business_context_snapshot_reads_user_memories ... ok [INFO] [stdout] test agent_core::tests::context_assembler_includes_business_context_sections ... ok [INFO] [stdout] test agent_core::tests::memory_user_isolation_prevents_cross_user_leak ... ok [INFO] [stdout] test agent_core::tests::memory_budget_trimming_removes_excess ... ok [INFO] [stdout] test agent_core::tests::replan_budget_exhaustion_turns_into_ask_user ... ok [INFO] [stdout] test agent_core::tests::run_context_builder_keeps_optional_fields ... ok [INFO] [stdout] test agent_core::tests::scripted_planner_supports_multi_step_tool_loop ... ok [INFO] [stdout] test agent_core::tests::low_value_observation_triggers_replan ... ok [INFO] [stdout] test agent_core::tests::session_state_persistent_fallback_goal_is_not_low_signal ... ok [INFO] [stdout] test agent_core::tests::session_state_persistent_goal_not_filtered_even_if_template_like_text ... ok [INFO] [stdout] test agent_core::tests::session_state_low_signal_only_for_runtime_default_goal ... ok [INFO] [stdout] test agent_core::tests::session_state_v2_all_slots_injected_into_prompt ... ok [INFO] [stdout] test agent_core::tests::session_text_compaction_supports_truncate_strategy ... ok [INFO] [stdout] test agent_core::tests::memory_feedback_applied_once_per_run ... ok [INFO] [stdout] test agent_core::tests::session_text_section_keeps_full_text_for_short_input ... ok [INFO] [stdout] test agent_core::tests::session_text_section_uses_boundary_compaction_for_long_input ... ok [INFO] [stdout] test agent_core::tests::stalled_trajectory_escalates_to_full_replan_then_ask_user ... ok [INFO] [stdout] test agent_core::tests::successful_tool_can_fail_done_rule_validation ... ok [INFO] [stdout] test agent_core::tests::preview_context_does_not_apply_memory_feedback ... ok [INFO] [stdout] test agent_core::tests::trace_contains_session_state_observability_fields ... ok [INFO] [stdout] test agent_core::tests::preview_context_respects_agent_config_summary_strategy ... ok [INFO] [stdout] test agent_core::tests::trace_context_pack_fields_populated_on_budget_trim ... ok [INFO] [stdout] test agent_core::tests::rollout_allowlist_miss_hybrid_fallback_to_rule ... ok [INFO] [stdout] test agent_core::tests::trace_records_recovery_attempt_action_outcome ... ok [INFO] [stdout] test agent_core::tests::preview_context_verbose_includes_section_content_and_memory_drop_details ... ok [INFO] [stdout] test agent_core::tests::rollout_allowlist_hit_shadow_uses_primary ... ok [INFO] [stdout] test agent_core::tests::trace_context_pack_fields_present_after_run ... ok [INFO] [stdout] test agent_core::tests::transient_failure_is_classified_as_retry_step ... ok [INFO] [stdout] test agent_core::tests::validate_expected_observation_checks_expected_fields ... ok [INFO] [stdout] test chat_adapter::tests::chat_log_payload_keeps_contract_fields ... ok [INFO] [stdout] test agent_core::tests::transient_failure_retry_then_replan ... ok [INFO] [stdout] test agent_core::tests::preview_context_renders_budget_and_sections ... ok [INFO] [stdout] test agent_core::tests::unfinished_plan_final_triggers_trajectory_drift_replan ... ok [INFO] [stdout] test agent_core::tests::rule_mode_returns_rule_retriever_directly ... ok [INFO] [stdout] test agent_core::tests::semantic_mode_falls_back_to_rule_with_fallback_name ... ok [INFO] [stdout] test agent_core::tests::shadow_mode_returns_shadow_retriever_with_rule_output ... ok [INFO] [stdout] test agent_core::tests::rollout_disabled_semantic_fallback_to_rule ... ok [INFO] [stdout] test agent_core::tests::session_state_trim_marks_budget_exceeded ... ok [INFO] [stdout] test agent_core::tests::session_state_dedup_marks_dropped ... ok [INFO] [stdout] test agent_core::tests::session_state_single_item_too_long_marks_dropped ... ok [INFO] [stdout] test agent_core::tests::session_state_multi_turn_isolation ... ok [INFO] [stdout] test agent_core::tests::retrieval_observability_fields_present_in_trace ... ok [INFO] [stdout] test agent_core::tests::suppressed_typed_memory_not_injected ... ok [INFO] [stdout] test agent_core::tests::trace_contains_typed_memory_observability_fields ... ok [INFO] [stdout] test chat_adapter::tests::empty_text_is_not_persisted ... ok [INFO] [stdout] test chat_adapter::tests::duplicate_link_messages_do_not_create_second_article_or_task ... ok [INFO] [stdout] test chat_adapter::tests::auto_memory_is_extracted_from_chat_text ... ok [INFO] [stdout] test chat_adapter::tests::manual_archive_rejected_reply_includes_current_status ... ok [INFO] [stdout] test chat_adapter::tests::duplicate_message_is_ignored_by_handle_message ... ok [INFO] [stdout] test chat_adapter::tests::handle_message_persists_inbound_text ... ok [INFO] [stdout] test chat_adapter::tests::daily_report_query_builds_reply ... ok [INFO] [stdout] test chat_adapter::tests::manual_content_submission_archives_task ... ok [INFO] [stdout] test chat_adapter::tests::context_debug_query_keeps_pending_session_intact ... ok [INFO] [stdout] test chat_adapter::tests::should_send_processing_ack_threshold_behavior ... ok [INFO] [stdout] test chat_adapter::tests::split_reply_into_chunks_long_text_multi_chunks ... ok [INFO] [stdout] test chat_adapter::tests::split_reply_into_chunks_preserves_full_content_when_joined ... ok [INFO] [stdout] test chat_adapter::tests::manual_tasks_query_does_not_create_new_tasks ... ok [INFO] [stdout] test chat_adapter::tests::split_reply_into_chunks_short_text_single_chunk ... ok [INFO] [stdout] test chat_adapter::tests::context_debug_does_not_corrupt_persistent_state ... ok [INFO] [stdout] test chat_adapter::tests::persisted_session_is_restored_on_bot_startup ... ok [INFO] [stdout] test chat_adapter::tests::no_session_state_does_not_panic ... ok [INFO] [stdout] test chat_adapter::tests::link_message_creates_article_and_task ... ok [INFO] [stdout] test chat_adapter::tests::pending_chat_session_is_persisted ... ok [INFO] [stdout] test chat_adapter::tests::session_state_user_isolation_in_chat_adapter ... ok [INFO] [stdout] test chat_adapter::tests::session_state_v2_fields_written_on_flush ... ok [INFO] [stdout] test chat_adapter::tests::recent_tasks_query_does_not_create_new_tasks ... ok [INFO] [stdout] test command_router::tests::bang_bang_suffix_becomes_commit ... ok [INFO] [stdout] test command_router::tests::bare_commit_marker_is_ignored ... ok [INFO] [stdout] test command_router::tests::bare_continue_marker_is_ignored ... ok [INFO] [stdout] test command_router::tests::bare_domain_becomes_link_submission ... ok [INFO] [stdout] test command_router::tests::bare_domain_with_path_becomes_link_submission ... ok [INFO] [stdout] test command_router::tests::daily_report_command_is_supported ... ok [INFO] [stdout] test command_router::tests::dot_dot_suffix_becomes_continue ... ok [INFO] [stdout] test command_router::tests::duplicate_urls_are_deduplicated ... ok [INFO] [stdout] test command_router::tests::email_like_text_is_not_treated_as_link ... ok [INFO] [stdout] test command_router::tests::empty_text_is_ignored ... ok [INFO] [stdout] test command_router::tests::english_status_command_is_supported ... ok [INFO] [stdout] test command_router::tests::manual_content_submission_is_supported ... ok [INFO] [stdout] test command_router::tests::manual_tasks_command_is_supported ... ok [INFO] [stdout] test command_router::tests::mixed_text_with_url_becomes_link_submission ... ok [INFO] [stdout] test command_router::tests::plain_text_becomes_pending ... ok [INFO] [stdout] test command_router::tests::recent_tasks_command_is_supported ... ok [INFO] [stdout] test command_router::tests::retry_command_becomes_task_retry ... ok [INFO] [stdout] test command_router::tests::status_command_becomes_task_query ... ok [INFO] [stdout] test command_router::tests::surrounding_whitespace_is_trimmed ... ok [INFO] [stdout] test command_router::tests::trailing_punctuation_is_removed_from_url ... ok [INFO] [stdout] test command_router::tests::url_becomes_link_submission ... ok [INFO] [stdout] test command_router::tests::user_memory_commands_are_supported ... ok [INFO] [stdout] test command_router::tests::user_memory_suppress_commands_are_supported ... ok [INFO] [stdout] test command_router::tests::weekly_report_command_is_supported ... ok [INFO] [stdout] test config::tests::default_retriever_mode_is_rule ... ok [INFO] [stdout] test config::tests::invalid_toml_returns_error ... ok [INFO] [stdout] test config::tests::missing_config_is_created_with_defaults ... ok [INFO] [stdout] test chat_adapter::tests::send_generated_reply_writes_trace_with_chat_context ... ok [INFO] [stdout] test context_pack::tests::context_pack_builds_with_sections ... ok [INFO] [stdout] test config::tests::relative_storage_root_is_resolved_against_config_dir ... ok [INFO] [stdout] test context_pack::tests::context_pack_no_state_degradation ... ok [INFO] [stdout] test context_pack::tests::context_pack_trim_records_reason ... ok [INFO] [stdout] test context_pack::tests::context_pack_drop_reasons_on_budget_exceeded ... ok [INFO] [stdout] test context_pack::tests::section_access_by_kind ... ok [INFO] [stdout] test context_pack::tests::tie_break_drops_smaller_section_first ... ok [INFO] [stdout] test mode_policy::tests::restricted_allows_172_32 ... ok [INFO] [stdout] test mode_policy::tests::restricted_allows_public_url ... ok [INFO] [stdout] test mode_policy::tests::restricted_allows_read ... ok [INFO] [stdout] test mode_policy::tests::restricted_denies_127_0_0_1 ... ok [INFO] [stdout] test mode_policy::tests::restricted_denies_172_16 ... ok [INFO] [stdout] test mode_policy::tests::restricted_denies_file_protocol ... ok [INFO] [stdout] test mode_policy::tests::restricted_denies_ipv6_loopback ... ok [INFO] [stdout] test mode_policy::tests::restricted_denies_localhost_url ... ok [INFO] [stdout] test mode_policy::tests::restricted_denies_run_command ... ok [INFO] [stdout] test mode_policy::tests::unrestricted_allows_all_tools ... ok [INFO] [stdout] test logging::tests::structured_log_payload_has_core_fields_and_drops_nulls ... ok [INFO] [stdout] test pipeline::tests::browser_capture_response_paths_must_match_request ... ok [INFO] [stdout] test pipeline::tests::http_archive_extracts_generic_article_body ... ok [INFO] [stdout] test pipeline::tests::browser_capture_archive_uses_extracted_body ... ok [INFO] [stdout] test pipeline::tests::http_redirect_to_private_target_is_rejected ... ok [INFO] [stdout] test pipeline::tests::http_archive_includes_summary_section ... ok [INFO] [stdout] test pipeline::tests::non_wechat_urls_allow_http_redirects ... ok [INFO] [stdout] test pipeline::tests::page_kind_article_keeps_existing_logic ... ok [INFO] [stdout] test pipeline::tests::page_kind_error_page_chinese ... ok [INFO] [stdout] test pipeline::tests::page_kind_error_page_detected_without_primary_body ... ok [INFO] [stdout] test pipeline::tests::page_kind_error_page_short_with_error_title ... ok [INFO] [stdout] test pipeline::tests::page_kind_index_like_many_links_little_prose ... ok [INFO] [stdout] test pipeline::tests::page_kind_index_like_many_list_items ... ok [INFO] [stdout] test pipeline::tests::page_kind_link_post_short_with_link ... ok [INFO] [stdout] test pipeline::tests::page_kind_long_article_about_404_not_classified_as_error ... ok [INFO] [stdout] test pipeline::tests::page_kind_webpage_fallback ... ok [INFO] [stdout] test pipeline::tests::pipeline_log_payload_keeps_contract_fields ... ok [INFO] [stdout] test pipeline::tests::primary_body_extracts_wechat_title_and_content ... ok [INFO] [stdout] test pipeline::tests::primary_body_keeps_links_and_images ... ok [INFO] [stdout] test pipeline::tests::manual_content_creates_archive ... ok [INFO] [stdout] test pipeline::tests::primary_body_keeps_links_and_images_with_single_quoted_attrs ... ok [INFO] [stdout] test pipeline::tests::processing_pending_task_creates_markdown_file ... ok [INFO] [stdout] test pipeline::tests::redirected_wechat_error_page_is_detected_by_final_url ... ok [INFO] [stdout] test pipeline::tests::rule_summary_filters_navigation_text ... ok [INFO] [stdout] test pipeline::tests::rule_summary_returns_none_for_empty_input ... ok [INFO] [stdout] test pipeline::tests::rule_summary_generates_from_title_and_paragraphs ... ok [INFO] [stdout] test pipeline::tests::title_extraction_handles_missing_title ... ok [INFO] [stdout] test pipeline::tests::rule_summary_skips_short_paragraphs ... ok [INFO] [stdout] test pipeline::tests::wechat_captcha_redirect_is_rejected ... ok [INFO] [stdout] test pipeline::tests::wechat_domain_prefers_browser_capture ... ok [INFO] [stdout] test pipeline::tests::wechat_urls_keep_redirect_guard ... ok [INFO] [stdout] test pipeline::tests::wechat_error_page_is_rejected ... ok [INFO] [stdout] test chat_adapter::tests::task_status_can_reflect_awaiting_manual_input ... ok [INFO] [stdout] test chat_adapter::tests::session_state_is_written_on_flush ... ok [INFO] [stdout] test chat_adapter::tests::status_query_after_link_keeps_single_task ... ok [INFO] [stdout] test chat_adapter::tests::user_memory_commands_write_and_read_back ... ok [INFO] [stdout] test chat_adapter::tests::status_query_does_not_create_article_or_task ... ok [INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_empty_batch ... ok [INFO] [stdout] test chat_adapter::tests::user_memory_useful_command_cannot_mark_other_users_memory ... ok [INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_model_name_returns_inner ... ok [INFO] [stdout] test chat_adapter::tests::weekly_report_query_builds_reply ... ok [INFO] [stdout] test chat_adapter::tests::user_memory_suppress_command_cannot_remove_other_users_memory ... ok [INFO] [stdout] test chat_adapter::tests::session_state_updated_at_is_refreshed_after_agent_run ... ok [INFO] [stdout] test chat_adapter::tests::user_memory_suppress_command_removes_from_list ... ok [INFO] [stdout] test chat_adapter::tests::user_memory_useful_command_marks_memory_useful ... ok [INFO] [stdout] test retriever::embedding::tests::create_provider_deepseek_without_env_fails ... ok [INFO] [stdout] test retriever::embedding::tests::create_provider_moonshot_without_env_fails ... ok [INFO] [stdout] test retriever::embedding::tests::create_provider_noop_works ... ok [INFO] [stdout] test retriever::embedding::tests::create_provider_unknown_fails ... ok [INFO] [stdout] test retriever::embedding::tests::embedding_response_parsing ... ok [INFO] [stdout] test retriever::embedding::tests::noop_embed_documents_returns_explicit_error ... ok [INFO] [stdout] test retriever::embedding::tests::noop_embed_query_returns_explicit_error ... ok [INFO] [stdout] test retriever::embedding::tests::noop_provider_has_stable_model_name ... ok [INFO] [stdout] test retriever::guarded::tests::guarded_disabled_uses_fallback ... ok [INFO] [stdout] test retriever::guarded::tests::guarded_enabled_empty_allowlist_allows_all ... ok [INFO] [stdout] test retriever::guarded::tests::guarded_enabled_with_allowlist_hit_uses_primary ... ok [INFO] [stdout] test retriever::guarded::tests::guarded_enabled_with_allowlist_miss_uses_fallback ... ok [INFO] [stdout] test retriever::guarded::tests::guarded_fallback_only_always_uses_fallback ... ok [INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_different_dimensions ... ok [INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_identical_vectors ... ok [INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_opposite_vectors ... ok [INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_orthogonal_vectors ... ok [INFO] [stdout] test retriever::hybrid::tests::cosine_similarity_zero_vector ... ok [INFO] [stdout] test chat_adapter::tests::session_state_is_loaded_and_injected_into_agent_context ... ok [INFO] [stdout] test reporter::tests::daily_report_includes_summary_when_available ... ok [INFO] [stdout] test reporter::tests::daily_report_is_generated_for_archived_tasks ... ok [INFO] [stdout] test reporter::tests::weekly_report_is_generated_for_archived_tasks ... ok [INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_batch_roundtrip ... ok [INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_miss_then_hit ... ok [INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_survives_db_missing ... ok [INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_clear ... ok [INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_roundtrip ... ok [INFO] [stdout] test retriever::cached_embedding::tests::cached_provider_batch_partial_hit ... ok [INFO] [stdout] test retriever::cached_embedding::tests::task_store_embedding_cache_stats ... ok [INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_custom_alpha ... ok [INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_basic_flow ... ok [INFO] [stdout] test reporter::tests::utc_storage_with_local_timezone_boundary_is_correct ... ok [INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_empty_result_for_unknown_user ... ok [INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_custom_name ... ok [INFO] [stdout] test retriever::rule::tests::rule_retriever_custom_name ... ok [INFO] [stdout] test retriever::rule::tests::rule_retriever_user_isolation ... ok [INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_fallback_on_empty_query_text ... ok [INFO] [stdout] test retriever::rule::tests::rule_retriever_empty_result_for_unknown_user ... ok [INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_respects_limit ... ok [INFO] [stdout] test retriever::rule::tests::rule_retriever_returns_same_order_as_task_store_search ... ok [INFO] [stdout] test retriever::rule::tests::retrieve_result_contains_retriever_name_and_counts ... ok [INFO] [stdout] test retriever::semantic::tests::semantic_retriever_empty_result_for_unknown_user ... ok [INFO] [stdout] test retriever::semantic::tests::semantic_retriever_custom_name ... ok [INFO] [stdout] test retriever::hybrid::tests::hybrid_retriever_fallback_on_embedding_error ... ok [INFO] [stdout] test scheduler::tests::daily_report_schedule_is_built_from_config ... ok [INFO] [stdout] test scheduler::tests::daily_run_time_is_parsed ... ok [INFO] [stdout] test scheduler::tests::invalid_daily_run_time_is_rejected ... ok [INFO] [stdout] test scheduler::tests::should_run_only_after_scheduled_time_and_once_per_day ... ok [INFO] [stdout] test scheduler::tests::should_run_weekly_after_target_weekday_and_once_per_week ... ok [INFO] [stdout] test scheduler::tests::weekly_report_schedule_is_built_from_config ... ok [INFO] [stdout] test retriever::semantic::tests::semantic_retriever_basic_flow ... ok [INFO] [stdout] test session_router::tests::commit_flushes_buffered_messages ... ok [INFO] [stdout] test session_router::tests::continue_does_not_flush_immediately ... ok [INFO] [stdout] test session_router::tests::expired_session_is_flushed ... ok [INFO] [stdout] test session_router::tests::flushed_session_is_removed ... ok [INFO] [stdout] test session_router::tests::message_ids_are_preserved_when_flushing ... ok [INFO] [stdout] test session_router::tests::next_flush_delay_tracks_soonest_session ... ok [INFO] [stdout] test session_router::tests::pending_messages_do_not_flush_immediately ... ok [INFO] [stdout] test session_router::tests::restore_session_allows_timeout_flush ... ok [INFO] [stdout] test session_router::tests::session_snapshot_reflects_buffered_state ... ok [INFO] [stdout] test session_router::tests::users_are_isolated ... ok [INFO] [stdout] test session_summary::tests::build_session_text_uses_full_for_short_input ... ok [INFO] [stdout] test session_summary::tests::build_session_text_uses_boundary_for_long_input ... ok [INFO] [stdout] test session_summary::tests::semantic_summary_keeps_keywords_and_last_segment ... ok [INFO] [stdout] test session_summary::tests::truncate_summary_adds_notice ... ok [INFO] [stdout] test retriever::rule::tests::rule_retriever_returns_metadata_with_memory_type_and_priority ... ok [INFO] [stdout] test retriever::semantic::tests::semantic_retriever_fallback_on_embedding_error ... ok [INFO] [stdout] test retriever::shadow::tests::shadow_empty_result_for_unknown_user ... ok [INFO] [stdout] test task_store::tests::domain_resolving_to_private_ip_is_blocked ... ok [INFO] [stdout] test task_store::tests::domain_resolving_to_public_ip_is_allowed ... ok [INFO] [stdout] test retriever::semantic::tests::semantic_retriever_fallback_on_empty_query_text ... ok [INFO] [stdout] test retriever::shadow::tests::shadow_custom_name ... ok [INFO] [stdout] test retriever::shadow::tests::shadow_skips_hybrid_when_query_text_empty ... ok [INFO] [stdout] test retriever::shadow::tests::shadow_matches_rule_output ... ok [INFO] [stdout] test retriever::shadow::tests::shadow_returns_rule_result_even_with_hybrid ... ok [INFO] [stdout] test retriever::semantic::tests::semantic_retriever_respects_limit ... ok [INFO] [stdout] test task_store::tests::fc_fd_prefix_domain_names_are_not_falsely_blocked ... ok [INFO] [stdout] test retriever::shadow::tests::shadow_retrieve_non_blocking ... ok [INFO] [stdout] test retriever::shadow::tests::shadow_without_hybrid_works_like_rule ... ok [INFO] [stdout] test task_store::tests::feedback_state_is_single_source ... ok [INFO] [stdout] test task_store::tests::confirm_memory_useful_enforces_user_ownership ... ok [INFO] [stdout] test task_store::tests::archived_tasks_can_be_listed ... ok [INFO] [stdout] test task_store::tests::context_token_can_be_persisted_and_loaded ... ok [INFO] [stdout] test task_store::tests::duplicate_link_returns_existing_article_and_task ... ok [INFO] [stdout] test task_store::tests::feedback_injected_updates_injected_count ... ok [INFO] [stdout] test task_store::tests::feedback_retrieved_updates_retrieved_count ... ok [INFO] [stdout] test task_store::tests::duplicate_message_does_not_create_second_inbound_row ... ok [INFO] [stdout] test task_store::tests::feedback_useful_updates_use_count_and_useful_and_last_used_at ... ok [INFO] [stdout] test task_store::tests::duplicate_message_is_ignored_even_after_reopen ... ok [INFO] [stdout] test task_store::tests::govern_auto_does_not_downgrade_explicit ... ok [INFO] [stdout] test task_store::tests::explicit_still_sorts_before_auto ... ok [INFO] [stdout] test task_store::tests::explicit_memory_sorts_before_auto ... ok [INFO] [stdout] test task_store::tests::expired_lease_task_can_be_reclaimed ... ok [INFO] [stdout] test task_store::tests::govern_explicit_promotes_lesson ... ok [INFO] [stdout] test task_store::tests::govern_project_fact_cannot_downgrade_explicit ... ok [INFO] [stdout] test task_store::tests::govern_explicit_promotes_auto ... ok [INFO] [stdout] test task_store::tests::is_private_url_detects_all_known_patterns ... ok [INFO] [stdout] test task_store::tests::govern_skips_empty_content ... ok [INFO] [stdout] test task_store::tests::govern_skips_duplicate_same_type ... ok [INFO] [stdout] test task_store::tests::concurrent_writes_do_not_panic_on_busy ... ok [INFO] [stdout] test task_store::tests::govern_user_preference_promotes_auto ... ok [INFO] [stdout] test task_store::tests::govern_skips_too_long_content ... ok [INFO] [stdout] test task_store::tests::memory_type_label_prefixes_are_correct ... ok [INFO] [stdout] test task_store::tests::govern_lesson_skips_duplicate_project_fact ... ok [INFO] [stdout] test task_store::tests::govern_write_state_counters_accurate ... ok [INFO] [stdout] test task_store::tests::govern_write_state_no_cross_user_leak ... ok [INFO] [stdout] test task_store::tests::govern_writes_new_explicit_memory ... ok [INFO] [stdout] test task_store::tests::govern_writes_new_auto_memory ... ok [INFO] [stdout] test task_store::tests::inbound_message_text_is_persisted ... ok [INFO] [stdout] test task_store::tests::javascript_scheme_is_rejected_during_link_submission ... ok [INFO] [stdout] test task_store::tests::higher_use_count_sorts_first ... ok [INFO] [stdout] test task_store::tests::lesson_can_be_written_and_retrieved ... ok [INFO] [stdout] test task_store::tests::memory_type_user_isolation ... ok [INFO] [stdout] test task_store::tests::last_used_at_affects_sorting ... ok [INFO] [stdout] test task_store::tests::link_submission_creates_article_and_task ... ok [INFO] [stdout] test task_store::tests::memory_write_threshold_skips_noise ... ok [INFO] [stdout] test task_store::tests::non_http_scheme_is_rejected_during_link_submission ... ok [INFO] [stdout] test task_store::tests::manual_tasks_can_be_listed ... ok [INFO] [stdout] test task_store::tests::new_memory_types_sort_by_priority ... ok [INFO] [stdout] test task_store::tests::pending_tasks_can_be_listed_and_archived ... ok [INFO] [stdout] test task_store::tests::project_fact_can_be_written_and_retrieved ... ok [INFO] [stdout] test task_store::tests::private_network_urls_are_rejected ... ok [INFO] [stdout] test task_store::tests::querying_missing_task_returns_none ... ok [INFO] [stdout] test task_store::tests::recent_tasks_returns_latest_first ... ok [INFO] [stdout] test task_store::tests::retry_missing_task_returns_none ... ok [INFO] [stdout] test task_store::tests::retry_task_resets_status_and_clears_error ... ok [INFO] [stdout] test task_store::tests::retry_processing_task_returns_validation_error ... ok [INFO] [stdout] test task_store::tests::search_memories_respects_limit ... ok [INFO] [stdout] test task_store::tests::task_store_log_payload_keeps_contract_fields ... ok [INFO] [stdout] test task_store::tests::schema_is_created ... ok [INFO] [stdout] test task_store::tests::search_memories_returns_all_sorted ... ok [INFO] [stdout] test task_store::tests::search_memories_sorts_by_priority_and_dedupes ... ok [INFO] [stdout] test task_store::tests::session_state_can_be_persisted_listed_and_deleted ... ok [INFO] [stdout] test task_store::tests::sorting_is_deterministic ... ok [INFO] [stdout] test task_store::tests::suppress_memory_excludes_from_results ... ok [INFO] [stdout] test task_store::tests::summary_is_overwritten_on_rerun ... ok [INFO] [stdout] test task_store::tests::suppress_memory_rejects_unknown_id ... ok [INFO] [stdout] test task_store::tests::suppress_memory_rejects_other_users_memory ... ok [INFO] [stdout] test task_store::tests::task_can_be_marked_awaiting_manual_input ... ok [INFO] [stdout] test task_store::tests::task_can_be_marked_failed ... ok [INFO] [stdout] test task_store::tests::task_status_can_be_queried ... ok [INFO] [stdout] test chat_adapter::tests::pending_link_task_is_consumed ... ok [INFO] [stdout] test task_store::tests::tracking_query_params_are_removed_during_normalization ... ok [INFO] [stdout] test task_store::tests::user_memory_can_be_added_and_listed ... ok [INFO] [stdout] test task_store::tests::user_memory_dedup_check_works ... ok [INFO] [stdout] test task_store::tests::useful_auto_sorts_before_non_useful_auto ... ok [INFO] [stdout] test task_store::tests::user_memory_isolation ... ok [INFO] [stdout] test task_store::tests::user_memory_schema_has_new_fields ... ok [INFO] [stdout] test tool_registry::tests::create_write_read_file_works ... ok [INFO] [stdout] test task_store::tests::user_memory_typed_auto ... ok [INFO] [stdout] test tool_registry::tests::deny_outside_workspace_path ... ok [INFO] [stdout] test tool_registry::tests::deny_symlink_file_escape_read ... ok [INFO] [stdout] test tool_registry::tests::deny_symlink_parent_escape_write ... ok [INFO] [stdout] test task_store::tests::user_preference_can_be_written_and_retrieved ... ok [INFO] [stdout] test task_store::tests::user_session_state_all_optional_fields_can_be_none ... ok [INFO] [stdout] test task_store::tests::user_memory_migration_adds_columns ... ok [INFO] [stdout] test task_store::tests::user_session_state_clear_removes_record ... ok [INFO] [stdout] test task_store::tests::user_session_state_first_write_and_read_back ... ok [INFO] [stdout] test task_store::tests::user_session_state_empty_load_returns_none ... ok [INFO] [stdout] test task_store::tests::user_session_state_overwrite_updates_fields ... ok [INFO] [stdout] test task_store::tests::user_session_state_survives_reopen ... ok [INFO] [stdout] test chat_adapter::tests::retry_command_processes_task_immediately ... ok [INFO] [stdout] test task_store::tests::user_session_state_user_isolation ... ok [INFO] [stdout] test task_store::tests::user_session_state_v2_fields_round_trip ... ok [INFO] [stdout] test task_store::tests::user_session_state_upsert_empty_user_id_fails ... ok [INFO] [stdout] test tool_registry::tests::deny_archive_path_outside_workspace ... ok [INFO] [stdout] test tool_registry::tests::get_task_status_reads_from_task_store ... ok [INFO] [stdout] test task_store::tests::user_session_state_v2_migration_on_existing_db ... ok [INFO] [stdout] test tool_registry::tests::list_recent_and_manual_tasks_read_from_task_store ... ok [INFO] [stdout] test tool_registry::tests::read_article_archive_reads_output_file_from_task_status ... ok [INFO] [stdout] test reporter::tests::daily_report_does_not_miss_entries_when_recent_history_is_large ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 371 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.15s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/amclaw-edd874f84c4f9103) [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests src/bin/context_eval.rs (/opt/rustwide/target/debug/deps/context_eval-2c4c59a9a19507b9) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/embedding_test.rs (/opt/rustwide/target/debug/deps/embedding_test-734666bd61885e66) [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 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 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/hybrid_test.rs (/opt/rustwide/target/debug/deps/hybrid_test-1d6d6a5f192743fd) [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/trace_eval.rs (/opt/rustwide/target/debug/deps/trace_eval-e7fce63b3a4b9a7e) [INFO] [stdout] [INFO] [stdout] running 36 tests [INFO] [stdout] test tests::report_parser_tolerates_missing_recovery_fields ... ok [INFO] [stdout] test tests::test_avg_step_count_boundaries ... ok [INFO] [stdout] test tests::recovery_success_rate_computation_with_mixed_attempts ... ok [INFO] [stdout] test tests::report_parser_tolerates_missing_retriever_fields ... ok [INFO] [stdout] test tests::test_compare_report_generation ... ok [INFO] [stdout] test tests::test_fallback_rate_lower_is_better ... ok [INFO] [stdout] test tests::test_gate_all_pass_overall_pass ... ok [INFO] [stdout] test tests::test_gate_baseline_drop_downgrades ... ok [INFO] [stdout] test tests::test_gate_small_sample_caps_at_warn ... ok [INFO] [stdout] test tests::test_gate_core_fail_overall_fail ... ok [INFO] [stdout] test tests::test_overall_all_pass ... ok [INFO] [stdout] test tests::test_gate_only_warn_overall_warn ... ok [INFO] [stdout] test tests::test_overall_any_fail ... ok [INFO] [stdout] test tests::test_overall_warn_only ... ok [INFO] [stdout] test tests::test_parse_report_invalid_plain_text ... ok [INFO] [stdout] test tests::report_aggregates_metrics_by_retriever_name ... ok [INFO] [stdout] test tests::test_parse_markdown_table_empty ... ok [INFO] [stdout] test tests::test_scenario_a_relax_threshold ... ok [INFO] [stdout] test tests::test_parse_report_basic ... ok [INFO] [stdout] test tests::test_scenario_c_baseline_downgrade ... ok [INFO] [stdout] test tests::test_scenario_b_na_transition ... ok [INFO] [stdout] test tests::test_parse_report_invalid_zero_traces ... ok [INFO] [stdout] test tests::test_recovery_by_failure_type_uses_attempt_level_aggregation ... ok [INFO] [stdout] test tests::test_scenario_c_no_downgrade_when_small_drop ... ok [INFO] [stdout] test tests::test_recovery_success_absolute_fail ... ok [INFO] [stdout] test tests::test_parse_report_invalid_no_summary ... ok [INFO] [stdout] test tests::test_overall_unknown_failure_hard_threshold ... ok [INFO] [stdout] test tests::test_split_into_sections ... ok [INFO] [stdout] test tests::test_success_rate_pass ... ok [INFO] [stdout] test tests::test_overall_success_rate_hard_threshold ... ok [INFO] [stdout] test tests::test_success_rate_warn ... ok [INFO] [stdout] test tests::test_parse_report_invalid_no_success ... ok [INFO] [stdout] test tests::test_unknown_failure_absolute_fail ... ok [INFO] [stdout] test tests::test_success_rate_fail ... ok [INFO] [stdout] test tests::test_parse_report_missing_fields ... ok [INFO] [stdout] test tests::test_parse_markdown_table_basic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/doc_mirrors.rs (/opt/rustwide/target/debug/deps/doc_mirrors-1846a7a4c73b4b7d) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test claude_files_exist_for_all_agents_files ... ok [INFO] [stderr] Running tests/scope_markers.rs (/opt/rustwide/target/debug/deps/scope_markers-e91d13b92929524e) [INFO] [stdout] test claude_files_match_agents_files_except_title ... ok [INFO] [stderr] Doc-tests amclaw [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test root_scope_markers_are_global ... ok [INFO] [stdout] test module_scope_markers_match_directory ... 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] [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" "d15c74a9f88404b2a35ec95e81fc357fee06e93bd3fee27e4a53a1c9116a45dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d15c74a9f88404b2a35ec95e81fc357fee06e93bd3fee27e4a53a1c9116a45dd", kill_on_drop: false }` [INFO] [stdout] d15c74a9f88404b2a35ec95e81fc357fee06e93bd3fee27e4a53a1c9116a45dd