feat: 词表数据化——AST 提取脚本 + wall.json + 编译器 + boundary/conversation 数据源切换(等价回归全绿)
- scripts/extract_config.py: AST 解析两老项目源码取常量(不 import 源模块),
生成 seed_profiles/<slug>/{wall.json, brand_values.json, prompts/};幂等可重跑
- app/engine/wall_schema.py: compile_wall(json)→CompiledWall,坏结构/坏 regex
编译期显性失败(WallConfigError 含字段路径)
- boundary_filter/conversation: 墙词表/话术数据源切换为 DEFAULT_WALL
(jiancai 出厂 seed),函数逻辑不动、常量名保留为 wall 视图(既有测试零修改);
wall 数据化新增 pivots/pivots_contact/zero_number/reask_patterns 字段
- 脆锚点迁移: test_inline_prohibitions 断言对象从 conversation.py 源码改为
wall.json 数据文件,语义等价(唯一允许的测试修改)
- 回归: 322 既有全绿 + 10 新增 wall_schema 测试 = 332;提取脚本两遍无 diff
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
"""批次1 集成测试:管道接线/邮件触发/结束守卫/卡单标记。"""
|
||||
import asyncio
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
from sqlalchemy import select
|
||||
|
||||
@@ -1004,13 +1006,19 @@ def test_reminder_cc_due_turn_email_note_blocked():
|
||||
|
||||
|
||||
def test_inline_prohibitions_all_carry_reask_exception():
|
||||
"""三轮修复防第四次漏: conversation.py 三处内联禁令运行时文本(app分支/
|
||||
confirmed块/边界分支)都必须带回显确认例外——号码确认是对"缺国家代码"的
|
||||
补全动作,只豁免缺失渠道的禁令会压制它(生产验收两轮复发的根因);
|
||||
"""三轮修复防第四次漏: 三处内联禁令运行时文本(app分支/confirmed块/
|
||||
边界分支)都必须带回显确认例外——号码确认是对"缺国家代码"的补全动作,
|
||||
只豁免缺失渠道的禁令会压制它(生产验收两轮复发的根因);
|
||||
Task 4(spec §4b-3)例外从"可请客户重发完整号一次"收敛为回显语义
|
||||
(防同场竞争降低首过命中率)。"""
|
||||
with open("app/engine/services/conversation.py", encoding="utf-8") as f:
|
||||
src = f.read()
|
||||
(防同场竞争降低首过命中率)。
|
||||
锚点迁移(Task 4 词表数据化): 三处禁令已从 conversation.py 源码搬入
|
||||
seed_profiles/jiancai/wall.json 的 reminders 字段——断言对象改为该
|
||||
数据文件,断言语义保持等价(同样的禁令字符串与回显例外必须存在于
|
||||
wall 数据中,且例外与禁令同串就近在场)。"""
|
||||
wall_path = (Path(__file__).resolve().parents[1]
|
||||
/ "seed_profiles" / "jiancai" / "wall.json")
|
||||
src = json.dumps(
|
||||
json.loads(wall_path.read_text(encoding="utf-8")), ensure_ascii=False)
|
||||
assert src.count("回显补全后的完整号码") >= 3
|
||||
anchors = [
|
||||
"也绝对禁止再索要客户已提供过", # contact_note app+已留资分支
|
||||
|
||||
Reference in New Issue
Block a user