diff --git a/docs/superpowers/specs/2026-10-08-dual-contact-and-country-code-design.md b/docs/superpowers/specs/2026-10-08-dual-contact-and-country-code-design.md index f14eca2..7e9f3bd 100644 --- a/docs/superpowers/specs/2026-10-08-dual-contact-and-country-code-design.md +++ b/docs/superpowers/specs/2026-10-08-dual-contact-and-country-code-design.md @@ -55,6 +55,14 @@ 5. 已有【好差示例】节补 2 组:①客户给裸号 → 差:直接"Got it"收下; 好:礼貌请其重发完整号(一次);②已有 WhatsApp → 差:再问 WhatsApp; 好:轻补邮箱一次 +6. **⚠️ 既有全局指令同步改写(第三轮自查发现,不改则功能自锁)**:语言规则 + 中"客户已留资时不用任何索要句,改确认式"的硬指令会抑制邮箱轻补行为 + (GLM 遵守更显眼的老禁令、拒绝执行新策略)——必须改写为"已留资时不再 + 索要**已在手的渠道**(改确认式);**缺失渠道**可按【联系方式引导策略】 + 轻补一次" +7. **新话术纳入模板句清单**:国家代码追问句、邮箱轻补句加进语言规则开头的 + 模板句枚举(固定短句/转接句/互留句之外新增两席)——保证西语等小语种 + 客户场景同样"整句用英文/中文原版,绝不翻译",与既有语言规则自洽 ### 4.2 状态感知提醒(conversation.py _build_context_reminder) @@ -107,6 +115,8 @@ - 客户重发完整号走现有"改号覆盖"机制 → 会消耗一次 correction 邮件/推送 (与邮箱后到共享每会话 3 封上限,正常预算内) - 客户拒绝补国家代码:号码按现状照常 confirmed,线索照发(软引导不设卡) +- 客户配合后又换了个**新的裸号**:不再二次追问(`_cc_asked` 一次性计数是 + 会话级,防死缠优先于数据完美) ## 5. 不动清单 @@ -132,8 +142,12 @@ 若未来扩 REASK 模式或改模板措辞导致命中,此断言报警,防功能自锁 5. **推送 payload 断言**:`_email_asked`/`_cc_asked` 不得出现在 _build_payload 产物中(`_` 前缀过滤生效) -6. 全量 pytest 绿(现有再索要墙断言按新语义同步更新) -7. **真实 LLM 验收**(生产冒烟后补):①客户给裸号 `0501234567` → AI 礼貌请其 +6. **计数持久化集成测试**(第三轮自查补充):用现有 manager 流程测试设施 + (mock LLM)跑两轮——第一轮触发提醒注入后 `_email_asked`/`_cc_asked` 已 + 落库,第二轮 reminder 不再含对应注入句(防"写回失效退化为每轮都问") +7. 全量 pytest 绿(注:`asks_contact` 无参调用语义完全不变,现有墙断言 + 无需改动;仅新参数行为需上述新测试) +8. **真实 LLM 验收**(生产冒烟后补):①客户给裸号 `0501234567` → AI 礼貌请其 重发完整号(仅一次);②客户留 WhatsApp → AI 轻补邮箱一次;③只留邮箱的 客户 → 不被纠缠要 WhatsApp(分步双要以 WhatsApp 起手,邮箱-only 客户 场景 AI 不硬要)