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
+4 -3
View File
@@ -60,15 +60,16 @@ def _setup(async_db, monkeypatch, source=ConversationSource.widget, ai=None):
sent = []
async def fake_lead(customer_profile, contact_info, reasoning,
conversation_messages, intent_level="", cc_info=None):
conversation_messages, intent_level="", cc_info=None,
config_data=None):
sent.append(("lead", dict(contact_info), intent_level))
return True
async def fake_nudge(contact_info, cc_info=None):
async def fake_nudge(contact_info, cc_info=None, config_data=None):
sent.append(("nudge", dict(contact_info), ""))
return True
async def fake_fix(contact_info, count=1, cc_info=None):
async def fake_fix(contact_info, count=1, cc_info=None, config_data=None):
sent.append(("fix", dict(contact_info), ""))
return True