
running 1386 tests
test agent_event::tests::agent_message_round_trip ... ok
test agent_event::tests::deserialize_from_literal_jsonl ... ok
test agent_event::tests::error_round_trip ... ok
test agent_event::tests::tokens_round_trip ... ok
test agent_event::tests::tool_call_round_trip ... ok
test agent_event::tests::tool_result_round_trip ... ok
test bead_store::tests::bf_parse_beads_accepts_completed_status ... ok
test bead_store::tests::bf_parse_beads_skips_one_bad_line_keeps_the_rest ... ok
test bead_store::tests::corruption_in_longer_message ... ok
test bead_store::tests::detects_case_insensitive ... ok
test bead_store::tests::detects_locked_db_error ... ok
test bead_store::tests::detects_malformed_db_error ... ok
test bead_store::tests::detects_not_a_database_error ... ok
test bead_store::tests::filters_default_is_empty ... ok
test bead_store::tests::non_corruption_error_returns_false ... ok
test bead_store::tests::parse_beads_empty_json_array ... ok
test bead_store::tests::parse_beads_empty_string_returns_empty ... ok
test bead_store::tests::parse_beads_whitespace_only_returns_empty ... ok
test bead_store::tests::parse_beads_malformed_json_is_error ... ok
test bead_store::tests::parse_doctor_output_empty ... ok
test bead_store::tests::parse_doctor_output_filters_recovery_artifacts ... ok
test bead_store::tests::parse_doctor_output_filters_sqlite3_not_available ... ok
test bead_store::tests::parse_doctor_output_multiple_entries ... ok
test bead_store::tests::parse_single_bead_empty_array_is_error ... ok
test bead_store::tests::sync_conflict_detects_jsonl_is_newer ... ok
test bead_store::tests::sync_conflict_detects_lowercase_marker ... ok
test bead_store::tests::sync_conflict_detects_sync_conflict_marker ... ok
test bead_store::tests::sync_conflict_in_longer_stderr ... ok
test bead_store::tests::sync_conflict_is_case_sensitive ... ok
test bead_store::tests::sync_conflict_returns_false_for_non_conflict ... ok
test canary::tests::canary_report_can_promote ... ok
test canary::tests::canary_test_result_bead_id ... ok
test canary::tests::canary_test_result_bead_id_all_variants ... ok
test canary::tests::canary_test_result_is_pass ... ok
test bead_store::tests::repair_report_parses_warn_and_fixed_lines ... ok
test canary::tests::discover_test_beads_missing_expected_dir ... ok
test canary::tests::expected_outcome_default_status ... ok
test canary::tests::discover_test_beads_reads_yaml_files ... ok
test canary::tests::failure_with_none_exit_code_does_not_match ... ok
test canary::tests::expected_outcome_serde_roundtrip ... ok
test canary::tests::load_expected_outcome_failure_yaml ... ok
test canary::tests::load_expected_outcome_invalid_yaml ... ok
test canary::tests::load_expected_outcome_missing_file ... ok
test canary::tests::mismatch_reason_failure ... ok
test canary::tests::load_expected_outcome_success_yaml ... ok
test canary::tests::mismatch_reason_state_machine ... ok
test canary::tests::mismatch_reason_success ... ok
test canary::tests::mismatch_reason_timeout ... ok
test canary::tests::outcomes_match_failure ... ok
test canary::tests::outcomes_match_state_machine ... ok
test canary::tests::outcomes_match_success ... ok
test canary::tests::outcomes_match_timeout ... ok
test canary::tests::promote_first_time_no_existing_stable ... ok
test canary::tests::promote_moves_testing_to_stable ... ok
test canary::tests::promote_no_testing_binary_fails ... ok
test canary::tests::reject_no_testing_binary_is_ok ... ok
test canary::tests::rollback_no_prev_binary_fails ... ok
test canary::tests::reject_removes_testing_binary ... ok
test canary::tests::rollback_restores_previous_stable ... ok
test canary::tests::run_missing_testing_binary_fails ... ok
test canary::tests::status_empty_needle_home ... ok
test canary::tests::run_missing_workspace_fails ... ok
test canary::tests::success_with_extra_labels_still_matches ... ok
test cargo_test::tests::cargo_test_new_creates_runner ... ok
test canary::tests::status_reports_channel_state ... ok
test cargo_test::tests::cargo_test_spawn_captures_output_streams ... ok
test cargo_test::tests::cargo_test_spawn_succeeds ... ok
test cargo_test::tests::cargo_test_with_args_sets_args ... ok
test cargo_test::tests::cargo_test_with_timeout_sets_timeout ... ok
test cargo_test::tests::create_combined_output_adds_trailing_newline ... ok
test cargo_test::tests::create_combined_output_with_both_streams ... ok
test cargo_test::tests::create_combined_output_with_empty_streams ... ok
test cargo_test::tests::create_combined_output_with_only_stderr ... ok
test cargo_test::tests::create_combined_output_with_only_stdout ... ok
test cargo_test::tests::detect_compilation_errors_aborting_due_to ... ok
test cargo_test::tests::detect_compilation_errors_could_not_compile ... ok
test cargo_test::tests::detect_compilation_errors_empty_stderr ... ok
test cargo_test::tests::detect_compilation_errors_full_output ... ok
test cargo_test::tests::detect_compilation_errors_multiple_errors ... ok
test cargo_test::tests::detect_compilation_errors_test_output_only ... ok
test cargo_test::tests::detect_compilation_errors_with_error_code ... ok
test cargo_test::tests::extract_crate_name_from_compile_error ... ok
test cargo_test::tests::extract_crate_name_no_backticks ... ok
test cargo_test::tests::extract_error_count_from_abort_message ... ok
test cargo_test::tests::extract_error_count_no_number ... ok
test cargo_test::tests::parse_error_line_no_message ... ok
test cargo_test::tests::parse_error_line_not_error ... ok
test cargo_test::tests::parse_error_line_with_code ... ok
test cargo_test::tests::cargo_test_spawn_with_timeout_protection ... ok
test cargo_test::tests::run_with_bead_trace_creates_parent_directory ... ok
test cargo_test::tests::run_with_bead_trace_creates_trace_directory ... ok
test cargo_test::tests::run_with_bead_trace_handles_empty_output ... ok
test cargo_test::tests::run_with_bead_trace_handles_test_output ... ok
test cargo_test::tests::run_with_bead_trace_metrics_captures_exit_code ... ok
test cargo_test::tests::run_with_bead_trace_writes_test_metrics ... ok
test cargo_test::tests::run_with_output_files_creates_combined_structure ... ok
test cargo_test::tests::run_with_output_files_creates_output_files ... ok
test cargo_test::tests::test_args_add_cargo_flag ... ok
test cargo_test::tests::test_args_add_test_flag ... ok
test cargo_test::tests::test_args_add_test_name ... ok
test cargo_test::tests::test_args_build_default ... ok
test cargo_test::tests::test_args_build_full ... ok
test cargo_test::tests::test_args_build_with_cargo_flags ... ok
test cargo_test::tests::test_args_build_with_target ... ok
test cargo_test::tests::test_args_build_with_test_flags ... ok
test cargo_test::tests::test_args_default_is_empty ... ok
test cargo_test::tests::test_args_with_filter ... ok
test cargo_test::tests::test_args_with_target ... ok
test cargo_test::tests::test_metrics_duration_conversion ... ok
test cargo_test::tests::test_metrics_from_failed_outcome ... ok
test cargo_test::tests::test_metrics_from_successful_outcome ... ok
test cargo_test::tests::test_metrics_from_timeout_outcome ... ok
test cargo_test::tests::test_metrics_high_precision_timing ... ok
test cargo_test::tests::test_metrics_serialization ... ok
test cargo_test::tests::test_metrics_success_returns_false_for_nonzero_exit ... ok
test cargo_test::tests::test_metrics_success_returns_false_for_timeout ... ok
test cargo_test::tests::test_metrics_success_returns_true_for_zero_exit ... ok
test cargo_test::tests::test_outcome_is_compilation_failure ... ok
test cargo_test::tests::test_outcome_is_test_failure ... ok
test cargo_test::tests::test_outcome_success_false_with_nonzero_exit ... ok
test cargo_test::tests::test_outcome_success_false_with_timeout ... ok
test cargo_test::tests::test_outcome_success_with_zero_exit ... ok
test cargo_test::tests::test_outcome_summary_compilation_failed ... ok
test cargo_test::tests::test_outcome_summary_failed ... ok
test cargo_test::tests::test_outcome_summary_passed ... ok
test cargo_test::tests::test_outcome_summary_timed_out ... ok
test cargo_test::tests::test_truncate_output_long ... ok
test cargo_test::tests::test_truncate_output_short ... ok
test claim::tests::claim_next_all_excluded_returns_no_candidates ... ok
test cargo_test::tests::run_with_output_files_handles_empty_output ... ok
test claim::tests::claim_next_empty_candidates_returns_no_candidates ... ok
test claim::tests::claim_next_happy_path_returns_claimed ... ok
test claim::tests::claim_next_not_claimable_skips_to_next ... ok
test claim::tests::claim_next_race_lost_tries_next_candidate ... ok
test claim::tests::claim_one_happy_path ... ok
test claim::tests::exclusion_set_prevents_reclaim ... ok
test claim::tests::flock_acquire_and_release ... ok
test claim::tests::claim_next_all_race_lost_returns_all_race_lost ... ok
test claim::tests::workspace_lock_path_differs_for_different_workspaces ... ok
test claim::tests::workspace_lock_path_is_deterministic ... ok
test claude_md_placement::tests::detect_cross_workspace_patterns_empty_when_no_match ... ok
test claude_md_placement::tests::detect_cross_workspace_patterns_finds_matches ... ok
test claude_md_placement::tests::find_lca_nested_workspaces ... ok
test claude_md_placement::tests::find_lca_sibling_workspaces ... ok
test claude_md_placement::tests::find_lca_single_workspace ... ok
test claude_md_placement::tests::find_lca_three_workspaces ... ok
test claude_md_placement::tests::find_target_creates_at_workspace_when_none_exist ... ok
test claude_md_placement::tests::find_target_single_workspace_prefers_existing_claude_md ... ok
test claude_md_placement::tests::observations_not_similar ... ok
test claude_md_placement::tests::observations_similar_with_word_overlap ... ok
test claude_md_placement::tests::place_learning_adds_section_when_missing ... ok
test claude_md_placement::tests::place_learning_appends_to_existing_section ... ok
test claude_md_placement::tests::place_learning_creates_new_claude_md ... ok
test claude_md_placement::tests::place_learning_skips_duplicate ... ok
test cli::tests::check_result_display_fail ... ok
test cli::tests::check_result_display_pass ... ok
test cli::tests::check_result_display_warn ... ok
test cli::tests::check_result_with_detail ... ok
test cli::tests::cli_attach_requires_identifier ... ok
test cli::tests::cli_parses_attach ... ok
test cli::tests::cli_parses_canary ... ok
test cli::tests::cli_parses_canary_status ... ok
test cli::tests::cli_parses_config_dump ... ok
test cli::tests::cli_parses_config_dump_show_source ... ok
test cli::tests::cli_parses_config_get ... ok
test cli::tests::cli_parses_doctor ... ok
test cli::tests::cli_parses_doctor_repair ... ok
test cli::tests::cli_parses_doctor_with_workspace ... ok
test cli::tests::cli_parses_list_with_format ... ok
test cli::tests::cli_parses_logs_all_flags ... ok
test cli::tests::cli_parses_logs_defaults ... ok
test cli::tests::cli_parses_logs_filter ... ok
test cli::tests::cli_parses_logs_filter_field_equals ... ok
test cli::tests::cli_parses_logs_filter_field_gt ... ok
test cli::tests::cli_parses_logs_filter_field_regex ... ok
test cli::tests::cli_parses_logs_follow ... ok
test cli::tests::cli_parses_logs_format_jsonl ... ok
test cli::tests::cli_parses_logs_multiple_filters ... ok
test cli::tests::cli_parses_logs_since ... ok
test cli::tests::cli_parses_rollback ... ok
test cli::tests::cli_parses_run_count_5 ... ok
test cli::tests::cli_parses_run_defaults ... ok
test cli::tests::cli_parses_run_full ... ok
test cli::tests::cli_parses_status_by_worker ... ok
test cli::tests::cli_parses_status_cost ... ok
test cli::tests::cli_parses_status_cost_since ... ok
test cli::tests::cli_parses_status_defaults ... ok
test cli::tests::cli_parses_status_json ... ok
test cli::tests::cli_parses_stop_all ... ok
test cli::tests::cli_parses_stop_identifier ... ok
test cli::tests::cli_parses_test_agent ... ok
test cli::tests::cli_parses_upgrade ... ok
test cli::tests::cli_parses_upgrade_check ... ok
test cli::tests::cli_parses_version ... ok
test cli::tests::cli_rejects_unknown_subcommand ... ok
test cli::tests::cli_test_agent_requires_name ... ok
test cli::tests::config_dump_returns_all_fields ... ok
test cli::tests::config_get_key_known_keys ... ok
test cli::tests::config_get_key_unknown_returns_none ... ok
test cli::tests::default_worker_identifier_is_alpha ... ok
test cli::tests::doctor_check_heartbeat_dir_existing_writable ... ok
test cli::tests::doctor_check_heartbeat_dir_missing_no_repair ... ok
test cli::tests::doctor_check_heartbeat_dir_missing_with_repair ... ok
test cli::tests::doctor_check_heartbeats_no_dir ... ok
test cli::tests::doctor_check_heartbeats_no_files ... ok
test cli::tests::doctor_check_heartbeats_stale_file_repair ... ok
test cli::tests::doctor_check_heartbeats_stale_file_warns ... ok
test cli::tests::doctor_check_jsonl_empty_file ... ok
test cli::tests::doctor_check_jsonl_invalid_lines ... ok
test cli::tests::doctor_check_jsonl_missing_file ... ok
test cli::tests::doctor_check_jsonl_valid ... ok
test cli::tests::doctor_check_lock_files_fresh_not_stale ... ok
test cli::tests::doctor_check_lock_files_no_locks ... ok
test cli::tests::doctor_check_lock_files_stale_repair_removes ... ok
test cli::tests::doctor_check_lock_files_stale_warns_without_repair ... ok
test cli::tests::doctor_check_peers_no_heartbeats ... ok
test cli::tests::doctor_check_sqlite_no_db ... ok
test cli::tests::doctor_check_telemetry_logs_existing_files ... ok
test cli::tests::doctor_check_telemetry_logs_no_dir ... ok
test cli::tests::doctor_check_workspace_missing ... ok
test claim::tests::max_retries_caps_attempts ... ok
test cli::tests::doctor_check_workspace_no_beads_dir ... ok
test cli::tests::first_nato_is_alpha ... ok
test cli::tests::format_duration_hours ... ok
test cli::tests::format_duration_minutes ... ok
test cli::tests::doctor_check_workspace_valid ... ok
test cli::tests::format_duration_seconds ... ok
test cli::tests::identifier_no_collision ... ok
test cli::tests::identifier_collision_detected ... ok
test cli::tests::is_needle_inner_false_by_default ... ok
test cli::tests::is_needle_inner_false_for_other_values ... ok
test cli::tests::is_pid_alive_current_process ... ok
test cli::tests::is_pid_alive_nonexistent ... ok
test cli::tests::last_nato_is_zulu ... ok
test cli::tests::list_format_variants ... ok
test cli::tests::log_format_variants ... ok
test cli::tests::max_workers_cap_logic ... ok
test cli::tests::max_workers_zero_means_unlimited ... ok
test cli::tests::multi_worker_count_validation ... ok
test cli::tests::nato_alphabet_has_26_entries ... ok
test cli::tests::nato_alphabet_sequence ... ok
test cli::tests::parse_worker_id_different_agent_ignored ... ok
test cli::tests::parse_worker_id_from_session_name ... ok
test cli::tests::pick_names_all_occupied_fails ... ok
test cli::tests::pick_names_no_sessions_running ... ok
test cli::tests::pick_names_partial_exhaustion_fails ... ok
test cli::tests::pick_names_skips_non_contiguous_occupied ... ok
test cli::tests::pick_names_skips_occupied ... ok
test cli::tests::session_name_format ... ok
test cli::tests::shell_escape_plain_string ... ok
test cli::tests::shell_escape_string_with_quotes ... ok
test cli::tests::shell_escape_string_with_spaces ... ok
test cli::tests::single_worker_picks_first_available ... ok
test cli::tests::stop_requires_all_or_identifier ... ok
test cli::tests::version_string_format ... ok
test commit_hook::tests::already_has_trailer_logic ... ok
test commit_hook::tests::empty_head_means_no_op ... ok
test config::tests::agent_config_with_routing_yaml_roundtrip ... ok
test config::tests::cli_overrides_apply ... ok
test config::tests::cli_overrides_beat_env_vars ... ok
test config::tests::config_error_display_format ... ok
test config::tests::config_source_display ... ok
test cli::tests::is_needle_inner_true_when_env_set ... ok
test config::tests::cpu_load_warn_at_one_passes_validation ... ok
test config::tests::cpu_load_warn_negative_fails_validation ... ok
test config::tests::cpu_load_warn_over_one_fails_validation ... ok
test config::tests::default_agent_config_values ... ok
test config::tests::cpu_load_warn_zero_fails_validation ... ok
test config::tests::default_explore_config_values ... ok
test config::tests::default_health_config_values ... ok
test config::tests::default_knot_config_values ... ok
test config::tests::default_mend_config_values ... ok
test config::tests::default_mitosis_config_values ... ok
test config::tests::default_pulse_config_values ... ok
test config::tests::default_reflect_config_values ... ok
test config::tests::default_routing_config_matches_anthropic_models ... ok
test config::tests::default_self_modification_config_values ... ok
test config::tests::default_supervisor_config_values ... ok
test config::tests::default_telemetry_config_values ... ok
test config::tests::default_unravel_config_values ... ok
test config::tests::default_weave_config_values ... ok
test config::tests::default_worker_config_values ... ok
test config::tests::dump_with_sources_formats_correctly ... ok
test config::tests::dump_with_sources_includes_all_fields ... ok
test config::tests::dump_with_sources_shows_env_var_source ... ok
test config::tests::empty_adapter_in_routing_rule_fails_validation ... ok
test config::tests::env_override_agent_default ... ok
test config::tests::env_override_beats_workspace_config ... ok
test config::tests::default_config_is_valid ... ok
test config::tests::env_override_health_heartbeat_interval ... ok
test config::tests::env_override_health_heartbeat_ttl ... ok
test config::tests::env_override_invalid_bool_ignored ... ok
test config::tests::env_override_invalid_integer_ignored ... ok
test config::tests::env_override_self_modification_auto_promote ... ok
test config::tests::env_override_self_modification_canary_timeout ... ok
test config::tests::env_override_self_modification_enabled ... ok
test config::tests::env_override_supervisor_heartbeat_path ... ok
test config::tests::env_override_supervisor_socket_path ... ok
test config::tests::env_override_worker_idle_timeout ... ok
test config::tests::env_override_worker_launch_stagger ... ok
test config::tests::env_override_worker_max_workers ... ok
test config::tests::env_var_routing_default_adapter_override ... ok
test config::tests::env_var_routing_override_beats_workspace ... ok
test config::tests::heartbeat_ttl_at_3x_interval_passes_validation ... ok
test config::tests::invalid_regex_in_routing_rule_fails_validation ... ok
test config::tests::heartbeat_ttl_below_3x_interval_fails_validation ... ok
test config::tests::load_empty_yaml_returns_default ... ok
test config::tests::load_invalid_yaml_returns_error ... ok
test config::tests::load_partial_yaml_uses_defaults_for_missing ... ok
test config::tests::load_yaml_with_all_sections ... ok
test config::tests::load_yaml_with_unknown_fields_is_tolerated ... ok
test config::tests::load_resolved_applies_workspace_then_cli ... ok
test config::tests::max_workers_over_50_fails_validation ... ok
test config::tests::missing_agent_binary_fails_validation ... ok
test config::tests::missing_file_returns_default ... ok
test config::tests::multiple_validation_errors_in_routing ... ok
test config::tests::non_overridable_keys_are_detected ... ok
test config::tests::reflect_config_default_extraction_agent_is_none ... ok
test config::tests::routing_config_backward_compatibility ... ok
test config::tests::routing_config_empty_rules_list_is_valid ... ok
test config::tests::multiple_validation_errors_collected ... ok
test config::tests::routing_config_from_global_config_file ... ok
test config::tests::routing_config_with_rules_parses ... ok
test config::tests::routing_config_yaml_roundtrip ... ok
test config::tests::routing_default_anthropic_models_to_claude_print ... ok
test config::tests::routing_default_fallback_no_match ... ok
test config::tests::routing_glm_47_defaults_to_claude_code_glm_47 ... ok
test config::tests::routing_patterns_match_bare_aliases ... ok
test config::tests::routing_patterns_match_full_model_ids ... ok
test config::tests::routing_first_match_wins ... ok
test config::tests::routing_patterns_match_with_wildcards ... ok
test config::tests::routing_workspace_override ... ok
test config::tests::source_map_tracks_cli_overrides ... ok
test config::tests::splice_config_default_values ... ok
test config::tests::supervisor_config_empty_section_loads_defaults ... ok
test config::tests::routing_strict_mode_failure ... ok
test config::tests::supervisor_config_json_roundtrip ... ok
test config::tests::supervisor_config_resolved_heartbeat_path_custom ... ok
test config::tests::supervisor_config_resolved_heartbeat_path_default ... ok
test config::tests::supervisor_config_from_full_yaml ... ok
test config::tests::supervisor_config_with_only_heartbeat_path ... ok
test config::tests::supervisor_config_with_only_socket_path ... ok
test config::tests::supervisor_config_yaml_roundtrip ... ok
test config::tests::workspace_config_global_used_when_absent ... ok
test config::tests::workspace_config_missing_returns_none ... ok
test config::tests::workspace_config_overrides_agent_default ... ok
test config::tests::workspace_config_overrides_prompt ... ok
test config::tests::workspace_config_overrides_strands_pulse ... ok
test config::tests::workspace_config_overrides_strands_unravel ... ok
test config::tests::workspace_config_overrides_strands_weave ... ok
test config::tests::workspace_config_overrides_verification ... ok
test config::tests::workspace_config_partial_agent_override ... ok
test config::tests::workspace_config_routing_override ... ok
test config::tests::workspace_invalid_yaml_returns_error ... ok
test config::tests::workspace_labels_default_empty ... ok
test config::tests::workspace_labels_not_set_leaves_default ... ok
test config::tests::workspace_labels_parsed_from_needle_yaml ... ok
test config::tests::workspace_overrides_deserialize_ignores_non_overridable ... ok
test config::tests::valid_regex_in_routing_rule_passes_validation ... ok
test config::tests::yaml_roundtrip ... ok
test cost::tests::budget_above_stop_returns_stop ... ok
test cost::tests::budget_at_stop_returns_stop ... ok
test cost::tests::budget_at_warn_returns_warn ... ok
test cost::tests::budget_below_warn_returns_ok ... ok
test cost::tests::budget_between_warn_and_stop ... ok
test cost::tests::budget_disabled_returns_ok ... ok
test cost::tests::budget_stop_only_no_warn ... ok
test cost::tests::budget_warn_only_no_stop ... ok
test cost::tests::default_pricing_has_known_models ... ok
test cost::tests::default_pricing_rates_are_positive ... ok
test cost::tests::estimate_cost_input_only ... ok
test cost::tests::estimate_cost_no_tokens_returns_none ... ok
test cost::tests::estimate_cost_opus_typical ... ok
test cost::tests::estimate_cost_output_only ... ok
test cost::tests::estimate_cost_sonnet_typical ... ok
test cost::tests::estimate_cost_unknown_model_returns_none ... ok
test cost::tests::estimate_cost_zero_tokens_returns_none ... ok
test config::tests::zero_max_workers_fails_validation ... ok
test cost::tests::scan_daily_cost_empty_dir ... ok
test cost::tests::scan_daily_cost_handles_null_cost ... ok
test cost::tests::scan_daily_cost_missing_dir ... ok
test cost::tests::scan_daily_cost_ignores_non_jsonl_files ... ok
test cost::tests::scan_daily_cost_skips_corrupt_lines ... ok
test decision::tests::adr_lite_format ... ok
test cost::tests::scan_daily_cost_sums_todays_events ... ok
test decision::tests::adr_store_write_and_list ... ok
test decision::tests::adr_to_markdown_format ... ok
test decision::tests::contains_error_indicator ... ok
test decision::tests::decision_id_generation ... ok
test decision::tests::detect_exploration_choice_pattern ... ok
test decision::tests::detect_failure_recovery_pattern ... ok
test decision::tests::extract_file_path_from_description ... ok
test dispatch::tests::adapter_yaml_args_input_method ... ok
test dispatch::tests::adapter_yaml_deserialization ... ok
test dispatch::tests::adapter_yaml_file_input_method ... ok
test dispatch::tests::adapter_yaml_output_transform_absent_is_none ... ok
test dispatch::tests::adapter_yaml_output_transform_deserialized ... ok
test dispatch::tests::all_builtin_adapters_load ... ok
test dispatch::tests::build_sample_json_creates_valid_structure ... ok
test dispatch::tests::builtin_adapters_are_present ... ok
test dispatch::tests::builtin_aider_config ... ok
test dispatch::tests::builtin_claude_opus_config ... ok
test dispatch::tests::adapter_yaml_roundtrip ... ok
test dispatch::tests::builtin_codex_config ... ok
test dispatch::tests::builtin_opencode_config ... ok
test dispatch::tests::claude_opus_adapter_has_genai_attributes ... ok
test dispatch::tests::claude_sonnet_adapter_has_genai_attributes ... ok
test dispatch::tests::codex_adapter_has_openai_provider ... ok
test dispatch::tests::dispatch_captures_stderr ... ok
test dispatch::tests::dispatch_captures_exit_code ... ok
test dispatch::tests::dispatch_cleans_up_temp_file ... ok
test dispatch::tests::dispatch_echo_captures_stdout ... ok
test dispatch::tests::dispatch_environment_variables ... ok
test dispatch::tests::dispatch_missing_binary_returns_127 ... ok
test dispatch::tests::dispatch_stdin_redirect_from_prompt_file ... ok
test dispatch::tests::dispatch_template_renders_bead_id ... ok
test dispatch::tests::e2e_adapter_with_custom_env_and_base_url ... ok
test dispatch::tests::e2e_all_template_variables_substituted ... ok
test dispatch::tests::e2e_exit_code_0_is_success ... ok
test dispatch::tests::e2e_exit_code_137_is_crash ... ok
test dispatch::tests::e2e_exit_code_1_is_failure ... ok
test dispatch::tests::e2e_exit_code_2_is_failure ... ok
test dispatch::tests::e2e_json_output_capture_and_token_extraction ... ok
test dispatch::tests::e2e_multiple_environment_variables ... ok
test dispatch::tests::e2e_prompt_with_newlines_preserved ... ok
test dispatch::tests::e2e_prompt_with_shell_metacharacters ... ok
test dispatch::tests::dispatch_timeout_returns_124 ... ok
test dispatch::tests::e2e_timeout_kills_agent_returns_124 ... ok
test dispatch::tests::e2e_workspace_directory_is_correct ... ok
test dispatch::tests::effective_timeout_falls_back_to_global ... ok
test dispatch::tests::effective_timeout_uses_adapter_when_nonzero ... ok
test dispatch::tests::effective_timeout_zero_when_both_zero ... ok
test dispatch::tests::extract_tokens_dispatches_to_json ... ok
test dispatch::tests::extract_tokens_json_field ... ok
test dispatch::tests::extract_tokens_json_invalid ... ok
test dispatch::tests::extract_tokens_json_missing_path ... ok
test dispatch::tests::extract_tokens_none_returns_default ... ok
test dispatch::tests::extract_tokens_regex_aider_format ... ok
test dispatch::tests::extract_tokens_regex_invalid_pattern ... ok
test dispatch::tests::extract_tokens_regex_no_match ... ok
test dispatch::tests::extract_tokens_regex_searches_stderr_too ... ok
test dispatch::tests::gen_ai_system_returns_local_for_adapter_without_provider ... ok
test dispatch::tests::gen_ai_system_returns_provider_for_claude_opus ... ok
test dispatch::tests::gen_ai_system_returns_provider_for_claude_sonnet ... ok
test dispatch::tests::gen_ai_system_returns_provider_for_codex ... ok
test dispatch::tests::load_adapters_from_yaml_directory ... ok
test dispatch::tests::load_adapters_includes_builtins ... ok
test dispatch::tests::render_template_preserves_unrecognized_placeholders ... ok
test dispatch::tests::render_template_substitutes_all_variables ... ok
test dispatch::tests::token_extraction_none_yaml_roundtrip ... ok
test dispatch::tests::token_extraction_regex_yaml_roundtrip ... ok
test dispatch::tests::token_extraction_yaml_roundtrip ... ok
test dispatch::tests::user_adapter_overrides_builtin ... ok
test dispatch::tests::write_prompt_to_temp_creates_file ... ok
test dispatch::tests::write_prompt_to_temp_uses_temp_dir ... ok
test drift::tests::drift_category_as_str ... ok
test drift::tests::drift_detector_different_tools ... ok
test drift::tests::drift_detector_no_transcripts ... ok
test drift::tests::drift_detector_similar_sessions ... ok
test drift::tests::drift_detector_single_transcript ... ok
test drift::tests::drift_report_to_markdown ... ok
test drift::tests::fingerprint_from_transcript ... ok
test drift::tests::jaccard_similarity_different ... ok
test drift::tests::jaccard_similarity_identical ... ok
test health::tests::atomic_write_never_produces_partial ... ok
test health::tests::check_pid_alive_current_process ... ok
test health::tests::check_pid_alive_nonexistent ... ok
test health::tests::check_supervisor_heartbeat_file_fresh_returns_true ... ok
test health::tests::check_supervisor_heartbeat_file_invalid_returns_false ... ok
test health::tests::check_supervisor_heartbeat_file_malformed_json_returns_error ... ok
test health::tests::check_supervisor_heartbeat_file_missing_returns_false ... ok
test health::tests::check_supervisor_heartbeat_file_stale_returns_false ... ok
test health::tests::check_supervisor_socket_default_path ... ok
test health::tests::check_supervisor_socket_exists_returns_true ... ok
test health::tests::check_supervisor_socket_missing_returns_false ... ok
test health::tests::cleanup_heartbeat_file_logs_errors_on_failure ... ok
test health::tests::cleanup_heartbeat_file_ok_when_file_missing ... ok
test health::tests::cleanup_heartbeat_file_removes_existing_file ... ok
test health::tests::cleanup_heartbeat_file_with_heartbeat_path ... ok
test health::tests::detect_stale_peers_excludes_self ... ok
test health::tests::detect_supervisor_direct_heartbeat_takes_precedence ... ok
test health::tests::detect_supervisor_direct_no_supervisor_returns_false ... ok
test health::tests::detect_supervisor_direct_with_heartbeat_returns_true ... ok
test health::tests::detect_supervisor_direct_with_socket_returns_true ... ok
test health::tests::detect_supervisor_ignores_stale_heartbeats ... ok
test health::tests::detect_supervisor_multiple_workers ... ok
test health::tests::detect_supervisor_no_other_workers ... ok
test health::tests::detect_supervisor_nonexistent_directory ... ok
test health::tests::detect_supervisor_recent_spawn_activity ... ok
test health::tests::emitter_exits_after_consecutive_failures ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_logs_errors_on_failure ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_ok_when_file_missing ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_removes_existing_file ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_with_running_emitter ... ok
test health::tests::heartbeat_cleanup_on_graceful_shutdown ... ok
test health::tests::heartbeat_cleanup_on_worker_drop ... ok
test dispatch::tests::e2e_timeout_kills_entire_process_group ... ok
test health::tests::heartbeat_data_roundtrip ... ok
test health::tests::heartbeat_file_removed_on_stop ... ok
test health::tests::heartbeat_file_written_on_start ... ok
test health::tests::heartbeat_files_dont_collide_across_adapter_pools ... ok
test health::tests::heartbeat_path_computed_during_construction ... ok
test health::tests::heartbeat_path_uses_qualified_id_not_bare_worker_id ... ok
test health::tests::heartbeat_updates_with_shared_state ... ok
test health::tests::heartbeat_uses_cross_workspace_bead_workspace ... ok
test health::tests::is_stale_detects_old_heartbeats ... ok
test health::tests::read_all_heartbeats_nonexistent_dir ... ok
test health::tests::read_all_heartbeats_reads_files ... ok
test learning::tests::meaningful_returns_false_with_all_none ... ok
test learning::tests::meaningful_returns_true_with_content ... ok
test learning::tests::parse_body_without_retrospective ... ok
test learning::tests::parse_full_retrospective ... ok
test learning::tests::parse_partial_retrospective ... ok
test learning::tests::parse_retrospective_all_empty_returns_none ... ok
test learning::tests::parse_retrospective_case_sensitive ... ok
test learning::tests::parse_retrospective_multiline_values ... ok
test learning::tests::parse_retrospective_with_empty_fields ... ok
test learning::tests::serialize_retrospective_to_json ... ok
test mitosis::tests::create_children_all_deduped ... ok
test mitosis::tests::create_children_with_dedup ... ok
test mitosis::tests::dedup_ignores_children_of_other_parents ... ok
test mitosis::tests::evaluate_skips_when_disabled ... ok
test mitosis::tests::evaluate_skips_when_not_first_failure ... ok
test mitosis::tests::extract_bare_json ... ok
test mitosis::tests::extract_from_json_fence ... ok
test mitosis::tests::parse_response_embedded_json_object ... ok
test mitosis::tests::parse_response_from_markdown_code_fence ... ok
test mitosis::tests::parse_response_invalid_json ... ok
test mitosis::tests::parse_response_not_splittable ... ok
test mitosis::tests::parse_response_splittable_with_children ... ok
test mitosis::tests::repeat_interval_skips_max_depth_beads ... ok
test mitosis::tests::repeat_interval_skips_mitosis_depth_beads ... ok
test mitosis::tests::repeat_interval_triggers_at_correct_counts ... ok
test mitosis::tests::repeat_interval_zero_preserves_first_failure_only ... ok
test mitosis::tests::sanitize_replaces_slashes ... ok
test mitosis::tests::titles_match_exact ... ok
test mitosis::tests::titles_match_substring ... ok
test mitosis::tests::titles_no_match ... ok
test outcome::tests::classify_no_wildcard_arms ... ok
test outcome::tests::classify_not_interrupted_uses_exit_code ... ok
test outcome::tests::classify_was_interrupted_always_returns_interrupted ... ok
test outcome::tests::handle_agent_not_found_releases ... ok
test outcome::tests::handle_crash_negative_exit_code ... ok
test outcome::tests::handle_crash_releases_and_creates_alert_bead ... ok
test outcome::tests::handle_failure_emits_telemetry_events ... ok
test outcome::tests::handle_failure_increments_existing_count ... ok
test outcome::tests::handle_failure_releases_and_increments_count ... ok
test outcome::tests::handle_failure_with_flush_timeout_continues_gracefully ... ok
test health::tests::heartbeat_creates_and_refreshes_every_30_seconds has been running for over 60 seconds
test outcome::tests::handle_failure_with_release_timeout_continues_gracefully ... ok
test outcome::tests::handle_interrupted_releases ... ok
test outcome::tests::handle_success_bead_closed_by_agent ... ok
test outcome::tests::handle_success_bead_still_open_emits_orphaned ... ok
test outcome::tests::handle_success_multiple_gates_first_fails ... ok
test outcome::tests::handle_success_no_verification_default_behavior ... ok
test outcome::tests::handle_success_resets_failure_count ... ok
test outcome::tests::handle_success_verification_fails_increments_failure_count ... ok
test outcome::tests::handle_success_verification_fails_releases_bead ... ok
test outcome::tests::handle_success_verification_fails_reopens_closed_bead ... ok
test outcome::tests::handle_success_verification_passes_accepts_closure ... ok
test outcome::tests::handle_timeout_releases_and_adds_deferred ... ok
test outcome::tests::handle_with_cancellation_respects_cancelled_flag ... ok
test outcome::tests::outcome_display_covers_all_variants ... ok
test peer::tests::crashed_peer_bead_released ... ok
test peer::tests::crashed_peer_no_bead_still_cleaned ... ok
test peer::tests::empty_heartbeat_dir_returns_zero ... ok
test peer::tests::healthy_peers_are_ignored ... ok
test peer::tests::multiple_peers_mixed_states ... ok
test peer::tests::nonexistent_heartbeat_dir_returns_zero ... ok
test peer::tests::own_heartbeat_skipped ... ok
test peer::tests::peer_check_result_did_work ... ok
test peer::tests::remove_heartbeat_file_nonexistent_is_ok ... ok
test peer::tests::remove_heartbeat_file_removes_existing ... ok
test peer::tests::stuck_peer_not_released ... ok
test prompt::tests::all_five_default_templates_present ... ok
test prompt::tests::build_mitosis_substitutes_existing_children ... ok
test prompt::tests::build_pluck_contains_bead_id ... ok
test prompt::tests::build_pluck_contains_close_instruction ... ok
test prompt::tests::build_pluck_contains_title_and_body ... ok
test prompt::tests::build_pulse_substitutes_scan_results ... ok
test prompt::tests::build_unravel_substitutes_human_context ... ok
test prompt::tests::build_weave_substitutes_doc_files ... ok
test prompt::tests::build_with_vars_extra_substitution ... ok
test prompt::tests::config_template_override_replaces_default ... ok
test prompt::tests::context_files_are_loaded_when_present ... ok
test prompt::tests::deterministic_same_inputs_same_output ... ok
test prompt::tests::extract_vars_deduplicates ... ok
test prompt::tests::extract_vars_handles_empty ... ok
test prompt::tests::extract_vars_skips_escaped_braces ... ok
test prompt::tests::hash_is_valid_hex_sha256 ... ok
test prompt::tests::hex_sha256_known_value ... ok
test prompt::tests::missing_body_uses_fallback ... ok
test prompt::tests::missing_context_files_do_not_error ... ok
test prompt::tests::no_literal_template_variables_in_output ... ok
test prompt::tests::partial_override_keeps_other_defaults ... ok
test prompt::tests::token_estimate_is_reasonable ... ok
test prompt::tests::unknown_template_returns_error ... ok
test prompt::tests::validate_allows_strand_specific_vars_in_correct_template ... ok
test prompt::tests::validate_catches_unknown_variable ... ok
test prompt::tests::validate_default_templates_pass ... ok
test prompt::tests::validate_rejects_strand_specific_var_in_wrong_template ... ok
test prompt::tests::worker_id_appears_in_output ... ok
test prompt::tests::workspace_path_appears_in_output ... ok
test rate_limit::tests::decision_display ... ok
test rate_limit::tests::different_provider_not_counted ... ok
test rate_limit::tests::model_concurrency_at_limit_blocks ... ok
test rate_limit::tests::model_concurrency_below_limit_allows ... ok
test rate_limit::tests::no_limits_configured_allows_all ... ok
test rate_limit::tests::no_provider_or_model_allows ... ok
test rate_limit::tests::provider_checked_before_model ... ok
test rate_limit::tests::provider_concurrency_at_limit_blocks ... ok
test rate_limit::tests::provider_concurrency_below_limit_allows ... ok
test rate_limit::tests::provider_concurrency_ignores_dead_pids ... ok
test rate_limit::tests::provider_conjunction_with_dead_pid_does_not_block ... ok
test rate_limit::tests::rpm_limit_allows_first_request ... ok
test rate_limit::tests::rpm_limit_exhausts_bucket ... ok
test rate_limit::tests::system_resource_check_does_not_panic ... ok
test rate_limit::tests::token_bucket_does_not_exceed_capacity ... ok
test rate_limit::tests::token_bucket_refill ... ok
test registry::tests::concurrent_registration_no_corruption ... ok
test registry::tests::default_location_uses_state_subdir ... ok
test registry::tests::deregister_nonexistent_is_noop ... ok
test registry::tests::deregister_removes_worker ... ok
test registry::tests::empty_registry_returns_empty_list ... ok
test registry::tests::is_pid_alive_returns_false_for_nonexistent_pid ... ok
test registry::tests::is_pid_alive_returns_true_for_current_process ... ok
test registry::tests::list_filters_out_dead_pids ... ok
test registry::tests::list_persists_cleanup_after_filtering_dead_pids ... ok
test registry::tests::register_and_list ... ok
test registry::tests::register_replaces_stale_entry ... ok
test registry::tests::registry_file_is_valid_json ... ok
test registry::tests::registry_json_roundtrip ... ok
test registry::tests::update_beads_processed ... ok
test registry::tests::update_nonexistent_worker_is_noop ... ok
test routing::tests::adapter_names_preserved ... ok
test routing::tests::all_rules_invalid_returns_default ... ok
test routing::tests::claude_family_regex ... ok
test routing::tests::compiled_rule_invalid_pattern ... ok
test routing::tests::compiled_rule_matches ... ok
test routing::tests::convert_glob_to_regex_double_asterisk ... ok
test routing::tests::convert_glob_to_regex_escaped ... ok
test routing::tests::convert_glob_to_regex_mixed ... ok
test routing::tests::convert_glob_to_regex_single_asterisk ... ok
test routing::tests::empty_model_name ... ok
test routing::tests::empty_rules_empty_default_returns_none ... ok
test routing::tests::escaped_asterisk_treated_literally ... ok
test routing::tests::escaped_double_asterisk_treated_literally ... ok
test routing::tests::first_match_wins ... ok
test routing::tests::glob_asterisk_double ... ok
test routing::tests::glob_asterisk_single ... ok
test routing::tests::glob_catchall ... ok
test routing::tests::glob_catchall_double_asterisk ... ok
test routing::tests::glob_double_asterisk_with_slashes ... ok
test routing::tests::glob_match_bracket_patterns ... ok
test routing::tests::glob_match_case_sensitive ... ok
test routing::tests::glob_match_catchall ... ok
test routing::tests::glob_match_character_class ... ok
test routing::tests::glob_match_complex_patterns ... ok
test routing::tests::glob_match_double_asterisk_specific_patterns ... ok
test routing::tests::glob_match_double_wildcard ... ok
test routing::tests::glob_match_empty_model_name ... ok
test routing::tests::glob_match_empty_pattern ... ok
test routing::tests::glob_match_empty_string_variations ... ok
test routing::tests::glob_match_exact_string ... ok
test routing::tests::glob_match_invalid_pattern ... ok
test routing::tests::glob_match_multiple_wildcards ... ok
test routing::tests::glob_match_nested_path_test_pattern ... ok
test routing::tests::glob_match_non_matching_comprehensive ... ok
test routing::tests::glob_match_question_mark ... ok
test routing::tests::glob_match_real_world_model_names ... ok
test routing::tests::glob_match_real_world_patterns ... ok
test routing::tests::glob_match_trailing_wildcard ... ok
test routing::tests::glob_match_with_slashes ... ok
test routing::tests::glob_match_with_special_characters ... ok
test routing::tests::glob_match_with_wildcard ... ok
test routing::tests::glob_pattern_with_slashes ... ok
test routing::tests::gpt_glob_style_patterns ... ok
test routing::tests::gpt_regex_patterns ... ok
test routing::tests::invalid_regex_pattern_skipped_gracefully ... ok
test routing::tests::is_glob_pattern_detection ... ok
test routing::tests::match_glob_bracket_patterns ... ok
test routing::tests::match_glob_case_sensitive ... ok
test routing::tests::match_glob_catchall ... ok
test routing::tests::match_glob_character_class ... ok
test routing::tests::match_glob_complex_patterns ... ok
test routing::tests::match_glob_double_wildcard ... ok
test routing::tests::match_glob_empty_model_name ... ok
test routing::tests::match_glob_empty_pattern ... ok
test routing::tests::match_glob_empty_string_variations ... ok
test routing::tests::match_glob_exact_string ... ok
test routing::tests::match_glob_invalid_pattern ... ok
test routing::tests::match_glob_multiple_wildcards ... ok
test routing::tests::match_glob_non_matching_comprehensive ... ok
test routing::tests::match_glob_question_mark ... ok
test routing::tests::match_glob_real_world_model_names ... ok
test routing::tests::match_glob_real_world_patterns ... ok
test routing::tests::match_glob_trailing_wildcard ... ok
test routing::tests::match_glob_with_slashes ... ok
test routing::tests::match_glob_with_special_characters ... ok
test routing::tests::match_glob_with_wildcard ... ok
test routing::tests::mixed_regex_and_glob_patterns ... ok
test routing::tests::needs_glob_conversion_detection ... ok
test routing::tests::no_match_empty_default_returns_none ... ok
test routing::tests::no_match_empty_rules ... ok
test routing::tests::no_match_returns_default ... ok
test routing::tests::non_matching_regex_patterns ... ok
test routing::tests::real_world_anthropic_routing ... ok
test routing::tests::regex_anchors_work ... ok
test routing::tests::regex_pattern_complex ... ok
test routing::tests::regex_pattern_match ... ok
test routing::tests::whitespace_in_patterns ... ok
test sanitize::tests::normalize_regex_posix_classes ... ok
test sanitize::tests::sanitizer_builds_from_vendored_toml ... ok
test health::tests::heartbeat_creates_and_refreshes_every_30_seconds ... ok
test sanitize::tests::sanitizer_handles_low_entropy_placeholder ... ok
test sanitize::tests::sanitizer_multiline_sanitizes_each_line ... ok
test sanitize::tests::sanitizer_performance ... ok
test sanitize::tests::sanitizer_performance_100kb_median ... ok
test sanitize::tests::sanitizer_preserves_already_redacted ... ok
test sanitize::tests::sanitizer_preserves_bead_ids ... ok
test sanitize::tests::sanitizer_preserves_short_line ... ok
test sanitize::tests::sanitizer_redacts_anthropic_api_key ... ok
test sanitize::tests::sanitizer_redacts_gcp_api_key ... ok
test sanitize::tests::shannon_entropy_empty ... ok
test sanitize::tests::shannon_entropy_high ... ok
test sanitize::tests::shannon_entropy_uniform ... ok
test skill::tests::extend_from_workspace_adds_matching_skills ... ok
test skill::tests::extend_from_workspace_cross_workspace_ranking ... ok
test skill::tests::extend_from_workspace_no_labels_is_noop ... ok
test skill::tests::extend_from_workspace_skips_duplicates ... ok
test skill::tests::increment_success_updates_file ... ok
test skill::tests::library_empty_dir ... ok
test skill::tests::library_matching_skills_top_3 ... ok
test skill::tests::match_score_label_match ... ok
test skill::tests::match_score_no_match ... ok
test skill::tests::match_score_task_type_in_title ... ok
test skill::tests::parse_no_frontmatter ... ok
test skill::tests::parse_roundtrip ... ok
test skill::tests::promoted_source_beads ... ok
test skill::tests::skill_file_name_fallback ... ok
test skill::tests::skill_file_name_from_heading ... ok
test skill::tests::to_prompt_content_empty ... ok
test skill::tests::to_prompt_content_with_skills ... ok
test span::tests::attribute_keys_follow_conventions ... ok
test span::tests::result_values_match_expected ... ok
test span::tests::span_names_are_dotted_lowercase ... ok
test span::tests::strand_name_builder ... ok
test stats::tests::aggregator_correlates_outcomes ... ok
test stats::tests::aggregator_counts_dispatches ... ok
test stats::tests::aggregator_load_from_file ... ok
test stats::tests::aggregator_load_logs_scans_directory ... ok
test stats::tests::aggregator_tracks_multiple_variants ... ok
test stats::tests::calculate_p95_empty ... ok
test stats::tests::calculate_p95_single_element ... ok
test stats::tests::calculate_p95_sorted ... ok
test stats::tests::calculate_p95_twenty_elements ... ok
test stats::tests::calculate_p95_unsorted ... ok
test stats::tests::comparison_ready_variants_threshold ... ok
test stats::tests::compute_stats_by_task_type ... ok
test stats::tests::compute_stats_by_template_version ... ok
test stats::tests::compute_stats_by_worker ... ok
test stats::tests::p95_collector_clear ... ok
test stats::tests::p95_collector_empty ... ok
test stats::tests::p95_collector_multiple_samples ... ok
test stats::tests::p95_collector_record_all ... ok
test stats::tests::p95_collector_samples_ref ... ok
test stats::tests::p95_collector_single_sample ... ok
test stats::tests::p95_collector_stats ... ok
test stats::tests::p95_collector_with_capacity ... ok
test stats::tests::stats_row_defaults_give_none ... ok
test stats::tests::variant_stats_success_rate_computed ... ok
test stats::tests::variant_stats_success_rate_empty ... ok
test stats::tests::variant_stats_sufficient_data ... ok
test strand::explore::tests::deadlock_scenario_assigned_beads_allow_advancement ... ok
test strand::explore::tests::deadlock_scenario_excluded_and_assigned_beads_allow_advancement ... ok
test strand::explore::tests::deadlock_scenario_excluded_beads_allow_advancement ... ok
test strand::explore::tests::default_config_is_enabled_with_empty_workspaces ... ok
test strand::explore::tests::disabled_returns_no_work ... ok
test strand::explore::tests::discover_workspaces_finds_dirs_with_beads_subdir ... ok
test strand::explore::tests::discover_workspaces_returns_empty_for_nonexistent_root ... ok
test strand::explore::tests::empty_workspace_list_returns_no_work ... ok
test strand::explore::tests::empty_workspaces_config_triggers_discovery ... ok
test strand::explore::tests::explicit_workspaces_list_skips_discovery ... ok
test strand::explore::tests::has_beads_dir_detects_directory ... ok
test strand::explore::tests::home_workspace_is_captured ... ok
test strand::explore::tests::nonexistent_workspace_path_returns_no_work ... ok
test strand::explore::tests::skips_home_workspace ... ok
test strand::explore::tests::skips_workspace_without_beads_dir ... ok
test strand::explore::tests::strand_name_is_explore ... ok
test strand::explore::tests::test_deadlock_multi_workspace_with_excluded_first_workspace ... ok
test strand::explore::tests::workspace_list_is_static ... ok
test strand::knot::tests::alert_rate_limited_within_cooldown ... ok
test strand::knot::tests::all_claimed_returns_no_work_no_alert ... ok
test strand::knot::tests::all_done_or_blocked_is_no_beads_exist ... ok
test strand::knot::tests::claimed_by_deduplicates_workers ... ok
test strand::knot::tests::diagnose_all_claimed ... ok
test strand::knot::tests::diagnose_empty_queue ... ok
test strand::knot::tests::diagnose_invisible ... ok
test strand::knot::tests::diagnose_mixed_done_and_in_progress_is_all_claimed ... ok
test strand::knot::tests::invisible_emits_telemetry_after_threshold ... ok
test strand::knot::tests::knot_always_returns_no_work ... ok
test strand::knot::tests::no_beads_exist_returns_no_work_no_alert ... ok
test strand::knot::tests::store_error_returns_strand_error ... ok
test strand::knot::tests::strand_name_is_knot ... ok
test strand::knot::tests::telemetry_contains_diagnostic_details ... ok
test strand::mend::tests::agent_log_cleanup_deletes_old_file ... ok
test strand::mend::tests::agent_log_cleanup_deletes_unregistered_worker_log ... ok
test strand::mend::tests::agent_log_cleanup_deletes_zero_activity_log_immediately ... ok
test strand::mend::tests::agent_log_cleanup_disabled_when_retention_zero ... ok
test strand::mend::tests::agent_log_cleanup_no_files_skips_scan ... ok
test strand::mend::tests::agent_log_cleanup_preserves_active_worker_log ... ok
test strand::mend::tests::agent_log_cleanup_skips_in_progress_bead ... ok
test strand::mend::tests::agent_log_cleanup_skips_recent_file ... ok
test strand::mend::tests::clean_db_check_no_repair ... ok
test strand::mend::tests::clean_db_no_work ... ok
test strand::mend::tests::cleanup_learnings_consolidates_when_over_limit ... ok
test strand::mend::tests::cleanup_learnings_emits_telemetry_on_cleanup ... ok
test strand::mend::tests::cleanup_learnings_prunes_stale_entries ... ok
test strand::mend::tests::cleanup_learnings_skips_when_under_limit ... ok
test strand::mend::tests::cleanup_old_traces_deletes_old_failed_trace ... ok
test strand::mend::tests::cleanup_old_traces_emits_telemetry_on_cleanup ... ok
test strand::mend::tests::cleanup_old_traces_prunes_old_success_trace ... ok
test strand::mend::tests::cleanup_old_traces_skips_recent_trace ... ok
test strand::mend::tests::cleanup_orphaned_locks_emits_failure_on_removal_error ... ok
test strand::mend::tests::cleanup_orphaned_locks_empty_directory ... ok
test strand::mend::tests::cleanup_orphaned_locks_ignores_non_lock_files ... ok
test strand::mend::tests::cleanup_orphaned_locks_mixed_orphaned_and_held ... ok
test strand::mend::tests::cleanup_orphaned_locks_removes_multiple_orphaned_locks ... ok
test strand::mend::tests::cleanup_orphaned_locks_removes_orphaned_lock ... ok
test strand::mend::tests::cleanup_orphaned_locks_skips_actively_held_lock ... ok
test strand::mend::tests::cleanup_stale_dependencies_emits_failure_telemetry_on_error ... ok
test strand::mend::tests::cleanup_stale_dependencies_emits_telemetry_on_removal ... ok
test strand::mend::tests::cleanup_stale_dependencies_removes_multiple_closed_blockers ... ok
test strand::mend::tests::cleanup_stale_dependencies_removes_single_closed_blocker ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_beads_without_dependencies ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_closed_beads ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_non_blocks_types ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_open_blockers ... ok
test strand::mend::tests::closed_bead_deps_not_checked ... ok
test strand::mend::tests::collision_same_nato_different_adapter_dead_worker_released ... ok
test strand::mend::tests::collision_same_nato_different_adapter_live_worker_not_released ... ok
test strand::mend::tests::crashed_peer_bead_released_returns_work_created ... ok
test strand::mend::tests::db_check_warnings_escalate_to_repair ... ok
test strand::mend::tests::db_repair_failure_triggers_full_rebuild ... ok
test strand::mend::tests::db_repair_returns_no_work ... ok
test strand::mend::tests::dead_worker_removed_from_registry ... ok
test strand::mend::tests::file_age_returns_none_for_missing_file ... ok
test strand::mend::tests::file_age_returns_some_for_existing_file ... ok
test strand::mend::tests::flag_idle_workers_boundary_age_equals_timeout_not_flagged ... ok
test strand::mend::tests::flag_idle_workers_emits_telemetry_for_each_idle_worker ... ok
test strand::mend::tests::flag_idle_workers_emits_telemetry_when_flagging ... ok
test strand::mend::tests::flag_idle_workers_flags_idle_worker ... ok
test strand::mend::tests::flag_idle_workers_flags_idle_worker_with_zero_beads ... ok
test strand::mend::tests::flag_idle_workers_returns_error_when_registry_list_fails ... ok
test strand::mend::tests::flag_idle_workers_skips_worker_with_beads_processed ... ok
test strand::mend::tests::flag_idle_workers_skips_worker_with_future_started_at ... ok
test strand::mend::tests::flag_idle_workers_skips_worker_younger_than_idle_timeout ... ok
test strand::mend::tests::fresh_orphaned_heartbeat_not_removed ... ok
test strand::mend::tests::idle_worker_flagging_counts_multiple_idle_workers ... ok
test strand::mend::tests::idle_worker_flagging_emits_telemetry_event ... ok
test strand::mend::tests::idle_worker_flagging_empty_registry ... ok
test strand::mend::tests::idle_worker_flagging_flags_worker_with_zero_beads_past_timeout ... ok
test strand::mend::tests::idle_worker_flagging_mixed_workers ... ok
test strand::mend::tests::idle_worker_flagging_skips_active_worker_with_beads_processed ... ok
test strand::mend::tests::idle_worker_flagging_skips_future_started_at ... ok
test strand::mend::tests::idle_worker_flagging_skips_recent_worker_under_timeout ... ok
test strand::mend::tests::in_progress_bead_own_worker_not_released ... ok
test strand::mend::tests::in_progress_bead_with_dead_registered_worker_released ... ok
test strand::mend::tests::in_progress_bead_with_live_worker_not_released ... ok
test strand::mend::tests::live_worker_not_removed_from_registry ... ok
test strand::mend::tests::multiple_cleanups_combined ... ok
test strand::mend::tests::multiple_dead_workers_removed_from_registry ... ok
test strand::mend::tests::multiple_orphaned_heartbeats_removed ... ok
test strand::mend::tests::no_stale_peers_returns_no_work ... ok
test strand::mend::tests::non_needle_lock_files_ignored ... ok
test strand::mend::tests::open_blocker_not_cleaned ... ok
test strand::mend::tests::orphaned_heartbeat_removed ... ok
test strand::mend::tests::orphaned_heartbeat_with_qualified_id_removed ... ok
test strand::mend::tests::orphaned_in_progress_bead_released ... ok
test strand::mend::tests::orphaned_lock_file_removed ... ok
test strand::mend::tests::own_heartbeat_not_removed_as_orphan ... ok
test strand::mend::tests::own_worker_entry_not_removed_from_registry ... ok
test strand::mend::tests::persistent_corruption_is_non_fatal ... ok
test strand::mend::tests::rate_limit_cleanup_noop_when_directory_missing ... ok
test strand::mend::tests::rate_limit_cleanup_preserves_active_provider_files ... ok
test strand::mend::tests::rate_limit_cleanup_removes_orphaned_provider_files ... ok
test strand::mend::tests::rate_limit_cleanup_resets_stale_buckets ... ok
test strand::mend::tests::registered_heartbeat_not_removed ... ok
test strand::mend::tests::registry_cleanup_handles_corrupt_file ... ok
test strand::mend::tests::registry_cleanup_handles_missing_file ... ok
test strand::mend::tests::stale_dependency_link_detected ... ok
test strand::mend::tests::store_error_returns_strand_error ... ok
test strand::mend::tests::strand_name_is_mend ... ok
test strand::mend::tests::try_acquire_flock_nonexistent_file_errors ... ok
test strand::mend::tests::try_acquire_flock_on_existing_file ... ok
test strand::pluck::tests::all_excluded_labels_returns_no_work_via_strand_filter ... ok
test strand::pluck::tests::beads_with_excluded_labels_are_filtered ... ok
test strand::pluck::tests::candidates_sorted_by_priority_then_created_at ... ok
test strand::pluck::tests::custom_exclude_labels_override_defaults ... ok
test strand::pluck::tests::custom_exclude_labels_used_when_provided ... ok
test strand::pluck::tests::default_exclude_labels_applied_when_empty ... ok
test strand::pluck::tests::empty_queue_returns_no_work ... ok
test strand::pluck::tests::extract_failure_count_returns_max_when_multiple_labels ... ok
test strand::pluck::tests::extract_failure_count_returns_zero_when_no_label ... ok
test strand::pluck::tests::open_bead_with_stale_assignee_is_filtered ... ok
test strand::pluck::tests::same_queue_state_produces_same_ordering ... ok
test strand::pluck::tests::split_disabled_when_threshold_is_zero ... ok
test strand::pluck::tests::split_not_triggered_when_failure_count_below_threshold ... ok
test strand::pluck::tests::split_triggered_when_failure_count_exceeds_threshold ... ok
test strand::pluck::tests::starvation_mixed_label_and_assignee_exclusions_emits_telemetry ... ok
test strand::pluck::tests::starvation_persistent_record_disabled_when_flag_false ... ok
test strand::pluck::tests::starvation_persistent_record_not_written_to_target_workspace ... ok
test strand::pluck::tests::starvation_persistent_record_written_to_needle_workspace ... ok
test strand::pluck::tests::starvation_when_all_beads_excluded_by_labels_emits_telemetry ... ok
test strand::pluck::tests::starvation_when_all_beads_have_stale_assignees_emits_telemetry ... ok
test strand::pluck::tests::starvation_when_queue_is_genuinely_empty_emits_telemetry ... ok
test strand::pluck::tests::store_error_returns_error_not_no_work ... ok
test strand::pluck::tests::strand_filters_excluded_labels_when_store_does_not ... ok
test strand::pluck::tests::strand_name_is_pluck ... ok
test strand::pluck::tests::tie_broken_by_bead_id ... ok
test strand::pulse::tests::build_prompt_uses_custom_template ... ok
test strand::pulse::tests::build_prompt_uses_default_when_no_template ... ok
test strand::pulse::tests::cooldown_skips_scan ... ok
test strand::pulse::tests::dedup_prevents_duplicate_beads_across_scans ... ok
test strand::pulse::tests::default_config_is_disabled ... ok
test strand::pulse::tests::disabled_returns_no_work ... ok
test strand::pulse::tests::extract_file_path_finds_colon_pattern ... ok
test strand::pulse::tests::extract_file_path_returns_none_for_no_path ... ok
test strand::pulse::tests::generate_fingerprint_differs_for_different_input ... ok
test strand::pulse::tests::generate_fingerprint_is_consistent ... ok
test strand::pulse::tests::max_beads_per_run_limits_creation ... ok
test strand::pulse::tests::no_scanners_returns_no_work ... ok
test strand::pulse::tests::parse_output_extracts_warnings ... ok
test strand::pulse::tests::parse_output_respects_severity ... ok
test strand::pulse::tests::scanner_runs_and_creates_beads ... ok
test strand::pulse::tests::scanner_with_no_findings_returns_no_work ... ok
test strand::pulse::tests::state_cooldown_elapsed_after_period ... ok
test strand::pulse::tests::state_cooldown_in_cooldown_when_recent ... ok
test strand::pulse::tests::state_cooldown_not_in_cooldown_when_new ... ok
test strand::pulse::tests::state_load_missing_returns_default ... ok
test strand::pulse::tests::state_persists_after_scan ... ok
test strand::pulse::tests::state_save_and_load_roundtrip ... ok
test strand::pulse::tests::strand_name_is_pulse ... ok
test strand::pulse::tests::workspace_hash_is_deterministic ... ok
test strand::reflect::tests::cli_reflect_agent_new_stores_cmd ... ok
test strand::reflect::tests::cross_workspace_deduplicates_existing_global ... ok
test strand::reflect::tests::cross_workspace_empty_path_returns_zero ... ok
test strand::reflect::tests::cross_workspace_no_known_workspaces_returns_zero ... ok
test strand::reflect::tests::cross_workspace_no_match_promotes_nothing ... ok
test strand::reflect::tests::cross_workspace_promotes_matching_entry ... ok
test strand::reflect::tests::cross_workspace_respects_max_global_learnings ... ok
test strand::reflect::tests::reflect_agent_called_when_no_retrospective ... ok
test strand::reflect::tests::reflect_agent_default_prompt_contains_fields ... ok
test strand::reflect::tests::reflect_agent_not_called_when_none ... ok
test strand::reflect::tests::reflect_agent_not_called_when_retrospective_present ... ok
test strand::reflect::tests::reflect_agent_respects_max_extraction_per_run ... ok
test strand::reflect::tests::reflect_consolidates_with_force ... ok
test strand::reflect::tests::reflect_disabled_skips ... ok
test strand::reflect::tests::reflect_skips_below_threshold_when_no_state ... ok
test strand::reflect::tests::reflect_state_roundtrip ... ok
test strand::reflect::tests::reflect_strand_name ... ok
test strand::reflect::tests::slugify_basic ... ok
test strand::reflect::tests::truncate_does_not_panic_on_multibyte_char_boundary ... ok
test strand::reflect::tests::truncate_exact ... ok
test strand::reflect::tests::truncate_long ... ok
test strand::reflect::tests::truncate_short ... ok
test strand::splice::tests::splice_disabled_returns_no_work ... ok
test strand::splice::tests::splice_no_heartbeats_returns_no_work ... ok
test strand::splice::tests::splice_state_roundtrip ... ok
test strand::splice::tests::splice_strand_name ... ok
test strand::tests::all_no_work_returns_none ... ok
test strand::tests::empty_bead_found_continues_to_next ... ok
test strand::tests::empty_waterfall_returns_none ... ok
test strand::tests::error_strand_continues_to_next ... ok
test strand::tests::first_strand_with_beads_wins ... ok
test strand::tests::from_config_includes_full_waterfall ... ok
test strand::tests::multiple_beads_returns_first ... ok
test strand::tests::restart_cap_prevents_infinite_loop ... ok
test strand::tests::restart_cap_still_evaluates_remaining_strands ... ok
test strand::tests::strand_names_returns_all_names ... ok
test strand::tests::work_created_restarts_waterfall ... ok
test strand::unravel::tests::agent_failure_skips_bead ... ok
test strand::unravel::tests::cooldown_elapsed_after_7_days ... ok
test strand::unravel::tests::cooldown_skips_recently_analyzed ... ok
test strand::unravel::tests::creates_alternative_children ... ok
test strand::unravel::tests::custom_prompt_template_substitutes_variables ... ok
test strand::unravel::tests::default_config_is_disabled ... ok
test strand::unravel::tests::default_prompt_template_contains_key_sections ... ok
test strand::unravel::tests::disabled_returns_no_work ... ok
test strand::unravel::tests::filter_human_beads ... ok
test strand::unravel::tests::no_alternatives_returns_no_work ... ok
test strand::unravel::tests::no_human_beads_returns_no_work ... ok
test strand::unravel::tests::original_bead_never_modified ... ok
test strand::unravel::tests::parse_fenced_json ... ok
test strand::unravel::tests::parse_invalid_json_returns_error ... ok
test strand::unravel::tests::parse_json_array ... ok
test strand::unravel::tests::parse_json_object_with_alternatives_key ... ok
test strand::unravel::tests::parse_no_alternatives ... ok
test strand::unravel::tests::respects_max_alternatives_per_bead ... ok
test strand::unravel::tests::respects_max_beads_per_run ... ok
test strand::unravel::tests::state_cooldown_elapsed_after_period ... ok
test strand::unravel::tests::state_cooldown_in_cooldown_when_recent ... ok
test strand::unravel::tests::state_cooldown_not_in_cooldown_when_new ... ok
test strand::unravel::tests::state_load_missing_file_returns_default ... ok
test strand::unravel::tests::state_persisted_after_run ... ok
test strand::unravel::tests::state_save_and_load_roundtrip ... ok
test strand::unravel::tests::strand_name_is_unravel ... ok
test strand::unravel::tests::workspace_hash_is_deterministic ... ok
test strand::weave::tests::agent_failure_returns_error ... ok
test strand::weave::tests::cooldown_not_elapsed_returns_no_work ... ok
test strand::weave::tests::creates_beads_from_agent_response ... ok
test strand::weave::tests::dedup_skips_existing_bead_titles ... ok
test strand::weave::tests::dedup_skips_seen_titles ... ok
test strand::weave::tests::default_config_is_disabled ... ok
test strand::weave::tests::disabled_returns_no_work ... ok
test strand::weave::tests::excluded_workspace_returns_no_work ... ok
test strand::weave::tests::format_doc_files_empty ... ok
test strand::weave::tests::format_existing_beads_empty ... ok
test strand::weave::tests::format_existing_beads_list ... ok
test strand::weave::tests::no_docs_returns_no_work ... ok
test strand::weave::tests::no_gaps_returns_no_work ... ok
test strand::weave::tests::parse_fenced_json ... ok
test strand::weave::tests::parse_invalid_json_returns_error ... ok
test strand::weave::tests::parse_json_array ... ok
test strand::weave::tests::parse_json_object_with_beads_key ... ok
test strand::weave::tests::parse_no_gaps ... ok
test strand::weave::tests::parses_json_in_code_fences ... ok
test strand::weave::tests::respects_max_beads_per_run ... ok
test strand::weave::tests::state_cooldown_elapsed_when_no_last_run ... ok
test strand::weave::tests::state_cooldown_elapsed_when_old ... ok
test strand::weave::tests::state_cooldown_not_elapsed_when_recent ... ok
test strand::weave::tests::state_dedup_case_insensitive ... ok
test strand::weave::tests::state_load_missing_file_returns_default ... ok
test strand::weave::tests::state_persisted_after_run ... ok
test strand::weave::tests::state_save_and_load_roundtrip ... ok
test strand::weave::tests::strand_name_is_weave ... ok
test strand::weave::tests::workspace_hash_differs_for_different_paths ... ok
test strand::weave::tests::workspace_hash_is_deterministic ... ok
test supervisor::tests::nato_alphabet_is_complete ... ok
test supervisor::tests::supervisor_config_default_is_valid ... ok
test telemetry::otlp::tests::test_acceptance_exporter_failures_emit_drop_events ... ok
test telemetry::otlp::tests::test_acceptance_no_collector_worker_completes_beads_successfully ... ok
test telemetry::otlp::tests::test_acceptance_shutdown_completes_within_6s ... ok
test telemetry::otlp::tests::test_agent_duration_records_with_attributes ... ok
test telemetry::otlp::tests::test_bead_duration_records_on_completion ... ok
test telemetry::otlp::tests::test_bead_id_not_in_metric_attributes ... ok
test telemetry::otlp::tests::test_beads_claimed_increments_with_attributes ... ok
test telemetry::otlp::tests::test_beads_completed_increments_with_outcome ... ok
test telemetry::otlp::tests::test_build_resource_has_all_required_attributes ... ok
test telemetry::otlp::tests::test_cannot_override_service_instance_id_via_config ... ok
test telemetry::otlp::tests::test_cannot_override_service_name_via_config ... ok
test telemetry::otlp::tests::test_catch_unwind_prevents_panics_from_bubbling ... ok
test telemetry::otlp::tests::test_claim_attempts_tracks_all_results ... ok
test telemetry::otlp::tests::test_cost_usd_records_with_attributes ... ok
test telemetry::otlp::tests::test_deployment_environment_flows_through_from_config ... ok
test telemetry::otlp::tests::test_drop_event_emitted_to_file_sink ... ok
test telemetry::otlp::tests::test_drop_monitor_task_handles_file_sink_errors_gracefully ... ok
test telemetry::otlp::tests::test_effort_recorded_handles_missing_token_fields ... ok
test telemetry::otlp::tests::test_effort_recorded_handles_partial_token_data ... ok
test telemetry::otlp::tests::test_exporter_wrappers_log_failures_at_warn_level ... ok
test telemetry::otlp::tests::test_heartbeat_age_updates_on_heartbeat ... ok
test telemetry::otlp::tests::test_metrics_have_correct_units ... ok
test telemetry::otlp::tests::test_mitosis_children_created_increments ... ok
test telemetry::otlp::tests::test_mitosis_parent_id_not_in_metric_attributes ... ok
test telemetry::otlp::tests::test_peers_stale_decrements_on_crashed_event ... ok
test telemetry::otlp::tests::test_peers_stale_increments_on_stale_event ... ok
test telemetry::otlp::tests::test_queue_depth_updates ... ok
test telemetry::otlp::tests::test_service_namespace_flows_through_from_config ... ok
test telemetry::otlp::tests::test_service_namespace_has_default_value ... ok
test telemetry::otlp::tests::test_severity_for_bead_claim_race_lost_is_info ... ok
test telemetry::otlp::tests::test_severity_for_fleet_cpu_saturated_is_warn ... ok
test telemetry::otlp::tests::test_severity_for_fleet_memory_low_is_warn ... ok
test telemetry::otlp::tests::test_severity_for_otlp_dropped_is_error ... ok
test telemetry::otlp::tests::test_severity_for_otlp_shutdown_timeout_is_info ... ok
test telemetry::otlp::tests::test_severity_for_telemetry_sink_error_is_error ... ok
test telemetry::otlp::tests::test_shutdown_timeout_emits_event_to_file_sink ... ok
test telemetry::otlp::tests::test_strand_duration_records_with_attributes ... ok
test telemetry::otlp::tests::test_tokens_input_records_with_attributes ... ok
test telemetry::otlp::tests::test_tokens_output_records_with_attributes ... ok
test telemetry::otlp::tests::test_workers_active_decrements_on_stopped ... ok
test telemetry::otlp::tests::test_workers_active_increments_on_started ... ok
test telemetry::test_utils::tests::assert_event_count_panics_on_mismatch - should panic ... ok
test telemetry::test_utils::tests::assert_event_count_works ... ok
test telemetry::test_utils::tests::assert_event_emitted_panics_when_missing - should panic ... ok
test telemetry::test_utils::tests::assert_event_emitted_works ... ok
test telemetry::test_utils::tests::assert_event_not_emitted_panics_when_present - should panic ... ok
test telemetry::test_utils::tests::assert_event_not_emitted_works ... ok
test telemetry::test_utils::tests::clear_works ... ok
test telemetry::test_utils::tests::event_count_works ... ok
test telemetry::test_utils::tests::find_event_returns_none_when_missing ... ok
test telemetry::test_utils::tests::find_event_works ... ok
test telemetry::test_utils::tests::last_event_works ... ok
test telemetry::test_utils::tests::test_helper_captures_events ... ok
test telemetry::test_utils::tests::test_helper_filters_by_bead_id ... ok
test telemetry::tests::all_event_kinds_produce_valid_events ... ok
test telemetry::tests::boot_event_written_to_file_on_telemetry_creation ... ok
test telemetry::tests::broken_sink_does_not_crash_emitter ... ok
test telemetry::tests::bus_fans_out_to_all_sinks ... ok
test telemetry::tests::compute_cost_summary_aggregates ... ok
test telemetry::tests::emit_captures_trace_and_span_ids_from_otel_context ... ok
test telemetry::tests::emit_does_not_block ... ok
test telemetry::tests::emit_gracefully_degrades_when_lock_contended ... ok
test telemetry::tests::emit_inside_span_captures_trace_and_span_ids ... ok
test telemetry::tests::emit_omits_trace_and_span_ids_outside_span ... ok
test telemetry::tests::emit_outside_span_has_no_trace_ids ... ok
test telemetry::tests::emit_try_lock_delivers_events_when_lock_available ... ok
test telemetry::tests::emit_try_lock_gracefully_degrades_when_lock_contended ... ok
test telemetry::tests::emitter_delivers_events_to_sink ... ok
test telemetry::tests::event_kind_bead_id_extracted_correctly ... ok
test telemetry::tests::event_kind_duration_ms_extracted ... ok
test telemetry::tests::event_kind_to_data_is_valid_json ... ok
test telemetry::tests::event_kind_types_are_dotted_strings ... ok
test telemetry::tests::file_sink_accept_is_visible_without_explicit_flush ... ok
test telemetry::tests::file_sink_creates_nested_directory ... ok
test telemetry::tests::file_sink_writes_jsonl ... ok
test telemetry::tests::format_duration_ms_milliseconds ... ok
test telemetry::tests::format_duration_ms_minutes ... ok
test telemetry::tests::format_duration_ms_seconds ... ok
test telemetry::tests::glob_to_regex_double_wildcard ... ok
test telemetry::tests::glob_to_regex_exact ... ok
test telemetry::tests::glob_to_regex_wildcard ... ok
test telemetry::tests::hook_sink_dispatch_captures_failure ... ok
test telemetry::tests::hook_sink_dispatch_matches_filter ... ok
test telemetry::tests::hook_sink_dispatch_prevents_recursion_on_sink_error ... ok
test telemetry::tests::hook_sink_dispatch_skips_non_matching ... ok
test telemetry::tests::hook_sink_dispatches_json_to_stdin ... ok
test telemetry::tests::hook_sink_empty_when_no_configs ... ok
test telemetry::tests::hook_sink_invalid_filter_returns_error ... ok
test telemetry::tests::hook_sink_multiple_hooks_matching_same_event ... ok
test telemetry::tests::hook_sink_new_compiles_valid_filters ... ok
test telemetry::tests::logs_filter_parse_field_regex ... ok
test telemetry::tests::logs_filter_parse_multiple_predicates_anded ... ok
test telemetry::tests::parse_since_absolute_date ... ok
test telemetry::tests::parse_since_invalid_fails ... ok
test telemetry::tests::parse_since_relative_days ... ok
test telemetry::tests::parse_since_relative_hours ... ok
test telemetry::tests::parse_since_relative_minutes ... ok
test telemetry::tests::read_logs_empty_dir ... ok
test telemetry::tests::read_logs_with_field_equals_filter ... ok
test telemetry::tests::read_logs_with_field_gt_filter ... ok
test telemetry::tests::read_logs_with_glob_filter ... ok
test telemetry::tests::read_logs_with_until_bound ... ok
test telemetry::tests::sequence_numbers_are_monotonic ... ok
test telemetry::tests::sequence_numbers_monotonic_in_emitter ... ok
test telemetry::tests::session_id_is_8_hex_chars ... ok
test telemetry::tests::session_ids_are_unique ... ok
test telemetry::tests::short_type_mappings ... ok
test sanitize::tests::sanitizer_with_custom_pattern ... ok
test telemetry::tests::shutdown_flush_calls_flush_with_deadline ... ok
test telemetry::tests::shutdown_flushes_bufwriter_on_short_lived_session ... ok
test telemetry::tests::stdout_sink_colorize_returns_ansi_codes ... ok
test telemetry::tests::stdout_sink_format_minimal ... ok
test telemetry::tests::stdout_sink_format_normal_includes_bead_id ... ok
test telemetry::tests::stdout_sink_format_verbose_includes_data ... ok
test telemetry::tests::telemetry_event_json_roundtrip ... ok
test telemetry::tests::telemetry_event_optional_fields_omitted_when_none ... ok
test telemetry::tests::telemetry_event_serializes_to_valid_json ... ok
test telemetry::tests::telemetry_new_does_not_require_runtime ... ok
test telemetry::tests::telemetry_start_spawns_writer_and_delivers_events ... ok
test telemetry::tests::timestamps_are_utc_iso8601 ... ok
test test_output::tests::cleanup_all_test_outputs_removes_directory ... ok
test test_output::tests::ensure_test_output_dir_creates_directory ... ok
test test_output::tests::test_output_cleanup_removes_directory ... ok
test test_output::tests::test_output_creates_directory ... ok
test test_output::tests::test_output_directory_creation_failure_returns_none ... ok
test test_output::tests::test_output_disabled_returns_ok ... ok
test test_output::tests::test_output_paths ... ok
test test_output::tests::test_output_read_empty_file ... ok
test test_output::tests::test_output_writes_combined ... ok
test test_output::tests::test_output_writes_stderr ... ok
test test_output::tests::test_output_writes_stdout ... ok
test test_runner::tests::test_captured_output_empty ... ok
test test_runner::tests::test_captured_output_new ... ok
test test_runner::tests::test_persist_all_writes_all_files ... ok
test test_runner::tests::test_persist_metrics_creates_json ... ok
test test_runner::tests::test_persist_output_creates_directory ... ok
test test_runner::tests::test_persist_output_creates_files ... ok
test test_runner::tests::test_persist_output_empty_streams ... ok
test test_runner::tests::test_persist_output_large_output ... ok
test test_runner::tests::test_result_captured_stderr ... ok
test test_runner::tests::test_result_captured_stdout ... ok
test test_runner::tests::test_result_status_compilation_failed ... ok
test test_runner::tests::test_result_status_failed ... ok
test test_runner::tests::test_result_status_success ... ok
test test_runner::tests::test_result_status_timed_out ... ok
test test_runner::tests::test_result_summary ... ok
test test_runner::tests::test_runner_new ... ok
test test_runner::tests::test_runner_with_extra_arg ... ok
test test_runner::tests::test_runner_with_timeout ... ok
test test_runner::tests::test_test_metrics_from_result ... ok
test test_runner::tests::test_test_metrics_serialization ... ok
test trace::tests::detect_trace_format_aider ... ok
test trace::tests::detect_trace_format_claude ... ok
test trace::tests::detect_trace_format_generic ... ok
test trace::tests::detect_trace_format_openai ... ok
test trace::tests::trace_capture_creates_directory ... ok
test trace::tests::trace_capture_delete_removes_directory ... ok
test trace::tests::trace_capture_prune_removes_data_keeps_metadata ... ok
test trace::tests::trace_capture_writes_metadata ... ok
test trace::tests::trace_capture_writes_stderr ... ok
test trace::tests::trace_capture_writes_stdout ... ok
test trace::tests::trace_capture_writes_trace_jsonl ... ok
test trace::tests::trace_cleanup_already_pruned_trace_skipped ... ok
test trace::tests::trace_cleanup_missing_traces_dir_ok ... ok
test trace::tests::trace_cleanup_old_failed_trace_deleted ... ok
test trace::tests::trace_cleanup_old_success_trace_pruned ... ok
test trace::tests::trace_cleanup_partially_pruned_trace_fixed_and_not_counted ... ok
test trace::tests::trace_cleanup_pruned_then_not_counted_again ... ok
test trace::tests::trace_cleanup_recent_trace_unchanged ... ok
test trace::tests::trace_metadata_serde_roundtrip ... ok
test transcript::tests::derive_project_name_absolute ... ok
test transcript::tests::derive_project_name_unix ... ok
test transcript::tests::discover_workspaces_combines_multiple ... ok
test transcript::tests::discover_workspaces_respects_max_total ... ok
test transcript::tests::discover_workspaces_skips_missing_workspace ... ok
test transcript::tests::discovery_parses_user_wrapped_tool_results ... ok
test transcript::tests::discovery_parses_valid_transcript ... ok
test transcript::tests::discovery_respects_max_sessions ... ok
test transcript::tests::discovery_respects_recency_cutoff ... ok
test transcript::tests::discovery_returns_empty_when_no_project_dir ... ok
test transcript::tests::extract_task_bead_id ... ok
test transcript::tests::extract_task_without_bead_id ... ok
test transcript::tests::format_tool_input_bash ... ok
test transcript::tests::format_tool_input_read ... ok
test transcript::tests::parsed_transcript_workspace_field_is_set ... ok
test transcript::tests::truncate_text_does_not_panic_on_multibyte_char_boundary ... ok
test types::tests::bead_action_display ... ok
test types::tests::bead_deserialization_from_br_json ... ok
test types::tests::bead_deserialization_missing_optional_fields ... ok
test types::tests::bead_deserialization_with_both_dependencies_and_dependents ... ok
test types::tests::bead_deserialization_with_labels_and_closed_status ... ok
test types::tests::bead_id_hash_equality ... ok
test types::tests::bead_id_roundtrip ... ok
test types::tests::bead_id_serde_transparent ... ok
test types::tests::bead_status_closed_deserialization ... ok
test types::tests::bead_status_completed_deserialization ... ok
test types::tests::bead_status_display ... ok
test types::tests::bead_status_is_done ... ok
test types::tests::bead_status_serialization ... ok
test types::tests::br_dependency_deserialization ... ok
test types::tests::compilation_error_abort_description ... ok
test types::tests::compilation_error_all_variants_have_display_impl ... ok
test types::tests::compilation_error_display_abort ... ok
test types::tests::compilation_error_display_general ... ok
test types::tests::compilation_error_display_rust_error ... ok
test types::tests::compilation_error_general_description ... ok
test types::tests::compilation_error_location_string ... ok
test types::tests::compilation_error_location_string_no_file ... ok
test types::tests::compilation_error_location_string_no_line ... ok
test types::tests::compilation_error_rust_error_description ... ok
test types::tests::compilation_error_serde_abort ... ok
test types::tests::compilation_error_serde_general ... ok
test types::tests::compilation_error_serde_rust_error ... ok
test types::tests::exhaustion_diagnosis_display ... ok
test types::tests::exhaustion_diagnosis_serde_roundtrip ... ok
test types::tests::identifier_scheme_default_is_hostname_random ... ok
test types::tests::identifier_scheme_serde_roundtrip ... ok
test types::tests::idle_action_default_is_wait ... ok
test types::tests::idle_action_serde_roundtrip ... ok
test types::tests::input_method_serde_roundtrip ... ok
test types::tests::needle_error_display ... ok
test types::tests::needle_error_is_error_trait ... ok
test types::tests::needle_error_transient_without_bead_id ... ok
test types::tests::outcome_as_str ... ok
test types::tests::outcome_classify_boundary_values ... ok
test types::tests::outcome_classify_common_signals ... ok
test types::tests::outcome_classify_interrupted_flag ... ok
test types::tests::outcome_classify_key_codes ... ok
test types::tests::outcome_classify_ranges ... ok
test types::tests::output_capture_duration_ms ... ok
test types::tests::output_capture_failed_with_nonzero_exit ... ok
test types::tests::output_capture_no_exit_code_is_failure ... ok
test types::tests::output_capture_serde_serialization ... ok
test types::tests::output_capture_serde_with_none_exit_code ... ok
test types::tests::output_capture_success_with_zero_exit ... ok
test types::tests::output_capture_total_output_len ... ok
test types::tests::strand_error_display ... ok
test types::tests::strand_error_source ... ok
test types::tests::worker_state_deserialization_roundtrip ... ok
test types::tests::worker_state_display_all_variants ... ok
test types::tests::worker_state_serialization ... ok
test upgrade::tests::asset_download_url_format ... ok
test upgrade::tests::check_hot_reload_different_binary_returns_detected ... ok
test upgrade::tests::check_hot_reload_no_stable_binary_returns_skipped ... ok
test telemetry::tests::shutdown_does_not_hang_when_flush_exceeds_deadline ... ok
test upgrade::tests::file_hash_different_content_different_hash ... ok
test upgrade::tests::file_hash_missing_file_returns_error ... ok
test upgrade::tests::file_hash_produces_hex_string ... ok
test upgrade::tests::file_hash_same_content_same_hash ... ok
test upgrade::tests::get_asset_name_current_platform ... ok
test upgrade::tests::hot_reload_check_enum_variants_are_distinct ... ok
test upgrade::tests::is_newer_version_different_lengths ... ok
test upgrade::tests::is_newer_version_equal ... ok
test upgrade::tests::is_newer_version_major ... ok
test upgrade::tests::is_newer_version_minor ... ok
test upgrade::tests::is_newer_version_patch ... ok
test upgrade::tests::latest_release_url_format ... ok
test upgrade::tests::update_check_current_version ... ok
test validation::tests::command_gate_fails_on_false ... ok
test validation::tests::command_gate_passes_on_true ... ok
test validation::tests::command_gate_stops_at_first_failure ... ok
test validation::tests::command_gate_type ... ok
test validation::tests::gate_config_command_deserialize ... ok
test validation::tests::gate_config_command_serialize_roundtrip ... ok
test validation::tests::gate_report_all_pass ... ok
test validation::tests::gate_report_new_from_results ... ok
test validation::tests::gate_report_new_with_failure ... ok
test validation::tests::gate_report_single_failure ... ok
test validation::tests::gate_result_fail_has_reason ... ok
test validation::tests::gate_result_fail_returns_false ... ok
test validation::tests::gate_result_pass_has_no_reason ... ok
test validation::tests::gate_result_pass_returns_true ... ok
test validation::tests::registry_creates_command_gate ... ok
test validation::tests::registry_fails_unknown_gate_type ... ok
test validation::tests::registry_global_returns_same_instance ... ok
test validation::tests::registry_register_custom_gate ... ok
test validation::tests::truncate_output_long_string ... ok
test validation::tests::truncate_output_short_string ... ok
test validation::tests::validation_gate_from_commands_returns_none_for_empty ... ok
test validation::tests::validation_gate_from_commands_returns_some_for_nonempty ... ok
test validation::tests::validation_gate_new_returns_none_for_empty_configs ... ok
test validation::tests::validation_gate_run_fails ... ok
test validation::tests::validation_gate_run_passes ... ok
test validation::tests::validation_gate_workspace ... ok
test upgrade::tests::check_hot_reload_same_binary_returns_no_change ... ok
test worker::tests::apply_routing_rules_baseline_first_match_stops_evaluation ... ok
test worker::tests::apply_routing_rules_baseline_invalid_then_valid ... ok
test worker::tests::apply_routing_rules_baseline_multiple_rules_same_adapter ... ok
test worker::tests::apply_routing_rules_baseline_three_rules_all_match ... ok
test worker::tests::apply_routing_rules_first_match_wins ... ok
test worker::tests::apply_routing_rules_order_matters ... ok
test worker::tests::apply_routing_rules_strict_false_no_match_returns_default ... ok
test worker::tests::apply_routing_rules_strict_false_uses_default_adapter ... ok
test worker::tests::apply_routing_rules_strict_true_no_match_returns_err ... ok
test worker::tests::apply_routing_rules_strict_true_match_returns_ok ... ok
test worker::tests::beads_processed_starts_at_zero ... ok
test worker::tests::boot_transitions_to_selecting ... ok
test worker::tests::boot_validates_config ... ok
test worker::tests::check_auto_canary_no_op_when_auto_promote_false ... ok
test worker::tests::check_auto_canary_no_op_when_no_testing_binary ... ok
test worker::tests::check_auto_canary_no_op_when_self_modification_disabled ... ok
test worker::tests::check_budget_no_config_skips ... ok
test worker::tests::check_budget_stop_transitions_to_stopped ... ok
test worker::tests::check_budget_warn_does_not_stop ... ok
test worker::tests::do_build_with_bead_transitions_to_dispatching ... ok
test worker::tests::do_build_without_bead_is_invariant_error ... ok
test worker::tests::do_claim_no_current_bead_resets_to_selecting ... ok
test worker::tests::do_claim_not_claimable_increments_consecutive_counter ... ok
test worker::tests::default_routing_rules_anthropic_subscription_models has been running for over 60 seconds
test worker::tests::do_claim_not_claimable_transitions_to_retrying ... ok
test worker::tests::do_claim_race_lost_adds_to_exclusion_and_retries ... ok
test worker::tests::do_claim_race_lost_increments_consecutive_counter ... ok
test worker::tests::do_claim_success_resets_consecutive_counter ... ok
test worker::tests::do_dispatch_without_bead_is_invariant_error ... ok
test worker::tests::do_execute_without_bead_is_invariant_error ... ok
test worker::tests::do_execute_without_prompt_is_invariant_error ... ok
test worker::tests::default_routing_rules_anthropic_subscription_models ... ok
test worker::tests::do_handle_without_bead_is_invariant_error ... ok
test worker::tests::do_handle_without_exec_output_is_invariant_error ... ok
test worker::tests::do_log_clears_current_bead_and_effort ... ok
test worker::tests::do_log_increments_beads_processed ... ok
test worker::tests::do_log_transitions_to_selecting ... ok
test worker::tests::do_retry_at_max_preserves_race_lost_exclusions ... ok
test worker::tests::do_retry_at_max_resets_and_selects ... ok
test worker::tests::do_retry_below_max_transitions_to_selecting ... ok
test worker::tests::do_retry_below_skip_threshold_applies_backoff ... ok
test worker::tests::do_retry_skip_threshold_transitions_to_exhausted ... ok
test worker::tests::do_select_clears_race_lost_this_cycle_and_retry_count ... ok
test worker::tests::do_select_with_beads_transitions_to_claiming ... ok
test worker::tests::do_select_with_no_beads_transitions_to_exhausted ... ok
test worker::tests::handle_exhausted_with_exit_returns_stopped ... ok
test worker::tests::handle_exhausted_with_wait_returns_selecting ... ok
test worker::tests::is_workspace_unset_dot_path ... ok
test worker::tests::is_workspace_unset_empty_path ... ok
test worker::tests::is_workspace_unset_real_path ... ok
test worker::tests::is_workspace_unset_relative_path ... ok
test worker::tests::request_shutdown_sets_flag ... ok
test worker::tests::full_cycle_with_echo_agent has been running for over 60 seconds
test worker::tests::resolve_adapter_returns_builtin ... ok
test worker::tests::resolve_provider_returns_none_for_missing_adapter ... ok
test worker::tests::restore_home_store_is_noop_when_stores_match ... ok
test worker::tests::full_cycle_with_echo_agent ... ok
test worker::tests::run_with_empty_store_returns_exhausted_or_stopped ... ok
test worker::tests::set_state_uses_bead_workspace_for_cross_workspace_bead ... ok
test worker::tests::set_state_uses_home_workspace_when_bead_workspace_is_unset ... ok
test worker::tests::set_state_uses_home_workspace_when_no_current_bead ... ok
test worker::tests::shutdown_flag_causes_stop ... ok
test worker::tests::stop_returns_stopped_state ... ok
test worker::tests::worker_starts_in_booting_state ... ok

