chore: 清理本地配置并重组文档结构
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# 全项目重要数据落库治理基线
|
||||
|
||||
状态: `active`
|
||||
适用范围: `storage-persistence`
|
||||
最后更新: `2026-02-27`
|
||||
|
||||
## 1. 口径
|
||||
|
||||
- 纳入范围:业务主数据 + 审计数据
|
||||
- 排除范围:纯 UI 偏好、登录态会话、跨标签广播等非业务主数据
|
||||
|
||||
## 2. 自动核查入口
|
||||
|
||||
```bash
|
||||
backend/scripts/storage_persistence_audit.py --format markdown --output docs/audits/storage-persistence-audit.md
|
||||
backend/scripts/storage_persistence_audit.py --fail-on-banned
|
||||
```
|
||||
|
||||
- `docs/audits/storage-persistence-audit.md`:当前扫描快照
|
||||
- `--fail-on-banned`:用于阻断禁止项(当前默认禁止 `audit_local_*`)
|
||||
|
||||
## 3. 当前结论(基于 2026-02-27 扫描)
|
||||
|
||||
- 高风险:4 条(均为 `ProjectDetail` 本地草稿兜底读写)
|
||||
- 中风险:0 条
|
||||
- 低风险:42 条(会话、偏好、工作台本地待办等)
|
||||
|
||||
## 4. 已完成整改
|
||||
|
||||
### 4.1 审计链路
|
||||
|
||||
- 关键管理动作改为后端落库(站点、项目成员)
|
||||
- 审计页改为服务端唯一数据源
|
||||
- 前端本地审计日志通道已下线(不再写 `audit_local_*`)
|
||||
- 审计导出事件改为后端写入审计表
|
||||
|
||||
### 4.2 业务链路
|
||||
|
||||
- 设备管理已接入后端并落库
|
||||
- 项目里程碑编辑保存已改为调用后端接口并落库
|
||||
- 立项配置草稿保留本地兜底,但已增加:
|
||||
- `SYNCED / LOCAL_ONLY / DIRTY_UNSAVED` 状态识别
|
||||
- 本地草稿恢复确认(含过期/冲突提示)
|
||||
- 发布前 `LOCAL_ONLY` 阻断
|
||||
- 保存失败重试与成功后自动清理本地草稿
|
||||
- 发布比对签名已改为后端返回的 `published_project_snapshot`,不再依赖 localStorage
|
||||
|
||||
### 4.3 门禁与流程
|
||||
|
||||
- 已新增 CI 工作流:`.github/workflows/storage-persistence-guard.yml`
|
||||
- PR / push 到主干时会执行 `storage_persistence_audit.py --fail-on-banned`
|
||||
|
||||
## 5. 剩余优化项(可选)
|
||||
|
||||
1. 将“高风险清单”阈值从固定 key 规则升级为白名单机制(白名单外一律告警)。
|
||||
2. 评估是否把 `ProjectDetail` 本地草稿从 localStorage 迁移为后端草稿(可选能力,非当前口径强制项)。
|
||||
Reference in New Issue
Block a user