[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::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[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 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::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 - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::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::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5751365c8ae2 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x57513659b746 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::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 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> 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::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5751365b8dc2 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> 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::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[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>, 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 - <jarvis[8bc462dfe20de2cb]::dispatcher::llm::oz_cli::tests::classify_extracts_worker_id_from_agent_event::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x575135de102b - <fn() -> 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::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, 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 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{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]   28:     0x575135dee8a5 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, 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]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x575135dee8a5 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, 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::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x575135df1922 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x575135df1922 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{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::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{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<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{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::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{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::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x575135df1922 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{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 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + 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 - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x70449f241aa4 - <unknown>
[INFO] [stdout]   45:     0x70449f2cea64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[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