test result: ok. 1386 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 717.14s


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


running 21 tests
test tests::all_events_have_schema_version_1 ... ok
test tests::assistant_mixed_content_preserves_order ... ok
test tests::assistant_text_emits_agent_message_and_tokens ... ok
test tests::assistant_tool_use_emits_tool_call_and_tokens ... ok
test tests::assistant_tool_use_with_cache_tokens ... ok
test tests::extract_path_bash_is_none ... ok
test tests::emitted_events_are_valid_agent_events ... ok
test tests::extract_path_edit ... ok
test tests::extract_path_glob ... ok
test tests::extract_path_grep ... ok
test tests::extract_path_read ... ok
test tests::extract_path_write ... ok
test tests::malformed_json_skipped ... ok
test tests::missing_type_field_skipped ... ok
test tests::result_error_max_turns ... ok
test tests::result_success_produces_no_events ... ok
test tests::top_level_error_type ... ok
test tests::unknown_type_skipped ... ok
test tests::user_tool_result_error ... ok
test tests::user_tool_result_success ... ok
test tests::user_tool_result_unknown_id_falls_back_to_unknown ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


running 27 tests
test tests::all_events_have_schema_version_1 ... ok
test tests::item_completed_agent_message_emits_agent_message ... ok
test tests::emitted_events_are_valid_agent_events ... ok
test tests::item_completed_agent_message_empty_content_produces_no_events ... ok
test tests::item_completed_command_execution_failure ... ok
test tests::item_completed_command_execution_success ... ok
test tests::item_completed_error_emits_error ... ok
test tests::item_completed_file_change ... ok
test tests::item_completed_mcp_tool_call_error ... ok
test tests::item_completed_mcp_tool_call_success ... ok
test tests::item_completed_without_item_field_skipped ... ok
test tests::item_completed_without_prior_started_uses_type_as_tool ... ok
test tests::item_started_agent_message_produces_no_events ... ok
test tests::item_started_command_execution_emits_tool_call ... ok
test tests::item_started_file_change_emits_tool_call ... ok
test tests::item_started_mcp_tool_call_emits_tool_call ... ok
test tests::item_started_without_item_field_skipped ... ok
test tests::item_updated_produces_no_events ... ok
test tests::malformed_json_skipped ... ok
test tests::missing_type_field_skipped ... ok
test tests::thread_started_produces_no_events ... ok
test tests::top_level_error_emits_error ... ok
test tests::turn_completed_emits_tokens ... ok
test tests::turn_completed_with_no_usage_produces_no_events ... ok
test tests::turn_failed_emits_error ... ok
test tests::turn_started_produces_no_events ... ok
test tests::unknown_type_skipped ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


