diff --git a/docs/superpowers/specs/2026-10-08-cc-ip-country-confirm-design.md b/docs/superpowers/specs/2026-10-08-cc-ip-country-confirm-design.md index 8d2d4cc..7dc6ff9 100644 --- a/docs/superpowers/specs/2026-10-08-cc-ip-country-confirm-design.md +++ b/docs/superpowers/specs/2026-10-08-cc-ip-country-confirm-design.md @@ -59,9 +59,13 @@ raw_info["_cc"] = { - **实现调和记录(Task 2 审查)**:no_ip **不在**终态 source 集内——新鲜 no_ip 态 cc_due=True 问一次、attempts≥1 落定(spec 原字面把 no_ip 列入落定集会 导致"永远不问",与本节"问 1 轮"自相矛盾,实现按正确语义调和) -- **迟到信息决策(Task 2 审查)**:落定态收到迟到 **country(客户主动报国)→ - 开受控升级口**:重算 e164 再回显一轮(客户主动给的信息不丢弃);迟到 - **affirm 不升级**(对已标"未经确认"旧号的确认语义模糊,保持简单) +- **迟到信息决策(Task 2 审查;Task 3 实现调和)**:落定态收到迟到 **country + (客户主动报国)→ 受控升级口:重算 e164 并保留信息(Task 6 出站用重算号),但 + attempts 已过 cap → fallback 落定、不再回显**(原"再回显一轮"与 cap 语义冲突, + 实现按保守调和);**no_ip 耗尽态排除在报国口外**(静默终态);迟到 **affirm + 不升级**;混合答语(affirm+country 同填)走 affirm 分支 country 忽略 + (Task 2 transit 既有 tie-break)。Task 6 渲染需防御 **fallback-无-e164** + 组合(迁移分支可产出,有机状态机不产生) - **回显确认轮**(NEED_CC 且有建议国):AI 注入逐字句 "…reach you at {intl} — is that right?"(中英双语);**墙白名单**放行该精确号码 (`no_contact_value(allow_number=...)`,逐匹配段 digits_only 比对,只放