docs: spec复审终修——状态机②轮矛盾/资产表同步/标注出站派生零泄漏/更正触发落笔/推送v1不做correction/测试补项
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -20,8 +20,8 @@
|
||||
| 能力 | 现状 | 结论 |
|
||||
|---|---|---|
|
||||
| WS 路由真实 IP | chat.py:24-27 已处理 X-Forwarded-For 第一段 | ✅ 复用 |
|
||||
| REST 路由真实 IP | chat_rest.py:107 仅 request.client.host(反代下=127.0.0.1) | ⚠️ 前置补 XFF(一行) |
|
||||
| IP→国家 | ip_service.resolve_country(iptocc,返回中文/ISO) | ✅ 复用(内部用 ISO code) |
|
||||
| REST 路由真实 IP | /session 的 client_info 来自请求体(自报);:107 仅喂限流 | ⚠️ /session 注入 Request 合并 XFF(§4.5) |
|
||||
| IP→国家 | ip_service.resolve_country(中文/ISO 混合,另有 AU 重复键 bug) | ⚠️ 新增 resolve_iso 直返 ISO + 修 bug(§4.5) |
|
||||
| 国家→电话前缀 | 无 | ❌ 新建映射表 |
|
||||
| CC 强制墙骨架 | conversation.py cc_wall 缓冲/替换/Important-2 closing | ✅ 复用(换文案) |
|
||||
| 出站管道 | email_service + lead_push._build_payload | ✅ 挂补全点 |
|
||||
@@ -35,7 +35,7 @@
|
||||
│ → [_cc_conf] ②号码确认轮:"…reach you at {补全号} — is that right?"
|
||||
│ (墙白名单放行该精确号码;确认句墙保证必出)
|
||||
│ ├─ Yes → [终态 _cc_done] 客户亲口确认
|
||||
│ └─ No / 无法判定(一次重试后仍无)→ 请给完整号一次[_cc_asked_full]
|
||||
│ └─ No / 无法判定(②仅此一次,不重试)→ 请给完整号一次[_cc_asked_full]
|
||||
│ → 给了(带前缀)→ [终态 _cc_done,用客户号无标注]
|
||||
├─ No(猜错)→ 请给带码完整号一次[_cc_asked_full] → 得到则 [终态 _cc_done]
|
||||
└─ 无法判定 → ①重试一次 → 仍无 → 请完整号一次 → 仍无 → [超限终态 _cc_done]
|
||||
@@ -100,12 +100,17 @@ No 后不再重复②,直接进"请完整号一次";"请完整号"全会话
|
||||
+标注的更正(信息升级)。
|
||||
|
||||
- **邮件**:更正邮件渲染 `_cc_full` 补全号 + 标注(`+966501234567(原号
|
||||
0501234567,据 IP+客户确认为沙特,已补国家码)`)
|
||||
0501234567,据 IP+客户确认为沙特,已补国家码)`)——**标注由 `_cc_full`+
|
||||
当前裸号在出站渲染时派生,不落 raw_info 正常键**(正常键会进三处 LLM 输入
|
||||
路径被 GLM 当客户信息看见——泄漏前科教训,钉死为零泄漏面)
|
||||
- **更正邮件触发机制(复审落笔说明)**:现有 correction 触发条件是 canon 变化
|
||||
(Yes→Yes 路径 canon 不变、永不自然触发)——实现必须以"本轮 `_cc_done` 与
|
||||
`_cc_full` **同时新出现**"为强制触发事件独立插入;额度耗尽
|
||||
(correction_count≥3)时跳过;`ev.contact_info` 快照同步更新为补全号
|
||||
- **推送(UniService,当前关闭)**:contact.phone/whatsapp 给**干净补全号**
|
||||
(E.164,无标注——对端契约要求"带国际区号且有效",中文标注串会被整条拒收,
|
||||
见 docs/AI_INQUIRY_PUSH_API.md);标注写 profile 的正常键(如
|
||||
`号码补全说明`,随画像进 CRM);推送时机=确认完结后的下一轮自然触发(或
|
||||
correction 推送,与邮件对齐,v1 只做自然轮)
|
||||
(E.164,无标注——对端契约要求"带国际区号且有效",中文标注串会被整条拒收);
|
||||
**v1 明确不做** correction 推送(邮件主通道已完整;推送启用后靠自然轮/
|
||||
届时再补)
|
||||
- ⚠️ 消费顺序:`_build_payload` 先读 raw_info 生成补全 contact → 再过滤 `_` 键
|
||||
- DB 不改客户原文;聊天里仅②确认轮展示补全号(白名单放行)
|
||||
|
||||
@@ -135,6 +140,9 @@ bug:`"AU": "加拿大"` 重复键吞掉了加拿大(应为 CA),并新增
|
||||
4. 墙测试:白名单精确放行(同号放/异号拦/无参数照拦);确认句替换
|
||||
5. 出站测试:邮件/push 的补全与标注;`_` 键过滤与消费顺序
|
||||
6. 真实 LLM 验收:全流程三路径 + 误判对照(长消息含 Yes 不触发)
|
||||
7. (复审补项)存量 `_cc_asked` 等价终态不重复问;旁路转移(流中给完整号→
|
||||
①②全退);更正邮件补发时机(_cc_done+_cc_full 新出现触发)与额度耗尽
|
||||
跳过;推送 contact 为纯 E.164 断言
|
||||
|
||||
## 7. 风险
|
||||
|
||||
|
||||
Reference in New Issue
Block a user