# 文档冲突索引(待 Neo 确认 39 条)

> 生成日期:2026-05-04 / 维护者:Wave 0 主线 / 状态:全部 `待 Neo 确认`
>
> **本文是索引**。每条冲突的业务故事卡(关联页面 / 业务背景 / 冲突逻辑 / 业务联系 / 修改影响 / 推荐选项 / 建议判定)在分级 detail 文件中:
>
> - **P0(8 条)** → [`04a-conflicts-P0-detail.md`](04a-conflicts-P0-detail.md) — 详细 35-40 行 / 条
> - **P1(13 条)** → [`04b-conflicts-P1-detail.md`](04b-conflicts-P1-detail.md) — 中等 25-32 行 / 条
> - **P2(13 条)** → [`04c-conflicts-P2-detail.md`](04c-conflicts-P2-detail.md) — 紧凑 20-30 行 / 条

## 一、判定分级标记说明

| 标记 | 含义 | 处理方式 |
|---|---|---|
| **A 过期-改文档** | 代码已被后续 session 修改,文档没跟上 | Wave 5(部署 / 文档收尾)统一修文档 |
| **B 现状对** | 实际是历史决策,代码没动文档对的 | 在本清单标"已确认归档" |
| **C 待补** | 真冲突或缺 SPEC,需要 Neo 决策 | 开 issue,在对应 Wave 同步补 |
| **D Bug** | 实现与设计不一致,需要修代码 | 立 P0/P1 工单,在对应 Wave 修 |

## 二、判定分布(子代理初步建议)

| 优先级 | 总条数 | A 改文档 | B 现状对 | C 待补 | D Bug | 待 Neo 选 |
|---|---|---|---|---|---|---|
| **P0** | 8 | 1 | 0 | 5 | 2 | 0 |
| **P1** | 13 | 2 | 0 | 9 | 2 | 0 |
| **P2** | 13 | - | - | - | - | 13(待 Neo 拍) |
| **合计** | **39** | **≥3** | **≥0** | **≥14** | **≥4** | **≥13** |

> **39 vs 34 主条目数对账**:abc 三份详细文件加起来 34 个主条目,但**全部 39 条冲突点都已收录**。差 5 条因合并:
> - **P1-2** 合并 02a §六-C2 + C17(login 与 apply 跳 mvp 同根原因)→ 少 1 条
> - **P2-13** 合并 02b §五-第 4/5/8/9/10 条(5 个 admin-web UX 小冲突 → P2-13.1~5 子项)→ 少 4 条
> - 合计 **39 - 1 - 4 = 34 主条目**,无冲突点遗漏。

**关键:4 条 D Bug 是真问题,需要在 Wave 1-3 修代码**:
- P0-6 `clearAllTasks` 高危无 sandbox 守卫(admin-web)
- P0-8 `DBViewer POST /db/query` 仅拦截 5 关键词,ALTER/CREATE/GRANT 漏(admin-web)
- P1-3 task-detail 跳转传 task_id 但目标页要 customerId
- P1-4 performance 跳 task-detail 传 customerName 无法定位

## 三、P0 — 8 条快速索引(详见 04a)

