test: 钉住 deep_merge 的 None 替换与列表替换语义 + 只读约定注释

- characterization:显式 None 整体替换且兄弟键保留默认(Task 9 回退契约依赖);列表整体替换不与默认拼接
- DEFAULT_CONFIG 与 TenantConfig.data/Site.brand 补只读约定注释
- platform 包依赖章程改明确:defaults/tenant_config 为叶子模块供 engine 反向消费,registry 组装层可 import app/engine

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-12 16:59:31 +08:00
parent 89339868db
commit 8a16a2959b
4 changed files with 27 additions and 4 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
"""出厂默认配置。结构 = spec §5.1 的 9 个配置组。
本阶段 brand/wall 的默认值由 Task 4 从 jc 代码提取填充。"""
本阶段 brand/wall 的默认值由 Task 4 从 jc 代码提取填充。
只读约定:消费者不得修改本 dict,需要定制走 deep_merge 拷贝。"""
import copy
DEFAULT_CONFIG: dict = {