[
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_branch_empty_input",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_branch_full_combo",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_branch_main_returns_none",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_branch_with_phase",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_branch_with_retry",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_filename_absolute_path",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_filename_empty_or_invalid_input",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_filename_no_extension",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_filename_relative_path",
  "tests/dispatch_id/test_task_id_parsing.py::test_extract_from_filename_unrelated_returns_none",
  "tests/dispatch_id/test_task_id_parsing.py::test_is_valid_task_id_full",
  "tests/dispatch_id/test_task_id_parsing.py::test_is_valid_task_id_rejects_invalid",
  "tests/dispatch_id/test_task_id_parsing.py::test_is_valid_task_id_simple",
  "tests/dispatch_id/test_task_id_parsing.py::test_is_valid_task_id_with_retry",
  "tests/dispatch_id/test_task_id_parsing.py::test_parse_invalid_yields_all_none",
  "tests/dispatch_id/test_task_id_parsing.py::test_parse_phase_only",
  "tests/dispatch_id/test_task_id_parsing.py::test_parse_phase_parallel_retry_all_four",
  "tests/dispatch_id/test_task_id_parsing.py::test_parse_retry_suffix_preserved",
  "tests/dispatch_id/test_task_id_parsing.py::test_parse_strips_whitespace",
  "tests/dispatch_id/test_task_id_parsing.py::test_parse_with_only_base",
  "tests/dispatch_id/test_task_id_parsing.py::test_pattern_constant_exposed",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_helpers_source_has_retry_pattern",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_helpers_source_has_v2_pattern",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_prefix_strip_base_only",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_prefix_strip_no_colon",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_prefix_strip_phase",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_prefix_strip_phase_parallel_retry",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_prefix_strip_plain_title",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_dashboard_prefix_strip_retry",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_merge_branch_v2_phase",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_merge_branch_v2_retry",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_source_has_v2_title_pattern",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_task_id_from_basename_v2",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_task_id_from_meta_field",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_task_id_from_title_base",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_task_id_from_title_full_v2",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_task_id_from_title_phase",
  "tests/regression/test_dashboard_report_hardening_2487.py::test_report_parser_task_id_from_title_retry",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_invalid_alpha_num",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_invalid_empty",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_invalid_no_prefix",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_invalid_wrong_prefix",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_parse_base_only",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_parse_full_combo",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_parse_phase_suffix",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_parse_retry_suffix",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_source_calls_is_valid_task_id",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_source_imports_task_id_parser",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_valid_base",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_valid_parallel_retry",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_valid_phase",
  "tests/regression/test_dispatch_hardening_2487.py::test_dispatch_valid_retry",
  "tests/regression/test_legacy_compat_2487.py::test_dashboard_prefix_dot_phase_title_strip",
  "tests/regression/test_legacy_compat_2487.py::test_dashboard_prefix_legacy_base_strip",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_base_id_large_number",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_base_id_small_number",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_base_id_valid",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_dot_phase_branch_base_extractable",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_dot_phase_loose_pattern_search",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_dot_phase_not_valid_in_v2",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_extract_branch_simple",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_extract_branch_v2_retry",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_extract_filename_simple",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_extract_filename_v2_phase",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_extract_filename_v2_retry",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_parse_returns_none_for_dot_phase",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_parse_v2_base_ok",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_parse_v2_phase_underscore_ok",
  "tests/regression/test_legacy_compat_2487.py::test_legacy_report_parser_dot_phase_basename",
  "tests/regression/test_scripts_hardening_2487.py::test_auto_merge_imports_report_parser",
  "tests/regression/test_scripts_hardening_2487.py::test_auto_merge_report_parser_branch_v2",
  "tests/regression/test_scripts_hardening_2487.py::test_done_watcher_file_pattern_covers_v2",
  "tests/regression/test_scripts_hardening_2487.py::test_done_watcher_uses_is_valid_task_id",
  "tests/regression/test_scripts_hardening_2487.py::test_done_watcher_v2_invalid_rejected",
  "tests/regression/test_scripts_hardening_2487.py::test_done_watcher_v2_valid_cases",
  "tests/regression/test_scripts_hardening_2487.py::test_notify_completion_task_id_pattern_present",
  "tests/regression/test_scripts_hardening_2487.py::test_notify_completion_v2_meta_or_explicit",
  "tests/regression/test_scripts_hardening_2487.py::test_pattern_detector_loads_source",
  "tests/regression/test_scripts_hardening_2487.py::test_pattern_detector_no_hard_coded_v1_only_task_re",
  "tests/regression/test_scripts_hardening_2487.py::test_report_utils_title_pattern_covers_v2",
  "tests/regression/test_scripts_hardening_2487.py::test_start_task_guard_branch_extraction_v2",
  "tests/regression/test_scripts_hardening_2487.py::test_start_task_guard_source_readable",
  "tests/regression/test_scripts_hardening_2487.py::test_token_tracker_task_re_present",
  "tests/regression/test_scripts_hardening_2487.py::test_token_tracker_task_re_v2_coverage",
  "tests/test_auto_merge.py::test_analyze_report",
  "tests/test_auto_merge.py::test_dry_run",
  "tests/test_auto_merge.py::test_execute_merge_conflict",
  "tests/test_auto_merge.py::test_execute_merge_success",
  "tests/test_auto_merge.py::test_extract_team_short_from_branch",
  "tests/test_auto_merge.py::test_extract_team_short_from_worktree",
  "tests/test_auto_merge.py::test_extract_team_short_none",
  "tests/test_auto_merge.py::test_load_env_keys",
  "tests/test_auto_merge.py::test_log_result",
  "tests/test_auto_merge.py::test_log_result_creates_file",
  "tests/test_auto_merge.py::test_merge_needed_false_no_claim",
  "tests/test_auto_merge.py::test_notify_anu_called_after_merge",
  "tests/test_auto_merge.py::test_parse_done_invalid",
  "tests/test_auto_merge.py::test_parse_done_legacy_format",
  "tests/test_auto_merge.py::test_parse_done_valid",
  "tests/test_auto_merge.py::test_resolve_project_path_from_report",
  "tests/test_auto_merge.py::test_resolve_project_path_from_worktree",
  "tests/test_auto_merge.py::test_resolve_project_path_none",
  "tests/test_auto_merge.py::test_revert_merge",
  "tests/test_auto_merge.py::test_run_full_flow",
  "tests/test_auto_merge.py::test_run_full_flow_test_failure",
  "tests/test_auto_merge.py::test_run_tests_pytest",
  "tests/test_auto_merge.py::test_run_tests_timeout",
  "tests/test_auto_merge.py::test_scan_done_files",
  "tests/test_auto_merge.py::test_team_id_to_short_already_short",
  "tests/test_auto_merge.py::test_team_id_to_short_edge_cases",
  "tests/test_auto_merge.py::test_team_id_to_short_with_suffix",
  "tests/test_auto_merge.py::test_team_short_used_in_execute_merge",
  "tests/test_auto_merge.py::test_try_claim_already_claimed",
  "tests/test_auto_merge.py::test_try_claim_success",
  "tests/test_done_watcher.py::TestExtractTeamFromDoneFile::test_extract_from_filename",
  "tests/test_done_watcher.py::TestExtractTeamFromDoneFile::test_extract_from_filename_dev2",
  "tests/test_done_watcher.py::TestExtractTeamFromDoneFile::test_extract_without_team_in_filename",
  "tests/test_done_watcher.py::TestProcessDoneFiles::test_process_done_files",
  "tests/test_done_watcher.py::TestProcessFailedFiles::test_process_failed_files_json_error",
  "tests/test_done_watcher.py::TestProcessFailedFiles::test_process_failed_files_no_bot_token",
  "tests/test_done_watcher.py::TestProcessFailedFiles::test_process_failed_files_with_mock_send",
  "tests/test_done_watcher.py::TestScanDoneFiles::test_scan_done_files",
  "tests/test_done_watcher.py::TestScanDoneFiles::test_scan_no_done_files",
  "tests/test_done_watcher.py::TestScanFailedFiles::test_scan_failed_excludes_acked",
  "tests/test_done_watcher.py::TestScanFailedFiles::test_scan_failed_files",
  "tests/test_done_watcher.py::TestScanFailedFiles::test_scan_no_failed_files",
  "tests/test_done_watcher.py::TestSendTelegramNotification::test_no_bot_token",
  "tests/test_done_watcher.py::TestSetBotIdle::test_set_idle_already_idle",
  "tests/test_done_watcher.py::TestSetBotIdle::test_set_idle_success",
  "tests/test_done_watcher.py::TestSetBotIdle::test_set_idle_unknown_team",
  "tests/test_notify_completion.py::TestCheckChainStatus::test_check_chain_status_failure_returns_default",
  "tests/test_notify_completion.py::TestCheckChainStatus::test_check_chain_status_invalid_json_returns_default",
  "tests/test_notify_completion.py::TestCheckChainStatus::test_check_chain_status_success",
  "tests/test_notify_completion.py::TestCheckChainStatus::test_check_chain_status_timeout_returns_default",
  "tests/test_notify_completion.py::TestDispatchExecution::test_dispatch_failure_sends_telegram_anyway",
  "tests/test_notify_completion.py::TestDispatchExecution::test_mid_chain_dispatch_calls_subprocess",
  "tests/test_notify_completion.py::TestGetAnuKey::test_get_anu_key_empty_exits",
  "tests/test_notify_completion.py::TestGetAnuKey::test_get_anu_key_missing_exits",
  "tests/test_notify_completion.py::TestGetAnuKey::test_get_anu_key_success",
  "tests/test_notify_completion.py::TestLogProtocol::test_log_protocol_creates_parent_dirs",
  "tests/test_notify_completion.py::TestLogProtocol::test_log_protocol_silent_on_oserror",
  "tests/test_notify_completion.py::TestLogProtocol::test_log_protocol_writes_to_file",
  "tests/test_notify_completion.py::TestMain::test_main_chain_last_phase",
  "tests/test_notify_completion.py::TestMain::test_main_chain_mid_phase",
  "tests/test_notify_completion.py::TestMain::test_main_missing_anu_key_does_not_exit",
  "tests/test_notify_completion.py::TestMain::test_main_not_in_chain",
  "tests/test_notify_completion.py::TestMain::test_main_uses_cli_anu_key",
  "tests/test_notify_completion.py::TestSendTelegramNotification::test_send_telegram_notification_calls_subprocess",
  "tests/test_notify_completion.py::TestSendTelegramNotification::test_send_telegram_notification_no_exit_on_failure",
  "tests/test_report_parser.py::test_anu_judgment_keyword",
  "tests/test_report_parser.py::test_branch_extraction",
  "tests/test_report_parser.py::test_merge_needed_delegate_to_anu",
  "tests/test_report_parser.py::test_merge_needed_positive",
  "tests/test_report_parser.py::test_merge_not_needed",
  "tests/test_report_parser.py::test_merge_unnecessary_keyword",
  "tests/test_report_parser.py::test_no_merge_keywords",
  "tests/test_report_parser.py::test_summarize_oneline_merge_indicator",
  "tests/test_report_parser.py::test_summarize_oneline_no_merge_indicator",
  "tests/test_report_parser.py::test_worktree_path_extraction",
  "tests/test_task_timer_tokens.py::test_enrich_skips_unmatched_tasks",
  "tests/test_task_timer_tokens.py::test_enrich_writes_all_4_token_fields",
  "tests/test_task_timer_tokens.py::test_parse_session_collects_4_token_types",
  "tests/test_task_timer_tokens.py::test_parse_session_detects_cwd_project_insuro",
  "tests/test_task_timer_tokens.py::test_parse_session_detects_mcp_used",
  "tests/test_token_optimization_green.py::TestG1SelectiveKnowhowLoading::test_backward_compatibility",
  "tests/test_token_optimization_green.py::TestG1SelectiveKnowhowLoading::test_copy_phase_group",
  "tests/test_token_optimization_green.py::TestG1SelectiveKnowhowLoading::test_default_phase_group_loads_all_three",
  "tests/test_token_optimization_green.py::TestG1SelectiveKnowhowLoading::test_design_phase_group",
  "tests/test_token_optimization_green.py::TestG1SelectiveKnowhowLoading::test_final_phase_group_explicit",
  "tests/test_token_optimization_green.py::TestG1SelectiveKnowhowLoading::test_invalid_phase_group_raises",
  "tests/test_token_optimization_green.py::TestG2OverviewQCRemoval::test_no_category_a_details",
  "tests/test_token_optimization_green.py::TestG2OverviewQCRemoval::test_no_category_b_details",
  "tests/test_token_optimization_green.py::TestG2OverviewQCRemoval::test_no_escalation_details",
  "tests/test_token_optimization_green.py::TestG2OverviewQCRemoval::test_no_fail_categories_details",
  "tests/test_token_optimization_green.py::TestG2OverviewQCRemoval::test_phase_list_preserved",
  "tests/test_token_optimization_green.py::TestG2OverviewQCRemoval::test_qc_loading_note_present",
  "tests/test_token_optimization_green.py::TestG2OverviewQCRemoval::test_start_condition_preserved",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_escalation_rules_file_content",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_escalation_rules_file_exists",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_phase0_uses_reference",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_phase1_uses_reference",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_phase2_uses_reference",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_phase3_5_uses_reference",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_phase3_uses_reference",
  "tests/test_token_optimization_green.py::TestG3EscalationDedup::test_phase4_uses_reference",
  "tests/test_token_optimization_green.py::TestG4SubagentResultRules::test_composite_prompt_contains_subagent_rules",
  "tests/test_token_optimization_green.py::TestG4SubagentResultRules::test_design_prompt_contains_subagent_rules",
  "tests/test_token_optimization_green.py::TestG4SubagentResultRules::test_marketing_prompt_contains_subagent_rules"
]