# 一致性审计与修复清单（2026-03-28）

## 已修复 P0

1. `strategy` 绑定/解绑改为事务性写入，失败时不再留下空激活态。
2. `beta_gate` 创建、编辑、激活、回滚统一为单事务切换激活配置；激活语义收敛为“每个 `risk_profile` 最多一个激活配置”。
3. `regime` 阈值配置激活改为事务切换，缓存失效延后到事务提交后；全局最多保留一个激活阈值配置。
4. `account` 注册改为单事务用户落库，失败时回滚 `User/Profile/Portfolio` 及信号触发的默认账户。
5. `prompt` 强制覆盖由删除重建改为原位更新，失败时保留旧模板/链配置。

## 已修复 P1

1. `strategy` 脚本配置序列化逻辑收敛到单一实现，移除基础设施层重复 serializer 定义。
2. `account` 用户创建信号更新为与当前模型一致的幂等初始化逻辑，移除对已删除字段的写入。
3. 新增静态 guardrail，持续检查高风险写路径是否保留事务保护，阻止 `prompt` 回退到 delete-then-create。
4. 为 `beta_gate` / `regime` 补充数据库层条件唯一约束，并通过迁移在落约束前自动清理历史重复激活数据。
5. 清理 `account` / `macro` / `simulated_trading` 历史热路径里会触发 `Architecture Layer Guard` 的直接基础设施导入，并补充回归测试锁定该组失败点。

## 后续继续审计的方向

1. 继续扫描页面写接口中的裸 `except Exception`，优先处理会把失败误报为成功的入口。
2. 将其余配置类“激活切换”逻辑逐步收敛到统一 service/repository 边界。
