[INFO] cloning repository https://github.com/cgtarmenta/jarvis [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cgtarmenta/jarvis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcgtarmenta%2Fjarvis", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcgtarmenta%2Fjarvis'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3638fa014628536a778af646bae47440f42d8c74 [INFO] testing cgtarmenta/jarvis against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcgtarmenta%2Fjarvis" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/cgtarmenta/jarvis [INFO] finished tweaking git repo https://github.com/cgtarmenta/jarvis [INFO] tweaked toml for git repo https://github.com/cgtarmenta/jarvis written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cgtarmenta/jarvis on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/cgtarmenta/jarvis 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 12b59f07711862ef17a457fef530b5eefd529d6efca68fe2bedbd8fc9ae660ec [INFO] running `Command { std: "docker" "start" "-a" "12b59f07711862ef17a457fef530b5eefd529d6efca68fe2bedbd8fc9ae660ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "12b59f07711862ef17a457fef530b5eefd529d6efca68fe2bedbd8fc9ae660ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12b59f07711862ef17a457fef530b5eefd529d6efca68fe2bedbd8fc9ae660ec", kill_on_drop: false }` [INFO] [stdout] 12b59f07711862ef17a457fef530b5eefd529d6efca68fe2bedbd8fc9ae660ec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d37d1d57b2cd65fe4ede050bf34043de30074e0fdda6c4003bf433023f6645d2 [INFO] running `Command { std: "docker" "start" "-a" "d37d1d57b2cd65fe4ede050bf34043de30074e0fdda6c4003bf433023f6645d2", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling toml_edit v0.25.11+spec-1.1.0 [INFO] [stderr] Compiling cc v1.2.62 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling piper v0.2.5 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling siphasher v1.0.3 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling rustls v0.23.40 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling phf_shared v0.12.1 [INFO] [stderr] Compiling uuid v1.23.1 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling async-executor v1.14.0 [INFO] [stderr] Compiling blocking v1.6.2 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling chrono-tz v0.10.4 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling phf v0.12.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling serial2 v0.2.37 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling evalexpr v13.1.0 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling which v6.0.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling polling v3.11.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling async-signal v0.2.14 [INFO] [stderr] Compiling async-process v2.5.0 [INFO] [stderr] Compiling zerofrom v0.1.8 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling dialoguer v0.11.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling portable-pty v0.9.0 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling zvariant_utils v3.3.0 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling zvariant_derive v5.9.2 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling zvariant v5.9.2 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ureq v2.12.1 [INFO] [stderr] Compiling zbus_names v4.3.1 [INFO] [stderr] Compiling zbus_macros v5.13.2 [INFO] [stderr] Compiling zbus v5.13.2 [INFO] [stderr] Compiling notify-rust v4.17.0 [INFO] [stderr] Compiling jarvis-voice v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s [INFO] running `Command { std: "docker" "inspect" "d37d1d57b2cd65fe4ede050bf34043de30074e0fdda6c4003bf433023f6645d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d37d1d57b2cd65fe4ede050bf34043de30074e0fdda6c4003bf433023f6645d2", kill_on_drop: false }` [INFO] [stdout] d37d1d57b2cd65fe4ede050bf34043de30074e0fdda6c4003bf433023f6645d2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 76eaf7cc8bbf9a9e35a321b08c94d34e333ad71b66b2b9efa774c26d903f6928 [INFO] running `Command { std: "docker" "start" "-a" "76eaf7cc8bbf9a9e35a321b08c94d34e333ad71b66b2b9efa774c26d903f6928", kill_on_drop: false }` [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling assert_cmd v2.2.2 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling jarvis-voice v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 18.25s [INFO] running `Command { std: "docker" "inspect" "76eaf7cc8bbf9a9e35a321b08c94d34e333ad71b66b2b9efa774c26d903f6928", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76eaf7cc8bbf9a9e35a321b08c94d34e333ad71b66b2b9efa774c26d903f6928", kill_on_drop: false }` [INFO] [stdout] 76eaf7cc8bbf9a9e35a321b08c94d34e333ad71b66b2b9efa774c26d903f6928 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a6758b92fb04904cedb47b47c3f3d54f0adf0f93bd0a14e01a53e1d92f65cb1a [INFO] running `Command { std: "docker" "start" "-a" "a6758b92fb04904cedb47b47c3f3d54f0adf0f93bd0a14e01a53e1d92f65cb1a", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/jarvis-2dd37619506a3743) [INFO] [stdout] [INFO] [stdout] running 301 tests [INFO] [stdout] test agents::claude_attach::tests::encode_matches_known_layout ... ok [INFO] [stdout] test agents::tests::agent_default_current_session_id_is_none ... ok [INFO] [stdout] test agents::claude::tests::bundled_starter_manifest_parses ... ok [INFO] [stdout] test agents::claude_attach::tests::resolve_priority ... ok [INFO] [stdout] test agents::claude::tests::warn_deprecated_handles_all_keys ... ok [INFO] [stdout] test cli::task_tests::humanise_age_brackets ... ok [INFO] [stdout] test cli::task_tests::format_detail_includes_all_metadata ... ok [INFO] [stdout] test agents::claude_attach::tests::state_roundtrips ... ok [INFO] [stdout] test cli::task_tests::format_list_filters_by_status ... ok [INFO] [stdout] test cli::task_tests::clean_drops_old_terminal_tasks ... ok [INFO] [stdout] test dispatcher::cascade::tests::cascade_returns_first_match ... ok [INFO] [stdout] test dispatcher::default::tests::default_dispatcher_always_returns_some ... ok [INFO] [stdout] test cli::tests::format_built_in_active_worker ... ok [INFO] [stdout] test cli::task_tests::format_list_empty ... ok [INFO] [stdout] test dispatcher::cascade::tests::cascade_returns_none_when_all_stages_decline ... ok [INFO] [stdout] test dispatcher::cascade::tests::cascade_skips_none_stages ... ok [INFO] [stdout] test dispatcher::default::tests::worker_id_accessor ... ok [INFO] [stdout] test dispatcher::default::tests::default_dispatcher_unwraps_stateless_marker ... ok [INFO] [stdout] test dispatcher::cascade::tests::stage_count_reflects_pushes ... ok [INFO] [stdout] test dispatcher::intent::tests::first_matcher_to_claim_wins ... ok [INFO] [stdout] test cli::tests::format_empty_registry ... ok [INFO] [stdout] test dispatcher::intent::tests::matcher_count_reflects_pushes ... ok [INFO] [stdout] test dispatcher::default::tests::default_dispatcher_carries_session_id_from_active_workers ... ok [INFO] [stdout] test dispatcher::intent::tests::no_matches_returns_none ... ok [INFO] [stdout] test dispatcher::intent::tests::session_id_flows_through_when_recorded ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::backend_name_passes_through ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_errors_on_missing_backend ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_errors_on_missing_endpoint ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_errors_on_missing_model ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_errors_on_unknown_backend ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_openai_compat_full ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_opencode_full ... ok [INFO] [stdout] test cli::tests::format_mixed_actives_and_disabled ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_oz_full ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_oz_minimal ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_opencode_minimal ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::cache_keys_normalise_worker_order ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::cache_does_not_persist_backend_errors ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::dispatch_carries_prior_session_id_for_stateful_worker ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::cache_keys_distinguish_worker_sets ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::cache_elides_repeated_call_for_same_prompt_and_workers ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::cache_keys_distinguish_prompts ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::cache_caches_declines_too ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::dispatch_filters_unknown_worker_ids ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_openai_compat_minimal ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::dispatch_returns_decision_when_backend_picks_known_worker ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::dispatch_returns_none_when_backend_declines ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::dispatch_swallows_backend_errors ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::classify_accepts_array_of_parts_content ... ok [INFO] [stdout] test cli::task_tests::parse_duration_units ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::extract_message_content_handles_edge_cases ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::name_is_stable ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::extract_text_events_concatenates_in_order ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::extract_text_events_returns_none_on_empty_or_no_text ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::classify_tolerates_chatty_replies ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::extract_text_events_real_world_shape ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::classify_propagates_5xx_as_error ... ok [INFO] [stdout] test dispatcher::llm::cascade::tests::build_llm_stage_errors_on_non_table_root ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::extract_text_events_falls_back_to_top_level_text ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::extract_text_events_tolerates_malformed_lines ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::classify_decline_yields_none ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::classify_errors_on_missing_content ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::name_is_stable ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::classify_extracts_worker_id_from_well_formed_reply ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_errors_when_binary_missing ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::extract_agent_text_filters_reasoning_keeps_agent ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::extract_agent_text_handles_real_world_shapes ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::extract_agent_text_returns_none_on_empty_or_reasoning_only ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::extract_agent_text_tolerates_malformed_lines ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::name_is_stable ... ok [INFO] [stdout] test dispatcher::llm::tests::default_prompt_includes_workers_and_transcript ... ok [INFO] [stdout] test dispatcher::llm::tests::mock_backend_can_decline ... ok [INFO] [stdout] test dispatcher::llm::tests::mock_backend_can_signal_failure ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::classify_propagates_nonzero_exit_as_error ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::classify_extracts_worker_id_from_text_event ... ok [INFO] [stdout] test dispatcher::llm::tests::parse_worker_id_handles_canonical_and_chatty_replies ... ok [INFO] [stdout] test dispatcher::llm::tests::parse_worker_id_treats_decline_sentinels_as_none ... ok [INFO] [stdout] test dispatcher::llm::tests::worker_info_from_registry_snapshots_active_workers ... ok [INFO] [stdout] test handlers::app_launcher::tests::default_backend_matches_target_os ... ok [INFO] [stdout] test handlers::app_launcher::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::app_launcher::tests::clip_to_clause_cuts_at_boundary ... ok [INFO] [stdout] test handlers::app_launcher::tests::invoke_known_app_returns_success_text ... ok [INFO] [stdout] test handlers::app_launcher::tests::invoke_refused_name_returns_security_text ... ok [INFO] [stdout] test handlers::app_launcher::tests::invoke_missing_app_returns_not_found_text ... ok [INFO] [stdout] test handlers::app_launcher::tests::invoke_strips_trailing_punctuation ... ok [INFO] [stdout] test handlers::app_launcher::tests::invoke_refuses_misrouted_sentence_prompt ... ok [INFO] [stdout] test handlers::app_launcher::tests::invoke_strips_trigger_from_stage2_prompt ... ok [INFO] [stdout] test dispatcher::llm::tests::mock_backend_records_calls_and_returns_configured_reply ... ok [INFO] [stdout] test handlers::app_launcher::tests::is_refused_allows_normal_apps ... ok [INFO] [stdout] test handlers::app_launcher::tests::is_refused_catches_destructive_commands ... ok [INFO] [stdout] test handlers::app_launcher::tests::launch_triggers_recognise_and_extract_tail ... ok [INFO] [stdout] test handlers::app_launcher::tests::looks_like_app_name_bounds ... ok [INFO] [stdout] test handlers::app_launcher::tests::non_launch_phrases_decline ... ok [INFO] [stdout] test handlers::app_launcher::tests::recognize_clips_at_clause_boundary ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_yields_none_when_only_reasoning_emitted ... ok [INFO] [stdout] test handlers::app_launcher::tests::resolve_unknown_falls_back_to_normalised_input ... ok [INFO] [stdout] test handlers::app_launcher::tests::recognize_declines_sentence_shaped_tail ... ok [INFO] [stdout] test handlers::app_launcher::tests::resolve_user_aliases_override_builtins ... ok [INFO] [stdout] test handlers::app_launcher::tests::resolve_uses_builtin_aliases ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_decline_yields_none ... ok [INFO] [stdout] test handlers::app_launcher::tests::triggers_with_empty_tail_decline ... ok [INFO] [stdout] test handlers::calc::tests::arithmetic_phrases_match ... ok [INFO] [stdout] test handlers::calc::tests::invoke_evaluates_simple_addition ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_propagates_nonzero_exit_as_error ... ok [INFO] [stdout] test handlers::calc::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::calc::tests::invoke_renders_clean_decimals ... ok [INFO] [stdout] test handlers::calc::tests::no_trigger_declines ... ok [INFO] [stdout] test handlers::calc::tests::translate_english_words ... ok [INFO] [stdout] test handlers::calc::tests::translate_spanish_words ... ok [INFO] [stdout] test handlers::date_today::tests::date_phrases_match ... ok [INFO] [stdout] test handlers::calc::tests::trigger_without_numbers_declines ... ok [INFO] [stdout] test handlers::session_reset::tests::empty_prompt_declines ... ok [INFO] [stdout] test handlers::date_today::tests::non_date_phrases_decline ... ok [INFO] [stdout] test handlers::session_reset::tests::exact_phrases_match ... ok [INFO] [stdout] test handlers::session_reset::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::session_reset::tests::substrings_do_not_match ... ok [INFO] [stdout] test handlers::spec::tests::declines_non_spec_prompts ... ok [INFO] [stdout] test handlers::spec::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::spec::tests::recognises_a_spec_open_phrase ... ok [INFO] [stdout] test handlers::date_today::tests::invoke_returns_spanish_date_format ... ok [INFO] [stdout] test handlers::task_cancel::tests::cancel_phrases_match ... ok [INFO] [stdout] test handlers::task_cancel::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::task_cancel::tests::unrelated_phrases_decline ... ok [INFO] [stdout] test handlers::task_clean::tests::clean_phrases_match ... ok [INFO] [stdout] test handlers::task_clean::tests::unrelated_phrases_decline ... ok [INFO] [stdout] test handlers::task_clean::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::task_list::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::task_list::tests::list_phrases_match ... ok [INFO] [stdout] test handlers::task_list::tests::invoke_handles_empty_registry ... ok [INFO] [stdout] test handlers::task_show::tests::describe_handles_every_status ... ok [INFO] [stdout] test handlers::task_list::tests::unrelated_phrases_decline ... ok [INFO] [stdout] test handlers::task_show::tests::show_phrases_match ... ok [INFO] [stdout] test handlers::task_show::tests::unrelated_phrases_decline ... ok [INFO] [stdout] test handlers::session_reset::tests::case_and_accent_insensitive ... ok [INFO] [stdout] test handlers::tests::register_builtins_dual_registration ... ok [INFO] [stdout] test handlers::tests::full_cascade_routes_prompts_to_expected_workers ... ok [INFO] [stdout] test handlers::tests::task_voice_intents_route_through_cascade ... ok [INFO] [stdout] test handlers::time_of_day::tests::invoke_handles_known_city ... ok [INFO] [stdout] test handlers::date_today::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::time_of_day::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::task_show::tests::ids_match_across_traits ... ok [INFO] [stdout] test handlers::time_of_day::tests::extract_city_from_normalised_prompt ... ok [INFO] [stdout] test handlers::time_of_day::tests::non_time_phrases_decline ... ok [INFO] [stdout] test pipeline::tests::cascade_falls_through_to_default_when_llm_declines ... ok [INFO] [stdout] test handlers::time_of_day::tests::timezone_lookup_covers_common_cities ... ok [INFO] [stdout] test pipeline::tests::cascade_has_three_stages_with_llm ... ok [INFO] [stdout] test pipeline::tests::cascade_routes_through_llm_stage_to_picked_worker ... ok [INFO] [stdout] test pipeline::tests::cascade_has_two_stages_without_llm ... ok [INFO] [stdout] test handlers::time_of_day::tests::invoke_returns_time_in_local_format ... ok [INFO] [stdout] test pipeline::tests::primary_turn_options_play_cue_and_use_default_recorder ... ok [INFO] [stdout] test pipeline::tests::try_build_llm_stage_returns_none_when_fallback_absent ... ok [INFO] [stdout] test handlers::tests::app_launcher_and_spec_share_abre_prefix_correctly ... ok [INFO] [stdout] test pipeline::tests::try_build_llm_stage_soft_fails_on_malformed_fallback ... ok [INFO] [stdout] test pipeline::tests::try_build_llm_stage_returns_some_for_valid_openai_compat_config ... ok [INFO] [stdout] test pipeline::tests::try_build_llm_stage_soft_fails_on_missing_required_field ... ok [INFO] [stdout] test recorder::tests::silence_threshold_default_is_user_friendly ... ok [INFO] [stdout] test recorder::tests::rms_to_dbfs_calibration ... ok [INFO] [stdout] test session::tests::active_workers_set_and_get ... ok [INFO] [stdout] test session::tests::add_turn_for_worker_records_metadata ... ok [INFO] [stdout] test session::tests::save_migrates_v1_session_to_v2 ... ok [INFO] [stdout] test session::tests::truncate_does_not_touch_active_workers ... ok [INFO] [stdout] test pipeline::tests::default_turn_options_match_followup_shape ... ok [INFO] [stdout] test pipeline::tests::try_build_llm_stage_returns_some_for_valid_oz_config ... ok [INFO] [stdout] test session::tests::truncate_drops_oldest ... ok [INFO] [stdout] test handlers::time_of_day::tests::time_phrases_match ... ok [INFO] [stdout] test session::tests::ttl_zero_disables_expiry ... ok [INFO] [stdout] test pipeline::tests::cascade_falls_through_to_default_when_llm_errors ... ok [INFO] [stdout] test setup::dispatcher::tests::format_models_table_empty_input_returns_empty ... ok [INFO] [stdout] test session::tests::v2_session_json_roundtrips ... ok [INFO] [stdout] test setup::dispatcher::tests::format_models_table_packs_columns_to_width ... ok [INFO] [stdout] test setup::dispatcher::tests::format_models_table_handles_narrow_terminal_with_single_column ... ok [INFO] [stdout] test setup::dispatcher::tests::model_completion_multi_match_advances_to_common_prefix ... ok [INFO] [stdout] test setup::dispatcher::tests::model_completion_no_match_returns_none ... ok [INFO] [stdout] test session::tests::v1_session_json_loads_with_defaults ... ok [INFO] [stdout] test setup::dispatcher::tests::longest_common_prefix_basic ... ok [INFO] [stdout] test setup::dispatcher::tests::model_completion_unique_prefix_completes_to_full_id ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_opencode_models_accepts_real_shape ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_opencode_models_drops_blank_lines_and_trims ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_oz_models_json_filters_empty_ids ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_oz_models_json_errors_on_garbage ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_oz_models_json_ignores_extra_fields ... ok [INFO] [stdout] test setup::dispatcher::tests::url_validator_accepts_http_and_https ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_opencode_models_empty_input_returns_empty ... ok [INFO] [stdout] test setup::dispatcher::tests::url_validator_rejects_non_http_or_empty ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_oz_models_json_accepts_real_shape ... ok [INFO] [stdout] test setup::locale::tests::english_unknown_region_falls_back_to_gb ... ok [INFO] [stdout] test setup::locale::tests::c_locale_rejected ... ok [INFO] [stdout] test setup::locale::tests::parses_lang_only ... ok [INFO] [stdout] test setup::dispatcher::tests::parse_oz_models_json_errors_on_empty_array ... ok [INFO] [stdout] test setup::locale::tests::pretty_names ... ok [INFO] [stdout] test setup::locale::tests::parses_with_modifier ... ok [INFO] [stdout] test setup::locale::tests::spanish_spain ... ok [INFO] [stdout] test setup::locale::tests::spanish_unknown_region_falls_back_to_es ... ok [INFO] [stdout] test specs::intent::tests::ignores_unrelated_prompts ... ok [INFO] [stdout] test specs::intent::tests::recognises_list_only_on_exact_match ... ok [INFO] [stdout] test specs::intent::tests::recognises_new_spec_phrases ... ok [INFO] [stdout] test specs::intent::tests::recognises_reject_with_reason ... ok [INFO] [stdout] test specs::intent::tests::recognises_show_with_id ... ok [INFO] [stdout] test specs::spec::tests::serialize_roundtrips_known_fields ... ok [INFO] [stdout] test specs::spec::tests::slugify_strips_accents_and_limits_length ... ok [INFO] [stdout] test specs::spec::tests::what_all_checked_detects_open_criteria ... ok [INFO] [stdout] test setup::locale::tests::parses_es_es ... ok [INFO] [stdout] test specs::store::tests::create_inbox_writes_file ... ok [INFO] [stdout] test specs::store::tests::next_id_starts_at_one_in_empty_repo ... ok [INFO] [stdout] test specs::store::tests::find_by_id_and_slug ... ok [INFO] [stdout] test specs::spec::tests::missing_frontmatter_is_an_error ... ok [INFO] [stdout] test specs::spec::tests::parses_full_frontmatter ... ok [INFO] [stdout] test specs::store::tests::ymd_known_dates ... ok [INFO] [stdout] test specs::store::tests::promote_assigns_next_id_and_moves_file ... ok [INFO] [stdout] test tasks::cancel::tests::cancel_non_running_errors_clearly ... ok [INFO] [stdout] test specs::store::tests::ship_refuses_when_what_has_open_bullets ... ok [INFO] [stdout] test specs::store::tests::ship_succeeds_when_all_bullets_checked ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::classify_yields_none_when_no_text_events ... ok [INFO] [stdout] test dispatcher::llm::opencode_cli::tests::classify_concatenates_multiple_text_events ... ok [INFO] [stdout] test specs::store::tests::reject_works_from_inbox ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_concatenates_multiple_agent_events ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_tolerates_chatty_reply ... ok [INFO] [stdout] test tasks::format::tests::truncate_adds_ellipsis_when_cut ... ok [INFO] [stdout] test tasks::cleanup::tests::zero_retain_drops_all_terminal ... ok [INFO] [stdout] test tasks::cleanup::tests::under_cap_prunes_nothing ... ok [INFO] [stdout] test tasks::format::tests::humanise_age_spanish_plurality ... ok [INFO] [stdout] test tasks::format::tests::humanise_age_brackets ... ok [INFO] [stdout] test tasks::cancel::tests::cancel_running_task_marks_and_signals ... ok [INFO] [stdout] test tasks::cleanup::tests::active_tasks_are_never_pruned ... ok [INFO] [stdout] test tasks::cleanup::tests::over_cap_drops_oldest_first ... ok [INFO] [stdout] test tasks::format::tests::truncate_keeps_short_strings_intact ... ok [INFO] [stdout] test tasks::record::tests::status_is_terminal_partitions_states ... ok [INFO] [stdout] test tasks::record::tests::task_id_format_is_sortable_and_unique ... ok [INFO] [stdout] test tasks::record::tests::path_helpers_share_task_dir ... ok [INFO] [stdout] test tasks::record::tests::task_new_starts_running ... ok [INFO] [stdout] test tasks::record::tests::save_is_atomic_and_creates_dir ... ok [INFO] [stdout] test tasks::registry::tests::missing_dir_yields_empty_registry ... ok [INFO] [stdout] test tasks::registry::tests::pid_alive_for_self ... ok [INFO] [stdout] test tasks::registry::tests::passive_load_leaves_running_intact ... ok [INFO] [stdout] test tasks::record::tests::task_save_and_load_roundtrip ... ok [INFO] [stdout] test tasks::registry::tests::active_filters_to_running_only_after_passive_load ... ok [INFO] [stdout] test tasks::registry::tests::terminal_records_load_unchanged ... ok [INFO] [stdout] test tasks::resolve::tests::empty_query_yields_none ... ok [INFO] [stdout] test tasks::resolve::tests::fuzzy_intent_match_via_substring ... ok [INFO] [stdout] test tasks::resolve::tests::no_match_yields_none ... ok [INFO] [stdout] test tasks::resolve::tests::last_keywords_pick_newest ... ok [INFO] [stdout] test tasks::registry::tests::reconcile_orphans_alive_pid_marks_with_warning_summary ... ok [INFO] [stdout] test tasks::resolve::tests::worker_reference_unique_or_ambiguous ... ok [INFO] [stdout] test tasks::registry::tests::reconcile_orphans_dead_pid_marks_and_persists ... ok [INFO] [stdout] test tasks::spawn::tests::empty_output_yields_none_summary ... ok [INFO] [stdout] test tasks::triggers::tests::case_accent_and_punctuation_insensitive ... ok [INFO] [stdout] test tasks::triggers::tests::empty_input_declines ... ok [INFO] [stdout] test tasks::spawn::tests::nonzero_exit_marks_failed ... ok [INFO] [stdout] test tasks::triggers::tests::non_trigger_prompts_decline ... ok [INFO] [stdout] test tasks::triggers::tests::realistic_phrases_trigger ... ok [INFO] [stdout] test wake::tests::known_backends ... ok [INFO] [stdout] test tasks::spawn::tests::spawns_async_worker_and_records_completion ... ok [INFO] [stdout] test wake::whisper::tests::normalise_strips_accents_and_case ... ok [INFO] [stdout] test wake::whisper::tests::rms_positive_for_signal ... ok [INFO] [stdout] test tasks::spawn::tests::long_output_summary_is_capped_with_ellipsis ... ok [INFO] [stdout] test wake::whisper::tests::rms_zero_for_silence ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_captures_session_id_from_stderr ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_captures_session_id_from_stdout ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_env_carries_jarvis_voice_turn ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_picks_initial_vs_regular_command ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_tty_path_spawns_in_pseudo_terminal ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_extracts_worker_id_from_agent_event ... FAILED [INFO] [stdout] test tasks::registry::tests::prefix_lookup_unique_versus_ambiguous ... ok [INFO] [stdout] test tasks::registry::tests::skips_unreadable_task_directories ... ok [INFO] [stdout] test tasks::cancel::tests::cancel_running_without_pid_errors ... ok [INFO] [stdout] test tasks::spawn::tests::rejects_workers_without_async_eligible ... ok [INFO] [stdout] test wake::tests::unknown_backend_is_rejected ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_construction_rejects_bad_regex ... ok [INFO] [stdout] test workers::manifest::tests::build_command_picks_template_correctly ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_with_prompt_in_argv ... ok [INFO] [stdout] test workers::manifest::tests::reject_empty_command ... ok [INFO] [stdout] test workers::manifest::tests::parse_minimal_manifest ... ok [INFO] [stdout] test workers::manifest::tests::scan_placeholders_basic ... ok [INFO] [stdout] test workers::manifest::tests::reject_unknown_placeholder ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_reports_nonzero_exit ... ok [INFO] [stdout] test workers::manifest::tests::reject_unknown_top_level_field ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_tty_reports_nonzero_exit ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_with_prompt_via_stdin ... ok [INFO] [stdout] test workers::manifest::tests::parse_full_manifest ... ok [INFO] [stdout] test workers::handle::tests::manifest_worker_tty_with_prompt_in_argv ... ok [INFO] [stdout] test workers::manifest::tests::substitute_preserves_non_ascii ... ok [INFO] [stdout] test workers::registry::tests::bad_capture_regex_disables_worker ... ok [INFO] [stdout] test workers::manifest::tests::substitute_passes_through_missing_value ... ok [INFO] [stdout] test workers::manifest::tests::substitute_replaces_known_placeholders ... ok [INFO] [stdout] test workers::registry::tests::manifest_shadows_builtin_with_same_id ... ok [INFO] [stdout] test workers::registry::tests::good_and_bad_coexist ... ok [INFO] [stdout] test workers::registry::tests::malformed_toml_disables_worker ... ok [INFO] [stdout] test workers::registry::tests::missing_binary_disables_worker ... ok [INFO] [stdout] test workers::registry::tests::duplicate_id_disables_second_occurrence ... ok [INFO] [stdout] test workers::registry::tests::missing_dir_yields_empty_registry ... ok [INFO] [stdout] test workers::registry::tests::register_builtin_adds_handler ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_passes_prompt_as_argv_intact ... ok [INFO] [stdout] test workers::registry::tests::non_toml_files_are_ignored ... ok [INFO] [stdout] test workers::registry::tests::unknown_placeholder_disables_worker ... ok [INFO] [stdout] test workers::registry::tests::valid_manifest_loads_active ... ok [INFO] [stdout] test dispatcher::llm::openai_compat::tests::classify_honors_configured_timeout ... ok [INFO] [stdout] test tasks::spawn::tests::initial_record_visible_during_run ... ok [INFO] [stdout] test dispatcher::llm::oz_cli::tests::classify_honors_configured_timeout ... ok [INFO] [stdout] test agents::claude_attach::tests::list_sessions_returns_newest_first ... ok [INFO] [stdout] test agents::claude_attach::tests::latest_for_cwd_filters_correctly ... ok [INFO] [stdout] test session::tests::add_turn_updates_last_activity ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- dispatcher::llm::oz_cli::tests::classify_extracts_worker_id_from_agent_event stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'dispatcher::llm::oz_cli::tests::classify_extracts_worker_id_from_agent_event' (99) panicked at src/dispatcher/llm/oz_cli.rs:353:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: None [INFO] [stdout] right: Some("time") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5751365c24d8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5751365c24d8 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5751365c24d8 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x5751365c24d8 - <::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x5751365dcdca - ::fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x5751365dcdca - core[5a1c3e9896636f3a]::fmt::write [INFO] [stdout] 6: 0x5751365c8ae2 - std[d054f6f42beb1baa]::io::default_write_fmt::> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11 [INFO] [stdout] 7: 0x5751365c8ae2 - as std[d054f6f42beb1baa]::io::Write>::write_fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13 [INFO] [stdout] 8: 0x57513659b746 - ::print [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x57513659b746 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x5751365b8b49 - std[d054f6f42beb1baa]::panicking::default_hook [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x575135dedf4c - core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9 [INFO] [stdout] 12: 0x575135dedf4c - test[fad20673b750c10e]::test_main_inner::::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21 [INFO] [stdout] 13: 0x5751365b8dc2 - core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9 [INFO] [stdout] 14: 0x5751365b8dc2 - std[d054f6f42beb1baa]::panicking::panic_with_hook [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x57513659b802 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x575136592729 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x57513659c9bd - __rustc[7ab284efd7f33ea8]::rust_begin_unwind [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x5751365dd63c - core[5a1c3e9896636f3a]::panicking::panic_fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5751365dd4c3 - core[5a1c3e9896636f3a]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x57513590abb7 - core[5a1c3e9896636f3a]::panicking::assert_failed::, core[5a1c3e9896636f3a]::option::Option<&str>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x575135880be5 - jarvis[8bc462dfe20de2cb]::dispatcher::llm::oz_cli::tests::classify_extracts_worker_id_from_agent_event [INFO] [stdout] at /opt/rustwide/workdir/src/dispatcher/llm/oz_cli.rs:353:9 [INFO] [stdout] 22: 0x575135871b47 - jarvis[8bc462dfe20de2cb]::dispatcher::llm::oz_cli::tests::classify_extracts_worker_id_from_agent_event::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/dispatcher/llm/oz_cli.rs:337:54 [INFO] [stdout] 23: 0x5751359aee76 - >::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x575135de102b - core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x575135de102b - test[fad20673b750c10e]::__rust_begin_short_backtrace::, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18 [INFO] [stdout] 26: 0x575135dee8a5 - test[fad20673b750c10e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74 [INFO] [stdout] 27: 0x575135dee8a5 - as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x575135dee8a5 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x575135dee8a5 - std[d054f6f42beb1baa]::panicking::catch_unwind::, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x575135dee8a5 - std[d054f6f42beb1baa]::panic::catch_unwind::, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x575135dee8a5 - test[fad20673b750c10e]::run_test_in_process [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27 [INFO] [stdout] 32: 0x575135dee8a5 - test[fad20673b750c10e]::run_test::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43 [INFO] [stdout] 33: 0x575135de9404 - test[fad20673b750c10e]::run_test::{closure#1} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41 [INFO] [stdout] 34: 0x575135de9404 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x575135df1922 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13 [INFO] [stdout] 36: 0x575135df1922 - ::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x575135df1922 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x575135df1922 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x575135df1922 - std[d054f6f42beb1baa]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x575135df1922 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26 [INFO] [stdout] 41: 0x575135df1922 - ::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x5751365c117f - + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9 [INFO] [stdout] 43: 0x5751365c117f - ::new::thread_start [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x70449f241aa4 - [INFO] [stdout] 45: 0x70449f2cea64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] dispatcher::llm::oz_cli::tests::classify_extracts_worker_id_from_agent_event [INFO] [stdout] [INFO] [stdout] test result: FAILED. 300 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.19s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "a6758b92fb04904cedb47b47c3f3d54f0adf0f93bd0a14e01a53e1d92f65cb1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6758b92fb04904cedb47b47c3f3d54f0adf0f93bd0a14e01a53e1d92f65cb1a", kill_on_drop: false }` [INFO] [stdout] a6758b92fb04904cedb47b47c3f3d54f0adf0f93bd0a14e01a53e1d92f65cb1a