test_delay_is_consumed_before_any_generation_then_retries_after_deadline (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_delay_is_consumed_before_any_generation_then_retries_after_deadline) ... ok test_error_and_late_success_never_bypass_manual_task (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_error_and_late_success_never_bypass_manual_task) ... ok test_explicit_retry_or_completed_task_can_run_normally (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_explicit_retry_or_completed_task_can_run_normally) ... ok test_foreign_composer_keeps_existing_clear_and_retry_path (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_foreign_composer_keeps_existing_clear_and_retry_path) ... ok test_legal_explicit_retry_clears_wait_and_manual_fields_and_rolls_back_failure (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_legal_explicit_retry_clears_wait_and_manual_fields_and_rolls_back_failure) ... ok test_manual_and_voice_wait_identity_survive_real_queue_roundtrip (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_manual_and_voice_wait_identity_survive_real_queue_roundtrip) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。 ok test_manual_task_never_sends_cached_draft (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_manual_task_never_sends_cached_draft) ... ok test_missing_db_snapshot_preserves_voice_identity_and_deadline (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_missing_db_snapshot_preserves_voice_identity_and_deadline) ... ok test_only_exact_refresh_can_clear_wait_when_voice_no_longer_pending (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_only_exact_refresh_can_clear_wait_when_voice_no_longer_pending) ... ok test_pending_voice_yields_active_hold_and_keeps_precise_status (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_pending_voice_yields_active_hold_and_keeps_precise_status) ... ok test_voice_wait_does_not_prevent_resuming_another_queued_customer (test_voice_visual_scheduling.VisualVoiceSchedulingTests.test_voice_wait_does_not_prevent_resuming_another_queued_customer) ... ok test_fails_asr_to_manual_and_ignores_other_conversation_snapshot (test_voice_messages.VisualVoiceTests.test_fails_asr_to_manual_and_ignores_other_conversation_snapshot) ... ok test_timeout_notifies_manual_instead_of_sending_guess (test_voice_messages.VisualVoiceTests.test_timeout_notifies_manual_instead_of_sending_guess) ... ok test_waits_without_manual_state_then_allows_transcribed_text (test_voice_messages.VisualVoiceTests.test_waits_without_manual_state_then_allows_transcribed_text) ... ok test_ambiguous_files_and_other_account_do_not_enqueue (test_voice_messages.VoiceDatabaseTests.test_ambiguous_files_and_other_account_do_not_enqueue) ... ok test_cache_collision_across_conversations_is_rejected (test_voice_messages.VoiceDatabaseTests.test_cache_collision_across_conversations_is_rejected) ... ok test_cache_index_is_background_and_does_not_hold_database_reader (test_voice_messages.VoiceDatabaseTests.test_cache_index_is_background_and_does_not_hold_database_reader) ... ok test_cache_update_on_same_message_becomes_visible_without_new_incoming (test_voice_messages.VoiceDatabaseTests.test_cache_update_on_same_message_becomes_visible_without_new_incoming) ... ok test_empty_asr_result_is_error_not_answer (test_voice_messages.VoiceDatabaseTests.test_empty_asr_result_is_error_not_answer) ... ok test_exact_current_account_path_enqueues_then_returns_transcript (test_voice_messages.VoiceDatabaseTests.test_exact_current_account_path_enqueues_then_returns_transcript) ... ok test_missing_table_and_empty_text_are_not_transcriptions (test_voice_messages.VoiceDatabaseTests.test_missing_table_and_empty_text_are_not_transcriptions) ... ok test_mixed_batch_waits_for_all_voices_and_rejects_foreign_binding (test_voice_messages.VoiceDatabaseTests.test_mixed_batch_waits_for_all_voices_and_rejects_foreign_binding) ... ok test_old_history_and_voice_before_human_reply_are_not_enqueued (test_voice_messages.VoiceDatabaseTests.test_old_history_and_voice_before_human_reply_are_not_enqueued) ... ok test_reads_server_id_cache_as_real_text_preserving_voice_type (test_voice_messages.VoiceDatabaseTests.test_reads_server_id_cache_as_real_text_preserving_voice_type) ... ok test_row_id_is_not_server_id_and_binary_payload_never_reaches_model (test_voice_messages.VoiceDatabaseTests.test_row_id_is_not_server_id_and_binary_payload_never_reaches_model) ... ok test_same_server_id_in_other_account_is_not_used (test_voice_messages.VoiceDatabaseTests.test_same_server_id_in_other_account_is_not_used) ... ok test_explicit_cancel_closes_shared_episode_without_native_io (test_visual_review_assistant.SharedVisualAssistantTests.test_explicit_cancel_closes_shared_episode_without_native_io) ... ok test_explicit_handoff_closes_shared_episode_without_approval (test_visual_review_assistant.SharedVisualAssistantTests.test_explicit_handoff_closes_shared_episode_without_approval) ... ok test_failed_queue_cancel_keeps_shared_episode (test_visual_review_assistant.SharedVisualAssistantTests.test_failed_queue_cancel_keeps_shared_episode) ... ok test_failed_reminder_cancel_is_reported_without_claiming_success (test_visual_review_assistant.SharedVisualAssistantTests.test_failed_reminder_cancel_is_reported_without_claiming_success) ... ok test_real_assistant_conversation_cannot_complete_customer_task (test_visual_review_assistant.SharedVisualAssistantTests.test_real_assistant_conversation_cannot_complete_customer_task) ... ok test_real_failed_send_and_local_persistence_failure_keep_task_until_durable (test_visual_review_assistant.SharedVisualAssistantTests.test_real_failed_send_and_local_persistence_failure_keep_task_until_durable) ... ok test_real_manual_task_without_draft_completes_after_human_reply (test_visual_review_assistant.SharedVisualAssistantTests.test_real_manual_task_without_draft_completes_after_human_reply) ... ok test_real_shared_automated_attempt_is_not_human_reply (test_visual_review_assistant.SharedVisualAssistantTests.test_real_shared_automated_attempt_is_not_human_reply) ... ok test_real_shared_completion_retries_original_episode_after_disk_failure (test_visual_review_assistant.SharedVisualAssistantTests.test_real_shared_completion_retries_original_episode_after_disk_failure) ... ok test_real_shared_human_completion_then_new_risk (test_visual_review_assistant.SharedVisualAssistantTests.test_real_shared_human_completion_then_new_risk) ... ok test_real_shared_local_approval_closes_reminder_without_resuming (test_visual_review_assistant.SharedVisualAssistantTests.test_real_shared_local_approval_closes_reminder_without_resuming) ... ok test_real_terminal_automated_reply_never_completes (test_visual_review_assistant.SharedVisualAssistantTests.test_real_terminal_automated_reply_never_completes) ... ok test_real_terminal_send_requires_distinct_human_and_keeps_original_evidence (test_visual_review_assistant.SharedVisualAssistantTests.test_real_terminal_send_requires_distinct_human_and_keeps_original_evidence) ... ok test_stopped_client_cancel_closes_reminder_in_queue_data_directory (test_visual_review_assistant.SharedVisualAssistantTests.test_stopped_client_cancel_closes_reminder_in_queue_data_directory) ... ok test_active_sending_cancel_or_unrecognized_send_state_cannot_complete (test_visual_review_assistant.VisualAssistantTests.test_active_sending_cancel_or_unrecognized_send_state_cannot_complete) ... ok test_all_ui_attention_states_register_and_notify (test_visual_review_assistant.VisualAssistantTests.test_all_ui_attention_states_register_and_notify) ... ok test_assistant_contact_is_filtered_by_exact_conversation (test_visual_review_assistant.VisualAssistantTests.test_assistant_contact_is_filtered_by_exact_conversation) ... ok test_completed_review_does_not_erase_a_concurrent_replacement (test_visual_review_assistant.VisualAssistantTests.test_completed_review_does_not_erase_a_concurrent_replacement) ... ok test_disabled_config_never_imports_native_or_starts_coordinator (test_visual_review_assistant.VisualAssistantTests.test_disabled_config_never_imports_native_or_starts_coordinator) ... ok test_discarded_draft_marker_is_consumed_once (test_visual_review_assistant.VisualAssistantTests.test_discarded_draft_marker_is_consumed_once) ... ok test_draft_marker_retirement_failure_retains_protection (test_visual_review_assistant.VisualAssistantTests.test_draft_marker_retirement_failure_retains_protection) ... ok test_failed_review_id_save_rolls_back_and_does_not_enqueue (test_visual_review_assistant.VisualAssistantTests.test_failed_review_id_save_rolls_back_and_does_not_enqueue) ... ok test_late_mobile_sync_does_not_hide_new_customer_message (test_visual_review_assistant.VisualAssistantTests.test_late_mobile_sync_does_not_hide_new_customer_message) ... ok test_missing_database_and_cross_account_context_cannot_complete (test_visual_review_assistant.VisualAssistantTests.test_missing_database_and_cross_account_context_cannot_complete) ... ok test_new_customer_message_after_human_reply_starts_fresh_task (test_visual_review_assistant.VisualAssistantTests.test_new_customer_message_after_human_reply_starts_fresh_task) ... ok test_new_database_event_arriving_during_read_is_retained (test_visual_review_assistant.VisualAssistantTests.test_new_database_event_arriving_during_read_is_retained) ... ok test_no_evidence_preserves_review_and_persists_review_id (test_visual_review_assistant.VisualAssistantTests.test_no_evidence_preserves_review_and_persists_review_id) ... ok test_notification_registration_requires_durable_state (test_visual_review_assistant.VisualAssistantTests.test_notification_registration_requires_durable_state) ... ok test_pending_review_is_not_bypassed_by_new_safe_message (test_visual_review_assistant.VisualAssistantTests.test_pending_review_is_not_bypassed_by_new_safe_message) ... ok test_persistence_failure_restores_review_and_old_exchange (test_visual_review_assistant.VisualAssistantTests.test_persistence_failure_restores_review_and_old_exchange) ... ok test_proven_human_reply_discards_old_task_without_approving_or_sending (test_visual_review_assistant.VisualAssistantTests.test_proven_human_reply_discards_old_task_without_approving_or_sending) ... ok test_resumed_skips_blanket_only_and_new_risk_still_requires_review (test_visual_review_assistant.VisualAssistantTests.test_resumed_skips_blanket_only_and_new_risk_still_requires_review) ... ok test_retired_draft_and_review_binding_survive_restart (test_visual_review_assistant.VisualAssistantTests.test_retired_draft_and_review_binding_survive_restart) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。 [待回复恢复] 已从磁盘恢复 1 个未完成任务。 ok test_retired_draft_only_matches_exact_original_and_verified_identity (test_visual_review_assistant.VisualAssistantTests.test_retired_draft_only_matches_exact_original_and_verified_identity) ... ok test_send_attempt_failure_prevents_dispatch_and_local_completion_keeps_approval (test_visual_review_assistant.VisualAssistantTests.test_send_attempt_failure_prevents_dispatch_and_local_completion_keeps_approval) ... [助理审核] 自动发送留痕失败(OSError),暂缓本次发送;保留人工审核,不猜测人工回复。 ok test_stop_suppresses_read_and_notification (test_visual_review_assistant.VisualAssistantTests.test_stop_suppresses_read_and_notification) ... ok test_terminal_states_require_explicit_human_completion_evidence (test_visual_review_assistant.VisualAssistantTests.test_terminal_states_require_explicit_human_completion_evidence) ... ok test_wrong_account_or_conversation_or_review_evidence_cannot_clear_task (test_visual_review_assistant.VisualAssistantTests.test_wrong_account_or_conversation_or_review_evidence_cannot_clear_task) ... ok test_legacy_visual_queue_upgrades_to_envelope_and_retains_full_evidence (test_handoff_evidence.OfflineEvidenceTests.test_legacy_visual_queue_upgrades_to_envelope_and_retains_full_evidence) ... ok test_write_failure_preserves_original_queue_and_evidence (test_handoff_evidence.OfflineEvidenceTests.test_write_failure_preserves_original_queue_and_evidence) ... ok test_failed_persist_rolls_back_memory_and_keeps_pause (test_handoff_evidence.ProtocolEvidenceTests.test_failed_persist_rolls_back_memory_and_keeps_pause) ... ok test_takeover_record_survives_restart_and_poll_without_becoming_pending (test_handoff_evidence.ProtocolEvidenceTests.test_takeover_record_survives_restart_and_poll_without_becoming_pending) ... ok test_confirmed_handoff_preserves_serialized_evidence_not_delivery (test_visual_handoff_visibility.VisualHandoffTest.test_confirmed_handoff_preserves_serialized_evidence_not_delivery) ... ok test_db_message_must_be_newer_and_same_conversation (test_visual_handoff_visibility.VisualHandoffTest.test_db_message_must_be_newer_and_same_conversation) ... ok test_every_sending_stage_is_protected_even_when_confirmed (test_visual_handoff_visibility.VisualHandoffTest.test_every_sending_stage_is_protected_even_when_confirmed) ... ok test_failed_handoff_save_rolls_back_pending_tombstone_and_evidence (test_visual_handoff_visibility.VisualHandoffTest.test_failed_handoff_save_rolls_back_pending_tombstone_and_evidence) ... ok test_generating_work_is_cancelled_without_approving_or_sending (test_visual_handoff_visibility.VisualHandoffTest.test_generating_work_is_cancelled_without_approving_or_sending) ... ok test_new_task_cannot_receive_an_old_model_result_after_handoff (test_visual_handoff_visibility.VisualHandoffTest.test_new_task_cannot_receive_an_old_model_result_after_handoff) ... ok test_offline_flat_handoff_metadata_loads_without_becoming_a_task (test_visual_handoff_visibility.VisualHandoffTest.test_offline_flat_handoff_metadata_loads_without_becoming_a_task) ... ok test_old_database_event_is_not_requeued_after_restart (test_visual_handoff_visibility.VisualHandoffTest.test_old_database_event_is_not_requeued_after_restart) ... ok test_old_transcript_or_staff_reply_does_not_unlock_handoff (test_visual_handoff_visibility.VisualHandoffTest.test_old_transcript_or_staff_reply_does_not_unlock_handoff) ... ok test_plain_cancel_cannot_bypass_receipt_or_sending_guard (test_visual_handoff_visibility.VisualHandoffTest.test_plain_cancel_cannot_bypass_receipt_or_sending_guard) ... ok test_proven_new_customer_block_resumes_but_retains_old_evidence (test_visual_handoff_visibility.VisualHandoffTest.test_proven_new_customer_block_resumes_but_retains_old_evidence) ... ok test_receipt_unknown_states_always_require_confirmation (test_visual_handoff_visibility.VisualHandoffTest.test_receipt_unknown_states_always_require_confirmation) ... ok test_restart_and_unread_scan_cannot_resend_original (test_visual_handoff_visibility.VisualHandoffTest.test_restart_and_unread_scan_cannot_resend_original) ... ok test_resume_does_not_take_effect_if_disk_save_fails (test_visual_handoff_visibility.VisualHandoffTest.test_resume_does_not_take_effect_if_disk_save_fails) ... ok test_uncertain_requires_confirmation_and_keeps_evidence (test_visual_handoff_visibility.VisualHandoffTest.test_uncertain_requires_confirmation_and_keeps_evidence) ... ok ---------------------------------------------------------------------- Ran 83 tests in 2.019s OK