running 11 tests
test test_compilation_error_summary ... ok
test test_borrow_checker_error_detection ... ok
test test_could_not_compile_detection ... ok
test test_end_to_end_compilation_error_workflow ... ok
test test_end_to_end_successful_compilation_workflow ... ok
test test_end_to_end_test_failure_workflow ... ok
test test_import_path_error_detection ... ok
test test_multiple_compilation_errors_detection ... ok
test test_successful_compilation_no_errors ... ok
test test_test_failure_vs_compilation_error ... ok
test test_type_mismatch_error_detection ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.21s


running 10 tests
test config_help_output_includes_set_flag ... ok
test config_help_includes_set_flag ... ok
test config_set_flag_has_proper_metadata ... ok
test config_set_empty_value_fails_validation ... ok
test config_set_key_equals_value_format_parses ... ok
test config_set_key_value_format_parses ... ok
test config_set_missing_key_fails_validation ... ok
test config_set_multiple_key_equals_value_format_parses ... ok
test config_set_mixed_format_parses ... ok
test config_set_multiple_key_value_format_parses ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


running 3 tests
test heartbeat_file_created_on_startup ... ok
test heartbeat_contains_required_fields ... ok
test heartbeat_refreshes_every_30_seconds ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.61s


running 27 tests
test cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead ... FAILED
test cross_workspace_mend_skips_beads_with_live_assignees ... FAILED
test dead_worker_cleanup_integration ... FAILED
test deterministic_ordering_same_beads_same_order ... ok
test deterministic_ordering_tiebreak_by_id ... ok
test dispatcher_captures_stdout_and_stderr ... ok
test cross_workspace_mend_skips_own_worker_beads ... FAILED
test dispatcher_timeout_kills_process ... ok
test end_to_end_single_bead_success ... FAILED
test end_to_end_worker_loops_to_next_bead ... FAILED
test exhaustion_empty_workspace ... ok
test exhaustion_with_idle_action_exit ... FAILED
test exhaustion_with_idle_action_wait_survives_sleep ... FAILED
test idle_worker_flagging_detects_stuck_workers ... ok
test mend_removes_stale_dependency_links ... FAILED
test outcome_classify_covers_all_exit_code_ranges ... ok
test full_cycle_produces_telemetry_state_transitions ... FAILED
test outcome_path_agent_not_found_exit_127 ... FAILED
test outcome_path_crash_exit_137 ... FAILED
test outcome_path_failure_exit_1 ... FAILED
test outcome_path_interrupted_via_shutdown_flag ... ok
test outcome_path_success_exit_0 ... FAILED
test outcome_path_timeout_exit_124 ... FAILED
test shutdown_during_selecting_exits_cleanly ... ok
test shutdown_flag_preempts_execution ... ok
test worker_boot_rejects_invalid_config ... ok
test worker_processes_high_priority_beads_first ... FAILED

