# 02 线索规则接口归属裁决 Type: grilling Status: resolved Blocked by: (无) ## Question `LeadPoolController`(tag「线索管理/线索设置」,即线索公海池配置等规则接口)的一级目录归 **A2 线索管理** 还是 **A7 后台管理**? 背景与张力: - v29 原型**同时存在两页**:`A2 线索管理/A2-1 线索/A2-1-5 线索设置`(用户侧入口)与 `A7 后台管理/A7-3 业务规则/A7-3-1 线索规则`(管理侧入口)。 - ADR-0024 决策 1 曾按 A2-1-5 对齐命名(「线索规则-公海池配置」改名「线索管理/线索设置」)——当时依据 v20。 - 本轮 charting 已裁决:**商机规则跟随 v29 归 A7**(对称先例)。若线索侧不跟随,A2 与 A7 之间出现不对称:商机规则在 A7、线索规则在 A2。 - 两页是否消费同一组接口尚未核实。本地已有两页全文可对照:`.scratch/lanhu-text/a2-1-5____.txt`、`.scratch/lanhu-text/a7-3-1_线索规则.txt`。 裁决前先对照两页文本确认功能差异(用户个人设置入口 vs 管理员规则配置是否同接口),再决定一级归属;二级名「线索设置」不变。 ## Answer **裁决:A2 线索管理与 A7 后台管理两个一级目录都放**(用户 2026-08-31 落锤)。 ### 证据链(裁决前调研,2026-08-31) 1. **两页同源**:A7-3-1「线索规则」页面包屑为「线索 > 线索设置」,8 条公海池示例数据与 A2-1-5 **逐字相同**,单页无子结构——它只是后台入口的引用副本,两页消费同一组接口。 2. **功能页真实在 A2**:v29 的 A2-1-5 完整存在(列表 + 新增/编辑弹窗「公海池 / 其他设置」两 Tab + 完整需求文档),用户侧左侧菜单「线索设置」可达;权限分层(销售无入口 / 部门负责人受限 / 超管全权)在此页定义。A2-1-5 全部功能就是公海池配置,无其他规则功能块。 3. **商机侧不对称有正当理由**:A7-3-2 商机规则是 10 页**独立功能组**(v29 已把 A3-4 商机管理设置整体迁走,后台是唯一入口);线索设置页 A2 真实存在、A7-3-1 只是副本。「对称性」应按功能页在哪判断,而非按 A7-3 分区里出现了什么。 4. **接口唯一持有者**:全仓仅 `LeadPoolController`(crm-rule 模块,`/api/rule/pool/*` 共 5 接口:page / detail / saveOrUpdate / delete / delete-batch)挂 tag「线索管理/线索设置」,正好覆盖 A2-1-5 全部功能。 5. **ADR-0024 决策 1 先例**:当时按 A2-1-5 命名「线索管理/线索设置」,与本裁决方向一致。 ### 落地形态(供映射表 / 执行票消费) - **`A2 线索管理/线索设置/`**:主本(tag「线索管理/线索设置」现有二级名不变)。 - **`A7 后台管理/线索规则/`**:副本。二级名「线索规则」为推荐默认——对齐原型 A7-3-1 页名,与已裁决的「A7 后台管理/商机规则」命名对称;属新增目录,不违反「二级不动」(该原则只约束现有目录)。执行票落地时用户仍可调整此名。 - **同步纪律**:两份必须由 gen_bruno.py 从同一 tag 幂等生成,禁止手改单侧。 ### 对其他票的影响 - **一级目录改造机制选型**:新增强约束——机制需支持单 tag 输出到多个一级目录;「tags 加 A 前缀」方案(tag 单值)天然不支持,「生成器映射表」方案天然支持(tag → 目录列表)。 - **蓝湖一级目录树冻结与全量接口映射表**:LeadPoolController 的目标一级目录为 A2 + A7 双归属,映射表需表达多值目标。 - **文档仓重排执行落地**:A7 分区索引 README 中线索规则不再是纯引用说明,而是实际接口副本。