| # | 简述 | 子代理建议 | 关联 |
|---|---|---|---|
| [P0-1](04a-conflicts-P0-detail.md#p0-1-spi-默认参数数量-26-vs-27) | SPI 参数数量 26 vs 27 | C 待补(跑 SQL 校验) | ETL / 客户分层 |
| [P0-2](04a-conflicts-P0-detail.md#p0-2-看板财务确认收入与-etlitems_sum口径关系未明示) | confirmed_income vs items_sum 口径 | C 待补(权威规范) | board-finance |
| [P0-3](04a-conflicts-P0-detail.md#p0-3-41-财务看板-5-项-p2-修复是否阻塞-p11-上线) | 4.1 财务看板 5 项 P2 修复是否阻塞 P11 上线 | C 待补(产品决策) | 上线时序 |
| [P0-4](04a-conflicts-P0-detail.md#p0-4-备注星星评分字段名-spec-2-字段-vs-prd-3-字段) | 备注评分 SPEC 2 字段 vs PRD 3 字段 | A 改文档(SPEC 为准) | notes 表 / task-detail |
| [P0-5](04a-conflicts-P0-detail.md#p0-5-dim_staff--dim_staff_ex-是否已建-appv_-rls-视图--fdw-外部表) | dim_staff FDW + RLS 视图是否已建 | C 待补(已部分,FDW 缺) | 用户申请人员匹配 |
| [P0-6](04a-conflicts-P0-detail.md#p0-6-clearalltasks-高危操作无运行模式守卫) | clearAllTasks 无 sandbox 守卫 | **D Bug** | admin-web TriggerJobs |
| [P0-7](04a-conflicts-P0-detail.md#p0-7-runtime-context--虚拟时间无独立-spec) | Runtime Context 无独立 SPEC | C 待补(补一份) | 全局沙箱 |
| [P0-8](04a-conflicts-P0-detail.md#p0-8-dbviewer-post-dbquery-是否仅允许-select前端无校验) | DBViewer 仅拦 5 关键词,DDL 漏 | **D Bug** | admin-web DBViewer |

## 四、P1 — 13 条快速索引(详见 04b)

| # | 简述 | 子代理建议 | 关联 |
|---|---|---|---|
| [P1-1](04b-conflicts-P1-detail.md) | 维客线索表 schema(public vs biz) | C 待补 | DB |
| [P1-2](04b-conflicts-P1-detail.md) | login 跳 mvp vs task-list | A 改文档 | 小程序 |
| [P1-3](04b-conflicts-P1-detail.md) | task-detail 跳转传 detail.id 而非 customerId | **D Bug** | 小程序 |
| [P1-4](04b-conflicts-P1-detail.md) | performance 跳 task-detail 传 customerName | **D Bug** | 小程序 |
| [P1-5](04b-conflicts-P1-detail.md) | board-finance "AI 洞察" cache_type 硬编码 | C 待补 | 小程序 + ai_cache |
| [P1-6](04b-conflicts-P1-detail.md) | AI 触发器双 API 操作同表 | C 待补 | admin-web TriggerManager |
| [P1-7](04b-conflicts-P1-detail.md) | NS1 未覆盖 /api/admin/* | C 待补 | admin-web 全局 |
| [P1-8](04b-conflicts-P1-detail.md) | App4 触发条件 3 种 vs 1 种 | C 待补 | AI App4 |
| [P1-9](04b-conflicts-P1-detail.md) | User_ID 蛇形 vs userId 驼峰 | A 改文档 | AI 传参 |
| [P1-10](04b-conflicts-P1-detail.md) | customer-detail 跳 records vs service-records | C 待补 | 小程序 |
| [P1-11](04b-conflicts-P1-detail.md) | chat 多入口参数语义 | C 待补 | 小程序 chat |
| [P1-12](04b-conflicts-P1-detail.md) | 散客 memberId 取值约定 | C 待补 | 后端契约 |
| [P1-13](04b-conflicts-P1-detail.md) | P5.2-prerequisite-fixes.md 是否缺失 | C 待补(查 git history) | SPEC 体系 |

## 五、P2 — 13 条快速索引(详见 04c)

| # | 简述 | 关联 |
|---|---|---|
| [P2-1](04c-conflicts-P2-detail.md#p2-1-tabbar-是-appjson-写死-3-项还是动态过滤) | tabBar 写死 3 项 vs 动态过滤 | 小程序 app.json |
| [P2-2](04c-conflicts-P2-detail.md#p2-2-维客线索-tag-字段格式) | 维客线索 tag 字段格式 | task-detail |
| [P2-3](04c-conflicts-P2-detail.md#p2-3-维客线索-source-字段格式) | 维客线索 source 字段(字符串 vs 枚举) | task-detail |
| [P2-4](04c-conflicts-P2-detail.md#p2-4-课程类型-class-前缀tag--前缀-vs-业务名) | 课程类型 class 前缀不一致 | performance-records / coach-service-records |
| [P2-5](04c-conflicts-P2-detail.md#p2-5-chatmessage-timestamp-vs-契约-created_at) | ChatMessage timestamp vs created_at | chat |
| [P2-6](04c-conflicts-P2-detail.md#p2-6-chathistoryitem-title-是后端返回还是前端截断) | ChatHistoryItem title 来源 | chat-history |
| [P2-7](04c-conflicts-P2-detail.md#p2-7-board-coach-timelast_6m--sortsv_desc-是否后端拒绝) | board-coach 不兼容组合是否后端拒绝 | board-coach |
| [P2-8](04c-conflicts-P2-detail.md#p2-8-dev-tools-角色列表缺-site_admin--tenant_admin) | dev-tools 角色列表缺 admin 类 | 小程序 dev-tools |
| [P2-9](04c-conflicts-P2-detail.md#p2-9-no-permission-管理员姓名厉超硬编码) | no-permission 管理员姓名"厉超"硬编码 | 小程序 no-permission |
| [P2-10](04c-conflicts-P2-detail.md#p2-10-customer-records-字段-consumption60d-大写-d-pydantic-alias-规范) | consumption60D 大写 D Pydantic alias | customer-records |
| [P2-11](04c-conflicts-P2-detail.md#p2-11-ai-需求-2-表头标-6-个实际-8-个笔误) | AI 需求 2 表头 6 个实际 8 个 | AI 需求文档 |
| [P2-12](04c-conflicts-P2-detail.md#p2-12-admin-web-admintenant-admins-与-tenant-admin-职责边界) | admin-web vs tenant-admin 职责边界 | admin-web TenantAdmins |
| [P2-13](04c-conflicts-P2-detail.md#p2-13-aiprewarm--事件枚举--侧边栏-tab--login-路径--ai-group-展开5-子项) | AIPrewarm + 5 子项合并 | admin-web 5 处 |

## 六、推荐 Neo 拍板顺序

**第一波 — 4 条 D Bug**(必修,影响数据安全 / 业务功能):
- P0-6 / P0-8 / P1-3 / P1-4

**第二波 — 8 条 P0**(影响 Wave 1-5 验证基线):
- P0-1 / P0-2 / P0-3 / P0-4 / P0-5 / P0-7

**第三波 — P1 待补类**(影响功能正确,但可在 Wave 中补):
- P1-1 / P1-5 / P1-6 / P1-7 / P1-8 / P1-10 / P1-11 / P1-12 / P1-13

**第四波 — A 类改文档**(低风险,Wave 5 收口批量修):
- P0-4 / P1-2 / P1-9 + P2 中 A 类几条

**第五波 — P2 全部**(体验级,可放最低优先级):
- P2-1 ~ P2-13(13 条)

## 七、操作建议(本会话不动)

本次只产出索引和详细业务卡,**不动任何代码 / 文档实体**。下一步:

1. Neo 先把 P0/P1 详细卡(`04a` `04b`)读一遍,标自己的判定
2. 标完后:
   - **D Bug 类**(4 条) → 进入 Wave 1-3 修代码
   - **A 改文档类** → 暂存 Wave 5
   - **C 待补类** → 决定是开新 SPEC 还是在 Wave 中补
3. P2 详细卡(`04c`)可以放到最后,Neo 抽空逐条标判定
4. 全部标完后,**进入 Wave 1**(Runtime Context 沙箱)

## 八、来源映射

| 子代理 | 产出 | 详细文件 | 行数 |
|---|---|---|---|
| Wave 0-A 产品全景 | `01-product-overview.md` § 八 | — | 11 条 |
| Wave 0-B 小程序指纹 | `02a-miniprogram-page-matrix.md` § 六 | — | 18 条 |
| Wave 0-C admin-web | `02b-adminweb-page-matrix.md` § 五 | — | 10 条 |
| 主线整合本索引 | `04-doc-conflicts.md` | — | 39 条 |
| 子代理 P0 详细 | `04a-conflicts-P0-detail.md` | 详细业务卡 | 324 行 / 8 条 |
| 子代理 P1 详细 | `04b-conflicts-P1-detail.md` | 详细业务卡 | 380 行 / 13 条 |
| 子代理 P2 详细 | `04c-conflicts-P2-detail.md` | 紧凑业务卡 | 344 行 / 13 条 |
