[INFO] cloning repository https://github.com/ssalka/claude-symphony
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ssalka/claude-symphony" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssalka%2Fclaude-symphony", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssalka%2Fclaude-symphony'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 63a9814a633f2bc9d6202dbd9ec05de360a6d4f0
[INFO] testing ssalka/claude-symphony against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssalka%2Fclaude-symphony" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ssalka/claude-symphony
[INFO] finished tweaking git repo https://github.com/ssalka/claude-symphony
[INFO] tweaked toml for git repo https://github.com/ssalka/claude-symphony written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ssalka/claude-symphony on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ssalka/claude-symphony already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94
[INFO] running `Command { std: "docker" "start" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling kstring v2.0.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling liquid-derive v0.26.10
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling anymap2 v0.13.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling liquid-core v0.26.11
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling liquid-lib v0.26.11
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling liquid v0.26.11
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling symphony v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 44.88s
[INFO] running `Command { std: "docker" "inspect" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling symphony v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 9.89s
[INFO] running `Command { std: "docker" "inspect" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/symphony-83a675fa54938e82)
[INFO] [stdout] 
[INFO] [stdout] running 212 tests
[INFO] [stdout] test agent::protocol::tests::test_assistant_multiple_content_blocks ... ok
[INFO] [stdout] test agent::protocol::tests::test_assistant_tool_use_event ... ok
[INFO] [stdout] test agent::protocol::tests::test_rate_limit_event ... ok
[INFO] [stdout] test agent::protocol::tests::test_content_block_other_variant ... ok
[INFO] [stdout] test agent::protocol::tests::test_assistant_with_session_id ... ok
[INFO] [stdout] test agent::protocol::tests::test_assistant_text_event ... ok
[INFO] [stdout] test agent::protocol::tests::test_result_error_event ... ok
[INFO] [stdout] test agent::protocol::tests::test_result_success_event ... ok
[INFO] [stdout] test agent::protocol::tests::test_system_init_event ... ok
[INFO] [stdout] test agent::protocol::tests::test_unknown_event_type ... ok
[INFO] [stdout] test agent::protocol::tests::test_usage_defaults_to_zero ... ok
[INFO] [stdout] test agent::session::tests::test_claude_runner_new ... ok
[INFO] [stdout] test agent::session::tests::test_session_config_clone ... ok
[INFO] [stdout] test agent::tests::test_agent_runner_config_fields ... ok
[INFO] [stdout] test agent::tests::test_agent_runner_can_be_constructed ... ok
[INFO] [stdout] test agent::tests::test_session_config_built_from_service_config ... ok
[INFO] [stdout] test agent::tests::test_usage_event_forwarding ... ok
[INFO] [stdout] test agent::tests::test_title_format ... ok
[INFO] [stdout] test agent::tests::test_cancellation_token_fires_immediately ... ok
[INFO] [stdout] test agent::tests::test_agent_runner_workflow_template_renders ... ok
[INFO] [stdout] test agent::tests::test_worker_event_exited_normal ... ok
[INFO] [stdout] test config::tests::test_defaults_applied ... ok
[INFO] [stdout] test config::tests::test_effective_active_states_normal_mode ... ok
[INFO] [stdout] test agent::tests::test_worker_event_claude_update_channel ... ok
[INFO] [stdout] test config::tests::test_effective_active_states_plan_mode_fallback ... ok
[INFO] [stdout] test config::tests::test_env_var_resolution_missing_returns_error ... ok
[INFO] [stdout] test config::tests::test_effective_active_states_plan_mode_with_planning_states ... ok
[INFO] [stdout] test config::tests::test_env_var_resolution_success ... ok
[INFO] [stdout] test config::tests::test_ignore_labels_empty_by_default ... ok
[INFO] [stdout] test config::tests::test_explicit_values_override_defaults ... ok
[INFO] [stdout] test agent::tests::test_worker_event_exited_abnormal ... ok
[INFO] [stdout] test config::tests::test_ignore_labels_parsed_and_lowercased ... ok
[INFO] [stdout] test config::tests::test_max_concurrent_agents_by_state ... ok
[INFO] [stdout] test config::tests::test_parse_minimal_config ... ok
[INFO] [stdout] test config::tests::test_planning_states_empty_by_default ... ok
[INFO] [stdout] test config::tests::test_planning_states_parsed ... ok
[INFO] [stdout] test config::tests::test_project_slug_as_list ... ok
[INFO] [stdout] test config::tests::test_state_list_from_comma_separated_string ... ok
[INFO] [stdout] test config::tests::test_state_list_from_yaml_sequence ... ok
[INFO] [stdout] test config::tests::test_tilde_expansion ... ok
[INFO] [stdout] test config::tests::test_tracker_endpoint_optional ... ok
[INFO] [stdout] test config::tests::test_tracker_endpoint_present ... ok
[INFO] [stdout] test config::tests::test_validate_for_dispatch_empty_active_states ... ok
[INFO] [stdout] test config::tests::test_validate_for_dispatch_missing_api_key ... ok
[INFO] [stdout] test config::tests::test_validate_for_dispatch_missing_claude_command ... ok
[INFO] [stdout] test config::tests::test_validate_for_dispatch_missing_project_slug ... ok
[INFO] [stdout] test config::tests::test_validate_for_dispatch_ok ... ok
[INFO] [stdout] test config::tests::test_validate_for_dispatch_plan_mode_with_planning_states ... ok
[INFO] [stdout] test config::tests::test_validate_for_dispatch_unsupported_tracker ... ok
[INFO] [stdout] test config::tests::test_workspace_hooks_optional ... ok
[INFO] [stdout] test domain::tests::test_agent_event_clone ... ok
[INFO] [stdout] test domain::tests::test_claude_totals_default ... ok
[INFO] [stdout] test domain::tests::test_live_session_default ... ok
[INFO] [stdout] test domain::tests::test_agent_event_new_variants_clone ... ok
[INFO] [stdout] test domain::tests::test_orchestrator_snapshot_serializes ... ok
[INFO] [stdout] test config::tests::test_workspace_hooks_present ... ok
[INFO] [stdout] test domain::tests::test_truncate_exact_length ... ok
[INFO] [stdout] test domain::tests::test_truncate_long_string ... ok
[INFO] [stdout] test domain::tests::test_truncate_multibyte_boundary ... ok
[INFO] [stdout] test domain::tests::test_truncate_short_string ... ok
[INFO] [stdout] test domain::tests::test_worker_exit_reason_debug ... ok
[INFO] [stdout] test error::tests::test_claude_not_found ... ok
[INFO] [stdout] test domain::tests::test_issue_serialization_roundtrip ... ok
[INFO] [stdout] test error::tests::test_hook_failed_with_code ... ok
[INFO] [stdout] test error::tests::test_config_validation ... ok
[INFO] [stdout] test error::tests::test_hook_failed_without_code ... ok
[INFO] [stdout] test error::tests::test_invalid_workspace_path ... ok
[INFO] [stdout] test error::tests::test_hook_timeout ... ok
[INFO] [stdout] test error::tests::test_linear_api_status ... ok
[INFO] [stdout] test error::tests::test_linear_graphql_errors ... ok
[INFO] [stdout] test error::tests::test_linear_missing_end_cursor ... ok
[INFO] [stdout] test error::tests::test_linear_unknown_payload ... ok
[INFO] [stdout] test error::tests::test_missing_tracker_api_key ... ok
[INFO] [stdout] test error::tests::test_missing_tracker_project_slug ... ok
[INFO] [stdout] test error::tests::test_missing_workflow_file ... ok
[INFO] [stdout] test error::tests::test_response_timeout ... ok
[INFO] [stdout] test error::tests::test_result_alias_err ... ok
[INFO] [stdout] test error::tests::test_result_alias_ok ... ok
[INFO] [stdout] test error::tests::test_template_parse_error ... ok
[INFO] [stdout] test error::tests::test_template_render_error ... ok
[INFO] [stdout] test error::tests::test_turn_cancelled ... ok
[INFO] [stdout] test error::tests::test_turn_failed ... ok
[INFO] [stdout] test error::tests::test_turn_input_required ... ok
[INFO] [stdout] test error::tests::test_unsupported_tracker_kind ... ok
[INFO] [stdout] test error::tests::test_turn_timeout ... ok
[INFO] [stdout] test error::tests::test_workflow_front_matter_not_a_map ... ok
[INFO] [stdout] test error::tests::test_workflow_parse_error ... ok
[INFO] [stdout] test error::tests::test_workspace_creation_failed ... ok
[INFO] [stdout] test orchestrator::tests::eligible_basic_happy_path ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_empty_id ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_empty_identifier ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_empty_state ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_global_concurrency_limit ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_per_state_concurrency_limit ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_state_in_terminal_states ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_when_running ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_state_not_in_active_states ... ok
[INFO] [stdout] test orchestrator::tests::ineligible_when_claimed ... ok
[INFO] [stdout] test orchestrator::tests::normal_mode_skips_needs_plan_label ... ok
[INFO] [stdout] test orchestrator::tests::normal_mode_skips_planning_label ... ok
[INFO] [stdout] test orchestrator::tests::no_ignore_labels_does_not_skip ... ok
[INFO] [stdout] test orchestrator::tests::plan_mode_allows_issue_with_needs_plan_label ... ok
[INFO] [stdout] test orchestrator::tests::plan_mode_skips_ignore_label ... ok
[INFO] [stdout] test orchestrator::tests::plan_mode_skips_planning_label ... ok
[INFO] [stdout] test orchestrator::tests::plan_mode_skips_plan_ready_label ... ok
[INFO] [stdout] test orchestrator::tests::review_state_calls_set_issue_state_on_normal_exit ... ok
[INFO] [stdout] test orchestrator::tests::skips_ignore_label ... ok
[INFO] [stdout] test orchestrator::tests::started_state_calls_set_issue_state_on_dispatch ... ok
[INFO] [stdout] test orchestrator::tests::plan_mode_requires_needs_plan_label ... ok
[INFO] [stdout] test orchestrator::tests::todo_blocker_rule_blocker_not_done ... ok
[INFO] [stdout] test orchestrator::tests::todo_blocker_rule_blocker_state_none_is_allowed ... ok
[INFO] [stdout] test orchestrator::tests::started_state_skipped_when_issue_already_in_that_state ... ok
[INFO] [stdout] test prompt::tests::test_attempt_first ... ok
[INFO] [stdout] test prompt::tests::test_attempt_some ... ok
[INFO] [stdout] test prompt::tests::test_attempt_none_is_nil ... ok
[INFO] [stdout] test prompt::tests::test_blocked_by_multiple ... ok
[INFO] [stdout] test orchestrator::tests::todo_blocker_rule_all_done ... ok
[INFO] [stdout] test prompt::tests::test_basic_scalar_fields ... ok
[INFO] [stdout] test prompt::tests::test_branch_name_none_is_nil ... ok
[INFO] [stdout] test prompt::tests::test_blocked_by_empty ... ok
[INFO] [stdout] test prompt::tests::test_branch_name_some ... ok
[INFO] [stdout] test prompt::tests::test_blocked_by_nil_fields ... ok
[INFO] [stdout] test prompt::tests::test_created_at_none ... ok
[INFO] [stdout] test prompt::tests::test_created_at_some ... ok
[INFO] [stdout] test prompt::tests::test_description_none_renders_empty_string ... ok
[INFO] [stdout] test prompt::tests::test_description_present ... ok
[INFO] [stdout] test prompt::tests::test_full_template ... ok
[INFO] [stdout] test prompt::tests::test_labels_empty ... ok
[INFO] [stdout] test prompt::tests::test_invalid_template_returns_parse_error ... ok
[INFO] [stdout] test prompt::tests::test_labels_multiple ... ok
[INFO] [stdout] test prompt::tests::test_if_priority_present ... ok
[INFO] [stdout] test prompt::tests::test_blocked_by_single_full ... ok
[INFO] [stdout] test prompt::tests::test_priority_none_is_nil ... ok
[INFO] [stdout] test prompt::tests::test_plan_conditional ... ok
[INFO] [stdout] test prompt::tests::test_url_none_is_nil ... ok
[INFO] [stdout] test scheduling::tests::backoff_attempt_0_treated_as_1 ... ok
[INFO] [stdout] test prompt::tests::test_plan_some_renders_text ... ok
[INFO] [stdout] test scheduling::tests::backoff_attempt_1_is_base ... ok
[INFO] [stdout] test scheduling::tests::backoff_attempt_2_doubles ... ok
[INFO] [stdout] test scheduling::tests::backoff_attempt_3 ... ok
[INFO] [stdout] test scheduling::tests::backoff_capped_at_max ... ok
[INFO] [stdout] test prompt::tests::test_plan_none_renders_empty ... ok
[INFO] [stdout] test scheduling::tests::block_counts_diamond ... ok
[INFO] [stdout] test prompt::tests::test_priority_some_renders_integer ... ok
[INFO] [stdout] test scheduling::tests::backoff_respects_small_max ... ok
[INFO] [stdout] test prompt::tests::test_url_some ... ok
[INFO] [stdout] test scheduling::tests::block_counts_disjoint_subgraphs ... ok
[INFO] [stdout] test scheduling::tests::block_counts_empty_when_no_blockers ... ok
[INFO] [stdout] test prompt::tests::test_render_filter_error_returns_render_error ... ok
[INFO] [stdout] test scheduling::tests::block_counts_simple_chain ... ok
[INFO] [stdout] test scheduling::tests::block_counts_external_blocker_ignored ... ok
[INFO] [stdout] test scheduling::tests::block_counts_terminal_blocker_excluded ... ok
[INFO] [stdout] test scheduling::tests::sort_block_count_is_primary_key ... ok
[INFO] [stdout] test scheduling::tests::sort_block_count_tie_falls_through_to_priority ... ok
[INFO] [stdout] test scheduling::tests::sort_by_created_at_oldest_first_none_last ... ok
[INFO] [stdout] test scheduling::tests::sort_by_priority_ascending_none_last ... ok
[INFO] [stdout] test scheduling::tests::sort_empty_list ... ok
[INFO] [stdout] test scheduling::tests::sort_single_element ... ok
[INFO] [stdout] test scheduling::tests::sort_tiebreaker_by_identifier ... ok
[INFO] [stdout] test server::tests::test_app_state_construction ... ok
[INFO] [stdout] test server::tests::test_refresh_channel_full_does_not_panic ... ok
[INFO] [stdout] test server::tests::test_refresh_channel_send ... ok
[INFO] [stdout] test server::tests::test_snapshot_serializes_to_json ... ok
[INFO] [stdout] test tracker::linear::tests::test_fetch_issue_states_by_ids_empty_returns_empty ... ok
[INFO] [stdout] test tracker::linear::tests::test_fetch_candidate_issues_empty_states_returns_empty ... ok
[INFO] [stdout] test tracker::linear::tests::test_fetch_issues_by_states_empty_returns_empty ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_blocked_by_populated ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_datetimes_parsed ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_invalid_datetime_becomes_none ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_labels_already_lowercase ... ok
[INFO] [stdout] test tracker::linear::tests::test_missing_data_field_maps_to_linear_unknown_payload ... ok
[INFO] [stdout] test tracker::linear::tests::test_malformed_data_maps_to_linear_unknown_payload ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_labels_lowercased ... ok
[INFO] [stdout] test tracker::linear::tests::test_non_2xx_maps_to_linear_api_status ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_no_labels ... ok
[INFO] [stdout] test tracker::linear::tests::test_graphql_errors_array_maps_to_linear_graphql_errors ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_no_relations ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_state_extracted ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_missing_state_becomes_empty_string ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_state_only_fields ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_full_relation_without_related_issue_is_skipped ... ok
[INFO] [stdout] test tracker::linear::tests::test_trait_object_dispatch ... ok
[INFO] [stdout] test workflow::tests::test_empty_front_matter_returns_error ... ok
[INFO] [stdout] test workflow::tests::test_front_matter_not_a_map_returns_error ... ok
[INFO] [stdout] test workflow::tests::test_config_fields_accessible ... ok
[INFO] [stdout] test workflow::tests::test_invalid_yaml_returns_parse_error ... ok
[INFO] [stdout] test tracker::linear::tests::test_normalize_state_only_missing_state ... ok
[INFO] [stdout] test tracker::linear::tests::test_successful_fetch_issue_states ... ok
[INFO] [stdout] test workflow::tests::test_missing_front_matter_delimiter_returns_error ... ok
[INFO] [stdout] test workflow::tests::test_loader_load_missing_file ... ok
[INFO] [stdout] test workflow::tests::test_multi_section_prompt_body ... ok
[INFO] [stdout] test workflow::tests::test_no_prompt_body_is_empty_string ... ok
[INFO] [stdout] test workflow::tests::test_parse_valid_file ... ok
[INFO] [stdout] test workflow::tests::test_loader_load_valid_file ... ok
[INFO] [stdout] test workflow::tests::test_prompt_template_trimmed ... ok
[INFO] [stdout] test workspace::tests::sanitize_key_allows_alphanumeric_dot_underscore_dash ... ok
[INFO] [stdout] test workspace::tests::create_for_issue_happy_path ... ok
[INFO] [stdout] test workspace::tests::sanitize_key_replaces_space ... ok
[INFO] [stdout] test workspace::tests::sanitize_key_all_special ... ok
[INFO] [stdout] test workspace::tests::sanitize_key_replaces_special_characters ... ok
[INFO] [stdout] test workspace::tests::sanitize_key_empty_string ... ok
[INFO] [stdout] test workspace::tests::create_for_issue_existing_directory_not_recreated ... ok
[INFO] [stdout] test workspace::tests::sanitize_key_replaces_slash ... ok
[INFO] [stdout] test workspace::tests::verify_workspace_path_nonexistent_workspace_returns_error ... ok
[INFO] [stdout] test workspace::tests::create_for_issue_sanitizes_identifier ... ok
[INFO] [stdout] test workspace::tests::verify_workspace_path_valid ... ok
[INFO] [stdout] test workspace::tests::verify_workspace_path_traversal_rejected ... ok
[INFO] [stdout] test workspace::tests::run_hook_timeout ... ok
[INFO] [stdout] test workspace::tests::run_hook_failure_nonzero_exit ... ok
[INFO] [stdout] test workspace::tests::run_hook_success ... ok
[INFO] [stdout] test workspace::tests::run_hook_captures_stderr_on_failure ... ok
[INFO] [stdout] test workspace::tests::create_for_issue_runs_after_create_hook ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 212 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94", kill_on_drop: false }`
[INFO] [stdout] 9f3aad6d6908ef1f8cf9da3197e06149bf26c8461ec3fd124b266fa1d0134a94
