fix: 第三处app分支禁令同步改写——禁令集完整

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-08 12:06:51 +08:00
parent 2228ebe081
commit f191690d01
2 changed files with 17 additions and 1 deletions
+4 -1
View File
@@ -681,11 +681,14 @@ class ConversationManager:
if confirmed or suspect: if confirmed or suspect:
# 已留资: 索要我方联系方式 → 逐字"经理主动联系"版, # 已留资: 索要我方联系方式 → 逐字"经理主动联系"版,
# 与"禁止再索要"提醒不再打架 # 与"禁止再索要"提醒不再打架
# Task 3 收尾: 第三处禁令同步改写(禁令集完整)——与前两处
# 同语义,只禁已提供过的渠道,缺失渠道放行轻补一次
contact_note = ( contact_note = (
"⚠️ 客户正在索要我方联系方式,且客户已留过自己的联系方式。" "⚠️ 客户正在索要我方联系方式,且客户已留过自己的联系方式。"
"请逐字使用这句:\"Our manager will reach out to you at your " "请逐字使用这句:\"Our manager will reach out to you at your "
"WhatsApp shortly with the full quote!\"(中文同理)。" "WhatsApp shortly with the full quote!\"(中文同理)。"
"绝对禁止输出任何号码或邮箱,也绝对禁止再索要联系方式。") "绝对禁止输出任何号码或邮箱,也绝对禁止再索要客户已提供过"
"的联系方式(缺失渠道可按轻补指引提一次)。")
else: else:
contact_note = ("⚠️ 客户正在索要我方联系方式(最高意向信号)。当前为 App 会话," contact_note = ("⚠️ 客户正在索要我方联系方式(最高意向信号)。当前为 App 会话,"
"没有页面按钮——禁止使用任何 tap/button 按钮话术!请逐字使用这句:" "没有页面按钮——禁止使用任何 tap/button 按钮话术!请逐字使用这句:"
+13
View File
@@ -699,6 +699,19 @@ def test_reminder_app_contact_ask_gated_by_existing_contact():
assert "reach out to you at your WhatsApp" in text # 已留资版逐字脚本 assert "reach out to you at your WhatsApp" in text # 已留资版逐字脚本
def test_reminder_app_contact_ask_confirmed_allows_missing_channel_once():
# Task 3 收尾: contact_note app+已留资分支的第三处禁令同步改写(禁令集完整)。
# 防空转设计: 双渠道齐 → 轻补 note 不注入;消息无价格词 → 边界分支不渲染;
# 此时"缺失渠道可按轻补指引提一次"只能来自该分支改写文本
# (:651 版是"仅可按",不构成子串)。
raw = {"联系方式": {"whatsapp": "+254712345678", "email": "a@b.com"}}
text = ConversationManager._build_context_reminder(
raw, "how can I contact you?", [], source="app")
assert "reach out to you at your WhatsApp" in text # 已留资版逐字脚本在场
assert "缺失渠道可按轻补指引提一次" in text # 第三处禁令改写钉死
assert "email address would help too" not in text # 双渠道齐→无轻补注入(防空转)
def test_reminder_app_contact_ask_without_contact_keeps_script(): def test_reminder_app_contact_ask_without_contact_keeps_script():
# App 会话未留资 → 原反向留资脚本原样保留 # App 会话未留资 → 原反向留资脚本原样保留
text = ConversationManager._build_context_reminder( text = ConversationManager._build_context_reminder(