491 lines
63 KiB
Plaintext
491 lines
63 KiB
Plaintext
test_already_attempted_event_never_replayed_for_any_receipt_state (test_protocol_contact_recovery.ContactRecoveryTests.test_already_attempted_event_never_replayed_for_any_receipt_state) ... ok
|
|
test_assistant_conversation_not_restored_as_auto_reply_target (test_protocol_contact_recovery.ContactRecoveryTests.test_assistant_conversation_not_restored_as_auto_reply_target) ... ok
|
|
test_final_native_guard_can_recheck_its_own_inflight_journal (test_protocol_contact_recovery.ContactRecoveryTests.test_final_native_guard_can_recheck_its_own_inflight_journal) ... ok
|
|
test_fresh_inbound_does_not_overwrite_manual_task_during_contact_recheck (test_protocol_contact_recovery.ContactRecoveryTests.test_fresh_inbound_does_not_overwrite_manual_task_during_contact_recheck) ... ok
|
|
test_historical_contact_notice_cannot_erase_unknown_send_protection (test_protocol_contact_recovery.ContactRecoveryTests.test_historical_contact_notice_cannot_erase_unknown_send_protection) ... ok
|
|
test_historical_notice_without_saved_block_does_not_hide_new_question (test_protocol_contact_recovery.ContactRecoveryTests.test_historical_notice_without_saved_block_does_not_hide_new_question) ... ok
|
|
test_journal_read_failure_does_not_replay_seen_event (test_protocol_contact_recovery.ContactRecoveryTests.test_journal_read_failure_does_not_replay_seen_event) ... ok
|
|
test_legacy_block_uses_exact_hash_and_account_not_name (test_protocol_contact_recovery.ContactRecoveryTests.test_legacy_block_uses_exact_hash_and_account_not_name) ... ok
|
|
test_legacy_float_and_seen_swallow_are_recovered_without_restarting_customer (test_protocol_contact_recovery.ContactRecoveryTests.test_legacy_float_and_seen_swallow_are_recovered_without_restarting_customer) ... ok
|
|
test_limit_two_backfills_and_five_second_throttle (test_protocol_contact_recovery.ContactRecoveryTests.test_limit_two_backfills_and_five_second_throttle) ... ok
|
|
test_new_block_during_generation_invalidates_new_answer (test_protocol_contact_recovery.ContactRecoveryTests.test_new_block_during_generation_invalidates_new_answer) ... ok
|
|
test_new_question_still_requires_fresh_review (test_protocol_contact_recovery.ContactRecoveryTests.test_new_question_still_requires_fresh_review) ... ok
|
|
test_old_added_at_active_relation_rechecks_new_message_without_restore_notice (test_protocol_contact_recovery.ContactRecoveryTests.test_old_added_at_active_relation_rechecks_new_message_without_restore_notice) ... ok
|
|
test_own_reply_after_block_prevents_unanswered_backfill (test_protocol_contact_recovery.ContactRecoveryTests.test_own_reply_after_block_prevents_unanswered_backfill) ... ok
|
|
test_receiving_customer_text_alone_is_not_relationship_proof (test_protocol_contact_recovery.ContactRecoveryTests.test_receiving_customer_text_alone_is_not_relationship_proof) ... ok
|
|
test_recovery_does_not_remove_existing_manual_or_uncertain_tasks (test_protocol_contact_recovery.ContactRecoveryTests.test_recovery_does_not_remove_existing_manual_or_uncertain_tasks) ... ok
|
|
test_rejection_records_actual_source_and_later_new_question_can_recheck_once (test_protocol_contact_recovery.ContactRecoveryTests.test_rejection_records_actual_source_and_later_new_question_can_recheck_once) ... ok
|
|
test_relation_change_during_generation_invalidates_reply (test_protocol_contact_recovery.ContactRecoveryTests.test_relation_change_during_generation_invalidates_reply) ... ok
|
|
test_restart_keeps_failed_event_and_recovers_only_later_message (test_protocol_contact_recovery.ContactRecoveryTests.test_restart_keeps_failed_event_and_recovers_only_later_message) ... ok
|
|
test_same_or_older_customer_anchor_is_not_new (test_protocol_contact_recovery.ContactRecoveryTests.test_same_or_older_customer_anchor_is_not_new) ... ok
|
|
test_same_second_later_row_is_new_and_keeps_order (test_protocol_contact_recovery.ContactRecoveryTests.test_same_second_later_row_is_new_and_keeps_order) ... ok
|
|
test_structured_blocked_seen_event_is_recovered_when_relation_becomes_active (test_protocol_contact_recovery.ContactRecoveryTests.test_structured_blocked_seen_event_is_recovered_when_relation_becomes_active) ... ok
|
|
test_system_and_forged_direction_or_sender_are_not_new_customer_events (test_protocol_contact_recovery.ContactRecoveryTests.test_system_and_forged_direction_or_sender_are_not_new_customer_events) ... ok
|
|
test_unknown_blocked_or_cross_identity_relation_does_not_enable_new_question (test_protocol_contact_recovery.ContactRecoveryTests.test_unknown_blocked_or_cross_identity_relation_does_not_enable_new_question) ... ok
|
|
test_untranscribed_voice_waits_while_other_conversation_can_process (test_protocol_contact_recovery.ContactRecoveryTests.test_untranscribed_voice_waits_while_other_conversation_can_process) ... ok
|
|
test_voice_new_question_is_transcribed_before_model_not_old_notice_manual (test_protocol_contact_recovery.ContactRecoveryTests.test_voice_new_question_is_transcribed_before_model_not_old_notice_manual) ... ok
|
|
test_black_chat_quote_is_not_a_system_banner (test_contact_reply_guard.NoticeTests.test_black_chat_quote_is_not_a_system_banner) ... ok
|
|
test_complete_notice_and_wrapped_ocr (test_contact_reply_guard.NoticeTests.test_complete_notice_and_wrapped_ocr) ... ok
|
|
test_customer_quote_is_not_a_protocol_system_notice (test_contact_reply_guard.NoticeTests.test_customer_quote_is_not_a_protocol_system_notice) ... ok
|
|
test_discussing_verification_or_single_failure_icon_is_not_evidence (test_contact_reply_guard.NoticeTests.test_discussing_verification_or_single_failure_icon_is_not_evidence) ... ok
|
|
test_grey_centered_system_notice (test_contact_reply_guard.NoticeTests.test_grey_centered_system_notice) ... ok
|
|
test_low_confidence_does_not_blacklist (test_contact_reply_guard.NoticeTests.test_low_confidence_does_not_blacklist) ... ok
|
|
test_system_restoration_supersedes_old_restriction (test_contact_reply_guard.NoticeTests.test_system_restoration_supersedes_old_restriction) ... ok
|
|
test_existing_system_notice_is_checked_before_generation (test_contact_reply_guard.ProtocolContactTests.test_existing_system_notice_is_checked_before_generation) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议联系人核验] 同名客户 · 当前账号客户关系尚未核验为有效;继续监听,新的客户消息将重新核验
|
|
ok
|
|
test_failed_notice_lookup_keeps_unknown_send_protected (test_contact_reply_guard.ProtocolContactTests.test_failed_notice_lookup_keeps_unknown_send_protected) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议处理] 同名客户 · 本会话发送结果待人工核对,其他会话继续监听;callback timeout
|
|
ok
|
|
test_notice_arriving_during_generation_cancels_draft (test_contact_reply_guard.ProtocolContactTests.test_notice_arriving_during_generation_cancels_draft) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议联系人核验] 同名客户 · 对方开启联系人验证,当前不是联系人,已跳过自动回复;继续监听,新的客户消息将重新核验
|
|
ok
|
|
test_notice_blocks_one_chat_and_another_chat_still_sends (test_contact_reply_guard.ProtocolContactTests.test_notice_blocks_one_chat_and_another_chat_still_sends) ... [协议联系人核验] 同名客户 · 对方开启联系人验证,当前不是联系人,已跳过自动回复;继续监听,新的客户消息将重新核验
|
|
[协议联系人核验] 同名客户 · 当前账号客户关系尚未核验为有效
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_other_send_failure_remains_protected (test_contact_reply_guard.ProtocolContactTests.test_other_send_failure_remains_protected) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议处理] 同名客户 · 客户端拒绝发送,需人工核对;network unavailable
|
|
ok
|
|
test_rejection_during_send_is_not_retried_after_restart (test_contact_reply_guard.ProtocolContactTests.test_rejection_during_send_is_not_retried_after_restart) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议联系人核验] 同名客户 · 该用户不是你的联系人;继续监听,新的客户消息将重新核验
|
|
[协议联系人核验] 同名客户 · 消息早于最近一次实际拒收,禁止重试旧问题
|
|
ok
|
|
test_restore_notice_allows_later_message (test_contact_reply_guard.ProtocolContactTests.test_restore_notice_allows_later_message) ... [协议联系人核验] 同名客户 · 对方开启联系人验证,当前不是联系人,已跳过自动回复;继续监听,新的客户消息将重新核验
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_unknown_receipt_with_contact_notice_isolated_without_resending (test_contact_reply_guard.ProtocolContactTests.test_unknown_receipt_with_contact_notice_isolated_without_resending) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议联系人核验] 同名客户 · 对方开启联系人验证,当前不是联系人,已跳过自动回复;继续监听,新的客户消息将重新核验
|
|
ok
|
|
test_user_quoting_notice_does_not_disable_chat (test_contact_reply_guard.ProtocolContactTests.test_user_quoting_notice_does_not_disable_chat) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_failed_outgoing_bubble_is_never_archived_as_success (test_contact_reply_guard.VisualSkipTests.test_failed_outgoing_bubble_is_never_archived_as_success) ... [会话过滤] 对方开启联系人验证,当前不是联系人,已跳过自动回复;6 小时后重新检查会话状态。
|
|
ok
|
|
test_ocr_error_keeps_customer_task (test_contact_reply_guard.VisualSkipTests.test_ocr_error_keeps_customer_task) ... ok
|
|
test_skip_clears_pending_and_uncommitted_exchange_then_persists (test_contact_reply_guard.VisualSkipTests.test_skip_clears_pending_and_uncommitted_exchange_then_persists) ... [会话过滤] 对方开启联系人验证,当前不是联系人,已跳过自动回复;6 小时后重新检查会话状态。
|
|
ok
|
|
test_uncertain_send_with_rejection_skips_without_receipt_or_retry (test_contact_reply_guard.VisualSkipTests.test_uncertain_send_with_rejection_skips_without_receipt_or_retry) ... [会话过滤] 对方开启联系人验证,当前不是联系人,已跳过自动回复;6 小时后重新检查会话状态。
|
|
ok
|
|
test_cancel_during_generation_does_not_send (test_native_protocol_pipeline.EngineTests.test_cancel_during_generation_does_not_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
ok
|
|
test_crash_in_sending_becomes_uncertain (test_native_protocol_pipeline.EngineTests.test_crash_in_sending_becomes_uncertain) ... [协议收信] 同名客户 · 已加入回复队列
|
|
ok
|
|
test_database_read_failure_never_announces_healthy_listener (test_native_protocol_pipeline.EngineTests.test_database_read_failure_never_announces_healthy_listener) ... ok
|
|
test_duplicate_event_only_sent_once (test_native_protocol_pipeline.EngineTests.test_duplicate_event_only_sent_once) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_manual_reply_during_generation_cancels_send (test_native_protocol_pipeline.EngineTests.test_manual_reply_during_generation_cancels_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
ok
|
|
test_media_is_left_for_manual_handling (test_native_protocol_pipeline.EngineTests.test_media_is_left_for_manual_handling) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 当前消息需要人工处理;当前未回复消息包含图片、语音或其他非文本内容,协议版需人工处理
|
|
ok
|
|
test_memory_setting_preserves_only_unanswered_batch_when_disabled (test_native_protocol_pipeline.EngineTests.test_memory_setting_preserves_only_unanswered_batch_when_disabled) ... ok
|
|
test_model_control_tokens_are_not_sent (test_native_protocol_pipeline.EngineTests.test_model_control_tokens_are_not_sent) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 模型生成失败,可重试;模型未返回有效文本
|
|
ok
|
|
test_model_error_can_retry_before_send (test_native_protocol_pipeline.EngineTests.test_model_error_can_retry_before_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 模型生成失败,可重试;offline
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_new_incoming_during_generation_discards_old_answer (test_native_protocol_pipeline.EngineTests.test_new_incoming_during_generation_discards_old_answer) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
ok
|
|
test_new_message_invalidates_approved_draft (test_native_protocol_pipeline.EngineTests.test_new_message_invalidates_approved_draft) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 人工审核
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 人工审核
|
|
ok
|
|
test_only_current_account_processed (test_native_protocol_pipeline.EngineTests.test_only_current_account_processed) ... ok
|
|
test_pending_batch_window_is_honored (test_native_protocol_pipeline.EngineTests.test_pending_batch_window_is_honored) ... [协议收信] 同名客户 · 已加入回复队列
|
|
ok
|
|
test_pending_review_and_errors_do_not_show_idle (test_native_protocol_pipeline.EngineTests.test_pending_review_and_errors_do_not_show_idle) ... ok
|
|
test_progress_callback_failure_does_not_repeat_or_block_send (test_native_protocol_pipeline.EngineTests.test_progress_callback_failure_does_not_repeat_or_block_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_progress_follows_receive_generate_send_then_waiting (test_native_protocol_pipeline.EngineTests.test_progress_follows_receive_generate_send_then_waiting) ... ok
|
|
test_ready_flag_alone_cannot_enable_transport (test_native_protocol_pipeline.EngineTests.test_ready_flag_alone_cannot_enable_transport) ... ok
|
|
test_restart_after_confirmed_journal_clears_pending_without_send (test_native_protocol_pipeline.EngineTests.test_restart_after_confirmed_journal_clears_pending_without_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
ok
|
|
test_review_requires_approval (test_native_protocol_pipeline.EngineTests.test_review_requires_approval) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 人工审核
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_runtime_uses_protocol_engine_without_visual_construction (test_native_protocol_pipeline.EngineTests.test_runtime_uses_protocol_engine_without_visual_construction) ... ok
|
|
test_same_name_conversations_use_distinct_ids (test_native_protocol_pipeline.EngineTests.test_same_name_conversations_use_distinct_ids) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_stop_during_generation_does_not_send (test_native_protocol_pipeline.EngineTests.test_stop_during_generation_does_not_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
ok
|
|
test_text_pipeline_with_native_receipt_and_no_feedback (test_native_protocol_pipeline.EngineTests.test_text_pipeline_with_native_receipt_and_no_feedback) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_uncertain_send_is_persisted_and_not_retried (test_native_protocol_pipeline.EngineTests.test_uncertain_send_is_persisted_and_not_retried) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议处理] 同名客户 · 本会话发送结果待人工核对,其他会话继续监听;timeout
|
|
ok
|
|
test_unknown_receipt_isolated_with_healthy_poll_log (test_native_protocol_pipeline.EngineTests.test_unknown_receipt_isolated_with_healthy_poll_log) ... ok
|
|
test_waiting_progress_and_periodic_read_confirmation_are_throttled (test_native_protocol_pipeline.EngineTests.test_waiting_progress_and_periodic_read_confirmation_are_throttled) ... ok
|
|
test_cancelled_before_send_does_not_consume_id (test_native_protocol_pipeline.JournalTests.test_cancelled_before_send_does_not_consume_id) ... ok
|
|
test_changed_payload_same_event_is_blocked (test_native_protocol_pipeline.JournalTests.test_changed_payload_same_event_is_blocked) ... ok
|
|
test_failure_does_not_automatically_retry (test_native_protocol_pipeline.JournalTests.test_failure_does_not_automatically_retry) ... ok
|
|
test_invalid_text_rejected (test_native_protocol_pipeline.JournalTests.test_invalid_text_rejected) ... ok
|
|
test_missing_conversation_blocks_send (test_native_protocol_pipeline.JournalTests.test_missing_conversation_blocks_send) ... ok
|
|
test_reopen_after_success_never_resends (test_native_protocol_pipeline.JournalTests.test_reopen_after_success_never_resends) ... ok
|
|
test_success_receipt_and_repeat_returns_saved_result (test_native_protocol_pipeline.JournalTests.test_success_receipt_and_repeat_returns_saved_result) ... ok
|
|
test_unknown_blocks_retry (test_native_protocol_pipeline.JournalTests.test_unknown_blocks_retry) ... ok
|
|
test_wrong_account_rejected_before_journaling_or_send (test_native_protocol_pipeline.JournalTests.test_wrong_account_rejected_before_journaling_or_send) ... ok
|
|
test_cache_change_keeps_independent_manual_block (test_protocol_voice.ProtocolVoiceTests.test_cache_change_keeps_independent_manual_block) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
ok
|
|
test_changed_voice_revokes_approval_and_rechecks_review_on_new_answer (test_protocol_voice.ProtocolVoiceTests.test_changed_voice_revokes_approval_and_rechecks_review_on_new_answer) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 人工审核
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 人工审核
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_direct_judge_receives_entire_mixed_unanswered_batch (test_protocol_voice.ProtocolVoiceTests.test_direct_judge_receives_entire_mixed_unanswered_batch) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 模型裁判评估为高风险
|
|
ok
|
|
test_failed_transcription_enters_manual_and_never_calls_model (test_protocol_voice.ProtocolVoiceTests.test_failed_transcription_enters_manual_and_never_calls_model) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 当前消息需要人工处理;语音自动转文字失败(empty_audio),请人工核对
|
|
ok
|
|
test_final_native_guard_rejects_changed_voice_before_send (test_protocol_voice.ProtocolVoiceTests.test_final_native_guard_rejects_changed_voice_before_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_human_reply_while_voice_pending_discards_old_question (test_protocol_voice.ProtocolVoiceTests.test_human_reply_while_voice_pending_discards_old_question) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 语音正在本机转文字
|
|
ok
|
|
test_legacy_voice_draft_without_snapshot_regenerates_before_send (test_protocol_voice.ProtocolVoiceTests.test_legacy_voice_draft_without_snapshot_regenerates_before_send) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_missing_voice_times_out_without_global_stop_or_guess (test_protocol_voice.ProtocolVoiceTests.test_missing_voice_times_out_without_global_stop_or_guess) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 等待企业微信语音文件或转写缓存
|
|
[协议处理] 同名客户 · 当前消息需要人工处理;语音转文字等待超时,尚未取得可核验文字,请人工处理
|
|
ok
|
|
test_mixed_voice_and_text_waits_and_preserves_both (test_protocol_voice.ProtocolVoiceTests.test_mixed_voice_and_text_waits_and_preserves_both) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 语音正在本机转文字
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_new_media_after_voice_still_needs_manual (test_protocol_voice.ProtocolVoiceTests.test_new_media_after_voice_still_needs_manual) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 当前消息需要人工处理;当前未回复消息包含图片、语音或其他非文本内容,协议版需人工处理
|
|
ok
|
|
test_pending_voice_delays_only_its_conversation_then_resumes_on_cache_update (test_protocol_voice.ProtocolVoiceTests.test_pending_voice_delays_only_its_conversation_then_resumes_on_cache_update) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 语音正在本机转文字
|
|
[协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_same_voice_cache_changes_during_generation_discard_then_regenerate (test_protocol_voice.ProtocolVoiceTests.test_same_voice_cache_changes_during_generation_discard_then_regenerate) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议发送成功] 同名客户 · 服务器消息 999
|
|
ok
|
|
test_spoofed_or_cross_conversation_transcription_does_not_reach_model (test_protocol_voice.ProtocolVoiceTests.test_spoofed_or_cross_conversation_transcription_does_not_reach_model) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 等待企业微信语音文件或转写缓存
|
|
ok
|
|
test_transcribed_voice_reaches_model_and_selective_review_as_text (test_protocol_voice.ProtocolVoiceTests.test_transcribed_voice_reaches_model_and_selective_review_as_text) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 合成审核规则
|
|
ok
|
|
test_unknown_delivery_keeps_original_voice_draft_and_evidence (test_protocol_voice.ProtocolVoiceTests.test_unknown_delivery_keeps_original_voice_draft_and_evidence) ... [协议收信] 同名客户 · 已加入回复队列
|
|
[协议处理] 同名客户 · 根据当前会话生成回复
|
|
[协议处理] 同名客户 · 原账号单聊发送
|
|
[协议处理] 同名客户 · 本会话发送结果待人工核对,其他会话继续监听;合成未知回执
|
|
ok
|
|
test_database_wide_failure_propagates_without_healthy_claim_or_send (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_database_wide_failure_propagates_without_healthy_claim_or_send) ... ok
|
|
test_explicit_pre_send_unavailable_stays_error_and_peers_continue (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_explicit_pre_send_unavailable_stays_error_and_peers_continue) ... ok
|
|
test_foreign_account_task_cannot_send_while_current_account_continues (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_foreign_account_task_cannot_send_while_current_account_continues) ... ok
|
|
test_generation_error_does_not_stop_another_conversation (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_generation_error_does_not_stop_another_conversation) ... ok
|
|
test_malformed_message_row_does_not_drop_valid_rows (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_malformed_message_row_does_not_drop_valid_rows) ... ok
|
|
test_malformed_task_timing_does_not_block_peers (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_malformed_task_timing_does_not_block_peers) ... ok
|
|
test_media_manual_handling_only_blocks_its_own_conversation (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_media_manual_handling_only_blocks_its_own_conversation) ... ok
|
|
test_new_messages_and_contact_notices_cannot_replace_unknown_send (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_new_messages_and_contact_notices_cannot_replace_unknown_send) ... ok
|
|
test_pending_review_only_blocks_its_own_conversation (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_pending_review_only_blocks_its_own_conversation) ... ok
|
|
test_restart_keeps_unknown_and_failed_tasks_isolated (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_restart_keeps_unknown_and_failed_tasks_isolated) ... ok
|
|
test_sending_persistence_error_preserves_no_replay_and_peer_processing (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_sending_persistence_error_preserves_no_replay_and_peer_processing) ... ok
|
|
test_task_context_read_error_is_recorded_without_stopping_peers (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_task_context_read_error_is_recorded_without_stopping_peers) ... ok
|
|
test_unexpected_sender_exception_is_unknown_not_automatic_retry (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_unexpected_sender_exception_is_unknown_not_automatic_retry) ... ok
|
|
test_unknown_receipt_does_not_stop_same_poll_or_future_peer_tasks (test_protocol_listener_continuity.ProtocolListenerContinuityTests.test_unknown_receipt_does_not_stop_same_poll_or_future_peer_tasks) ... ok
|
|
test_context_reloaded_for_generation_can_exclude_group (test_protocol_session_exclusions.ProtocolSessionExclusions.test_context_reloaded_for_generation_can_exclude_group) ... ok
|
|
test_database_existing_direct_filter_rejects_group_before_content_read (test_protocol_session_exclusions.ProtocolSessionExclusions.test_database_existing_direct_filter_rejects_group_before_content_read) ... ok
|
|
test_duplicate_excluded_event_does_not_rewrite_queue_or_repeat_log (test_protocol_session_exclusions.ProtocolSessionExclusions.test_duplicate_excluded_event_does_not_rewrite_queue_or_repeat_log) ... ok
|
|
test_excluded_legacy_manual_or_error_tasks_are_removed_before_review (test_protocol_session_exclusions.ProtocolSessionExclusions.test_excluded_legacy_manual_or_error_tasks_are_removed_before_review) ... ok
|
|
test_excluded_sessions_do_not_block_other_personal_session (test_protocol_session_exclusions.ProtocolSessionExclusions.test_excluded_sessions_do_not_block_other_personal_session) ... ok
|
|
test_final_native_guard_cancels_then_clears_only_unsent_draft (test_protocol_session_exclusions.ProtocolSessionExclusions.test_final_native_guard_cancels_then_clears_only_unsent_draft) ... ok
|
|
test_foreign_account_draft_is_never_cleared_by_current_account_policy (test_protocol_session_exclusions.ProtocolSessionExclusions.test_foreign_account_draft_is_never_cleared_by_current_account_policy) ... ok
|
|
test_group_ids_and_structured_kinds_never_generate (test_protocol_session_exclusions.ProtocolSessionExclusions.test_group_ids_and_structured_kinds_never_generate) ... ok
|
|
test_identity_changed_during_generation_drops_draft_before_review_or_send (test_protocol_session_exclusions.ProtocolSessionExclusions.test_identity_changed_during_generation_drops_draft_before_review_or_send) ... ok
|
|
test_latest_context_identity_is_checked_before_generation (test_protocol_session_exclusions.ProtocolSessionExclusions.test_latest_context_identity_is_checked_before_generation) ... ok
|
|
test_latest_last_message_metadata_is_checked_even_without_context_kind (test_protocol_session_exclusions.ProtocolSessionExclusions.test_latest_last_message_metadata_is_checked_even_without_context_kind) ... ok
|
|
test_named_system_sessions_never_generate_or_enter_review (test_protocol_session_exclusions.ProtocolSessionExclusions.test_named_system_sessions_never_generate_or_enter_review) ... ok
|
|
test_new_excluded_message_cannot_replace_unknown_send (test_protocol_session_exclusions.ProtocolSessionExclusions.test_new_excluded_message_cannot_replace_unknown_send) ... ok
|
|
test_personal_message_mentions_of_groups_or_application_are_not_filtered (test_protocol_session_exclusions.ProtocolSessionExclusions.test_personal_message_mentions_of_groups_or_application_are_not_filtered) ... ok
|
|
test_personal_name_containing_group_word_is_not_group_identity (test_protocol_session_exclusions.ProtocolSessionExclusions.test_personal_name_containing_group_word_is_not_group_identity) ... ok
|
|
test_restart_discards_old_drafts_and_reviews_preserving_dedup (test_protocol_session_exclusions.ProtocolSessionExclusions.test_restart_discards_old_drafts_and_reviews_preserving_dedup) ... ok
|
|
test_restart_keeps_attempted_delivery_evidence (test_protocol_session_exclusions.ProtocolSessionExclusions.test_restart_keeps_attempted_delivery_evidence) ... ok
|
|
test_unknown_delivery_after_excluded_guard_preserves_evidence (test_protocol_session_exclusions.ProtocolSessionExclusions.test_unknown_delivery_after_excluded_guard_preserves_evidence) ... ok
|
|
test_active_send_evidence_is_never_auto_completed (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_active_send_evidence_is_never_auto_completed) ... ok
|
|
test_automated_outbound_does_not_complete_pending_review (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_automated_outbound_does_not_complete_pending_review) ... ok
|
|
test_busy_send_lock_yields_without_error_then_sends_next_round (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_busy_send_lock_yields_without_error_then_sends_next_round) ... ok
|
|
test_close_stops_coordinator (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_close_stops_coordinator) ... ok
|
|
test_completion_save_failure_rolls_back_queue_and_can_retry (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_completion_save_failure_rolls_back_queue_and_can_retry) ... ok
|
|
test_coordination_read_error_cannot_clear_a_registered_review (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_coordination_read_error_cannot_clear_a_registered_review) ... ok
|
|
test_disabled_coordinator_cannot_override_global_review (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_disabled_coordinator_cannot_override_global_review) ... ok
|
|
test_human_reply_completes_review_discards_draft_and_keeps_seen (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_human_reply_completes_review_discards_draft_and_keeps_seen) ... ok
|
|
test_late_phone_sync_does_not_swallow_newer_already_queued_question (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_late_phone_sync_does_not_swallow_newer_already_queued_question) ... ok
|
|
test_new_inbound_while_old_review_is_pending_keeps_review_and_new_draft (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_new_inbound_while_old_review_is_pending_keeps_review_and_new_draft) ... ok
|
|
test_new_model_risk_still_requires_a_new_review_after_resumption (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_new_model_risk_still_requires_a_new_review_after_resumption) ... ok
|
|
test_next_message_resumes_automatic_reply_despite_global_review_mode (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_next_message_resumes_automatic_reply_despite_global_review_mode) ... ok
|
|
test_old_synced_outbound_and_missing_server_receipt_do_not_complete (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_old_synced_outbound_and_missing_server_receipt_do_not_complete) ... ok
|
|
test_private_assistant_chat_is_never_auto_replied_to (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_private_assistant_chat_is_never_auto_replied_to) ... ok
|
|
test_registers_one_review_with_persisted_id_and_trigger (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_registers_one_review_with_persisted_id_and_trigger) ... ok
|
|
test_restart_reconciles_human_reply_then_keeps_subsequent_customer_message (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_restart_reconciles_human_reply_then_keeps_subsequent_customer_message) ... ok
|
|
test_selective_review_always_precedes_resumed_global_mode (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_selective_review_always_precedes_resumed_global_mode) ... ok
|
|
test_uncertain_send_releases_shared_lock_and_preserves_receipt_check (test_protocol_review_assistant.ProtocolReviewAssistantTests.test_uncertain_send_releases_shared_lock_and_preserves_receipt_check) ... ok
|
|
test_actual_store_late_phone_sync_preserves_newer_question (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_actual_store_late_phone_sync_preserves_newer_question) ... ok
|
|
test_cancel_queue_save_failure_does_not_cancel_existing_review (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_cancel_queue_save_failure_does_not_cancel_existing_review) ... ok
|
|
test_cancel_store_failure_retries_after_restart_before_new_question (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_cancel_store_failure_retries_after_restart_before_new_question) ... ok
|
|
test_cancel_works_after_configuration_is_disabled (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_cancel_works_after_configuration_is_disabled) ... ok
|
|
test_durable_completion_survives_protocol_save_failure_without_new_episode (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_durable_completion_survives_protocol_save_failure_without_new_episode) ... ok
|
|
test_durable_manual_resolution_and_new_risk_get_distinct_episode (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_durable_manual_resolution_and_new_risk_get_distinct_episode) ... ok
|
|
test_explicit_cancel_closes_old_reminder_without_auto_resume (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_explicit_cancel_closes_old_reminder_without_auto_resume) ... ok
|
|
test_explicit_handoff_closes_reminder_and_preserves_evidence (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_explicit_handoff_closes_reminder_and_preserves_evidence) ... ok
|
|
test_local_approval_closes_pending_without_future_global_review_bypass (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_local_approval_closes_pending_without_future_global_review_bypass) ... ok
|
|
test_real_store_bot_receipt_is_not_a_manual_approval (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_real_store_bot_receipt_is_not_a_manual_approval) ... ok
|
|
test_recovered_confirmed_local_approval_closes_old_reminder (test_protocol_review_assistant.ProtocolSharedCoordinatorTests.test_recovered_confirmed_local_approval_closes_old_reminder) ... ok
|
|
test_active_send_and_unresolved_receipt_phase_never_complete (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_active_send_and_unresolved_receipt_phase_never_complete) ... ok
|
|
test_cancelled_manual_task_does_not_restore_global_auto_mode (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_cancelled_manual_task_does_not_restore_global_auto_mode) ... ok
|
|
test_explicit_disabled_or_cancel_requested_tasks_are_not_resumed (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_explicit_disabled_or_cancel_requested_tasks_are_not_resumed) ... ok
|
|
test_failed_send_can_finish_only_on_later_human_evidence (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_failed_send_can_finish_only_on_later_human_evidence) ... ok
|
|
test_further_incoming_text_preserves_manual_episode_until_human_reply (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_further_incoming_text_preserves_manual_episode_until_human_reply) ... ok
|
|
test_generation_error_is_notified_and_human_answer_resolves_it (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_generation_error_is_notified_and_human_answer_resolves_it) ... ok
|
|
test_late_human_sync_keeps_question_sent_after_that_human_reply (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_late_human_sync_keeps_question_sent_after_that_human_reply) ... ok
|
|
test_legacy_manual_task_with_exact_trigger_can_verify_reply_after_restart (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_legacy_manual_task_with_exact_trigger_can_verify_reply_after_restart) ... ok
|
|
test_manual_customer_task_finishes_then_future_safe_message_resumes_auto (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_manual_customer_task_finishes_then_future_safe_message_resumes_auto) ... ok
|
|
test_manual_media_registers_once_without_an_approvable_draft (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_manual_media_registers_once_without_an_approvable_draft) ... ok
|
|
test_new_risk_after_manual_completion_creates_new_review_episode (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_new_risk_after_manual_completion_creates_new_review_episode) ... ok
|
|
test_new_unknown_send_registers_manual_notification_then_only_human_finishes (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_new_unknown_send_registers_manual_notification_then_only_human_finishes) ... ok
|
|
test_other_account_or_bot_outbound_does_not_finish_manual_task (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_other_account_or_bot_outbound_does_not_finish_manual_task) ... ok
|
|
test_restart_preserves_manual_episode_and_completes_verified_reply (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_restart_preserves_manual_episode_and_completes_verified_reply) ... ok
|
|
test_terminal_completion_queue_save_failure_restores_evidence_before_retry (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_terminal_completion_queue_save_failure_restores_evidence_before_retry) ... ok
|
|
test_terminal_unknown_is_completed_by_new_human_reply_without_replaying_or_altering_journal (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_terminal_unknown_is_completed_by_new_human_reply_without_replaying_or_altering_journal) ... ok
|
|
test_unconfirmed_ai_draft_echo_cannot_be_used_as_manual_completion (test_protocol_manual_assistant.ProtocolManualAssistantTests.test_unconfirmed_ai_draft_echo_cannot_be_used_as_manual_completion) ... ok
|
|
test_foreign_account_task_cannot_be_approved_deleted_or_retried (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_foreign_account_task_cannot_be_approved_deleted_or_retried) ... ok
|
|
test_high_risk_reason_available_in_automatic_mode (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_high_risk_reason_available_in_automatic_mode) ... ok
|
|
test_media_batch_is_visible_manual_work_without_approvable_draft (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_media_batch_is_visible_manual_work_without_approvable_draft) ... ok
|
|
test_next_valid_batch_discards_old_manual_requirement (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_next_valid_batch_discards_old_manual_requirement) ... ok
|
|
test_old_saved_review_and_manual_tasks_restore_metadata_only (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_old_saved_review_and_manual_tasks_restore_metadata_only) ... ok
|
|
test_overlong_batch_cannot_be_approved_as_a_draft (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_overlong_batch_cannot_be_approved_as_a_draft) ... ok
|
|
test_retry_clears_old_metadata_then_rechecks_media_without_sending (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_retry_clears_old_metadata_then_rechecks_media_without_sending) ... ok
|
|
test_review_draft_reason_persists_then_explicit_approval_sends_once (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_review_draft_reason_persists_then_explicit_approval_sends_once) ... ok
|
|
test_unknown_receipt_cannot_be_approved_or_retried (test_protocol_review_visibility.ProtocolReviewVisibilityTests.test_unknown_receipt_cannot_be_approved_or_retried) ... ok
|
|
test_cancelled_context_history_only_keeps_unanswered (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_cancelled_context_history_only_keeps_unanswered) ... ok
|
|
test_context_enabled_retains_both_roles_and_unanswered_batch (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_context_enabled_retains_both_roles_and_unanswered_batch) ... ok
|
|
test_exactly_100_unanswered_messages_preserve_every_part (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_exactly_100_unanswered_messages_preserve_every_part) ... ok
|
|
test_existing_approved_draft_with_media_is_not_sent (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_existing_approved_draft_with_media_is_not_sent) ... ok
|
|
test_image_then_related_text_stays_manual (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_image_then_related_text_stays_manual) ... ok
|
|
test_old_media_before_own_reply_does_not_block_new_text (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_old_media_before_own_reply_does_not_block_new_text) ... ok
|
|
test_overflowing_unanswered_batch_cannot_answer_from_truncated_tail (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_overflowing_unanswered_batch_cannot_answer_from_truncated_tail) ... ok
|
|
test_own_reply_within_long_history_makes_current_batch_complete (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_own_reply_within_long_history_makes_current_batch_complete) ... ok
|
|
test_restart_preserves_uncertain_conversation_and_processes_others (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_restart_preserves_uncertain_conversation_and_processes_others) ... ok
|
|
test_unanswered_batch_not_lost_with_short_context_limit (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_unanswered_batch_not_lost_with_short_context_limit) ... ok
|
|
test_uncertain_receipt_for_other_account_does_not_pause_current (test_protocol_audit_boundaries.ProtocolAuditBoundaries.test_uncertain_receipt_for_other_account_does_not_pause_current) ... ok
|
|
test_context_refresh_observes_current_account_relation_wal (test_contact_relation_snapshot.ContactRelationTests.test_context_refresh_observes_current_account_relation_wal) ... ok
|
|
test_deleted_or_blocklisted_is_never_active (test_contact_relation_snapshot.ContactRelationTests.test_deleted_or_blocklisted_is_never_active) ... ok
|
|
test_encrypted_user_db_applies_wal_like_message_db (test_contact_relation_snapshot.ContactRelationTests.test_encrypted_user_db_applies_wal_like_message_db) ... ok
|
|
test_exact_active_relation_retains_original_add_time (test_contact_relation_snapshot.ContactRelationTests.test_exact_active_relation_retains_original_add_time) ... ok
|
|
test_group_self_and_other_account_conversation_are_unknown (test_contact_relation_snapshot.ContactRelationTests.test_group_self_and_other_account_conversation_are_unknown) ... ok
|
|
test_missing_denial_table_is_unknown (test_contact_relation_snapshot.ContactRelationTests.test_missing_denial_table_is_unknown) ... ok
|
|
test_missing_or_duplicate_relation_is_unknown (test_contact_relation_snapshot.ContactRelationTests.test_missing_or_duplicate_relation_is_unknown) ... ok
|
|
test_missing_path_does_not_create_database (test_contact_relation_snapshot.ContactRelationTests.test_missing_path_does_not_create_database) ... ok
|
|
test_private_chat_identity_is_supported (test_contact_relation_snapshot.ContactRelationTests.test_private_chat_identity_is_supported) ... ok
|
|
test_reader_only_uses_its_own_account_snapshot (test_contact_relation_snapshot.ContactRelationTests.test_reader_only_uses_its_own_account_snapshot) ... ok
|
|
test_reader_rejects_foreign_cache_and_missing_snapshot (test_contact_relation_snapshot.ContactRelationTests.test_reader_rejects_foreign_cache_and_missing_snapshot) ... ok
|
|
test_reader_rejects_source_changed_before_or_during_read (test_contact_relation_snapshot.ContactRelationTests.test_reader_rejects_source_changed_before_or_during_read) ... ok
|
|
test_relationship_wal_commits_multi_page_transaction_together (test_contact_relation_snapshot.ContactRelationTests.test_relationship_wal_commits_multi_page_transaction_together) ... ok
|
|
test_relationship_wal_ignores_uncommitted_tail (test_contact_relation_snapshot.ContactRelationTests.test_relationship_wal_ignores_uncommitted_tail) ... ok
|
|
test_unknown_status_stranger_or_invalid_added_time_not_active (test_contact_relation_snapshot.ContactRelationTests.test_unknown_status_stranger_or_invalid_added_time_not_active) ... ok
|
|
test_wal_only_relation_updates_are_observed (test_contact_relation_snapshot.ContactRelationTests.test_wal_only_relation_updates_are_observed) ... ok
|
|
test_context_failure_returns_none_and_can_recover (test_database_reply_priority.BackgroundDatabaseTests.test_context_failure_returns_none_and_can_recover) ... ok
|
|
test_polling_during_retry_cooldown_does_not_extend_it (test_database_reply_priority.BackgroundDatabaseTests.test_polling_during_retry_cooldown_does_not_extend_it) ... ok
|
|
test_slow_key_setup_does_not_block_and_late_poll_result_is_retained (test_database_reply_priority.BackgroundDatabaseTests.test_slow_key_setup_does_not_block_and_late_poll_result_is_retained) ... ok
|
|
test_active_task_receives_followup_instead_of_only_merging_tag (test_database_reply_priority.DatabaseDetectionTests.test_active_task_receives_followup_instead_of_only_merging_tag) ... [引擎B] 已登记新消息 → 客户甲
|
|
[引擎B] 已登记新消息 → 客户甲
|
|
ok
|
|
test_duplicate_message_and_ambiguous_name_are_not_queued (test_database_reply_priority.DatabaseDetectionTests.test_duplicate_message_and_ambiguous_name_are_not_queued) ... [引擎B] 已登记新消息 → 客户甲
|
|
ok
|
|
test_failed_enqueue_is_retried_without_new_database_row (test_database_reply_priority.DatabaseDetectionTests.test_failed_enqueue_is_retried_without_new_database_row) ... [引擎B] [!] 投递未执行: busy
|
|
[引擎B] 已登记新消息 → 客户甲
|
|
ok
|
|
test_last_outgoing_is_not_queued_and_failure_changes_health (test_database_reply_priority.DatabaseDetectionTests.test_last_outgoing_is_not_queued_and_failure_changes_health) ... [引擎B] DB 直读失败: unreadable,备用检测继续运行
|
|
ok
|
|
test_accounts_keep_independent_cursors_and_accept_late_writes (test_database_reply_priority.DatabaseFixture.test_accounts_keep_independent_cursors_and_accept_late_writes) ... ok
|
|
test_closed_database_reports_failure (test_database_reply_priority.DatabaseFixture.test_closed_database_reports_failure) ... ok
|
|
test_context_has_sender_direction_and_media_placeholder (test_database_reply_priority.DatabaseFixture.test_context_has_sender_direction_and_media_placeholder) ... ok
|
|
test_cross_thread_reads_and_wal_only_messages (test_database_reply_priority.DatabaseFixture.test_cross_thread_reads_and_wal_only_messages) ... ok
|
|
test_duplicate_titles_never_select_another_account (test_database_reply_priority.DatabaseFixture.test_duplicate_titles_never_select_another_account) ... ok
|
|
test_initial_history_boundary_ms_and_new_account (test_database_reply_priority.DatabaseFixture.test_initial_history_boundary_ms_and_new_account) ... ok
|
|
test_large_batch_and_same_second_insertion_do_not_skip (test_database_reply_priority.DatabaseFixture.test_large_batch_and_same_second_insertion_do_not_skip) ... ok
|
|
test_schema_failure_does_not_advance_valid_account_cursor (test_database_reply_priority.DatabaseFixture.test_schema_failure_does_not_advance_valid_account_cursor) ... ok
|
|
test_service_reconnect_preserves_consumed_database_rows (test_database_reply_priority.DatabaseFixture.test_service_reconnect_preserves_consumed_database_rows) ... ok
|
|
test_actual_generation_uses_database_text_without_clipboard_or_remote_vision (test_database_reply_priority.PriorityReplyTests.test_actual_generation_uses_database_text_without_clipboard_or_remote_vision) ... [档案] 首次遇到该会话,已暂存(2 行可见历史)
|
|
[档案] 旧会话档案归属无法唯一证明,已保留但不会自动用于当前会话。
|
|
[AI] 本次提取的新内容:
|
|
客户甲 2026/09/14 10:00:00
|
|
你好
|
|
[AI] 回复内容: 有什么可以帮您?
|
|
ok
|
|
test_ambiguous_or_unverified_database_names_cannot_map_visual_contacts (test_database_reply_priority.PriorityReplyTests.test_ambiguous_or_unverified_database_names_cannot_map_visual_contacts) ... ok
|
|
test_current_database_context_overrides_stale_pre_copied_text (test_database_reply_priority.PriorityReplyTests.test_current_database_context_overrides_stale_pre_copied_text) ... [档案] 首次遇到该会话,已建档(2 行可见历史)
|
|
ok
|
|
test_database_direction_beats_old_visible_outgoing_bubble (test_database_reply_priority.PriorityReplyTests.test_database_direction_beats_old_visible_outgoing_bubble) ... ok
|
|
test_database_event_merges_into_existing_external_visual_task (test_database_reply_priority.PriorityReplyTests.test_database_event_merges_into_existing_external_visual_task) ... ok
|
|
test_database_success_never_touches_clipboard_or_geometry (test_database_reply_priority.PriorityReplyTests.test_database_success_never_touches_clipboard_or_geometry) ... ok
|
|
test_empty_database_uses_copy_fallback (test_database_reply_priority.PriorityReplyTests.test_empty_database_uses_copy_fallback) ... [档案] 首次遇到该会话,已建档(1 行可见历史)
|
|
ok
|
|
test_external_label_maps_to_unique_database_task_without_changing_hashes (test_database_reply_priority.PriorityReplyTests.test_external_label_maps_to_unique_database_task_without_changing_hashes) ... ok
|
|
test_failed_active_task_yields_to_new_customer (test_database_reply_priority.PriorityReplyTests.test_failed_active_task_yields_to_new_customer) ... ok
|
|
test_followup_invalidates_reply_generated_for_old_message (test_database_reply_priority.PriorityReplyTests.test_followup_invalidates_reply_generated_for_old_message) ... ok
|
|
test_followup_preserves_inflight_stage_and_wakes_worker (test_database_reply_priority.PriorityReplyTests.test_followup_preserves_inflight_stage_and_wakes_worker) ... ok
|
|
test_new_message_arriving_before_send_rejects_stale_reply (test_database_reply_priority.PriorityReplyTests.test_new_message_arriving_before_send_rejects_stale_reply) ... ok
|
|
test_new_task_does_not_bind_foreground_identity (test_database_reply_priority.PriorityReplyTests.test_new_task_does_not_bind_foreground_identity) ... ok
|
|
test_uncertain_send_is_not_reset_by_followup (test_database_reply_priority.PriorityReplyTests.test_uncertain_send_is_not_reset_by_followup) ... ok
|
|
test_wrong_title_or_missing_latest_id_does_not_use_database (test_database_reply_priority.PriorityReplyTests.test_wrong_title_or_missing_latest_id_does_not_use_database) ... ok
|
|
test_bad_rows_do_not_crash_context_or_skip_later_valid_messages (test_database_timestamp_audit.DatabaseTimestampAudit.test_bad_rows_do_not_crash_context_or_skip_later_valid_messages) ... ok
|
|
test_nonfinite_timestamps_are_not_messages (test_database_timestamp_audit.DatabaseTimestampAudit.test_nonfinite_timestamps_are_not_messages) ... ok
|
|
test_out_of_range_timestamps_are_not_messages (test_database_timestamp_audit.DatabaseTimestampAudit.test_out_of_range_timestamps_are_not_messages) ... ok
|
|
test_seconds_and_milliseconds_preserve_chronology (test_database_timestamp_audit.DatabaseTimestampAudit.test_seconds_and_milliseconds_preserve_chronology) ... ok
|
|
test_completed_result_is_not_reused_for_later_explicit_refresh (test_database_loading_performance.KeyAcquisitionSingleFlightTest.test_completed_result_is_not_reused_for_later_explicit_refresh) ... ok
|
|
test_failure_is_shared_and_does_not_poison_later_retry (test_database_loading_performance.KeyAcquisitionSingleFlightTest.test_failure_is_shared_and_does_not_poison_later_retry) ... ok
|
|
test_simultaneous_browser_and_protocol_initialization_start_one_worker (test_database_loading_performance.KeyAcquisitionSingleFlightTest.test_simultaneous_browser_and_protocol_initialization_start_one_worker) ... ok
|
|
test_busy_navigation_is_coalesced_to_latest_account_conversation_and_query (test_database_loading_performance.LocalFirstLoaderTest.test_busy_navigation_is_coalesced_to_latest_account_conversation_and_query) ... ok
|
|
test_local_chat_arrives_before_remote_lookup_begins (test_database_loading_performance.LocalFirstLoaderTest.test_local_chat_arrives_before_remote_lookup_begins) ... ok
|
|
test_old_patient_result_never_replaces_new_selection_and_only_latest_is_queued (test_database_loading_performance.LocalFirstLoaderTest.test_old_patient_result_never_replaces_new_selection_and_only_latest_is_queued) ... ok
|
|
test_remote_timeout_keeps_local_chat_visible_and_not_setup_error (test_database_loading_performance.LocalFirstLoaderTest.test_remote_timeout_keeps_local_chat_visible_and_not_setup_error) ... ok
|
|
test_repeated_refresh_during_load_does_not_queue_another_initialization (test_database_loading_performance.LocalFirstLoaderTest.test_repeated_refresh_during_load_does_not_queue_another_initialization) ... ok
|
|
test_stale_database_result_is_ignored (test_database_loading_performance.LocalFirstLoaderTest.test_stale_database_result_is_ignored) ... ok
|
|
test_conflicting_event_or_live_identity_never_queries_another_account (test_voice_messages.VisualDatabaseBindingTests.test_conflicting_event_or_live_identity_never_queries_another_account) ... ok
|
|
test_legacy_task_uses_bound_account_and_conversation_without_database_event (test_voice_messages.VisualDatabaseBindingTests.test_legacy_task_uses_bound_account_and_conversation_without_database_event) ... ok
|
|
test_returned_foreign_account_is_rejected_even_if_reader_ignored_filter (test_voice_messages.VisualDatabaseBindingTests.test_returned_foreign_account_is_rejected_even_if_reader_ignored_filter) ... 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_refresh_does_not_regress_ready_voice_during_slow_model_call (test_voice_messages.VoiceDatabaseTests.test_refresh_does_not_regress_ready_voice_during_slow_model_call) ... 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_accounts_conversations_and_message_ids_do_not_share_results (test_voice_transcription.VoiceTranscriptionTests.test_accounts_conversations_and_message_ids_do_not_share_results) ... ok
|
|
test_bad_header_is_not_sent_to_model (test_voice_transcription.VoiceTranscriptionTests.test_bad_header_is_not_sent_to_model) ... ok
|
|
test_change_during_recognition_drops_old_result (test_voice_transcription.VoiceTranscriptionTests.test_change_during_recognition_drops_old_result) ... ok
|
|
test_close_discards_text_and_stops_new_jobs (test_voice_transcription.VoiceTranscriptionTests.test_close_discards_text_and_stops_new_jobs) ... ok
|
|
test_close_during_recognition_never_repopulates_cache (test_voice_transcription.VoiceTranscriptionTests.test_close_during_recognition_never_repopulates_cache) ... ok
|
|
test_duration_limit_rejects_instead_of_truncating (test_voice_transcription.VoiceTranscriptionTests.test_duration_limit_rejects_instead_of_truncating) ... ok
|
|
test_empty_recognition_never_becomes_ready (test_voice_transcription.VoiceTranscriptionTests.test_empty_recognition_never_becomes_ready) ... ok
|
|
test_failed_job_retries_only_after_backoff (test_voice_transcription.VoiceTranscriptionTests.test_failed_job_retries_only_after_backoff) ... ok
|
|
test_failures_back_off_and_do_not_leak_exception_details (test_voice_transcription.VoiceTranscriptionTests.test_failures_back_off_and_do_not_leak_exception_details) ... ok
|
|
test_group_wrong_account_self_invalid_server_denied (test_voice_transcription.VoiceTranscriptionTests.test_group_wrong_account_self_invalid_server_denied) ... ok
|
|
test_invalid_model_manifest_fails_without_network (test_voice_transcription.VoiceTranscriptionTests.test_invalid_model_manifest_fails_without_network) ... ok
|
|
test_low_confidence_segment_is_rejected (test_voice_transcription.VoiceTranscriptionTests.test_low_confidence_segment_is_rejected) ... ok
|
|
test_missing_allowed_root_rejected (test_voice_transcription.VoiceTranscriptionTests.test_missing_allowed_root_rejected) ... ok
|
|
test_missing_file_has_readable_error_without_path (test_voice_transcription.VoiceTranscriptionTests.test_missing_file_has_readable_error_without_path) ... ok
|
|
test_missing_model_fails_without_network (test_voice_transcription.VoiceTranscriptionTests.test_missing_model_fails_without_network) ... ok
|
|
test_model_loading_is_forced_offline (test_voice_transcription.VoiceTranscriptionTests.test_model_loading_is_forced_offline) ... ok
|
|
test_outside_root_rejected (test_voice_transcription.VoiceTranscriptionTests.test_outside_root_rejected) ... ok
|
|
test_queue_is_bounded (test_voice_transcription.VoiceTranscriptionTests.test_queue_is_bounded) ... ok
|
|
test_request_is_fast_while_worker_waits (test_voice_transcription.VoiceTranscriptionTests.test_request_is_fast_while_worker_waits) ... ok
|
|
test_same_message_changed_audio_is_not_cached (test_voice_transcription.VoiceTranscriptionTests.test_same_message_changed_audio_is_not_cached) ... ok
|
|
test_same_message_same_audio_is_recognized_once (test_voice_transcription.VoiceTranscriptionTests.test_same_message_same_audio_is_recognized_once) ... ok
|
|
test_silence_is_not_sent_to_model (test_voice_transcription.VoiceTranscriptionTests.test_silence_is_not_sent_to_model) ... ok
|
|
test_silk_pcm_output_limit_is_enforced (test_voice_transcription.VoiceTranscriptionTests.test_silk_pcm_output_limit_is_enforced) ... ok
|
|
test_silk_real_decode_of_synthetic_pcm (test_voice_transcription.VoiceTranscriptionTests.test_silk_real_decode_of_synthetic_pcm) ... ok
|
|
test_size_limit_prevents_worker (test_voice_transcription.VoiceTranscriptionTests.test_size_limit_prevents_worker) ... ok
|
|
test_wav_transcribes_and_preserves_digest (test_voice_transcription.VoiceTranscriptionTests.test_wav_transcribes_and_preserves_digest) ... ok
|
|
test_current_shadow_plan_releases_legacy_high_risk_once (test_review_policy_integration.ProtocolPolicyIntegration.test_current_shadow_plan_releases_legacy_high_risk_once) ... ok
|
|
test_gateway_shadow_verdict_is_recorded_and_sent_without_approval (test_review_policy_integration.ProtocolPolicyIntegration.test_gateway_shadow_verdict_is_recorded_and_sent_without_approval) ... ok
|
|
test_gateway_strict_verdict_overrides_stale_shadow_cache (test_review_policy_integration.ProtocolPolicyIntegration.test_gateway_strict_verdict_overrides_stale_shadow_cache) ... ok
|
|
test_score_only_high_risk_still_requires_approval (test_review_policy_integration.ProtocolPolicyIntegration.test_score_only_high_risk_still_requires_approval) ... ok
|
|
test_disabling_keyword_rule_releases_existing_draft (test_review_policy_integration.VisualPolicyIntegration.test_disabling_keyword_rule_releases_existing_draft) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
|
ok
|
|
test_new_strict_verdict_overrides_old_shadow_config (test_review_policy_integration.VisualPolicyIntegration.test_new_strict_verdict_overrides_old_shadow_config) ... ok
|
|
test_old_judge_callback_cannot_modify_new_turn (test_review_policy_integration.VisualPolicyIntegration.test_old_judge_callback_cannot_modify_new_turn) ... ok
|
|
test_shadow_mode_survives_restart_and_releases_obsolete_review (test_review_policy_integration.VisualPolicyIntegration.test_shadow_mode_survives_restart_and_releases_obsolete_review) ... [待回复恢复] 已从磁盘恢复 1 个未完成任务。
|
|
ok
|
|
test_shadow_never_clears_unknown_receipt (test_review_policy_integration.VisualPolicyIntegration.test_shadow_never_clears_unknown_receipt) ... ok
|
|
|
|
----------------------------------------------------------------------
|
|
Ran 308 tests in 17.436s
|
|
|
|
OK
|