failures:

---- cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead stdout ----

thread 'cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead' (3303028) panicked at tests/integration_tests.rs:1377:10:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- cross_workspace_mend_skips_beads_with_live_assignees stdout ----

thread 'cross_workspace_mend_skips_beads_with_live_assignees' (3303029) panicked at tests/integration_tests.rs:1505:10:
called `Option::unwrap()` on a `None` value

---- dead_worker_cleanup_integration stdout ----

thread 'dead_worker_cleanup_integration' (3303034) panicked at tests/integration_tests.rs:2031:5:
assertion `left == right` failed: both workers should be registered initially
  left: 1
 right: 2

---- cross_workspace_mend_skips_own_worker_beads stdout ----

thread 'cross_workspace_mend_skips_own_worker_beads' (3303032) panicked at tests/integration_tests.rs:1623:10:
called `Option::unwrap()` on a `None` value

---- end_to_end_single_bead_success stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'end_to_end_single_bead_success' (3303045) panicked at tests/integration_tests.rs:272:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- end_to_end_worker_loops_to_next_bead stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'end_to_end_worker_loops_to_next_bead' (3303047) panicked at tests/integration_tests.rs:296:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- exhaustion_with_idle_action_exit stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'exhaustion_with_idle_action_exit' (3303226) panicked at src/transcript/mod.rs:278:31:
start byte index 2275 is not a char boundary; it is inside '─' (bytes 2273..2276 of string)

---- exhaustion_with_idle_action_wait_survives_sleep stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'exhaustion_with_idle_action_wait_survives_sleep' (3303417) panicked at tests/integration_tests.rs:708:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- mend_removes_stale_dependency_links stdout ----

thread 'mend_removes_stale_dependency_links' (3303619) panicked at tests/integration_tests.rs:1724:5:
br create failed

---- full_cycle_produces_telemetry_state_transitions stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'full_cycle_produces_telemetry_state_transitions' (3303419) panicked at tests/integration_tests.rs:989:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_agent_not_found_exit_127 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_agent_not_found_exit_127' (3303623) panicked at tests/integration_tests.rs:404:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_crash_exit_137 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_crash_exit_137' (3303655) panicked at tests/integration_tests.rs:427:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_failure_exit_1 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_failure_exit_1' (3303790) panicked at tests/integration_tests.rs:339:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_success_exit_0 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_success_exit_0' (3303949) panicked at tests/integration_tests.rs:322:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_timeout_exit_124 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_timeout_exit_124' (3303961) panicked at tests/integration_tests.rs:370:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- worker_processes_high_priority_beads_first stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'worker_processes_high_priority_beads_first' (3304288) panicked at tests/integration_tests.rs:1087:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml


failures:
    cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead
    cross_workspace_mend_skips_beads_with_live_assignees
    cross_workspace_mend_skips_own_worker_beads
    dead_worker_cleanup_integration
    end_to_end_single_bead_success
    end_to_end_worker_loops_to_next_bead
    exhaustion_with_idle_action_exit
    exhaustion_with_idle_action_wait_survives_sleep
    full_cycle_produces_telemetry_state_transitions
    mend_removes_stale_dependency_links
    outcome_path_agent_not_found_exit_127
    outcome_path_crash_exit_137
    outcome_path_failure_exit_1
    outcome_path_success_exit_0
    outcome_path_timeout_exit_124
    worker_processes_high_priority_beads_first

test result: FAILED. 11 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 150.53s

warning: unreachable pattern
   --> src/cargo_test.rs:229:33
    |
213 |             | "E0521" | "E0623" | "E0383" | "E0503" | "E0504" | "E0510" | "E0391" | "E0392"
    |                         ------- matches all the relevant values
...
229 |             "E0495" | "E0597" | "E0623" | "E0515" | "E0503" | "E0504" | "E0510" | "E0391"
    |                                 ^^^^^^^ no value can reach this
    |
    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default

warning: unreachable pattern
   --> src/cargo_test.rs:229:43
    |
212 |             "E0382" | "E0502" | "E0505" | "E0506" | "E0507" | "E0508" | "E0509" | "E0515"
    |                                                                                   ------- matches all the relevant values
...
229 |             "E0495" | "E0597" | "E0623" | "E0515" | "E0503" | "E0504" | "E0510" | "E0391"
    |                                           ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:229:53
    |
213 |             | "E0521" | "E0623" | "E0383" | "E0503" | "E0504" | "E0510" | "E0391" | "E0392"
    |                                             ------- matches all the relevant values
...
229 |             "E0495" | "E0597" | "E0623" | "E0515" | "E0503" | "E0504" | "E0510" | "E0391"
    |                                                     ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:229:63
    |
213 |             | "E0521" | "E0623" | "E0383" | "E0503" | "E0504" | "E0510" | "E0391" | "E0392"
    |                                                       ------- matches all the relevant values
...
229 |             "E0495" | "E0597" | "E0623" | "E0515" | "E0503" | "E0504" | "E0510" | "E0391"
    |                                                               ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:229:73
    |
213 |             | "E0521" | "E0623" | "E0383" | "E0503" | "E0504" | "E0510" | "E0391" | "E0392"
    |                                                                 ------- matches all the relevant values
...
229 |             "E0495" | "E0597" | "E0623" | "E0515" | "E0503" | "E0504" | "E0510" | "E0391"
    |                                                                         ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:229:83
    |
213 |             | "E0521" | "E0623" | "E0383" | "E0503" | "E0504" | "E0510" | "E0391" | "E0392"
    |                                                                           ------- matches all the relevant values
...
229 |             "E0495" | "E0597" | "E0623" | "E0515" | "E0503" | "E0504" | "E0510" | "E0391"
    |                                                                                   ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:15
    |
213 |             | "E0521" | "E0623" | "E0383" | "E0503" | "E0504" | "E0510" | "E0391" | "E0392"
    |                                                                                     ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |               ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:25
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |               ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |                         ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:35
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |                         ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |                                   ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:45
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |                                   ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |                                             ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:55
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |                                             ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |                                                       ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:65
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |                                                       ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |                                                                 ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:75
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |                                                                 ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |                                                                           ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:230:85
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |                                                                           ------- matches all the relevant values
...
230 |             | "E0392" | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399"
    |                                                                                     ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:231:15
    |
214 |             | "E0393" | "E0394" | "E0395" | "E0396" | "E0397" | "E0398" | "E0399" | "E0400"
    |                                                                                     ------- matches all the relevant values
...
231 |             | "E0400" | "E0401" | "E0402" => CompilationErrorVariant::Lifetime,
    |               ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:231:25
    |
215 |             | "E0401" | "E0402" | "E0404" | "E0405" | "E0406" | "E0407" | "E0408" | "E0409"
    |               ------- matches all the relevant values
...
231 |             | "E0400" | "E0401" | "E0402" => CompilationErrorVariant::Lifetime,
    |                         ^^^^^^^ no value can reach this

warning: unreachable pattern
   --> src/cargo_test.rs:231:35
    |
215 |             | "E0401" | "E0402" | "E0404" | "E0405" | "E0406" | "E0407" | "E0408" | "E0409"
    |                         ------- matches all the relevant values
...
231 |             | "E0400" | "E0401" | "E0402" => CompilationErrorVariant::Lifetime,
    |                                   ^^^^^^^ no value can reach this

warning: function `parse_error_line` is never used
   --> src/cargo_test.rs:571:4
    |
