# 04 — 迁移账号、角色与权限敏感操作到统一审计

**What to build:** 账号、角色和权限敏感操作通过统一 Audit Writer 记录操作者、动作、目标资源、结果、风险和前后变化。关键成功审计与业务修改同事务，拒绝和失败审计可可靠保留，这些入口不再调用旧账号审计 Writer。

**Blocked by:** 01 — 交付不可变 Audit Event 写入闭环

**Status:** ready-for-agent

**架构通道:** 主通道为简单写 Application，辅助通道为旧 MVC Adapter。

**完整业务边界:** 本票收口现有账号、角色和权限敏感写入口的统一审计接入。明确不重构整个账号模块，不迁移无关读取，不删除或回填旧账号历史表。

- [ ] 账号创建、修改、启停、删除、角色分配及权限变更使用注册动作和统一资源类型，成功、拒绝和失败语义明确。
- [ ] 账号角色或权限关键成功事件与业务事实使用同一 GORM 事务；审计失败时业务修改回滚。
- [ ] 权限拒绝与业务失败通过独立短事务记录，不向客户端泄露底层错误或资源是否存在。
- [ ] 事件包含操作者与入口快照、请求/关联标识、变更前后事实和直接受影响资源，敏感字段按统一规则删除或脱敏。
- [ ] 生产装配中的上述入口不再调用旧账号审计 Service，也不直接创建旧账号日志模型；静态检查和真实用例测试可证明该边界。
- [ ] 测试覆盖事务成功、审计失败回滚、拒绝、业务失败、重复请求和数据权限边界，不改变旧历史查询结果。
