feat: 服务层配置接线——email/push/rate_limit/AI凭据/行为开关/映射表/种子键

Task 9: 服务层对全局 settings 的业务引用清零,每个 DEFAULT_CONFIG 组
都有真实消费方。resolve_*_settings(email/push/ai)以空槽回退 env
(平台默认层);contact 行为开关/种子白名单/国名扩表/限流上限经
manager 的 runtime.config 接线。收口: lead_push session_factory 必填、
config.py 死代码清理、PromptProvider frozen、no_contact 视图直取、
AIService wall 参数定型 CompiledWall。403 测试全绿(389+14)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-12 21:37:48 +08:00
parent 8453d3cc56
commit 32b582aac8
15 changed files with 676 additions and 164 deletions
+2 -2
View File
@@ -93,8 +93,8 @@ def build_jiancai_runtime():
只走加载期(config/prompts/compiled_wall 就位),从不 ensure_ready——
engine/session_factory 保持 None: 直连测试自管 async_db(NullPool 跨
循环纪律),manager.session_factory 为 None 时 lead_push_service 回退
模块级兜底,与旧 runtime=None 行为一致。无 engine 即无句柄,无需清理;
循环纪律;Task 9 起 lead_push_service 无模块级 session 兜底,session_factory
由调用方/测试显式传)。无 engine 即无句柄,无需清理;
data_dir 仅占位(只拼 db_path 字符串,无任何 IO——从不 ensure_ready,
不会创建 tenants/ 目录或库文件),模块级缓存单例跨测试复用。
"""