571 | fn parse_error_line(line: &str) -> Option<String> {
    |    ^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: function `extract_crate_name` is never used
   --> src/cargo_test.rs:590:4
    |
590 | fn extract_crate_name(line: &str) -> Option<String> {
    |    ^^^^^^^^^^^^^^^^^^

warning: `needle` (lib) generated 19 warnings
warning: unused doc comment
  --> tests/routing_matcher_baseline.rs:22:5
   |
22 | /     /// Baseline test documenting CURRENT matcher behavior when multiple rules
23 | |     /// both match the same model AND route to the same adapter.
24 | |     ///
25 | |     /// This test verifies that the matcher implements "first-match-wins" behavior:
...  |
29 | |     ///
30 | |     /// Current behavior: The first rule in the list that matches determines routing.
   | |_____________________________________________________________________________________^
...
35 | /     let rules = vec![
36 | |         make_rule("claude-.*", "claude-print"),
37 | |         make_rule("claude-sonnet-.*", "claude-print"),
38 | |     ];
   | |______- rustdoc does not generate documentation for statements
   |
   = help: use `//` for a plain comment
   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default

warning: unused doc comment
  --> tests/routing_matcher_baseline.rs:63:5
   |
63 | /     /// Baseline test documenting CURRENT matcher behavior when multiple rules
64 | |     /// match the same model but route to DIFFERENT adapters.
65 | |     ///
66 | |     /// This test verifies that "first-match-wins" is enforced even when
...  |
69 | |     /// Current behavior: The first matching rule determines routing, regardless
70 | |     /// of whether later rules might be "more appropriate".
   | |___________________________________________________________^
...
75 | /     let rules = vec![
76 | |         make_rule("claude-.*", "claude-print"),
77 | |         make_rule("claude-sonnet-.*", "claude-code-glm-4.7"),
78 | |         make_rule(".*", "fallback"),
79 | |     ];
   | |______- rustdoc does not generate documentation for statements
   |
   = help: use `//` for a plain comment

warning: unused doc comment
   --> tests/routing_matcher_baseline.rs:103:5
    |
103 | /     /// Baseline test documenting that rule ORDER is significant.
104 | |     ///
105 | |     /// This test verifies that swapping rule order changes the outcome,
106 | |     /// confirming that the matcher uses first-match-wins semantics.
107 | |     ///
108 | |     /// Current behavior: Rules are evaluated in order, first match wins.
    | |_________________________________________________________________________^
...
112 | /     let rules = vec![
113 | |         make_rule("claude-sonnet-.*", "claude-code-glm-4.7"),
114 | |         make_rule("claude-.*", "claude-print"),
115 | |     ];
    | |______- rustdoc does not generate documentation for statements
    |
    = help: use `//` for a plain comment

warning: unused doc comment
   --> tests/routing_matcher_baseline.rs:139:5
    |
139 | /     /// Baseline test to verify whether the matcher stops at the first match
140 | |     /// or continues checking all rules.
141 | |     ///
142 | |     /// This test uses counter-like adapters to detect whether all rules are
...   |
145 | |     /// Current behavior: The matcher stops evaluation after the first match
146 | |     /// and does not check subsequent rules.
    | |____________________________________________^
...
151 | /     let rules = vec![
152 | |         make_rule("^claude-sonnet-4-6$", "adapter-1"),
153 | |         make_rule("claude-.*", "adapter-2"),
154 | |         make_rule("*", "adapter-3"),
155 | |     ];
    | |______- rustdoc does not generate documentation for statements
    |
    = help: use `//` for a plain comment

warning: unused doc comment
   --> tests/routing_matcher_baseline.rs:181:5
    |
181 | /     /// Baseline test documenting CURRENT matcher behavior when an invalid
182 | |     /// pattern precedes valid matching patterns.
183 | |     ///
184 | |     /// This test verifies that invalid patterns are skipped gracefully and
...   |
187 | |     /// Current behavior: Invalid regex patterns are logged as warnings and
188 | |     /// skipped, then the next valid pattern is checked.
    | |________________________________________________________^
...
193 | /     let rules = vec![
194 | |         make_rule("claude-.*", "first-adapter"),
195 | |         make_rule("[invalid(regex", "invalid-adapter"),
196 | |         make_rule("claude-sonnet-.*", "third-adapter"),
197 | |     ];
    | |______- rustdoc does not generate documentation for statements
    |
    = help: use `//` for a plain comment

warning: unused doc comment
   --> tests/routing_matcher_baseline.rs:222:5
    |
222 | /     /// Test that verifies first-match-wins semantics by showing that a
223 | |     /// more-specific rule wins when positioned before a less-specific rule.
224 | |     ///
225 | |     /// This test demonstrates:
...   |
231 | |     /// Current behavior: The first matching rule in the list determines routing,
232 | |     /// regardless of whether later rules might be more specific.
    | |_________________________________________________________________^
...
236 | /     let rules = vec![
237 | |         make_rule("claude-sonnet-.*", "claude-code-glm-4.7"),
238 | |         make_rule("claude-.*", "claude-print"),
239 | |     ];
    | |______- rustdoc does not generate documentation for statements
    |
    = help: use `//` for a plain comment

warning: unused doc comment
   --> tests/routing_matcher_baseline.rs:262:5
    |
262 | /     /// Test that verifies first-match-wins semantics by showing that a
263 | |     /// less-specific (broad) rule wins when positioned before a more-specific rule.
264 | |     ///
265 | |     /// This test complements `routing_baseline_specific_rule_wins_when_first`
...   |
269 | |     /// Current behavior: Rule order is significant - the first matching rule
270 | |     /// wins, even if a later rule would be "better" or more specific.
    | |______________________________________________________________________^
...
274 | /     let rules = vec![
275 | |         make_rule("claude-.*", "claude-print"),
276 | |         make_rule("claude-sonnet-.*", "claude-code-glm-4.7"),
277 | |     ];
    | |______- rustdoc does not generate documentation for statements
    |
    = help: use `//` for a plain comment

warning: `needle` (test "routing_matcher_baseline") generated 7 warnings
warning: method `call_count` is never used
    --> src/strand/explore.rs:1174:12
     |
1165 |     impl ExcludedBeadsMockFactory {
     |     ----------------------------- method in this implementation
...
1174 |         fn call_count(&self) -> u32 {
     |            ^^^^^^^^^^
     |
     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: comparison is useless due to type limits
    --> src/cargo_test.rs:1946:17
     |
1946 |         assert!(outcome.stdout.len() >= 0, "stdout should be captured");
     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: `#[warn(unused_comparisons)]` on by default

warning: comparison is useless due to type limits
    --> src/cargo_test.rs:1947:17
     |
1947 |         assert!(outcome.stderr.len() >= 0, "stderr should be captured");
     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `needle` (lib test) generated 20 warnings (17 duplicates)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
     Running unittests src/lib.rs (target/debug/deps/needle-13447901d1e3ab52)

running 1386 tests
test agent_event::tests::agent_message_round_trip ... ok
test agent_event::tests::deserialize_from_literal_jsonl ... ok
test agent_event::tests::error_round_trip ... ok
test agent_event::tests::tokens_round_trip ... ok
test agent_event::tests::tool_result_round_trip ... ok
test agent_event::tests::tool_call_round_trip ... ok
test bead_store::tests::bf_parse_beads_accepts_completed_status ... ok
test bead_store::tests::corruption_in_longer_message ... ok
test bead_store::tests::bf_parse_beads_skips_one_bad_line_keeps_the_rest ... ok
test bead_store::tests::detects_case_insensitive ... ok
test bead_store::tests::detects_locked_db_error ... ok
test bead_store::tests::detects_malformed_db_error ... ok
test bead_store::tests::detects_not_a_database_error ... ok
test bead_store::tests::filters_default_is_empty ... ok
test bead_store::tests::non_corruption_error_returns_false ... ok
test bead_store::tests::parse_beads_empty_json_array ... ok
test bead_store::tests::parse_beads_empty_string_returns_empty ... ok
test bead_store::tests::parse_beads_whitespace_only_returns_empty ... ok
test bead_store::tests::parse_doctor_output_empty ... ok
test bead_store::tests::parse_beads_malformed_json_is_error ... ok
test bead_store::tests::parse_doctor_output_filters_recovery_artifacts ... ok
test bead_store::tests::parse_doctor_output_filters_sqlite3_not_available ... ok
test bead_store::tests::parse_doctor_output_multiple_entries ... ok
test bead_store::tests::parse_single_bead_empty_array_is_error ... ok
test bead_store::tests::repair_report_parses_warn_and_fixed_lines ... ok
test bead_store::tests::sync_conflict_detects_jsonl_is_newer ... ok
test bead_store::tests::sync_conflict_detects_lowercase_marker ... ok
test bead_store::tests::sync_conflict_detects_sync_conflict_marker ... ok
test bead_store::tests::sync_conflict_in_longer_stderr ... ok
test bead_store::tests::sync_conflict_is_case_sensitive ... ok
test bead_store::tests::sync_conflict_returns_false_for_non_conflict ... ok
test canary::tests::canary_test_result_bead_id ... ok
test canary::tests::canary_report_can_promote ... ok
test canary::tests::canary_test_result_bead_id_all_variants ... ok
test canary::tests::canary_test_result_is_pass ... ok
test canary::tests::discover_test_beads_missing_expected_dir ... ok
test canary::tests::expected_outcome_default_status ... ok
test canary::tests::discover_test_beads_reads_yaml_files ... ok
test canary::tests::failure_with_none_exit_code_does_not_match ... ok
test canary::tests::load_expected_outcome_failure_yaml ... ok
test canary::tests::expected_outcome_serde_roundtrip ... ok
test canary::tests::load_expected_outcome_invalid_yaml ... ok
test canary::tests::load_expected_outcome_missing_file ... ok
test canary::tests::mismatch_reason_failure ... ok
test canary::tests::mismatch_reason_state_machine ... ok
test canary::tests::load_expected_outcome_success_yaml ... ok
test canary::tests::mismatch_reason_success ... ok
test canary::tests::mismatch_reason_timeout ... ok
test canary::tests::outcomes_match_failure ... ok
test canary::tests::outcomes_match_state_machine ... ok
test canary::tests::outcomes_match_timeout ... ok
test canary::tests::outcomes_match_success ... ok
test canary::tests::promote_first_time_no_existing_stable ... ok
test canary::tests::promote_moves_testing_to_stable ... ok
test canary::tests::promote_no_testing_binary_fails ... ok
test canary::tests::reject_no_testing_binary_is_ok ... ok
test canary::tests::reject_removes_testing_binary ... ok
test canary::tests::rollback_no_prev_binary_fails ... ok
test canary::tests::run_missing_testing_binary_fails ... ok
test canary::tests::rollback_restores_previous_stable ... ok
test canary::tests::run_missing_workspace_fails ... ok
test canary::tests::status_empty_needle_home ... ok
test canary::tests::success_with_extra_labels_still_matches ... ok
test cargo_test::tests::cargo_test_new_creates_runner ... ok
test canary::tests::status_reports_channel_state ... ok
test cargo_test::tests::cargo_test_spawn_captures_output_streams ... ok
test cargo_test::tests::cargo_test_spawn_succeeds ... ok
test cargo_test::tests::cargo_test_with_args_sets_args ... ok
test cargo_test::tests::cargo_test_with_timeout_sets_timeout ... ok
test cargo_test::tests::create_combined_output_adds_trailing_newline ... ok
test cargo_test::tests::create_combined_output_with_both_streams ... ok
test cargo_test::tests::create_combined_output_with_empty_streams ... ok
test cargo_test::tests::create_combined_output_with_only_stderr ... ok
test cargo_test::tests::create_combined_output_with_only_stdout ... ok
test cargo_test::tests::detect_compilation_errors_aborting_due_to ... ok
test cargo_test::tests::detect_compilation_errors_could_not_compile ... ok
test cargo_test::tests::detect_compilation_errors_empty_stderr ... ok
test cargo_test::tests::detect_compilation_errors_full_output ... ok
test cargo_test::tests::detect_compilation_errors_multiple_errors ... ok
test cargo_test::tests::detect_compilation_errors_test_output_only ... ok
test cargo_test::tests::detect_compilation_errors_with_error_code ... ok
test cargo_test::tests::extract_crate_name_from_compile_error ... ok
test cargo_test::tests::extract_crate_name_no_backticks ... ok
test cargo_test::tests::extract_error_count_from_abort_message ... ok
test cargo_test::tests::extract_error_count_no_number ... ok
test cargo_test::tests::parse_error_line_no_message ... ok
test cargo_test::tests::parse_error_line_not_error ... ok
test cargo_test::tests::parse_error_line_with_code ... ok
test cargo_test::tests::cargo_test_spawn_with_timeout_protection ... ok
test cargo_test::tests::run_with_bead_trace_creates_parent_directory ... ok
test cargo_test::tests::run_with_bead_trace_creates_trace_directory ... ok
test cargo_test::tests::run_with_bead_trace_handles_empty_output ... ok
test cargo_test::tests::run_with_bead_trace_handles_test_output ... ok
test cargo_test::tests::run_with_bead_trace_metrics_captures_exit_code ... ok
test cargo_test::tests::run_with_bead_trace_writes_test_metrics ... ok
test cargo_test::tests::run_with_output_files_creates_combined_structure ... ok
test cargo_test::tests::run_with_output_files_creates_output_files ... ok
test cargo_test::tests::test_args_add_cargo_flag ... ok
test cargo_test::tests::test_args_add_test_flag ... ok
test cargo_test::tests::test_args_add_test_name ... ok
test cargo_test::tests::test_args_build_default ... ok
test cargo_test::tests::test_args_build_full ... ok
test cargo_test::tests::test_args_build_with_cargo_flags ... ok
test cargo_test::tests::test_args_build_with_target ... ok
test cargo_test::tests::test_args_build_with_test_flags ... ok
test cargo_test::tests::test_args_default_is_empty ... ok
test cargo_test::tests::test_args_with_filter ... ok
test cargo_test::tests::test_args_with_target ... ok
test cargo_test::tests::test_metrics_duration_conversion ... ok
test cargo_test::tests::test_metrics_from_failed_outcome ... ok
test cargo_test::tests::test_metrics_from_successful_outcome ... ok
test cargo_test::tests::test_metrics_from_timeout_outcome ... ok
test cargo_test::tests::test_metrics_high_precision_timing ... ok
test cargo_test::tests::test_metrics_serialization ... ok
test cargo_test::tests::test_metrics_success_returns_false_for_nonzero_exit ... ok
test cargo_test::tests::test_metrics_success_returns_false_for_timeout ... ok
test cargo_test::tests::test_metrics_success_returns_true_for_zero_exit ... ok
test cargo_test::tests::test_outcome_is_compilation_failure ... ok
test cargo_test::tests::test_outcome_is_test_failure ... ok
test cargo_test::tests::test_outcome_success_false_with_nonzero_exit ... ok
test cargo_test::tests::test_outcome_success_false_with_timeout ... ok
test cargo_test::tests::test_outcome_success_with_zero_exit ... ok
test cargo_test::tests::test_outcome_summary_compilation_failed ... ok
test cargo_test::tests::test_outcome_summary_failed ... ok
test cargo_test::tests::test_outcome_summary_passed ... ok
test cargo_test::tests::test_outcome_summary_timed_out ... ok
test cargo_test::tests::test_truncate_output_long ... ok
test cargo_test::tests::test_truncate_output_short ... ok
test cargo_test::tests::run_with_output_files_handles_empty_output ... ok
test claim::tests::claim_next_all_excluded_returns_no_candidates ... ok
test claim::tests::claim_next_empty_candidates_returns_no_candidates ... ok
test claim::tests::claim_next_happy_path_returns_claimed ... ok
test claim::tests::claim_next_not_claimable_skips_to_next ... ok
test claim::tests::claim_next_race_lost_tries_next_candidate ... ok
test claim::tests::claim_one_happy_path ... ok
test claim::tests::exclusion_set_prevents_reclaim ... ok
test claim::tests::flock_acquire_and_release ... ok
test claim::tests::claim_next_all_race_lost_returns_all_race_lost ... ok
test claim::tests::workspace_lock_path_differs_for_different_workspaces ... ok
test claim::tests::workspace_lock_path_is_deterministic ... ok
test claude_md_placement::tests::detect_cross_workspace_patterns_empty_when_no_match ... ok
test claude_md_placement::tests::detect_cross_workspace_patterns_finds_matches ... ok
test claude_md_placement::tests::find_lca_nested_workspaces ... ok
test claude_md_placement::tests::find_lca_sibling_workspaces ... ok
test claude_md_placement::tests::find_lca_single_workspace ... ok
test claude_md_placement::tests::find_lca_three_workspaces ... ok
test claude_md_placement::tests::find_target_creates_at_workspace_when_none_exist ... ok
test claude_md_placement::tests::find_target_single_workspace_prefers_existing_claude_md ... ok
test claude_md_placement::tests::observations_not_similar ... ok
test claude_md_placement::tests::observations_similar_with_word_overlap ... ok
test claude_md_placement::tests::place_learning_adds_section_when_missing ... ok
test claude_md_placement::tests::place_learning_appends_to_existing_section ... ok
test claude_md_placement::tests::place_learning_creates_new_claude_md ... ok
test claude_md_placement::tests::place_learning_skips_duplicate ... ok
test cli::tests::check_result_display_fail ... ok
test cli::tests::check_result_display_pass ... ok
test cli::tests::check_result_display_warn ... ok
test cli::tests::check_result_with_detail ... ok
test cli::tests::cli_attach_requires_identifier ... ok
test cli::tests::cli_parses_attach ... ok
test cli::tests::cli_parses_canary ... ok
test cli::tests::cli_parses_canary_status ... ok
test cli::tests::cli_parses_config_dump ... ok
test cli::tests::cli_parses_config_dump_show_source ... ok
test cli::tests::cli_parses_config_get ... ok
test cli::tests::cli_parses_doctor ... ok
test cli::tests::cli_parses_doctor_repair ... ok
test cli::tests::cli_parses_doctor_with_workspace ... ok
test cli::tests::cli_parses_list_with_format ... ok
test cli::tests::cli_parses_logs_all_flags ... ok
test cli::tests::cli_parses_logs_defaults ... ok
test cli::tests::cli_parses_logs_filter ... ok
test cli::tests::cli_parses_logs_filter_field_equals ... ok
test cli::tests::cli_parses_logs_filter_field_gt ... ok
test cli::tests::cli_parses_logs_filter_field_regex ... ok
test cli::tests::cli_parses_logs_follow ... ok
test cli::tests::cli_parses_logs_format_jsonl ... ok
test cli::tests::cli_parses_logs_multiple_filters ... ok
test cli::tests::cli_parses_logs_since ... ok
test cli::tests::cli_parses_rollback ... ok
test cli::tests::cli_parses_run_count_5 ... ok
test cli::tests::cli_parses_run_defaults ... ok
test cli::tests::cli_parses_run_full ... ok
test cli::tests::cli_parses_status_by_worker ... ok
test cli::tests::cli_parses_status_cost ... ok
test cli::tests::cli_parses_status_cost_since ... ok
test cli::tests::cli_parses_status_defaults ... ok
test cli::tests::cli_parses_status_json ... ok
test cli::tests::cli_parses_stop_all ... ok
test cli::tests::cli_parses_stop_identifier ... ok
test cli::tests::cli_parses_test_agent ... ok
test cli::tests::cli_parses_upgrade ... ok
test cli::tests::cli_parses_upgrade_check ... ok
test cli::tests::cli_parses_version ... ok
test cli::tests::cli_rejects_unknown_subcommand ... ok
test cli::tests::cli_test_agent_requires_name ... ok
test cli::tests::config_dump_returns_all_fields ... ok
test cli::tests::config_get_key_known_keys ... ok
test cli::tests::config_get_key_unknown_returns_none ... ok
test cli::tests::default_worker_identifier_is_alpha ... ok
test cli::tests::doctor_check_heartbeat_dir_existing_writable ... ok
test cli::tests::doctor_check_heartbeat_dir_missing_no_repair ... ok
test cli::tests::doctor_check_heartbeat_dir_missing_with_repair ... ok
test cli::tests::doctor_check_heartbeats_no_dir ... ok
test cli::tests::doctor_check_heartbeats_no_files ... ok
test cli::tests::doctor_check_heartbeats_stale_file_repair ... ok
test cli::tests::doctor_check_heartbeats_stale_file_warns ... ok
test cli::tests::doctor_check_jsonl_empty_file ... ok
test cli::tests::doctor_check_jsonl_invalid_lines ... ok
test cli::tests::doctor_check_jsonl_missing_file ... ok
test cli::tests::doctor_check_jsonl_valid ... ok
test cli::tests::doctor_check_lock_files_fresh_not_stale ... ok
test cli::tests::doctor_check_lock_files_no_locks ... ok
test cli::tests::doctor_check_lock_files_stale_repair_removes ... ok
test cli::tests::doctor_check_lock_files_stale_warns_without_repair ... ok
test cli::tests::doctor_check_peers_no_heartbeats ... ok
test cli::tests::doctor_check_sqlite_no_db ... ok
test cli::tests::doctor_check_telemetry_logs_existing_files ... ok
test cli::tests::doctor_check_telemetry_logs_no_dir ... ok
test cli::tests::doctor_check_workspace_missing ... ok
test cli::tests::doctor_check_workspace_no_beads_dir ... ok
test claim::tests::max_retries_caps_attempts ... ok
test cli::tests::first_nato_is_alpha ... ok
test cli::tests::doctor_check_workspace_valid ... ok
test cli::tests::format_duration_hours ... ok
test cli::tests::format_duration_minutes ... ok
test cli::tests::format_duration_seconds ... ok
test cli::tests::identifier_collision_detected ... ok
test cli::tests::identifier_no_collision ... ok
test cli::tests::is_needle_inner_false_by_default ... ok
test cli::tests::is_needle_inner_false_for_other_values ... ok
test cli::tests::is_pid_alive_current_process ... ok
test cli::tests::is_pid_alive_nonexistent ... ok
test cli::tests::last_nato_is_zulu ... ok
test cli::tests::list_format_variants ... ok
test cli::tests::log_format_variants ... ok
test cli::tests::max_workers_cap_logic ... ok
test cli::tests::max_workers_zero_means_unlimited ... ok
test cli::tests::multi_worker_count_validation ... ok
test cli::tests::nato_alphabet_has_26_entries ... ok
test cli::tests::nato_alphabet_sequence ... ok
test cli::tests::parse_worker_id_different_agent_ignored ... ok
test cli::tests::parse_worker_id_from_session_name ... ok
test cli::tests::pick_names_all_occupied_fails ... ok
test cli::tests::pick_names_no_sessions_running ... ok
test cli::tests::pick_names_partial_exhaustion_fails ... ok
test cli::tests::pick_names_skips_non_contiguous_occupied ... ok
test cli::tests::pick_names_skips_occupied ... ok
test cli::tests::session_name_format ... ok
test cli::tests::shell_escape_plain_string ... ok
test cli::tests::shell_escape_string_with_quotes ... ok
test cli::tests::shell_escape_string_with_spaces ... ok
test cli::tests::single_worker_picks_first_available ... ok
test cli::tests::stop_requires_all_or_identifier ... ok
test cli::tests::version_string_format ... ok
test commit_hook::tests::already_has_trailer_logic ... ok
test commit_hook::tests::empty_head_means_no_op ... ok
test config::tests::agent_config_with_routing_yaml_roundtrip ... ok
test config::tests::cli_overrides_apply ... ok
test config::tests::cli_overrides_beat_env_vars ... ok
test config::tests::config_error_display_format ... ok
test config::tests::config_source_display ... ok
test cli::tests::is_needle_inner_true_when_env_set ... ok
test config::tests::cpu_load_warn_at_one_passes_validation ... ok
test config::tests::cpu_load_warn_negative_fails_validation ... ok
test config::tests::cpu_load_warn_over_one_fails_validation ... ok
test config::tests::default_agent_config_values ... ok
test config::tests::cpu_load_warn_zero_fails_validation ... ok
test config::tests::default_explore_config_values ... ok
test config::tests::default_health_config_values ... ok
test config::tests::default_knot_config_values ... ok
test config::tests::default_mend_config_values ... ok
test config::tests::default_mitosis_config_values ... ok
test config::tests::default_pulse_config_values ... ok
test config::tests::default_reflect_config_values ... ok
test config::tests::default_routing_config_matches_anthropic_models ... ok
test config::tests::default_self_modification_config_values ... ok
test config::tests::default_supervisor_config_values ... ok
test config::tests::default_telemetry_config_values ... ok
test config::tests::default_unravel_config_values ... ok
test config::tests::default_weave_config_values ... ok
test config::tests::default_worker_config_values ... ok
test config::tests::dump_with_sources_formats_correctly ... ok
test config::tests::dump_with_sources_includes_all_fields ... ok
test config::tests::dump_with_sources_shows_env_var_source ... ok
test config::tests::empty_adapter_in_routing_rule_fails_validation ... ok
test config::tests::env_override_agent_default ... ok
test config::tests::default_config_is_valid ... ok
test config::tests::env_override_health_heartbeat_interval ... ok
test config::tests::env_override_health_heartbeat_ttl ... ok
test config::tests::env_override_beats_workspace_config ... ok
test config::tests::env_override_invalid_bool_ignored ... ok
test config::tests::env_override_self_modification_auto_promote ... ok
test config::tests::env_override_invalid_integer_ignored ... ok
test config::tests::env_override_self_modification_canary_timeout ... ok
test config::tests::env_override_self_modification_enabled ... ok
test config::tests::env_override_supervisor_heartbeat_path ... ok
test config::tests::env_override_supervisor_socket_path ... ok
test config::tests::env_override_worker_idle_timeout ... ok
test config::tests::env_override_worker_launch_stagger ... ok
test config::tests::env_override_worker_max_workers ... ok
test config::tests::env_var_routing_default_adapter_override ... ok
test config::tests::env_var_routing_override_beats_workspace ... ok
test config::tests::heartbeat_ttl_at_3x_interval_passes_validation ... ok
test config::tests::invalid_regex_in_routing_rule_fails_validation ... ok
test config::tests::heartbeat_ttl_below_3x_interval_fails_validation ... ok
test config::tests::load_empty_yaml_returns_default ... ok
test config::tests::load_invalid_yaml_returns_error ... ok
test config::tests::load_partial_yaml_uses_defaults_for_missing ... ok
test config::tests::load_yaml_with_all_sections ... ok
test config::tests::load_yaml_with_unknown_fields_is_tolerated ... ok
test config::tests::load_resolved_applies_workspace_then_cli ... ok
test config::tests::max_workers_over_50_fails_validation ... ok
test config::tests::missing_agent_binary_fails_validation ... ok
test config::tests::missing_file_returns_default ... ok
test config::tests::multiple_validation_errors_in_routing ... ok
test config::tests::non_overridable_keys_are_detected ... ok
test config::tests::reflect_config_default_extraction_agent_is_none ... ok
test config::tests::routing_config_backward_compatibility ... ok
test config::tests::multiple_validation_errors_collected ... ok
test config::tests::routing_config_empty_rules_list_is_valid ... ok
test config::tests::routing_config_with_rules_parses ... ok
test config::tests::routing_config_from_global_config_file ... ok
test config::tests::routing_config_yaml_roundtrip ... ok
test config::tests::routing_default_anthropic_models_to_claude_print ... ok
test config::tests::routing_default_fallback_no_match ... ok
test config::tests::routing_glm_47_defaults_to_claude_code_glm_47 ... ok
test config::tests::routing_patterns_match_bare_aliases ... ok
test config::tests::routing_patterns_match_full_model_ids ... ok
test config::tests::routing_first_match_wins ... ok
test config::tests::routing_strict_mode_failure ... ok
test config::tests::routing_workspace_override ... ok
test config::tests::source_map_tracks_cli_overrides ... ok
test config::tests::splice_config_default_values ... ok
test config::tests::supervisor_config_empty_section_loads_defaults ... ok
test config::tests::supervisor_config_from_full_yaml ... ok
test config::tests::supervisor_config_json_roundtrip ... ok
test config::tests::supervisor_config_resolved_heartbeat_path_custom ... ok
test config::tests::supervisor_config_resolved_heartbeat_path_default ... ok
test config::tests::supervisor_config_with_only_heartbeat_path ... ok
test config::tests::supervisor_config_with_only_socket_path ... ok
test config::tests::supervisor_config_yaml_roundtrip ... ok
test config::tests::routing_patterns_match_with_wildcards ... ok
test config::tests::workspace_config_global_used_when_absent ... ok
test config::tests::workspace_config_missing_returns_none ... ok
test config::tests::workspace_config_overrides_agent_default ... ok
test config::tests::workspace_config_overrides_prompt ... ok
test config::tests::workspace_config_overrides_strands_pulse ... ok
test config::tests::workspace_config_overrides_strands_unravel ... ok
test config::tests::workspace_config_overrides_strands_weave ... ok
test config::tests::workspace_config_overrides_verification ... ok
test config::tests::workspace_config_partial_agent_override ... ok
test config::tests::workspace_config_routing_override ... ok
test config::tests::workspace_invalid_yaml_returns_error ... ok
test config::tests::workspace_labels_default_empty ... ok
test config::tests::workspace_labels_not_set_leaves_default ... ok
test config::tests::valid_regex_in_routing_rule_passes_validation ... ok
test config::tests::workspace_labels_parsed_from_needle_yaml ... ok
test config::tests::workspace_overrides_deserialize_ignores_non_overridable ... ok
test config::tests::zero_max_workers_fails_validation ... ok
test cost::tests::budget_above_stop_returns_stop ... ok
test cost::tests::budget_at_stop_returns_stop ... ok
test cost::tests::budget_at_warn_returns_warn ... ok
test cost::tests::budget_below_warn_returns_ok ... ok
test cost::tests::budget_between_warn_and_stop ... ok
test cost::tests::budget_disabled_returns_ok ... ok
test cost::tests::budget_stop_only_no_warn ... ok
test cost::tests::budget_warn_only_no_stop ... ok
test config::tests::yaml_roundtrip ... ok
test cost::tests::default_pricing_has_known_models ... ok
test cost::tests::default_pricing_rates_are_positive ... ok
test cost::tests::estimate_cost_input_only ... ok
test cost::tests::estimate_cost_no_tokens_returns_none ... ok
test cost::tests::estimate_cost_opus_typical ... ok
test cost::tests::estimate_cost_output_only ... ok
test cost::tests::estimate_cost_sonnet_typical ... ok
test cost::tests::estimate_cost_unknown_model_returns_none ... ok
test cost::tests::estimate_cost_zero_tokens_returns_none ... ok
test cost::tests::scan_daily_cost_empty_dir ... ok
test cost::tests::scan_daily_cost_handles_null_cost ... ok
test cost::tests::scan_daily_cost_missing_dir ... ok
test cost::tests::scan_daily_cost_ignores_non_jsonl_files ... ok
test cost::tests::scan_daily_cost_skips_corrupt_lines ... ok
test cost::tests::scan_daily_cost_sums_todays_events ... ok
test decision::tests::adr_lite_format ... ok
test decision::tests::adr_to_markdown_format ... ok
test decision::tests::contains_error_indicator ... ok
test decision::tests::decision_id_generation ... ok
test decision::tests::adr_store_write_and_list ... ok
test decision::tests::detect_exploration_choice_pattern ... ok
test decision::tests::detect_failure_recovery_pattern ... ok
test decision::tests::extract_file_path_from_description ... ok
test dispatch::tests::adapter_yaml_args_input_method ... ok
test dispatch::tests::adapter_yaml_deserialization ... ok
test dispatch::tests::adapter_yaml_file_input_method ... ok
test dispatch::tests::adapter_yaml_output_transform_absent_is_none ... ok
test dispatch::tests::adapter_yaml_output_transform_deserialized ... ok
test dispatch::tests::all_builtin_adapters_load ... ok
test dispatch::tests::build_sample_json_creates_valid_structure ... ok
test dispatch::tests::builtin_adapters_are_present ... ok
test dispatch::tests::builtin_aider_config ... ok
test dispatch::tests::builtin_claude_opus_config ... ok
test dispatch::tests::builtin_codex_config ... ok
test dispatch::tests::builtin_opencode_config ... ok
test dispatch::tests::claude_opus_adapter_has_genai_attributes ... ok
test dispatch::tests::adapter_yaml_roundtrip ... ok
test dispatch::tests::claude_sonnet_adapter_has_genai_attributes ... ok
test dispatch::tests::codex_adapter_has_openai_provider ... ok
test dispatch::tests::dispatch_captures_stderr ... ok
test dispatch::tests::dispatch_captures_exit_code ... ok
test dispatch::tests::dispatch_echo_captures_stdout ... ok
test dispatch::tests::dispatch_cleans_up_temp_file ... ok
test dispatch::tests::dispatch_missing_binary_returns_127 ... ok
test dispatch::tests::dispatch_environment_variables ... ok
test dispatch::tests::dispatch_template_renders_bead_id ... ok
test dispatch::tests::dispatch_stdin_redirect_from_prompt_file ... ok
test dispatch::tests::e2e_adapter_with_custom_env_and_base_url ... ok
test dispatch::tests::e2e_all_template_variables_substituted ... ok
test dispatch::tests::e2e_exit_code_0_is_success ... ok
test dispatch::tests::e2e_exit_code_137_is_crash ... ok
test dispatch::tests::e2e_exit_code_1_is_failure ... ok
test dispatch::tests::e2e_exit_code_2_is_failure ... ok
test dispatch::tests::e2e_json_output_capture_and_token_extraction ... ok
test dispatch::tests::e2e_multiple_environment_variables ... ok
test dispatch::tests::e2e_prompt_with_newlines_preserved ... ok
test dispatch::tests::e2e_prompt_with_shell_metacharacters ... ok
test dispatch::tests::dispatch_timeout_returns_124 ... ok
test dispatch::tests::e2e_timeout_kills_agent_returns_124 ... ok
test dispatch::tests::e2e_workspace_directory_is_correct ... ok
test dispatch::tests::effective_timeout_falls_back_to_global ... ok
test dispatch::tests::effective_timeout_uses_adapter_when_nonzero ... ok
test dispatch::tests::effective_timeout_zero_when_both_zero ... ok
test dispatch::tests::extract_tokens_dispatches_to_json ... ok
test dispatch::tests::extract_tokens_json_field ... ok
test dispatch::tests::extract_tokens_json_invalid ... ok
test dispatch::tests::extract_tokens_json_missing_path ... ok
test dispatch::tests::extract_tokens_none_returns_default ... ok
test dispatch::tests::extract_tokens_regex_aider_format ... ok
test dispatch::tests::extract_tokens_regex_invalid_pattern ... ok
test dispatch::tests::extract_tokens_regex_no_match ... ok
test dispatch::tests::extract_tokens_regex_searches_stderr_too ... ok
test dispatch::tests::gen_ai_system_returns_local_for_adapter_without_provider ... ok
test dispatch::tests::gen_ai_system_returns_provider_for_claude_opus ... ok
test dispatch::tests::gen_ai_system_returns_provider_for_claude_sonnet ... ok
test dispatch::tests::gen_ai_system_returns_provider_for_codex ... ok
test dispatch::tests::load_adapters_from_yaml_directory ... ok
test dispatch::tests::load_adapters_includes_builtins ... ok
test dispatch::tests::render_template_preserves_unrecognized_placeholders ... ok
test dispatch::tests::render_template_substitutes_all_variables ... ok
test dispatch::tests::token_extraction_none_yaml_roundtrip ... ok
test dispatch::tests::token_extraction_regex_yaml_roundtrip ... ok
test dispatch::tests::token_extraction_yaml_roundtrip ... ok
test dispatch::tests::user_adapter_overrides_builtin ... ok
test dispatch::tests::write_prompt_to_temp_creates_file ... ok
test dispatch::tests::write_prompt_to_temp_uses_temp_dir ... ok
test drift::tests::drift_category_as_str ... ok
test drift::tests::drift_detector_different_tools ... ok
test drift::tests::drift_detector_no_transcripts ... ok
test drift::tests::drift_detector_similar_sessions ... ok
test drift::tests::drift_detector_single_transcript ... ok
test drift::tests::drift_report_to_markdown ... ok
test drift::tests::fingerprint_from_transcript ... ok
test drift::tests::jaccard_similarity_different ... ok
test drift::tests::jaccard_similarity_identical ... ok
test health::tests::atomic_write_never_produces_partial ... ok
test health::tests::check_pid_alive_current_process ... ok
test health::tests::check_pid_alive_nonexistent ... ok
test health::tests::check_supervisor_heartbeat_file_fresh_returns_true ... ok
test health::tests::check_supervisor_heartbeat_file_invalid_returns_false ... ok
test health::tests::check_supervisor_heartbeat_file_malformed_json_returns_error ... ok
test health::tests::check_supervisor_heartbeat_file_missing_returns_false ... ok
test health::tests::check_supervisor_heartbeat_file_stale_returns_false ... ok
test health::tests::check_supervisor_socket_default_path ... ok
test health::tests::check_supervisor_socket_exists_returns_true ... ok
test health::tests::check_supervisor_socket_missing_returns_false ... ok
test health::tests::cleanup_heartbeat_file_logs_errors_on_failure ... ok
test health::tests::cleanup_heartbeat_file_ok_when_file_missing ... ok
test health::tests::cleanup_heartbeat_file_removes_existing_file ... ok
test health::tests::cleanup_heartbeat_file_with_heartbeat_path ... ok
test health::tests::detect_stale_peers_excludes_self ... ok
test health::tests::detect_supervisor_direct_heartbeat_takes_precedence ... ok
test health::tests::detect_supervisor_direct_no_supervisor_returns_false ... ok
test health::tests::detect_supervisor_direct_with_heartbeat_returns_true ... ok
test health::tests::detect_supervisor_direct_with_socket_returns_true ... ok
test health::tests::detect_supervisor_ignores_stale_heartbeats ... ok
test health::tests::detect_supervisor_multiple_workers ... ok
test health::tests::detect_supervisor_no_other_workers ... ok
test health::tests::detect_supervisor_nonexistent_directory ... ok
test health::tests::detect_supervisor_recent_spawn_activity ... ok
test health::tests::emitter_exits_after_consecutive_failures ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_logs_errors_on_failure ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_ok_when_file_missing ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_removes_existing_file ... ok
test health::tests::healthmonitor_cleanup_heartbeat_file_with_running_emitter ... ok
test health::tests::heartbeat_cleanup_on_graceful_shutdown ... ok
test health::tests::heartbeat_cleanup_on_worker_drop ... ok
test dispatch::tests::e2e_timeout_kills_entire_process_group ... ok
test health::tests::heartbeat_data_roundtrip ... ok
test health::tests::heartbeat_file_removed_on_stop ... ok
test health::tests::heartbeat_file_written_on_start ... ok
test health::tests::heartbeat_files_dont_collide_across_adapter_pools ... ok
test health::tests::heartbeat_path_computed_during_construction ... ok
test health::tests::heartbeat_path_uses_qualified_id_not_bare_worker_id ... ok
test health::tests::heartbeat_updates_with_shared_state ... ok
test health::tests::heartbeat_uses_cross_workspace_bead_workspace ... ok
test health::tests::is_stale_detects_old_heartbeats ... ok
test health::tests::read_all_heartbeats_nonexistent_dir ... ok
test health::tests::read_all_heartbeats_reads_files ... ok
test learning::tests::meaningful_returns_false_with_all_none ... ok
test learning::tests::meaningful_returns_true_with_content ... ok
test learning::tests::parse_body_without_retrospective ... ok
test learning::tests::parse_full_retrospective ... ok
test learning::tests::parse_partial_retrospective ... ok
test learning::tests::parse_retrospective_all_empty_returns_none ... ok
test learning::tests::parse_retrospective_case_sensitive ... ok
test learning::tests::parse_retrospective_multiline_values ... ok
test learning::tests::parse_retrospective_with_empty_fields ... ok
test learning::tests::serialize_retrospective_to_json ... ok
test mitosis::tests::create_children_all_deduped ... ok
test mitosis::tests::create_children_with_dedup ... ok
test mitosis::tests::dedup_ignores_children_of_other_parents ... ok
test mitosis::tests::evaluate_skips_when_disabled ... ok
test mitosis::tests::evaluate_skips_when_not_first_failure ... ok
test mitosis::tests::extract_bare_json ... ok
test mitosis::tests::extract_from_json_fence ... ok
test mitosis::tests::parse_response_embedded_json_object ... ok
test mitosis::tests::parse_response_from_markdown_code_fence ... ok
test mitosis::tests::parse_response_invalid_json ... ok
test mitosis::tests::parse_response_not_splittable ... ok
test mitosis::tests::parse_response_splittable_with_children ... ok
test mitosis::tests::repeat_interval_skips_max_depth_beads ... ok
test mitosis::tests::repeat_interval_skips_mitosis_depth_beads ... ok
test mitosis::tests::repeat_interval_triggers_at_correct_counts ... ok
test mitosis::tests::repeat_interval_zero_preserves_first_failure_only ... ok
test mitosis::tests::sanitize_replaces_slashes ... ok
test mitosis::tests::titles_match_exact ... ok
test mitosis::tests::titles_match_substring ... ok
test mitosis::tests::titles_no_match ... ok
test outcome::tests::classify_no_wildcard_arms ... ok
test outcome::tests::classify_not_interrupted_uses_exit_code ... ok
test outcome::tests::classify_was_interrupted_always_returns_interrupted ... ok
test outcome::tests::handle_agent_not_found_releases ... ok
test outcome::tests::handle_crash_negative_exit_code ... ok
test outcome::tests::handle_crash_releases_and_creates_alert_bead ... ok
test outcome::tests::handle_failure_emits_telemetry_events ... ok
test outcome::tests::handle_failure_increments_existing_count ... ok
test outcome::tests::handle_failure_releases_and_increments_count ... ok
test outcome::tests::handle_failure_with_flush_timeout_continues_gracefully ... ok
test health::tests::heartbeat_creates_and_refreshes_every_30_seconds has been running for over 60 seconds
test outcome::tests::handle_failure_with_release_timeout_continues_gracefully ... ok
test outcome::tests::handle_interrupted_releases ... ok
test outcome::tests::handle_success_bead_closed_by_agent ... ok
test outcome::tests::handle_success_bead_still_open_emits_orphaned ... ok
test outcome::tests::handle_success_multiple_gates_first_fails ... ok
test outcome::tests::handle_success_no_verification_default_behavior ... ok
test outcome::tests::handle_success_resets_failure_count ... ok
test outcome::tests::handle_success_verification_fails_increments_failure_count ... ok
test outcome::tests::handle_success_verification_fails_releases_bead ... ok
test outcome::tests::handle_success_verification_fails_reopens_closed_bead ... ok
test outcome::tests::handle_success_verification_passes_accepts_closure ... ok
test outcome::tests::handle_timeout_releases_and_adds_deferred ... ok
test outcome::tests::handle_with_cancellation_respects_cancelled_flag ... ok
test outcome::tests::outcome_display_covers_all_variants ... ok
test peer::tests::crashed_peer_bead_released ... ok
test peer::tests::crashed_peer_no_bead_still_cleaned ... ok
test peer::tests::empty_heartbeat_dir_returns_zero ... ok
test peer::tests::healthy_peers_are_ignored ... ok
test peer::tests::multiple_peers_mixed_states ... ok
test peer::tests::nonexistent_heartbeat_dir_returns_zero ... ok
test peer::tests::own_heartbeat_skipped ... ok
test peer::tests::peer_check_result_did_work ... ok
test peer::tests::remove_heartbeat_file_nonexistent_is_ok ... ok
test peer::tests::remove_heartbeat_file_removes_existing ... ok
test peer::tests::stuck_peer_not_released ... ok
test prompt::tests::all_five_default_templates_present ... ok
test prompt::tests::build_mitosis_substitutes_existing_children ... ok
test prompt::tests::build_pluck_contains_bead_id ... ok
test prompt::tests::build_pluck_contains_close_instruction ... ok
test prompt::tests::build_pluck_contains_title_and_body ... ok
test prompt::tests::build_pulse_substitutes_scan_results ... ok
test prompt::tests::build_unravel_substitutes_human_context ... ok
test prompt::tests::build_weave_substitutes_doc_files ... ok
test prompt::tests::build_with_vars_extra_substitution ... ok
test prompt::tests::config_template_override_replaces_default ... ok
test prompt::tests::context_files_are_loaded_when_present ... ok
test prompt::tests::deterministic_same_inputs_same_output ... ok
test prompt::tests::extract_vars_deduplicates ... ok
test prompt::tests::extract_vars_handles_empty ... ok
test prompt::tests::extract_vars_skips_escaped_braces ... ok
test prompt::tests::hash_is_valid_hex_sha256 ... ok
test prompt::tests::hex_sha256_known_value ... ok
test prompt::tests::missing_body_uses_fallback ... ok
test prompt::tests::missing_context_files_do_not_error ... ok
test prompt::tests::no_literal_template_variables_in_output ... ok
test prompt::tests::partial_override_keeps_other_defaults ... ok
test prompt::tests::token_estimate_is_reasonable ... ok
test prompt::tests::unknown_template_returns_error ... ok
test prompt::tests::validate_allows_strand_specific_vars_in_correct_template ... ok
test prompt::tests::validate_catches_unknown_variable ... ok
test prompt::tests::validate_default_templates_pass ... ok
test prompt::tests::validate_rejects_strand_specific_var_in_wrong_template ... ok
test prompt::tests::worker_id_appears_in_output ... ok
test prompt::tests::workspace_path_appears_in_output ... ok
test rate_limit::tests::decision_display ... ok
test rate_limit::tests::different_provider_not_counted ... ok
test rate_limit::tests::model_concurrency_at_limit_blocks ... ok
test rate_limit::tests::model_concurrency_below_limit_allows ... ok
test rate_limit::tests::no_limits_configured_allows_all ... ok
test rate_limit::tests::no_provider_or_model_allows ... ok
test rate_limit::tests::provider_checked_before_model ... ok
test rate_limit::tests::provider_concurrency_at_limit_blocks ... ok
test rate_limit::tests::provider_concurrency_below_limit_allows ... ok
test rate_limit::tests::provider_concurrency_ignores_dead_pids ... ok
test rate_limit::tests::provider_conjunction_with_dead_pid_does_not_block ... ok
test rate_limit::tests::rpm_limit_allows_first_request ... ok
test rate_limit::tests::rpm_limit_exhausts_bucket ... ok
test rate_limit::tests::system_resource_check_does_not_panic ... ok
test rate_limit::tests::token_bucket_does_not_exceed_capacity ... ok
test rate_limit::tests::token_bucket_refill ... ok
test registry::tests::concurrent_registration_no_corruption ... ok
test registry::tests::default_location_uses_state_subdir ... ok
test registry::tests::deregister_nonexistent_is_noop ... ok
test registry::tests::deregister_removes_worker ... ok
test registry::tests::empty_registry_returns_empty_list ... ok
test registry::tests::is_pid_alive_returns_false_for_nonexistent_pid ... ok
test registry::tests::is_pid_alive_returns_true_for_current_process ... ok
test registry::tests::list_filters_out_dead_pids ... ok
test registry::tests::list_persists_cleanup_after_filtering_dead_pids ... ok
test registry::tests::register_and_list ... ok
test registry::tests::register_replaces_stale_entry ... ok
test registry::tests::registry_file_is_valid_json ... ok
test registry::tests::registry_json_roundtrip ... ok
test registry::tests::update_beads_processed ... ok
test registry::tests::update_nonexistent_worker_is_noop ... ok
test routing::tests::adapter_names_preserved ... ok
test routing::tests::all_rules_invalid_returns_default ... ok
test routing::tests::claude_family_regex ... ok
test routing::tests::compiled_rule_invalid_pattern ... ok
test routing::tests::compiled_rule_matches ... ok
test routing::tests::convert_glob_to_regex_double_asterisk ... ok
test routing::tests::convert_glob_to_regex_escaped ... ok
test routing::tests::convert_glob_to_regex_mixed ... ok
test routing::tests::convert_glob_to_regex_single_asterisk ... ok
test routing::tests::empty_model_name ... ok
test routing::tests::empty_rules_empty_default_returns_none ... ok
test routing::tests::escaped_asterisk_treated_literally ... ok
test routing::tests::escaped_double_asterisk_treated_literally ... ok
test routing::tests::first_match_wins ... ok
test routing::tests::glob_asterisk_double ... ok
test routing::tests::glob_asterisk_single ... ok
test routing::tests::glob_catchall ... ok
test routing::tests::glob_catchall_double_asterisk ... ok
test routing::tests::glob_double_asterisk_with_slashes ... ok
test routing::tests::glob_match_bracket_patterns ... ok
test routing::tests::glob_match_case_sensitive ... ok
test routing::tests::glob_match_catchall ... ok
test routing::tests::glob_match_character_class ... ok
test routing::tests::glob_match_complex_patterns ... ok
test routing::tests::glob_match_double_asterisk_specific_patterns ... ok
test routing::tests::glob_match_double_wildcard ... ok
test routing::tests::glob_match_empty_model_name ... ok
test routing::tests::glob_match_empty_pattern ... ok
test routing::tests::glob_match_empty_string_variations ... ok
test routing::tests::glob_match_exact_string ... ok
test routing::tests::glob_match_invalid_pattern ... ok
test routing::tests::glob_match_multiple_wildcards ... ok
test routing::tests::glob_match_nested_path_test_pattern ... ok
test routing::tests::glob_match_non_matching_comprehensive ... ok
test routing::tests::glob_match_question_mark ... ok
test routing::tests::glob_match_real_world_model_names ... ok
test routing::tests::glob_match_real_world_patterns ... ok
test routing::tests::glob_match_trailing_wildcard ... ok
test routing::tests::glob_match_with_slashes ... ok
test routing::tests::glob_match_with_special_characters ... ok
test routing::tests::glob_match_with_wildcard ... ok
test routing::tests::glob_pattern_with_slashes ... ok
test routing::tests::gpt_glob_style_patterns ... ok
test routing::tests::gpt_regex_patterns ... ok
test routing::tests::invalid_regex_pattern_skipped_gracefully ... ok
test routing::tests::is_glob_pattern_detection ... ok
test routing::tests::match_glob_bracket_patterns ... ok
test routing::tests::match_glob_case_sensitive ... ok
test routing::tests::match_glob_catchall ... ok
test routing::tests::match_glob_character_class ... ok
test routing::tests::match_glob_complex_patterns ... ok
test routing::tests::match_glob_double_wildcard ... ok
test routing::tests::match_glob_empty_model_name ... ok
test routing::tests::match_glob_empty_pattern ... ok
test routing::tests::match_glob_empty_string_variations ... ok
test routing::tests::match_glob_exact_string ... ok
test routing::tests::match_glob_invalid_pattern ... ok
test routing::tests::match_glob_multiple_wildcards ... ok
test routing::tests::match_glob_non_matching_comprehensive ... ok
test routing::tests::match_glob_question_mark ... ok
test routing::tests::match_glob_real_world_model_names ... ok
test routing::tests::match_glob_real_world_patterns ... ok
test routing::tests::match_glob_trailing_wildcard ... ok
test routing::tests::match_glob_with_slashes ... ok
test routing::tests::match_glob_with_special_characters ... ok
test routing::tests::match_glob_with_wildcard ... ok
test routing::tests::mixed_regex_and_glob_patterns ... ok
test routing::tests::needs_glob_conversion_detection ... ok
test routing::tests::no_match_empty_default_returns_none ... ok
test routing::tests::no_match_empty_rules ... ok
test routing::tests::no_match_returns_default ... ok
test routing::tests::non_matching_regex_patterns ... ok
test routing::tests::real_world_anthropic_routing ... ok
test routing::tests::regex_anchors_work ... ok
test routing::tests::regex_pattern_complex ... ok
test routing::tests::regex_pattern_match ... ok
test routing::tests::whitespace_in_patterns ... ok
test sanitize::tests::normalize_regex_posix_classes ... ok
test sanitize::tests::sanitizer_builds_from_vendored_toml ... ok
test sanitize::tests::sanitizer_handles_low_entropy_placeholder ... ok
test health::tests::heartbeat_creates_and_refreshes_every_30_seconds ... ok
test sanitize::tests::sanitizer_multiline_sanitizes_each_line ... ok
test sanitize::tests::sanitizer_performance ... ok
test sanitize::tests::sanitizer_preserves_already_redacted ... ok
test sanitize::tests::sanitizer_performance_100kb_median ... ok
test sanitize::tests::sanitizer_preserves_bead_ids ... ok
test sanitize::tests::sanitizer_redacts_anthropic_api_key ... ok
test sanitize::tests::sanitizer_preserves_short_line ... ok
test sanitize::tests::sanitizer_with_custom_pattern ... ok
test sanitize::tests::shannon_entropy_empty ... ok
test sanitize::tests::shannon_entropy_high ... ok
test sanitize::tests::shannon_entropy_uniform ... ok
test skill::tests::extend_from_workspace_adds_matching_skills ... ok
test skill::tests::extend_from_workspace_cross_workspace_ranking ... ok
test skill::tests::extend_from_workspace_no_labels_is_noop ... ok
test skill::tests::extend_from_workspace_skips_duplicates ... ok
test skill::tests::increment_success_updates_file ... ok
test skill::tests::library_empty_dir ... ok
test skill::tests::library_matching_skills_top_3 ... ok
test skill::tests::match_score_label_match ... ok
test skill::tests::match_score_no_match ... ok
test skill::tests::match_score_task_type_in_title ... ok
test skill::tests::parse_no_frontmatter ... ok
test skill::tests::parse_roundtrip ... ok
test skill::tests::promoted_source_beads ... ok
test skill::tests::skill_file_name_fallback ... ok
test skill::tests::skill_file_name_from_heading ... ok
test skill::tests::to_prompt_content_empty ... ok
test skill::tests::to_prompt_content_with_skills ... ok
test span::tests::attribute_keys_follow_conventions ... ok
test span::tests::result_values_match_expected ... ok
test span::tests::span_names_are_dotted_lowercase ... ok
test span::tests::strand_name_builder ... ok
test stats::tests::aggregator_correlates_outcomes ... ok
test stats::tests::aggregator_counts_dispatches ... ok
test stats::tests::aggregator_load_from_file ... ok
test stats::tests::aggregator_load_logs_scans_directory ... ok
test stats::tests::aggregator_tracks_multiple_variants ... ok
test stats::tests::calculate_p95_empty ... ok
test stats::tests::calculate_p95_single_element ... ok
test stats::tests::calculate_p95_sorted ... ok
test stats::tests::calculate_p95_twenty_elements ... ok
test stats::tests::calculate_p95_unsorted ... ok
test stats::tests::comparison_ready_variants_threshold ... ok
test stats::tests::compute_stats_by_task_type ... ok
test stats::tests::compute_stats_by_template_version ... ok
test stats::tests::compute_stats_by_worker ... ok
test stats::tests::p95_collector_clear ... ok
test stats::tests::p95_collector_empty ... ok
test stats::tests::p95_collector_multiple_samples ... ok
test stats::tests::p95_collector_record_all ... ok
test stats::tests::p95_collector_samples_ref ... ok
test stats::tests::p95_collector_single_sample ... ok
test stats::tests::p95_collector_stats ... ok
test stats::tests::p95_collector_with_capacity ... ok
test stats::tests::stats_row_defaults_give_none ... ok
test stats::tests::variant_stats_success_rate_computed ... ok
test stats::tests::variant_stats_success_rate_empty ... ok
test stats::tests::variant_stats_sufficient_data ... ok
test strand::explore::tests::deadlock_scenario_assigned_beads_allow_advancement ... ok
test strand::explore::tests::deadlock_scenario_excluded_and_assigned_beads_allow_advancement ... ok
test strand::explore::tests::deadlock_scenario_excluded_beads_allow_advancement ... ok
test strand::explore::tests::default_config_is_enabled_with_empty_workspaces ... ok
test strand::explore::tests::disabled_returns_no_work ... ok
test strand::explore::tests::discover_workspaces_finds_dirs_with_beads_subdir ... ok
test strand::explore::tests::discover_workspaces_returns_empty_for_nonexistent_root ... ok
test strand::explore::tests::empty_workspace_list_returns_no_work ... ok
test strand::explore::tests::empty_workspaces_config_triggers_discovery ... ok
test strand::explore::tests::explicit_workspaces_list_skips_discovery ... ok
test strand::explore::tests::has_beads_dir_detects_directory ... ok
test strand::explore::tests::home_workspace_is_captured ... ok
test strand::explore::tests::nonexistent_workspace_path_returns_no_work ... ok
test strand::explore::tests::skips_home_workspace ... ok
test strand::explore::tests::skips_workspace_without_beads_dir ... ok
test strand::explore::tests::strand_name_is_explore ... ok
test strand::explore::tests::test_deadlock_multi_workspace_with_excluded_first_workspace ... ok
test strand::explore::tests::workspace_list_is_static ... ok
test strand::knot::tests::alert_rate_limited_within_cooldown ... ok
test strand::knot::tests::all_claimed_returns_no_work_no_alert ... ok
test strand::knot::tests::all_done_or_blocked_is_no_beads_exist ... ok
test strand::knot::tests::claimed_by_deduplicates_workers ... ok
test strand::knot::tests::diagnose_all_claimed ... ok
test strand::knot::tests::diagnose_empty_queue ... ok
test strand::knot::tests::diagnose_invisible ... ok
test strand::knot::tests::diagnose_mixed_done_and_in_progress_is_all_claimed ... ok
test strand::knot::tests::invisible_emits_telemetry_after_threshold ... ok
test strand::knot::tests::knot_always_returns_no_work ... ok
test strand::knot::tests::no_beads_exist_returns_no_work_no_alert ... ok
test strand::knot::tests::store_error_returns_strand_error ... ok
test strand::knot::tests::strand_name_is_knot ... ok
test strand::knot::tests::telemetry_contains_diagnostic_details ... ok
test strand::mend::tests::agent_log_cleanup_deletes_old_file ... ok
test strand::mend::tests::agent_log_cleanup_deletes_unregistered_worker_log ... ok
test strand::mend::tests::agent_log_cleanup_deletes_zero_activity_log_immediately ... ok
test strand::mend::tests::agent_log_cleanup_disabled_when_retention_zero ... ok
test strand::mend::tests::agent_log_cleanup_no_files_skips_scan ... ok
test strand::mend::tests::agent_log_cleanup_preserves_active_worker_log ... ok
test strand::mend::tests::agent_log_cleanup_skips_in_progress_bead ... ok
test strand::mend::tests::agent_log_cleanup_skips_recent_file ... ok
test strand::mend::tests::clean_db_check_no_repair ... ok
test strand::mend::tests::clean_db_no_work ... ok
test strand::mend::tests::cleanup_learnings_consolidates_when_over_limit ... ok
test strand::mend::tests::cleanup_learnings_emits_telemetry_on_cleanup ... ok
test strand::mend::tests::cleanup_learnings_prunes_stale_entries ... ok
test strand::mend::tests::cleanup_learnings_skips_when_under_limit ... ok
test strand::mend::tests::cleanup_old_traces_deletes_old_failed_trace ... ok
test strand::mend::tests::cleanup_old_traces_emits_telemetry_on_cleanup ... ok
test strand::mend::tests::cleanup_old_traces_prunes_old_success_trace ... ok
test strand::mend::tests::cleanup_old_traces_skips_recent_trace ... ok
test strand::mend::tests::cleanup_orphaned_locks_emits_failure_on_removal_error ... ok
test strand::mend::tests::cleanup_orphaned_locks_empty_directory ... ok
test strand::mend::tests::cleanup_orphaned_locks_ignores_non_lock_files ... ok
test strand::mend::tests::cleanup_orphaned_locks_mixed_orphaned_and_held ... ok
test strand::mend::tests::cleanup_orphaned_locks_removes_multiple_orphaned_locks ... ok
test strand::mend::tests::cleanup_orphaned_locks_removes_orphaned_lock ... ok
test strand::mend::tests::cleanup_orphaned_locks_skips_actively_held_lock ... ok
test strand::mend::tests::cleanup_stale_dependencies_emits_failure_telemetry_on_error ... ok
test strand::mend::tests::cleanup_stale_dependencies_emits_telemetry_on_removal ... ok
test strand::mend::tests::cleanup_stale_dependencies_removes_multiple_closed_blockers ... ok
test strand::mend::tests::cleanup_stale_dependencies_removes_single_closed_blocker ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_beads_without_dependencies ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_closed_beads ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_non_blocks_types ... ok
test strand::mend::tests::cleanup_stale_dependencies_skips_open_blockers ... ok
test strand::mend::tests::closed_bead_deps_not_checked ... ok
test strand::mend::tests::collision_same_nato_different_adapter_dead_worker_released ... ok
test strand::mend::tests::collision_same_nato_different_adapter_live_worker_not_released ... ok
test strand::mend::tests::crashed_peer_bead_released_returns_work_created ... ok
test strand::mend::tests::db_check_warnings_escalate_to_repair ... ok
test strand::mend::tests::db_repair_failure_triggers_full_rebuild ... ok
test strand::mend::tests::db_repair_returns_no_work ... ok
test strand::mend::tests::dead_worker_removed_from_registry ... ok
test strand::mend::tests::file_age_returns_none_for_missing_file ... ok
test strand::mend::tests::file_age_returns_some_for_existing_file ... ok
test strand::mend::tests::flag_idle_workers_boundary_age_equals_timeout_not_flagged ... ok
test strand::mend::tests::flag_idle_workers_emits_telemetry_for_each_idle_worker ... ok
test strand::mend::tests::flag_idle_workers_emits_telemetry_when_flagging ... ok
test strand::mend::tests::flag_idle_workers_flags_idle_worker ... ok
test strand::mend::tests::flag_idle_workers_flags_idle_worker_with_zero_beads ... ok
test strand::mend::tests::flag_idle_workers_returns_error_when_registry_list_fails ... ok
test strand::mend::tests::flag_idle_workers_skips_worker_with_beads_processed ... ok
test strand::mend::tests::flag_idle_workers_skips_worker_with_future_started_at ... ok
test strand::mend::tests::flag_idle_workers_skips_worker_younger_than_idle_timeout ... ok
test strand::mend::tests::fresh_orphaned_heartbeat_not_removed ... ok
test strand::mend::tests::idle_worker_flagging_counts_multiple_idle_workers ... ok
test strand::mend::tests::idle_worker_flagging_emits_telemetry_event ... ok
test strand::mend::tests::idle_worker_flagging_empty_registry ... ok
test strand::mend::tests::idle_worker_flagging_flags_worker_with_zero_beads_past_timeout ... ok
test strand::mend::tests::idle_worker_flagging_mixed_workers ... ok
test strand::mend::tests::idle_worker_flagging_skips_active_worker_with_beads_processed ... ok
test strand::mend::tests::idle_worker_flagging_skips_future_started_at ... ok
test strand::mend::tests::idle_worker_flagging_skips_recent_worker_under_timeout ... ok
test strand::mend::tests::in_progress_bead_own_worker_not_released ... ok
test strand::mend::tests::in_progress_bead_with_dead_registered_worker_released ... ok
test strand::mend::tests::in_progress_bead_with_live_worker_not_released ... ok
test strand::mend::tests::live_worker_not_removed_from_registry ... ok
test strand::mend::tests::multiple_cleanups_combined ... ok
test strand::mend::tests::multiple_dead_workers_removed_from_registry ... ok
test strand::mend::tests::multiple_orphaned_heartbeats_removed ... ok
test strand::mend::tests::no_stale_peers_returns_no_work ... ok
test strand::mend::tests::non_needle_lock_files_ignored ... ok
test strand::mend::tests::open_blocker_not_cleaned ... ok
test strand::mend::tests::orphaned_heartbeat_removed ... ok
test strand::mend::tests::orphaned_heartbeat_with_qualified_id_removed ... ok
test strand::mend::tests::orphaned_in_progress_bead_released ... ok
test strand::mend::tests::orphaned_lock_file_removed ... ok
test strand::mend::tests::own_heartbeat_not_removed_as_orphan ... ok
test strand::mend::tests::own_worker_entry_not_removed_from_registry ... ok
test strand::mend::tests::persistent_corruption_is_non_fatal ... ok
test strand::mend::tests::rate_limit_cleanup_noop_when_directory_missing ... ok
test strand::mend::tests::rate_limit_cleanup_preserves_active_provider_files ... ok
test strand::mend::tests::rate_limit_cleanup_removes_orphaned_provider_files ... ok
test strand::mend::tests::rate_limit_cleanup_resets_stale_buckets ... ok
test strand::mend::tests::registered_heartbeat_not_removed ... ok
test strand::mend::tests::registry_cleanup_handles_corrupt_file ... ok
test strand::mend::tests::registry_cleanup_handles_missing_file ... ok
test strand::mend::tests::stale_dependency_link_detected ... ok
test strand::mend::tests::store_error_returns_strand_error ... ok
test strand::mend::tests::strand_name_is_mend ... ok
test strand::mend::tests::try_acquire_flock_nonexistent_file_errors ... ok
test strand::mend::tests::try_acquire_flock_on_existing_file ... ok
test strand::pluck::tests::all_excluded_labels_returns_no_work_via_strand_filter ... ok
test strand::pluck::tests::beads_with_excluded_labels_are_filtered ... ok
test strand::pluck::tests::candidates_sorted_by_priority_then_created_at ... ok
test strand::pluck::tests::custom_exclude_labels_override_defaults ... ok
test strand::pluck::tests::custom_exclude_labels_used_when_provided ... ok
test strand::pluck::tests::default_exclude_labels_applied_when_empty ... ok
test strand::pluck::tests::empty_queue_returns_no_work ... ok
test strand::pluck::tests::extract_failure_count_returns_max_when_multiple_labels ... ok
test strand::pluck::tests::extract_failure_count_returns_zero_when_no_label ... ok
test strand::pluck::tests::open_bead_with_stale_assignee_is_filtered ... ok
test strand::pluck::tests::same_queue_state_produces_same_ordering ... ok
test strand::pluck::tests::split_disabled_when_threshold_is_zero ... ok
test strand::pluck::tests::split_not_triggered_when_failure_count_below_threshold ... ok
test strand::pluck::tests::split_triggered_when_failure_count_exceeds_threshold ... ok
test strand::pluck::tests::starvation_mixed_label_and_assignee_exclusions_emits_telemetry ... ok
test strand::pluck::tests::starvation_persistent_record_disabled_when_flag_false ... ok
test strand::pluck::tests::starvation_persistent_record_not_written_to_target_workspace ... ok
test strand::pluck::tests::starvation_persistent_record_written_to_needle_workspace ... ok
test strand::pluck::tests::starvation_when_all_beads_excluded_by_labels_emits_telemetry ... ok
test strand::pluck::tests::starvation_when_all_beads_have_stale_assignees_emits_telemetry ... ok
test strand::pluck::tests::starvation_when_queue_is_genuinely_empty_emits_telemetry ... ok
test strand::pluck::tests::store_error_returns_error_not_no_work ... ok
test strand::pluck::tests::strand_filters_excluded_labels_when_store_does_not ... ok
test strand::pluck::tests::strand_name_is_pluck ... ok
test strand::pluck::tests::tie_broken_by_bead_id ... ok
test strand::pulse::tests::build_prompt_uses_custom_template ... ok
test strand::pulse::tests::build_prompt_uses_default_when_no_template ... ok
test strand::pulse::tests::cooldown_skips_scan ... ok
test strand::pulse::tests::dedup_prevents_duplicate_beads_across_scans ... ok
test strand::pulse::tests::default_config_is_disabled ... ok
test strand::pulse::tests::disabled_returns_no_work ... ok
test strand::pulse::tests::extract_file_path_finds_colon_pattern ... ok
test strand::pulse::tests::extract_file_path_returns_none_for_no_path ... ok
test strand::pulse::tests::generate_fingerprint_differs_for_different_input ... ok
test strand::pulse::tests::generate_fingerprint_is_consistent ... ok
test strand::pulse::tests::max_beads_per_run_limits_creation ... ok
test strand::pulse::tests::no_scanners_returns_no_work ... ok
test strand::pulse::tests::parse_output_extracts_warnings ... ok
test strand::pulse::tests::parse_output_respects_severity ... ok
test strand::pulse::tests::scanner_runs_and_creates_beads ... ok
test strand::pulse::tests::scanner_with_no_findings_returns_no_work ... ok
test strand::pulse::tests::state_cooldown_elapsed_after_period ... ok
test strand::pulse::tests::state_cooldown_in_cooldown_when_recent ... ok
test strand::pulse::tests::state_cooldown_not_in_cooldown_when_new ... ok
test strand::pulse::tests::state_load_missing_returns_default ... ok
test strand::pulse::tests::state_persists_after_scan ... ok
test strand::pulse::tests::state_save_and_load_roundtrip ... ok
test strand::pulse::tests::strand_name_is_pulse ... ok
test strand::pulse::tests::workspace_hash_is_deterministic ... ok
test strand::reflect::tests::cli_reflect_agent_new_stores_cmd ... ok
test strand::reflect::tests::cross_workspace_deduplicates_existing_global ... ok
test strand::reflect::tests::cross_workspace_empty_path_returns_zero ... ok
test strand::reflect::tests::cross_workspace_no_known_workspaces_returns_zero ... ok
test strand::reflect::tests::cross_workspace_no_match_promotes_nothing ... ok
test strand::reflect::tests::cross_workspace_promotes_matching_entry ... ok
test strand::reflect::tests::cross_workspace_respects_max_global_learnings ... ok
test strand::reflect::tests::reflect_agent_called_when_no_retrospective ... ok
test strand::reflect::tests::reflect_agent_default_prompt_contains_fields ... ok
test strand::reflect::tests::reflect_agent_not_called_when_none ... ok
test strand::reflect::tests::reflect_agent_not_called_when_retrospective_present ... ok
test strand::reflect::tests::reflect_agent_respects_max_extraction_per_run ... ok
test strand::reflect::tests::reflect_consolidates_with_force ... ok
test strand::reflect::tests::reflect_disabled_skips ... ok
test strand::reflect::tests::reflect_skips_below_threshold_when_no_state ... ok
test strand::reflect::tests::reflect_state_roundtrip ... ok
test strand::reflect::tests::reflect_strand_name ... ok
test strand::reflect::tests::slugify_basic ... ok
test strand::reflect::tests::truncate_does_not_panic_on_multibyte_char_boundary ... ok
test strand::reflect::tests::truncate_exact ... ok
test strand::reflect::tests::truncate_long ... ok
test strand::reflect::tests::truncate_short ... ok
test strand::splice::tests::splice_disabled_returns_no_work ... ok
test strand::splice::tests::splice_no_heartbeats_returns_no_work ... ok
test strand::splice::tests::splice_state_roundtrip ... ok
test strand::splice::tests::splice_strand_name ... ok
test strand::tests::all_no_work_returns_none ... ok
test strand::tests::empty_bead_found_continues_to_next ... ok
test strand::tests::empty_waterfall_returns_none ... ok
test strand::tests::error_strand_continues_to_next ... ok
test strand::tests::first_strand_with_beads_wins ... ok
test strand::tests::from_config_includes_full_waterfall ... ok
test sanitize::tests::sanitizer_redacts_gcp_api_key ... ok
test strand::tests::multiple_beads_returns_first ... ok
test strand::tests::restart_cap_prevents_infinite_loop ... ok
test strand::tests::restart_cap_still_evaluates_remaining_strands ... ok
test strand::tests::strand_names_returns_all_names ... ok
test strand::tests::work_created_restarts_waterfall ... ok
test strand::unravel::tests::agent_failure_skips_bead ... ok
test strand::unravel::tests::cooldown_elapsed_after_7_days ... ok
test strand::unravel::tests::cooldown_skips_recently_analyzed ... ok
test strand::unravel::tests::creates_alternative_children ... ok
test strand::unravel::tests::default_config_is_disabled ... ok
test strand::unravel::tests::custom_prompt_template_substitutes_variables ... ok
test strand::unravel::tests::default_prompt_template_contains_key_sections ... ok
test strand::unravel::tests::filter_human_beads ... ok
test strand::unravel::tests::disabled_returns_no_work ... ok
test strand::unravel::tests::no_alternatives_returns_no_work ... ok
test strand::unravel::tests::no_human_beads_returns_no_work ... ok
test strand::unravel::tests::parse_fenced_json ... ok
test strand::unravel::tests::parse_invalid_json_returns_error ... ok
test strand::unravel::tests::parse_json_array ... ok
test strand::unravel::tests::parse_json_object_with_alternatives_key ... ok
test strand::unravel::tests::parse_no_alternatives ... ok
test strand::unravel::tests::original_bead_never_modified ... ok
test strand::unravel::tests::respects_max_alternatives_per_bead ... ok
test strand::unravel::tests::state_cooldown_elapsed_after_period ... ok
test strand::unravel::tests::state_cooldown_in_cooldown_when_recent ... ok
test strand::unravel::tests::state_cooldown_not_in_cooldown_when_new ... ok
test strand::unravel::tests::state_load_missing_file_returns_default ... ok
test strand::unravel::tests::respects_max_beads_per_run ... ok
test strand::unravel::tests::state_save_and_load_roundtrip ... ok
test strand::unravel::tests::state_persisted_after_run ... ok
test strand::unravel::tests::workspace_hash_is_deterministic ... ok
test strand::unravel::tests::strand_name_is_unravel ... ok
test strand::weave::tests::agent_failure_returns_error ... ok
test strand::weave::tests::cooldown_not_elapsed_returns_no_work ... ok
test strand::weave::tests::creates_beads_from_agent_response ... ok
test strand::weave::tests::dedup_skips_existing_bead_titles ... ok
test strand::weave::tests::default_config_is_disabled ... ok
test strand::weave::tests::dedup_skips_seen_titles ... ok
test strand::weave::tests::disabled_returns_no_work ... ok
test strand::weave::tests::format_doc_files_empty ... ok
test strand::weave::tests::format_existing_beads_empty ... ok
test strand::weave::tests::format_existing_beads_list ... ok
test strand::weave::tests::excluded_workspace_returns_no_work ... ok
test strand::weave::tests::no_docs_returns_no_work ... ok
test strand::weave::tests::parse_fenced_json ... ok
test strand::weave::tests::parse_invalid_json_returns_error ... ok
test strand::weave::tests::parse_json_array ... ok
test strand::weave::tests::parse_json_object_with_beads_key ... ok
test strand::weave::tests::parse_no_gaps ... ok
test strand::weave::tests::no_gaps_returns_no_work ... ok
test strand::weave::tests::parses_json_in_code_fences ... ok
test strand::weave::tests::state_cooldown_elapsed_when_no_last_run ... ok
test strand::weave::tests::state_cooldown_elapsed_when_old ... ok
test strand::weave::tests::state_cooldown_not_elapsed_when_recent ... ok
test strand::weave::tests::state_dedup_case_insensitive ... ok
test strand::weave::tests::state_load_missing_file_returns_default ... ok
test strand::weave::tests::respects_max_beads_per_run ... ok
test strand::weave::tests::state_save_and_load_roundtrip ... ok
test strand::weave::tests::state_persisted_after_run ... ok
test strand::weave::tests::workspace_hash_differs_for_different_paths ... ok
test strand::weave::tests::workspace_hash_is_deterministic ... ok
test supervisor::tests::nato_alphabet_is_complete ... ok
test supervisor::tests::supervisor_config_default_is_valid ... ok
test strand::weave::tests::strand_name_is_weave ... ok
test telemetry::otlp::tests::test_acceptance_exporter_failures_emit_drop_events ... ok
test telemetry::otlp::tests::test_acceptance_no_collector_worker_completes_beads_successfully ... ok
test telemetry::otlp::tests::test_acceptance_shutdown_completes_within_6s ... ok
test telemetry::otlp::tests::test_agent_duration_records_with_attributes ... ok
test telemetry::otlp::tests::test_bead_duration_records_on_completion ... ok
test telemetry::otlp::tests::test_bead_id_not_in_metric_attributes ... ok
test telemetry::otlp::tests::test_beads_claimed_increments_with_attributes ... ok
test telemetry::otlp::tests::test_beads_completed_increments_with_outcome ... ok
test telemetry::otlp::tests::test_build_resource_has_all_required_attributes ... ok
test telemetry::otlp::tests::test_cannot_override_service_instance_id_via_config ... ok
test telemetry::otlp::tests::test_cannot_override_service_name_via_config ... ok
test telemetry::otlp::tests::test_catch_unwind_prevents_panics_from_bubbling ... ok
test telemetry::otlp::tests::test_claim_attempts_tracks_all_results ... ok
test telemetry::otlp::tests::test_cost_usd_records_with_attributes ... ok
test telemetry::otlp::tests::test_deployment_environment_flows_through_from_config ... ok
test telemetry::otlp::tests::test_drop_event_emitted_to_file_sink ... ok
test telemetry::otlp::tests::test_effort_recorded_handles_missing_token_fields ... ok
test telemetry::otlp::tests::test_effort_recorded_handles_partial_token_data ... ok
test telemetry::otlp::tests::test_exporter_wrappers_log_failures_at_warn_level ... ok
test telemetry::otlp::tests::test_heartbeat_age_updates_on_heartbeat ... ok
test telemetry::otlp::tests::test_metrics_have_correct_units ... ok
test telemetry::otlp::tests::test_mitosis_children_created_increments ... ok
test telemetry::otlp::tests::test_mitosis_parent_id_not_in_metric_attributes ... ok
test telemetry::otlp::tests::test_peers_stale_decrements_on_crashed_event ... ok
test telemetry::otlp::tests::test_peers_stale_increments_on_stale_event ... ok
test telemetry::otlp::tests::test_queue_depth_updates ... ok
test telemetry::otlp::tests::test_service_namespace_flows_through_from_config ... ok
test telemetry::otlp::tests::test_service_namespace_has_default_value ... ok
test telemetry::otlp::tests::test_severity_for_bead_claim_race_lost_is_info ... ok
test telemetry::otlp::tests::test_severity_for_fleet_cpu_saturated_is_warn ... ok
test telemetry::otlp::tests::test_severity_for_fleet_memory_low_is_warn ... ok
test telemetry::otlp::tests::test_severity_for_otlp_dropped_is_error ... ok
test telemetry::otlp::tests::test_severity_for_otlp_shutdown_timeout_is_info ... ok
test telemetry::otlp::tests::test_severity_for_telemetry_sink_error_is_error ... ok
test telemetry::otlp::tests::test_shutdown_timeout_emits_event_to_file_sink ... ok
test telemetry::otlp::tests::test_strand_duration_records_with_attributes ... ok
test telemetry::otlp::tests::test_tokens_input_records_with_attributes ... ok
test telemetry::otlp::tests::test_tokens_output_records_with_attributes ... ok
test telemetry::otlp::tests::test_workers_active_decrements_on_stopped ... ok
test telemetry::otlp::tests::test_workers_active_increments_on_started ... ok
test telemetry::test_utils::tests::assert_event_count_panics_on_mismatch - should panic ... ok
test telemetry::test_utils::tests::assert_event_count_works ... ok
test telemetry::test_utils::tests::assert_event_emitted_panics_when_missing - should panic ... ok
test telemetry::otlp::tests::test_drop_monitor_task_handles_file_sink_errors_gracefully ... ok
test telemetry::test_utils::tests::assert_event_emitted_works ... ok
test telemetry::test_utils::tests::assert_event_not_emitted_works ... ok
test telemetry::test_utils::tests::assert_event_not_emitted_panics_when_present - should panic ... ok
test telemetry::test_utils::tests::clear_works ... ok
test telemetry::test_utils::tests::find_event_returns_none_when_missing ... ok
test telemetry::test_utils::tests::find_event_works ... ok
test telemetry::test_utils::tests::event_count_works ... ok
test telemetry::test_utils::tests::last_event_works ... ok
test telemetry::test_utils::tests::test_helper_captures_events ... ok
test telemetry::test_utils::tests::test_helper_filters_by_bead_id ... ok
test telemetry::tests::boot_event_written_to_file_on_telemetry_creation ... ok
test telemetry::tests::broken_sink_does_not_crash_emitter ... ok
test telemetry::tests::bus_fans_out_to_all_sinks ... ok
test telemetry::tests::compute_cost_summary_aggregates ... ok
test telemetry::tests::all_event_kinds_produce_valid_events ... ok
test telemetry::tests::emit_does_not_block ... ok
test telemetry::tests::emit_captures_trace_and_span_ids_from_otel_context ... ok
test telemetry::tests::emit_gracefully_degrades_when_lock_contended ... ok
test telemetry::tests::emit_inside_span_captures_trace_and_span_ids ... ok
test telemetry::tests::emit_omits_trace_and_span_ids_outside_span ... ok
test telemetry::tests::emit_outside_span_has_no_trace_ids ... ok
test telemetry::tests::emit_try_lock_delivers_events_when_lock_available ... ok
test telemetry::tests::emit_try_lock_gracefully_degrades_when_lock_contended ... ok
test telemetry::tests::event_kind_bead_id_extracted_correctly ... ok
test telemetry::tests::event_kind_duration_ms_extracted ... ok
test telemetry::tests::event_kind_to_data_is_valid_json ... ok
test telemetry::tests::event_kind_types_are_dotted_strings ... ok
test telemetry::tests::file_sink_accept_is_visible_without_explicit_flush ... ok
test telemetry::tests::file_sink_creates_nested_directory ... ok
test telemetry::tests::file_sink_writes_jsonl ... ok
test telemetry::tests::format_duration_ms_milliseconds ... ok
test telemetry::tests::format_duration_ms_minutes ... ok
test telemetry::tests::format_duration_ms_seconds ... ok
test telemetry::tests::glob_to_regex_double_wildcard ... ok
test telemetry::tests::glob_to_regex_exact ... ok
test telemetry::tests::glob_to_regex_wildcard ... ok
test telemetry::tests::hook_sink_dispatch_captures_failure ... ok
test telemetry::tests::hook_sink_dispatch_matches_filter ... ok
test telemetry::tests::hook_sink_dispatch_prevents_recursion_on_sink_error ... ok
test telemetry::tests::hook_sink_dispatch_skips_non_matching ... ok
test telemetry::tests::emitter_delivers_events_to_sink ... ok
test telemetry::tests::hook_sink_empty_when_no_configs ... ok
test telemetry::tests::hook_sink_invalid_filter_returns_error ... ok
test telemetry::tests::hook_sink_multiple_hooks_matching_same_event ... ok
test telemetry::tests::hook_sink_new_compiles_valid_filters ... ok
test telemetry::tests::logs_filter_parse_field_regex ... ok
test telemetry::tests::logs_filter_parse_multiple_predicates_anded ... ok
test telemetry::tests::parse_since_absolute_date ... ok
test telemetry::tests::parse_since_invalid_fails ... ok
test telemetry::tests::parse_since_relative_days ... ok
test telemetry::tests::parse_since_relative_hours ... ok
test telemetry::tests::parse_since_relative_minutes ... ok
test telemetry::tests::read_logs_empty_dir ... ok
test telemetry::tests::read_logs_with_field_equals_filter ... ok
test telemetry::tests::read_logs_with_field_gt_filter ... ok
test telemetry::tests::read_logs_with_glob_filter ... ok
test telemetry::tests::read_logs_with_until_bound ... ok
test telemetry::tests::sequence_numbers_are_monotonic ... ok
test telemetry::tests::sequence_numbers_monotonic_in_emitter ... ok
test telemetry::tests::session_id_is_8_hex_chars ... ok
test telemetry::tests::session_ids_are_unique ... ok
test telemetry::tests::short_type_mappings ... ok
test telemetry::tests::hook_sink_dispatches_json_to_stdin ... ok
test telemetry::tests::shutdown_flush_calls_flush_with_deadline ... ok
test telemetry::tests::shutdown_flushes_bufwriter_on_short_lived_session ... ok
test telemetry::tests::stdout_sink_colorize_returns_ansi_codes ... ok
test telemetry::tests::stdout_sink_format_minimal ... ok
test telemetry::tests::stdout_sink_format_normal_includes_bead_id ... ok
test telemetry::tests::stdout_sink_format_verbose_includes_data ... ok
test telemetry::tests::telemetry_event_json_roundtrip ... ok
test telemetry::tests::telemetry_event_optional_fields_omitted_when_none ... ok
test telemetry::tests::telemetry_event_serializes_to_valid_json ... ok
test telemetry::tests::telemetry_new_does_not_require_runtime ... ok
test telemetry::tests::telemetry_start_spawns_writer_and_delivers_events ... ok
test telemetry::tests::timestamps_are_utc_iso8601 ... ok
test test_output::tests::cleanup_all_test_outputs_removes_directory ... ok
test test_output::tests::ensure_test_output_dir_creates_directory ... ok
test test_output::tests::test_output_cleanup_removes_directory ... ok
test test_output::tests::test_output_creates_directory ... ok
test test_output::tests::test_output_directory_creation_failure_returns_none ... ok
test test_output::tests::test_output_disabled_returns_ok ... ok
test test_output::tests::test_output_paths ... ok
test test_output::tests::test_output_read_empty_file ... ok
test test_output::tests::test_output_writes_combined ... ok
test test_output::tests::test_output_writes_stderr ... ok
test test_output::tests::test_output_writes_stdout ... ok
test test_runner::tests::test_captured_output_empty ... ok
test test_runner::tests::test_captured_output_new ... ok
test test_runner::tests::test_persist_all_writes_all_files ... ok
test test_runner::tests::test_persist_metrics_creates_json ... ok
test test_runner::tests::test_persist_output_creates_directory ... ok
test test_runner::tests::test_persist_output_creates_files ... ok
test test_runner::tests::test_persist_output_empty_streams ... ok
test test_runner::tests::test_persist_output_large_output ... ok
test test_runner::tests::test_result_captured_stderr ... ok
test test_runner::tests::test_result_captured_stdout ... ok
test test_runner::tests::test_result_status_compilation_failed ... ok
test test_runner::tests::test_result_status_failed ... ok
test test_runner::tests::test_result_status_success ... ok
test test_runner::tests::test_result_status_timed_out ... ok
test test_runner::tests::test_result_summary ... ok
test test_runner::tests::test_runner_new ... ok
test test_runner::tests::test_runner_with_extra_arg ... ok
test test_runner::tests::test_runner_with_timeout ... ok
test test_runner::tests::test_test_metrics_from_result ... ok
test test_runner::tests::test_test_metrics_serialization ... ok
test trace::tests::detect_trace_format_aider ... ok
test trace::tests::detect_trace_format_claude ... ok
test trace::tests::detect_trace_format_generic ... ok
test trace::tests::detect_trace_format_openai ... ok
test trace::tests::trace_capture_creates_directory ... ok
test trace::tests::trace_capture_delete_removes_directory ... ok
test trace::tests::trace_capture_prune_removes_data_keeps_metadata ... ok
test trace::tests::trace_capture_writes_metadata ... ok
test trace::tests::trace_capture_writes_stderr ... ok
test trace::tests::trace_capture_writes_stdout ... ok
test trace::tests::trace_capture_writes_trace_jsonl ... ok
test trace::tests::trace_cleanup_already_pruned_trace_skipped ... ok
test trace::tests::trace_cleanup_missing_traces_dir_ok ... ok
test trace::tests::trace_cleanup_old_failed_trace_deleted ... ok
test trace::tests::trace_cleanup_old_success_trace_pruned ... ok
test trace::tests::trace_cleanup_partially_pruned_trace_fixed_and_not_counted ... ok
test trace::tests::trace_cleanup_pruned_then_not_counted_again ... ok
test trace::tests::trace_cleanup_recent_trace_unchanged ... ok
test trace::tests::trace_metadata_serde_roundtrip ... ok
test transcript::tests::derive_project_name_absolute ... ok
test transcript::tests::derive_project_name_unix ... ok
test transcript::tests::discover_workspaces_combines_multiple ... ok
test transcript::tests::discover_workspaces_respects_max_total ... ok
test transcript::tests::discover_workspaces_skips_missing_workspace ... ok
test transcript::tests::discovery_parses_user_wrapped_tool_results ... ok
test transcript::tests::discovery_parses_valid_transcript ... ok
test transcript::tests::discovery_respects_max_sessions ... ok
test transcript::tests::discovery_respects_recency_cutoff ... ok
test transcript::tests::discovery_returns_empty_when_no_project_dir ... ok
test transcript::tests::extract_task_bead_id ... ok
test transcript::tests::extract_task_without_bead_id ... ok
test transcript::tests::format_tool_input_bash ... ok
test transcript::tests::format_tool_input_read ... ok
test transcript::tests::parsed_transcript_workspace_field_is_set ... ok
test transcript::tests::truncate_text_does_not_panic_on_multibyte_char_boundary ... ok
test types::tests::bead_action_display ... ok
test types::tests::bead_deserialization_from_br_json ... ok
test types::tests::bead_deserialization_missing_optional_fields ... ok
test types::tests::bead_deserialization_with_both_dependencies_and_dependents ... ok
test types::tests::bead_deserialization_with_labels_and_closed_status ... ok
test types::tests::bead_id_hash_equality ... ok
test types::tests::bead_id_roundtrip ... ok
test types::tests::bead_id_serde_transparent ... ok
test types::tests::bead_status_closed_deserialization ... ok
test types::tests::bead_status_completed_deserialization ... ok
test types::tests::bead_status_display ... ok
test types::tests::bead_status_is_done ... ok
test types::tests::bead_status_serialization ... ok
test types::tests::br_dependency_deserialization ... ok
test types::tests::compilation_error_abort_description ... ok
test types::tests::compilation_error_all_variants_have_display_impl ... ok
test types::tests::compilation_error_display_abort ... ok
test types::tests::compilation_error_display_general ... ok
test types::tests::compilation_error_display_rust_error ... ok
test types::tests::compilation_error_general_description ... ok
test types::tests::compilation_error_location_string ... ok
test types::tests::compilation_error_location_string_no_file ... ok
test types::tests::compilation_error_location_string_no_line ... ok
test types::tests::compilation_error_rust_error_description ... ok
test types::tests::compilation_error_serde_abort ... ok
test types::tests::compilation_error_serde_general ... ok
test types::tests::compilation_error_serde_rust_error ... ok
test types::tests::exhaustion_diagnosis_display ... ok
test types::tests::exhaustion_diagnosis_serde_roundtrip ... ok
test types::tests::identifier_scheme_default_is_hostname_random ... ok
test types::tests::identifier_scheme_serde_roundtrip ... ok
test types::tests::idle_action_default_is_wait ... ok
test types::tests::idle_action_serde_roundtrip ... ok
test types::tests::input_method_serde_roundtrip ... ok
test types::tests::needle_error_display ... ok
test types::tests::needle_error_is_error_trait ... ok
test types::tests::needle_error_transient_without_bead_id ... ok
test types::tests::outcome_as_str ... ok
test types::tests::outcome_classify_boundary_values ... ok
test types::tests::outcome_classify_common_signals ... ok
test types::tests::outcome_classify_interrupted_flag ... ok
test types::tests::outcome_classify_key_codes ... ok
test types::tests::outcome_classify_ranges ... ok
test types::tests::output_capture_duration_ms ... ok
test types::tests::output_capture_failed_with_nonzero_exit ... ok
test types::tests::output_capture_no_exit_code_is_failure ... ok
test types::tests::output_capture_serde_serialization ... ok
test types::tests::output_capture_serde_with_none_exit_code ... ok
test types::tests::output_capture_success_with_zero_exit ... ok
test types::tests::output_capture_total_output_len ... ok
test types::tests::strand_error_display ... ok
test types::tests::strand_error_source ... ok
test types::tests::worker_state_deserialization_roundtrip ... ok
test types::tests::worker_state_display_all_variants ... ok
test types::tests::worker_state_serialization ... ok
test upgrade::tests::asset_download_url_format ... ok
test upgrade::tests::check_hot_reload_different_binary_returns_detected ... ok
test upgrade::tests::check_hot_reload_no_stable_binary_returns_skipped ... ok
test telemetry::tests::shutdown_does_not_hang_when_flush_exceeds_deadline ... ok
test upgrade::tests::file_hash_different_content_different_hash ... ok
test upgrade::tests::file_hash_missing_file_returns_error ... ok
test upgrade::tests::file_hash_produces_hex_string ... ok
test upgrade::tests::file_hash_same_content_same_hash ... ok
test upgrade::tests::get_asset_name_current_platform ... ok
test upgrade::tests::hot_reload_check_enum_variants_are_distinct ... ok
test upgrade::tests::is_newer_version_different_lengths ... ok
test upgrade::tests::is_newer_version_equal ... ok
test upgrade::tests::is_newer_version_major ... ok
test upgrade::tests::is_newer_version_minor ... ok
test upgrade::tests::is_newer_version_patch ... ok
test upgrade::tests::latest_release_url_format ... ok
test upgrade::tests::update_check_current_version ... ok
test validation::tests::command_gate_fails_on_false ... ok
test validation::tests::command_gate_passes_on_true ... ok
test validation::tests::command_gate_stops_at_first_failure ... ok
test validation::tests::command_gate_type ... ok
test validation::tests::gate_config_command_deserialize ... ok
test validation::tests::gate_config_command_serialize_roundtrip ... ok
test validation::tests::gate_report_all_pass ... ok
test validation::tests::gate_report_new_from_results ... ok
test validation::tests::gate_report_new_with_failure ... ok
test validation::tests::gate_report_single_failure ... ok
test validation::tests::gate_result_fail_has_reason ... ok
test validation::tests::gate_result_fail_returns_false ... ok
test validation::tests::gate_result_pass_has_no_reason ... ok
test validation::tests::gate_result_pass_returns_true ... ok
test validation::tests::registry_creates_command_gate ... ok
test validation::tests::registry_fails_unknown_gate_type ... ok
test validation::tests::registry_global_returns_same_instance ... ok
test validation::tests::registry_register_custom_gate ... ok
test validation::tests::truncate_output_long_string ... ok
test validation::tests::truncate_output_short_string ... ok
test validation::tests::validation_gate_from_commands_returns_none_for_empty ... ok
test validation::tests::validation_gate_from_commands_returns_some_for_nonempty ... ok
test validation::tests::validation_gate_new_returns_none_for_empty_configs ... ok
test validation::tests::validation_gate_run_fails ... ok
test validation::tests::validation_gate_run_passes ... ok
test validation::tests::validation_gate_workspace ... ok
test upgrade::tests::check_hot_reload_same_binary_returns_no_change ... ok
test worker::tests::apply_routing_rules_baseline_invalid_then_valid ... ok
test worker::tests::apply_routing_rules_baseline_first_match_stops_evaluation ... ok
test worker::tests::apply_routing_rules_baseline_multiple_rules_same_adapter ... ok
test worker::tests::apply_routing_rules_baseline_three_rules_all_match ... ok
test worker::tests::apply_routing_rules_first_match_wins ... ok
test worker::tests::apply_routing_rules_order_matters ... ok
test worker::tests::apply_routing_rules_strict_false_uses_default_adapter ... ok
test worker::tests::apply_routing_rules_strict_false_no_match_returns_default ... ok
test worker::tests::apply_routing_rules_strict_true_match_returns_ok ... ok
test worker::tests::apply_routing_rules_strict_true_no_match_returns_err ... ok
test worker::tests::beads_processed_starts_at_zero ... ok
test worker::tests::boot_transitions_to_selecting ... ok
test worker::tests::boot_validates_config ... ok
test worker::tests::check_auto_canary_no_op_when_auto_promote_false ... ok
test worker::tests::check_auto_canary_no_op_when_no_testing_binary ... ok
test worker::tests::check_auto_canary_no_op_when_self_modification_disabled ... ok
test worker::tests::check_budget_no_config_skips ... ok
test worker::tests::check_budget_stop_transitions_to_stopped ... ok
test worker::tests::check_budget_warn_does_not_stop ... ok
test worker::tests::do_build_with_bead_transitions_to_dispatching ... ok
test worker::tests::do_build_without_bead_is_invariant_error ... ok
test worker::tests::do_claim_no_current_bead_resets_to_selecting ... ok
test worker::tests::default_routing_rules_anthropic_subscription_models has been running for over 60 seconds
test worker::tests::do_claim_not_claimable_increments_consecutive_counter ... ok
test worker::tests::do_claim_not_claimable_transitions_to_retrying ... ok
test worker::tests::do_claim_race_lost_adds_to_exclusion_and_retries ... ok
test worker::tests::do_claim_race_lost_increments_consecutive_counter ... ok
test worker::tests::do_claim_success_resets_consecutive_counter ... ok
test worker::tests::do_dispatch_without_bead_is_invariant_error ... ok
test worker::tests::default_routing_rules_anthropic_subscription_models ... ok
test worker::tests::do_execute_without_bead_is_invariant_error ... ok
test worker::tests::do_execute_without_prompt_is_invariant_error ... ok
test worker::tests::do_handle_without_bead_is_invariant_error ... ok
test worker::tests::do_handle_without_exec_output_is_invariant_error ... ok
test worker::tests::do_log_clears_current_bead_and_effort ... ok
test worker::tests::do_log_increments_beads_processed ... ok
test worker::tests::do_log_transitions_to_selecting ... ok
test worker::tests::do_retry_at_max_preserves_race_lost_exclusions ... ok
test worker::tests::do_retry_at_max_resets_and_selects ... ok
test worker::tests::do_retry_below_max_transitions_to_selecting ... ok
test worker::tests::do_retry_below_skip_threshold_applies_backoff ... ok
test worker::tests::do_retry_skip_threshold_transitions_to_exhausted ... ok
test worker::tests::do_select_clears_race_lost_this_cycle_and_retry_count ... ok
test worker::tests::do_select_with_beads_transitions_to_claiming ... ok
test worker::tests::do_select_with_no_beads_transitions_to_exhausted ... ok
test worker::tests::handle_exhausted_with_exit_returns_stopped ... ok
test worker::tests::handle_exhausted_with_wait_returns_selecting ... ok
test worker::tests::is_workspace_unset_dot_path ... ok
test worker::tests::is_workspace_unset_empty_path ... ok
test worker::tests::is_workspace_unset_real_path ... ok
test worker::tests::is_workspace_unset_relative_path ... ok
test worker::tests::request_shutdown_sets_flag ... ok
test worker::tests::full_cycle_with_echo_agent has been running for over 60 seconds
test worker::tests::resolve_adapter_returns_builtin ... ok
test worker::tests::resolve_provider_returns_none_for_missing_adapter ... ok
test worker::tests::restore_home_store_is_noop_when_stores_match ... ok
test worker::tests::full_cycle_with_echo_agent ... ok
test worker::tests::set_state_uses_bead_workspace_for_cross_workspace_bead ... ok
test worker::tests::run_with_empty_store_returns_exhausted_or_stopped ... ok
test worker::tests::set_state_uses_home_workspace_when_bead_workspace_is_unset ... ok
test worker::tests::set_state_uses_home_workspace_when_no_current_bead ... ok
test worker::tests::stop_returns_stopped_state ... ok
test worker::tests::shutdown_flag_causes_stop ... ok
test worker::tests::worker_starts_in_booting_state ... ok

test result: ok. 1386 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 786.73s

NEEDLE worker 'test-worker' stopped unexpectedly: state=Selecting, beads_processed=0, uptime=12s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /home/coding/.needle/state/heartbeats/claude-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Selecting, beads_processed=0, uptime=12s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /home/coding/.needle/state/heartbeats/claude-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Selecting, beads_processed=0, uptime=12s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /home/coding/.needle/state/heartbeats/claude-test-worker.json
     Running unittests src/main.rs (target/debug/deps/needle-437c3b249fdf2118)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/needle_transform_claude.rs (target/debug/deps/needle_transform_claude-e6816e02a283383e)

running 21 tests
test tests::all_events_have_schema_version_1 ... ok
test tests::assistant_mixed_content_preserves_order ... ok
test tests::assistant_text_emits_agent_message_and_tokens ... ok
test tests::assistant_tool_use_emits_tool_call_and_tokens ... ok
test tests::assistant_tool_use_with_cache_tokens ... ok
test tests::extract_path_bash_is_none ... ok
test tests::emitted_events_are_valid_agent_events ... ok
test tests::extract_path_glob ... ok
test tests::extract_path_edit ... ok
test tests::extract_path_read ... ok
test tests::extract_path_write ... ok
test tests::extract_path_grep ... ok
test tests::malformed_json_skipped ... ok
test tests::missing_type_field_skipped ... ok
test tests::result_error_max_turns ... ok
test tests::result_success_produces_no_events ... ok
test tests::top_level_error_type ... ok
test tests::unknown_type_skipped ... ok
test tests::user_tool_result_error ... ok
test tests::user_tool_result_success ... ok
test tests::user_tool_result_unknown_id_falls_back_to_unknown ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/needle_transform_codex.rs (target/debug/deps/needle_transform_codex-4f3f798eef60907d)

running 27 tests
test tests::all_events_have_schema_version_1 ... ok
test tests::item_completed_agent_message_emits_agent_message ... ok
test tests::emitted_events_are_valid_agent_events ... ok
test tests::item_completed_agent_message_empty_content_produces_no_events ... ok
test tests::item_completed_command_execution_failure ... ok
test tests::item_completed_command_execution_success ... ok
test tests::item_completed_error_emits_error ... ok
test tests::item_completed_file_change ... ok
test tests::item_completed_mcp_tool_call_error ... ok
test tests::item_completed_mcp_tool_call_success ... ok
test tests::item_completed_without_item_field_skipped ... ok
test tests::item_completed_without_prior_started_uses_type_as_tool ... ok
test tests::item_started_agent_message_produces_no_events ... ok
test tests::item_started_command_execution_emits_tool_call ... ok
test tests::item_started_file_change_emits_tool_call ... ok
test tests::item_started_mcp_tool_call_emits_tool_call ... ok
test tests::item_started_without_item_field_skipped ... ok
test tests::item_updated_produces_no_events ... ok
test tests::malformed_json_skipped ... ok
test tests::missing_type_field_skipped ... ok
test tests::thread_started_produces_no_events ... ok
test tests::top_level_error_emits_error ... ok
test tests::turn_completed_emits_tokens ... ok
test tests::turn_completed_with_no_usage_produces_no_events ... ok
test tests::turn_failed_emits_error ... ok
test tests::turn_started_produces_no_events ... ok
test tests::unknown_type_skipped ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/compilation_error_detection.rs (target/debug/deps/compilation_error_detection-761bd84edc83ac02)

running 11 tests
test test_compilation_error_summary ... ok
test test_borrow_checker_error_detection ... ok
test test_could_not_compile_detection ... ok
test test_end_to_end_compilation_error_workflow ... ok
test test_end_to_end_successful_compilation_workflow ... ok
test test_end_to_end_test_failure_workflow ... ok
test test_import_path_error_detection ... ok
test test_multiple_compilation_errors_detection ... ok
test test_successful_compilation_no_errors ... ok
test test_type_mismatch_error_detection ... ok
test test_test_failure_vs_compilation_error ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.21s

     Running tests/config_cli_tests.rs (target/debug/deps/config_cli_tests-698fa21c6736c75b)

running 10 tests
test config_help_includes_set_flag ... ok
test config_help_output_includes_set_flag ... ok
test config_set_flag_has_proper_metadata ... ok
test config_set_empty_value_fails_validation ... ok
test config_set_key_equals_value_format_parses ... ok
test config_set_key_value_format_parses ... ok
test config_set_mixed_format_parses ... ok
test config_set_missing_key_fails_validation ... ok
test config_set_multiple_key_equals_value_format_parses ... ok
test config_set_multiple_key_value_format_parses ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/heartbeat_validation.rs (target/debug/deps/heartbeat_validation-f153156cfd1cd059)

running 3 tests
test heartbeat_file_created_on_startup ... ok
test heartbeat_contains_required_fields ... ok
test heartbeat_refreshes_every_30_seconds ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.61s

     Running tests/integration_tests.rs (target/debug/deps/integration_tests-2f8418ff6f635c37)

running 27 tests
test cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead ... FAILED
test cross_workspace_mend_skips_beads_with_live_assignees ... FAILED
test dead_worker_cleanup_integration ... FAILED
test deterministic_ordering_same_beads_same_order ... ok
test deterministic_ordering_tiebreak_by_id ... ok
test dispatcher_captures_stdout_and_stderr ... ok
test cross_workspace_mend_skips_own_worker_beads ... FAILED
test dispatcher_timeout_kills_process ... ok
test end_to_end_single_bead_success ... FAILED
test end_to_end_worker_loops_to_next_bead ... FAILED
test exhaustion_empty_workspace ... ok
test exhaustion_with_idle_action_exit ... FAILED
test exhaustion_with_idle_action_wait_survives_sleep ... FAILED
test idle_worker_flagging_detects_stuck_workers ... ok
test mend_removes_stale_dependency_links ... FAILED
test outcome_classify_covers_all_exit_code_ranges ... ok
test full_cycle_produces_telemetry_state_transitions ... FAILED
test outcome_path_agent_not_found_exit_127 ... FAILED
test outcome_path_crash_exit_137 ... FAILED
test outcome_path_failure_exit_1 ... FAILED
test outcome_path_interrupted_via_shutdown_flag ... ok
test outcome_path_success_exit_0 ... FAILED
test outcome_path_timeout_exit_124 ... FAILED
test shutdown_during_selecting_exits_cleanly ... ok
test shutdown_flag_preempts_execution ... ok
test worker_boot_rejects_invalid_config ... ok
test worker_processes_high_priority_beads_first ... FAILED

failures:

---- cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead stdout ----

thread 'cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead' (3320339) panicked at tests/integration_tests.rs:1377:10:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- cross_workspace_mend_skips_beads_with_live_assignees stdout ----

thread 'cross_workspace_mend_skips_beads_with_live_assignees' (3320340) panicked at tests/integration_tests.rs:1505:10:
called `Option::unwrap()` on a `None` value

---- dead_worker_cleanup_integration stdout ----

thread 'dead_worker_cleanup_integration' (3320344) panicked at tests/integration_tests.rs:2031:5:
assertion `left == right` failed: both workers should be registered initially
  left: 1
 right: 2

---- cross_workspace_mend_skips_own_worker_beads stdout ----

thread 'cross_workspace_mend_skips_own_worker_beads' (3320343) panicked at tests/integration_tests.rs:1623:10:
called `Option::unwrap()` on a `None` value

---- end_to_end_single_bead_success stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'end_to_end_single_bead_success' (3320356) panicked at tests/integration_tests.rs:272:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- end_to_end_worker_loops_to_next_bead stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'end_to_end_worker_loops_to_next_bead' (3320365) panicked at tests/integration_tests.rs:296:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- exhaustion_with_idle_action_exit stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'exhaustion_with_idle_action_exit' (3320789) panicked at src/transcript/mod.rs:278:31:
start byte index 2275 is not a char boundary; it is inside '─' (bytes 2273..2276 of string)

---- exhaustion_with_idle_action_wait_survives_sleep stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'exhaustion_with_idle_action_wait_survives_sleep' (3321099) panicked at tests/integration_tests.rs:708:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- mend_removes_stale_dependency_links stdout ----

thread 'mend_removes_stale_dependency_links' (3321415) panicked at tests/integration_tests.rs:1724:5:
br create failed

---- full_cycle_produces_telemetry_state_transitions stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'full_cycle_produces_telemetry_state_transitions' (3321170) panicked at tests/integration_tests.rs:989:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_agent_not_found_exit_127 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_agent_not_found_exit_127' (3321419) panicked at tests/integration_tests.rs:404:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_crash_exit_137 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_crash_exit_137' (3321597) panicked at tests/integration_tests.rs:427:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_failure_exit_1 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_failure_exit_1' (3321873) panicked at tests/integration_tests.rs:339:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_success_exit_0 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_success_exit_0' (3322242) panicked at tests/integration_tests.rs:322:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- outcome_path_timeout_exit_124 stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'outcome_path_timeout_exit_124' (3322367) panicked at tests/integration_tests.rs:370:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml

---- worker_processes_high_priority_beads_first stdout ----
NEEDLE telemetry writer thread: started successfully
NEEDLE telemetry writer thread: signaling ready to main thread...
NEEDLE telemetry writer thread: ready, waiting for events...
NEEDLE telemetry writer thread: first event written: worker.booting

thread 'worker_processes_high_priority_beads_first' (3323283) panicked at tests/integration_tests.rs:1087:37:
called `Result::unwrap()` on an `Err` value: routed agent adapter 'claude-code-glm-4.7' not found — routing matched model 'unknown' with rule 'routing-default', but the adapter is missing from ~/.config/needle/adapters/claude-code-glm-4.7.yaml


failures:
    cross_workspace_mend_releases_zombie_beads_and_returns_tagged_bead
    cross_workspace_mend_skips_beads_with_live_assignees
    cross_workspace_mend_skips_own_worker_beads
    dead_worker_cleanup_integration
    end_to_end_single_bead_success
    end_to_end_worker_loops_to_next_bead
    exhaustion_with_idle_action_exit
    exhaustion_with_idle_action_wait_survives_sleep
    full_cycle_produces_telemetry_state_transitions
    mend_removes_stale_dependency_links
    outcome_path_agent_not_found_exit_127
    outcome_path_crash_exit_137
    outcome_path_failure_exit_1
    outcome_path_success_exit_0
    outcome_path_timeout_exit_124
    worker_processes_high_priority_beads_first

test result: FAILED. 11 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 224.30s

NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
NEEDLE worker 'test-worker' stopped unexpectedly: state=Dispatching, beads_processed=0, uptime=5s
This indicates the worker was killed by an external process (e.g., SIGKILL, OOM, capacity governor)
Heartbeat file already removed: /tmp/.tmpRC9F89/state/heartbeats/echo-test-test-worker.json
error: test failed, to rerun pass `--test integration_tests`
EXIT_CODE: 0
