背景:A3 需把行业 / 客户 / 客户组 / 客户级字段立为资产根节点;用户确认两级行业树与混搭 UI(行业 B / 客户列表 A / 详情 A / 新建 B / 客户组 B / 字段 A)。 改动: - 新增 ADR-002,行业改为两级树,客户挂末级行业;同步 PRD / 技术架构 / 开发计划。 - 新增 client 模块:industries / customers / customer-groups / customer-fields 接口、真实 PrismaCustomerDirectory、客户状态机与客户转交、客户组数据范围解析、跨客户 404。 - 新增迁移与幂等种子(电商/金融两级行业、2 客户、1 客户组、4 条字段)。 - 前端新增行业/客户/客户组/字段审批页面与路由、导航更名(客户管理 / 行业管理 / 客户组),复用现有 token。 - 补充 shared 契约单测、client 集成用例、A3 浏览器 e2e。 影响面:client 模块与 client 表、shared 契约、web 路由/导航、ScopeContext 数据范围、OpenAPI 与种子;A1 客户转交占位由 client 实现替换。 回滚:回滚本提交;数据库保留新增表或按报告执行 down SQL;CUSTOMER_DIRECTORY 可切回空集实现。 验证:format:check / lint / typecheck / test 全绿(shared 131 / api 90 / web 125,共 346);test:int 5 文件 39 条;A3 e2e 1/1;build 8/8;真实浏览器六页验证通过。
ADR 索引
架构决策记录(Architecture Decision Record)。格式:
ADR-xxx-标题.md,编号连续不复用。 一个 ADR 只记录一个决策及其后果;被推翻时保留原文并标「已废弃 / 被 ADR-xxx 取代」。
| 编号 | 决策 | 状态 | 日期 | 关联 |
|---|---|---|---|---|
| ADR-001 | 角色权限模型:权限点目录保留 read/write 只增不改、特殊权限五项 6 编码、SoD 三对互斥、六类数据范围全链路 + CustomerDirectory 端口、超管隐式全集、A2 审计先结构化日志 |
已接受 | 2026-11-03 | A2 / A3 / DP-14 |
| ADR-002 | 行业目录由单层改为两级树(一级 → 二级),客户挂末级行业,一级全局唯一 / 二级同父唯一,只停用 + 引用保护,「行业二级」从 A4 字典移除 | 已接受 | 2026-11-03 | A3 / A4 / B0 |
新增流程
- 复制
ADR-001的章节结构:背景 → 决策 → 后果 → 待办 / 回写。 - 编号取当前最大值 +1,文件名用中文短标题。
- 涉及多模块或权限 / 数据口径的决策,须在开发计划的对应 H 门确认后记录。
- 更新本索引与根
README.md文档索引。