docs: 入库权威文档目录(客服agent/ 24 份 + 开发文档/ 50 份,替换旧命名的过期副本)
## 为什么做这一步 权威文档 74 份此前**只在本机**,评审者 clone 分支后看不到任何设计文档;而仓库里那两份同名目录 是 **2026-09-16 之前的过期副本,连文件名都是旧的**(无体系编号)。本次按「**权威覆盖过期**」入库。 ## 入库内容 | 目录 | 文件数 | 体积 | 说明 | |---|---|---|---| | `客服agent/` | 24 | 0.77 MB | `D2.1`~`D2.6` 对外交付四件套 + 演示脚本/答辩报告 + `_build` 构建工具 | | `开发文档/` | 50 | 2.16 MB | `D1.x` 索引与决策、`D3.x` 方案、`D4.x` 清除与重构留痕、`D5.x` 业务流程、`D6.x` 业务事实基座、`D7.x` 交付物、`D8.x` 规范 | **旧的过期副本整体移除**(`客服Agent执行Todolist.md` → `D2.1-客服Agent执行Todolist.md` 之类 的改名 + 新增 `D2.5`/`D2.6`),入库后目录内容与权威副本**逐文件一致(零差异,已复核)**。 ## 入库前的安全扫描(必须留痕) - 扫描规则:`sk-` 类密钥 / `Bearer` 长串 / `password=`、`api_key=` 赋值 / 会话中出现过的两把明文 key 片段。 - 结论:**真实密钥只出现在 `.env`**(已被 `.gitignore` 命中,未入库);`.env.example` 与 `config/risk.env.example` 只有**空占位**。 - 文档内唯一命中是 `D3.1` 里一处**截断的示例 JWT**(`Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`), 末尾带省略号,是接口文档的示意值,**不是可用凭据**。
This commit is contained in:
@@ -0,0 +1,713 @@
|
||||
# D1.1 · 文档索引与权威声明
|
||||
|
||||
> **体系编号**:`D1.1` · 域:一、治理与索引 · 编号体系见 `D1.1` §4.0
|
||||
|
||||
> **编号**:CS-DOC-2026-017 | **版本**:v1.4 | **日期**:2026-09-17 | **状态**:**现行(活文档,随文档区变动同步更新)**
|
||||
> **性质**:本文件是 `开发文档\` 的**唯一入口**。任何人(含三个月后的自己)打开这一份,就应知道:先读什么、哪份为准、每份什么状态。
|
||||
> **盘点范围**:`开发文档\`(**50 个文件** = 49 份编号文档 + 1 份入口存根 `CLAUDE.md`,无归档子目录)+ `客服agent\`(**6 份**对外交付文档)。
|
||||
|
||||
---
|
||||
|
||||
## 0. 一句话结论
|
||||
|
||||
**56 份文档(55 份编号 + 1 份不占编号的入口存根 `CLAUDE.md`)已按 8 个域统一编号为 `D<域>.<序>`(规则见 §4.0,层级见 §3)。开工只读 5 份 = `D2.1` / `D2.2` / `D2.3` / `D2.4` / `D3.3`(见 §2)。**
|
||||
|
||||
| 域 | 名称 | 份数 | 定位 |
|
||||
|---|---|---|---|
|
||||
| **D1** | 一、治理与索引 | 6 | 先读 `D1.1`(本文件)——编号体系、权威链、开工只读集 |
|
||||
| **D2** | 二、对外交付 | 6 | 🔴 **开工必读**(A1—A4;另含 `D2.5` 演示脚本、`D2.6` 答辩报告) |
|
||||
| **D3** | 三、现行权威·完整版与专项 | 7 | 查证据、查 FR 推导过程(含 A5 鉴权专项 `D3.3`;检索升级 `D3.5`;架构 `D3.6`;**评测金标 `D3.7`**) |
|
||||
| **D4** | 四、清除与重建留痕 | 6 | 追溯「删了什么、怎么恢复」;`D4.1` 即**重建指南**,`D4.6` 为验收基线留痕 |
|
||||
| **D5** | 五、业务流程基线 | 1 | 两条业务线 / 三条红线 / 演示跑通验收 |
|
||||
| **D6** | 六、公司事实与知识源 | 17 | 🔴 改写知识库、核对数据口径 |
|
||||
| **D7** | 七、早期系统文档 | 5 | 状态待确认;仅在追查历史口径时读(**不可删**,见 §10) |
|
||||
| **D8** | 八、AI 协作规则 | 8 | 让 AI 接手时的规则文件(含 1 份**不占编号**的入口存根 `CLAUDE.md`) |
|
||||
|
||||
> 🔑 **编号三处必须一致**:① 索引 §4.0 总表;② 文档标题正下方(体系编号行);③ 文件名前缀(`<编号>-<描述名>`)。**唯一例外 `CLAUDE.md`**(规则见 §5 R7;迁移记录见 §11)。🔁 **2026-09-19 起**:语言规范正文已独立成文 `D8.1-项目语言规范.md`,`CLAUDE.md` 收缩为**三行入口存根**(见 §4.7 与 §20)。
|
||||
|
||||
> 🔑 **`客服agent\` 与 `开发文档\` 是「收敛版 vs 完整版」关系,不是分叉。**
|
||||
> `客服agent\` 的 6 份是**对外交付 + 唯一开工入口**;`开发文档\` 内的同名旧版是**取证底稿**(含被收敛掉的备选方案与逐条证据)。
|
||||
> 两者若冲突,**一律以 `客服agent\` 为准**。
|
||||
|
||||
---
|
||||
|
||||
## 1. 权威链与更新顺序
|
||||
|
||||
```
|
||||
对外交付(客服agent\) 配套完整版 / 前身(开发文档\)
|
||||
────────────────────────────────── ─────────────────────────────────────
|
||||
A1 [D2.1] D2.1-客服Agent执行Todolist.md v5.3 ←→ [D3.4] D3.4-客服Agent重构Todolist.md v5.1
|
||||
A2 [D2.2] D2.2-客服Agent需求文档.html v2.5 ←→ [D3.1] D3.1-客服Agent需求开发文档与设计方案.html v2.4
|
||||
A3 [D2.3] D2.3-客服Agent开发计划.html v1.1 ←→ (无旧版)
|
||||
A4 [D2.4] D2.4-客服Agent知识库设计方案.html v1.3 ←→ [D3.2] D3.2-知识库设计方案.html v1.2
|
||||
A5 [D3.3] 访客与角色分离的鉴权方案建议(仅此一份,无新旧之别)
|
||||
```
|
||||
|
||||
**更新顺序(改需求必须先动上游)**:
|
||||
|
||||
```
|
||||
① 需求文档(A2) → ② Todolist(A1) → ③ 开发计划(A3) → ④ 知识库设计方案(A4)
|
||||
↓
|
||||
⑤ 知识源(开发文档\公司信息|公司业务|金融政策|用户研判规则)
|
||||
```
|
||||
|
||||
> ⚠️ **不要反向改**:先改 Todolist 再回头改需求,会让 A1/A2 的 FR 编号错位(A2 的 **FR-CS-001~052** 是全项目编号源;v2.5 起新增域 H 的 `FR-CS-049`~`052`)。
|
||||
|
||||
---
|
||||
|
||||
## 2. 🔴 开工只读这 5 份
|
||||
|
||||
| # | 体系编号 | 文档 | 版本 | 作用 |
|
||||
|---|---|---|---|---|
|
||||
| **A1** | **D2.1** | `客服agent\D2.1-客服Agent执行Todolist.md` | **v5.3** | **唯一开工入口**。**57 项 / 8 批次(A—H)** / 12 步关键路径 / 2 组会签 / **完工判据 13 条**。**新增批次 H · 智能增强**(`H-01`~`H-06`) |
|
||||
| **A2** | **D2.2** | `客服agent\D2.2-客服Agent需求文档.html` | **v2.5** | 对外需求:**FR-CS-001~052**(52 条,新增域 H)+ NFR-CS-001~021 全量、身份与鉴权模型、验收标准(**新增 AC-13 金标门禁**) |
|
||||
| **A3** | **D2.3** | `客服agent\D2.3-客服Agent开发计划.html` | **v1.1** | 前置条件、测试环境就位(G-00)、会签流程、门禁、交付物、**批次 H(§3.4b)** |
|
||||
| **A4** | **D2.4** | `客服agent\D2.4-客服Agent知识库设计方案.html` | **v1.3** | 三集合 / 三档可见性 / **集合内分区隔离(§7.2.1)** / 8 模块 / 7 步入库 8 步检索 / 8 项决策 / **附录F 五出口对接** |
|
||||
| **A5** | **D3.3** | `开发文档\D3.3-访客与角色分离的鉴权方案建议-2026-09-16.md` | CS-AUTH-2026-011 | 鉴权专项:四方案对比、三条不变量、甲乙时序 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 文档层级与编号域
|
||||
|
||||
### 3.1 三层结构
|
||||
|
||||
```
|
||||
第 0 层 唯一入口 D1.1 D1.1-文档索引与权威声明.md
|
||||
第 1 层 域(8 个) D1 ─ D8
|
||||
第 2 层 子域(仅域 6 有) D6.1 ─ D6.5
|
||||
第 3 层 文档(56 份) D<域>.<序> / D<域>.<子域>.<序>
|
||||
```
|
||||
|
||||
### 3.2 八个域(=逻辑顺序=阅读优先级)
|
||||
|
||||
| 域 | 域名称 | 份数 | 状态 | 什么时候读 |
|
||||
|---|---|---|---|---|
|
||||
| **D1** | 一、治理与索引 | 6 | 现行 | **先读 D1.1**(唯一入口,本文件) |
|
||||
| **D2** | 二、对外交付 | 6 | 现行 | 🔴 **开工必读**(含「开工只读 5 份」的 4 份) |
|
||||
| **D3** | 三、现行权威·完整版与专项 | 7 | 现行 | 查证据、查 FR 推导过程时读 |
|
||||
| **D4** | 四、清除与重建留痕 | 6 | 已完成 | 追溯「删了什么、怎么恢复」时读(D4.1 是重建指南) |
|
||||
| **D5** | 五、业务流程基线 | 1 | 现行 | 核对业务范围与三条红线时读(**冲突时以它为准**) |
|
||||
| **D6** | 六、公司事实与知识源 | 17 | 现行 | 🔴 改写知识库、核对数据口径时读 |
|
||||
| **D7** | 七、早期系统文档 | 5 | **待确认** | 只在追查历史口径时读;已被上游依据表引用,**不可删**(见 §10) |
|
||||
| **D8** | 八、AI 协作规则 | 8 | 现行 | 让 AI 接手时的规则文件(`D8.1`=语言规范正文;`CLAUDE.md`=入口存根,不占编号) |
|
||||
|
||||
> 合计:6 + 6 + 7 + 6 + 1 + 17 + 5 + **8** = **56 份**(其中 `客服agent\` 的 6 份不计入 `开发文档\` 的 50 个文件;域 D8 的 8 份含 1 份**不占编号**的入口存根 `CLAUDE.md`)。
|
||||
|
||||
---
|
||||
|
||||
## 4. 全量文档清单
|
||||
|
||||
> **本节结构**:**§4.0 = 编号规则 + 全量编号总表(56 份,按编号顺序)——查找入口**;§4.1—§4.8 = 按类别展开的明细表(编号见 §4.0 总表,同一逻辑顺序)。
|
||||
|
||||
### 4.0 编号规则与全量编号总表(56 份)
|
||||
|
||||
**编号规则**
|
||||
|
||||
| 项 | 规则 |
|
||||
|---|---|
|
||||
| **格式** | `D<域>.<序>`;域 6(公司事实与知识源)向下再一级 → `D<域>.<子域>.<序>` |
|
||||
| **域号定义** | 1 治理与索引 · 2 对外交付 · 3 现行权威·完整版与专项 · 4 清除与重建留痕 · 5 业务流程基线 · 6 公司事实与知识源 · 7 早期系统文档 · 8 AI 协作规则 |
|
||||
| **排序语义** | 编号 = **逻辑顺序 = 阅读优先级**。跨域 D1→D8:「治理 → 交付 → 权威 → 留痕 → 基线 → 知识源 → 旧版 → 协作规则」;域内按「入口 → 参考 → 留痕」排 |
|
||||
| **三处一致** | 同一个编号必须同时出现在:① **本节总表**(目录);② **文档标题正下方**(`.md` 引用块 / `.html` 状态条 / 交付文档 `doc-meta` 行);③ **新写的交叉引用**(见 §9 第 5 条) |
|
||||
| **文件名格式** | **`<编号>-<描述名>.<扩展名>`**(编号**进**文件名):域号即用途、按编号排序即逻辑顺序,**看见文件名就知道它干什么**。唯一例外 `CLAUDE.md`(AI 工具按固定名读取规则文件)。⚠️ **`group_fqcd_jr\knowledge\**` 的镜像副本不改名**——其文件名被入库脚本 `tools/build_knowledge_chunks.py` 的 `SOURCES` 字典直接引用,改名会打断代码侧 |
|
||||
| **`.txt` 例外** | 3 个纯数据件(`D6.1.3-南方基金-高频问答对.txt`、`D6.4.4-用户信息数据示例.txt`、`ai\D8.2-README.txt`)**不注入编号行**——知识库导入要求「1 行 1 制表符」,加行即破坏格式;其编号由同名 `.md` 与本总表承载 |
|
||||
| **注入脚本** | `.workbuddy\_inject_docno.py`(**幂等**:判据为文件是否已含「体系编号」,可重复执行) |
|
||||
|
||||
**全量编号总表(按编号 = 逻辑顺序排列)**
|
||||
|
||||
| 编号 | 文档 | 版本 / 既有编号 | 状态 | 定位 · 何时读 |
|
||||
|---|---|---|---|---|
|
||||
| **D1.1** | `开发文档\D1.1-文档索引与权威声明.md` | CS-DOC-2026-017 v1.2 | 现行 | 🔴 **唯一入口**:权威链、编号体系、开工只读集 |
|
||||
| **D1.2** | `开发文档\D1.2-南方基金业务事实基座与虚构数据规范-2026-09-17.md` | CS-CONTENT-2026-015 **v1.1** | 现行 | 🔴 **内容口径唯一权威**:三分法 / C—R 矩阵 / 品牌映射 |
|
||||
| **D1.3** | `开发文档\D1.3-文档规整方案与开发前待决事项-2026-09-17.md` | CS-DOC-2026-014 | 现行 | 规整方案 + 待决 E-1~E-4 + 四轮执行记录 |
|
||||
| **D1.4** | `开发文档\D1.4-知识源与品牌整改变更说明-2026-09-17.md` | CS-CONTENT-2026-016 | 现行 | 逐份变更说明(§3.1—§3.9 改写映射 + G-01~G-09) |
|
||||
| **D1.5** | `开发文档\D1.5-开发前决策清单与阻塞项-2026-09-17.md` | CS-DOC-2026-018 v1.0 | 现行 | 🔴 **开工前唯一决策登记册**:28 项待你拍板 + 阻塞分级(P0 12 / P1 10 / P2 6)+ 需你提供的 7 项输入;§7 为回填表(增补项见 `D1.6` §4.3) |
|
||||
| **D1.6** | `开发文档\D1.6-对话上下文提取与开工前补充决策-2026-09-17.md` | CS-DOC-2026-019 v1.0 | 现行 | 🔴 **本轮会话上下文提取件**:已读清单与权威链校正 / 可复用事实(含实测)/ 旧实现 **7 条转人工通路** / 文档缺陷 `Q-1.1`~`Q-1.6` / 前提风险 `K-01`~`K-08` / 待拍板 `N-01`~`N-09` |
|
||||
| **D2.1** | `客服agent\D2.1-客服Agent执行Todolist.md` | **v5.3** | 现行 | 🔴 **唯一开工入口**:**57 项 / 8 批次** / 12 步关键路径 / **批次 H 智能增强** |
|
||||
| **D2.2** | `客服agent\D2.2-客服Agent需求文档.html` | **v2.5** | 现行 | 🔴 对外需求:**FR-CS-001~052** + NFR-CS-001~021 |
|
||||
| **D2.3** | `客服agent\D2.3-客服Agent开发计划.html` | **v1.1** | 现行 | 🔴 前置条件 / 批次 / 会签 / 门禁 / 交付物 |
|
||||
| **D2.4** | `客服agent\D2.4-客服Agent知识库设计方案.html` | **v1.3** | 现行 | 🔴 三集合 / 三档可见性 / **分区隔离** / 7 步入库 8 步检索 / **附录F** |
|
||||
| **D2.5** | `客服agent\D2.5-客服Agent演示脚本与账号速查-2026-09-19.md` | `F-03`+`F-04`+`A-05` | 现行 | 🔴 **演示当天照着念**:五项自检 / 账号速查(实测可登录)/ 游客线 5 条 + 客服线 6 组台词(带**实测答复**)/ 排障表 / 对「不智能」的正面回答 |
|
||||
| **D2.6** | `客服agent\D2.6-客服Agent答辩报告-2026-09-19.md` | 2026-09-19 | 现行 | 🔴 **答辩主文档**:批评 → 根因(2 个出口 / 10 处失败方向全指向转人工)→ 五出口 `E1`—`E5` → `INV-1`~`INV-5` → 金标 11 项**修复前 → 修复后**对比 → 零容忍词挂载点口径 → 坑与教训 → 诚实未做项 → 现场速答 |
|
||||
| **D3.1** | `开发文档\D3.1-客服Agent需求开发文档与设计方案.html` | **v2.4** | 现行 | D2.2 的**完整版**:逐条需求带证据引用与推导过程 |
|
||||
| **D3.2** | `开发文档\D3.2-知识库设计方案.html` | **v1.2** | 现行 | D2.4 的**完整版**:含被收敛掉的备选方案与否决理由 |
|
||||
| **D3.3** | `开发文档\D3.3-访客与角色分离的鉴权方案建议-2026-09-16.md` | CS-AUTH-2026-011 | 现行 | 🔴 鉴权专项(=开工只读 5 份之 A5):四方案 / 三不变量 / 甲乙时序 |
|
||||
| **D3.4** | `开发文档\D3.4-客服Agent重构Todolist.md` | v5.1 | 底稿 | D2.1 的前身(含更细的 DoD 描述) |
|
||||
| **D3.5** | `开发文档\D3.5-知识库检索升级备选方案建议-2026-09-17.md` | CS-KB-2026-020 v1.0 | 现行 | 知识库检索升级**备选方案池**(**不是**任务来源):`K-01`~`K-08` 前提风险 / `§3-A`~`§3-H` 八个升级方向 / 与 `DEC-11` 耦合的推荐组合 / 对 `D2.4`·`D2.1` 的 10 条修订建议 / 可证伪验收判据 |
|
||||
| **D3.6** | `开发文档\D3.6-客服Agent智能增强架构建议-2026-09-17.md` | CS-ARCH-2026-021 **v1.1** | 现行 | 🔴 **智能增强架构(**已裁定件**)**:诊断(10 条转人工通路 / 设计有澄清与生成但未实现)/ 「智能」7 条可验收定义 / **五出口决策链** E1—E5 / 安全不变量 `INV-1`~`INV-5` / 转人工白名单 4 类 / **§9 八项决策已拍板** |
|
||||
| **D3.7** | `开发文档\D3.7-客服Agent评测金标集与判分规则-2026-09-17.md` | CS-EVAL-2026-022 v1.0 | 现行 | 🔴 **验收依据**:46 条金标(含四要素:期望出口 / 期望证据 / 期望关键事实 / 禁止出现)+ 10 项指标 + **4 项零容忍**(禁忌·越权·无出处数字·误拒)+ 前置阻塞 `B-1`~`B-4` + 问法分级(难例 32 条) |
|
||||
| **D4.1** | `开发文档\D4.1-客服Agent重构报告-2026-09-16.md` | CS-REFACTOR-2026-010 | 底稿 | 🔴 **重建指南**:清除了什么 / 缺什么 / 按什么顺序装回去 |
|
||||
| **D4.2** | `开发文档\D4.2-客服模块清除影响面清单.md` | CS-PURGE-2026-007 | 已完成 | 客服形态A 清除的影响面 |
|
||||
| **D4.3** | `开发文档\D4.3-客服模块清除执行报告-2026-09-16.md` | CS-PURGE-2026-008 | 已完成 | 客服清除验证数据 + **安全能力损失清单**(重建须补回) |
|
||||
| **D4.4** | `开发文档\D4.4-投顾模块清除范围与影响面清单-2026-09-17.md` | CS-PURGE-2026-012 | 已完成 | 投顾清除范围 |
|
||||
| **D4.5** | `开发文档\D4.5-投顾模块清除执行报告-2026-09-17.md` | CS-PURGE-2026-013 | 已完成 | 投顾清除验证数据 + 恢复方式 |
|
||||
| **D4.6** | `开发文档\D4.6-客服Agent一期合规红队与业务评测集-留痕-2026-09-18.md` | CS-DOC-2026-020 v1.0 | 留痕 | 🔴 **验收基线**:一期红队 `RT-001`~`018` 原文 + `C-06` 实测回填;`A-01`/`C-06`/`C-07` 的唯一对比基准 |
|
||||
| **D5.1** | `开发文档\D5.1-业务流程-MVP版-最终交付-2026-09-15.md` | — | 现行 | 🔴 MVP 业务基线:两条业务线 / 三条红线 / 演示跑通验收(**冲突时以它为准**) |
|
||||
| **D6.1.1** | `开发文档\公司信息\D6.1.1-南方基金-企业信息.md` | **V2.0** | 现行 | 🔴 **母本**:品牌 / 工商 / 资质 / 组织 / 财务的唯一权威 |
|
||||
| **D6.1.2** | `开发文档\公司信息\D6.1.2-南方基金-高频问答对.md` | NF-FAQ-2026-001 **V2.0** | 现行 | 64 组 FAQ(档位 public 54 / registered 10) |
|
||||
| **D6.1.3** | `开发文档\公司信息\D6.1.3-南方基金-高频问答对.txt` | 同上 | 现行 | 知识库批量导入用(制表符两列,**64 行 × 1 tab**)〔.txt 例外:无编号行〕 |
|
||||
| **D6.1.4** | `开发文档\公司信息\D6.1.4-公司新人指南.md` | **V4.0** | 现行 | 员工视角公司介绍(是否入库见待决 C-01) |
|
||||
| **D6.2.1** | `开发文档\公司业务\D6.2.1-个人理财产品手册.md` | **V3.0** | 现行 | 公募基金与专户产品手册(6 只〔示例〕产品,代码 9005xx) |
|
||||
| **D6.2.2** | `开发文档\公司业务\D6.2.2-企业金融服务方案.md` | **V3.0** | 现行 | 机构客户服务方案(原「企业金融服务方案」) |
|
||||
| **D6.2.3** | `开发文档\公司业务\D6.2.3-高净值客户服务规范.md` | **V3.0** | 现行 | 尊享 / 私人财富顾问服务规范 |
|
||||
| **D6.3.1** | `开发文档\金融政策\D6.3.1-理财产品销售管理办法.md` | **V4.0**(JR-SPM-2026-003) | 现行 | 销售管理制度(监管依据已改为基金口径) |
|
||||
| **D6.3.2** | `开发文档\金融政策\D6.3.2-个人投资者适当性管理指南.md` | — | 现行 | 双录 / 冷静期 / 专业投资者 / C—R 匹配 |
|
||||
| **D6.3.3** | `开发文档\金融政策\D6.3.3-反洗钱合规操作手册.md` | — | 现行 | 客户身份识别 / 大额与可疑交易(**不入客服知识库**) |
|
||||
| **D6.4.1** | `开发文档\用户研判规则\D6.4.1-投资者风险画像研判规则.md` | — | 现行 | 画像标签体系与 FM 规则 |
|
||||
| **D6.4.2** | `开发文档\用户研判规则\D6.4.2-反洗钱可疑交易识别规则.md` | — | 现行 | 可疑交易特征规则 |
|
||||
| **D6.4.3** | `开发文档\用户研判规则\D6.4.3-用户信息数据示例.md` | NF-DATA-2026-001 **V2.0** | 现行 | 五类客户画像样本(**入库禁区**) |
|
||||
| **D6.4.4** | `开发文档\用户研判规则\D6.4.4-用户信息数据示例.txt` | 同上 | 现行 | 纯文本摘要版(**入库禁区**)〔.txt 例外〕 |
|
||||
| **D6.5.1** | `开发文档\公司业务\用户测试数据\D6.5.1-客户A-高净值.md` | NF-TEST-2026-001 **V2.0** | 现行 | `customer` / C4 进取型 / 钻石-专户链路(**入库禁区**) |
|
||||
| **D6.5.2** | `开发文档\公司业务\用户测试数据\D6.5.2-客户B-普通投资者.md` | NF-TEST-2026-002 **V2.0** | 现行 | `customer` / C1 保守型 / 适老化 / 防诈骗(**入库禁区**) |
|
||||
| **D6.5.3** | `开发文档\公司业务\用户测试数据\D6.5.3-访客-未注册意向客户.md` | YH-TEST-2026-003 | 现行 | `guest` / 访客边界 / 禁推介 / 转化引导(**入库禁区**) |
|
||||
| **D7.1** | `开发文档\D7.1-需求文档.html` | v4.53(2024-06-26) | 待确认 | 早期系统级需求;🔴 **是 D2.1 中 `F-07` 未完成任务的直接对象**,不可删 |
|
||||
| **D7.2** | `开发文档\D7.2-功能设计文档.html` | v1.5(2025-06-26) | 待确认 | 早期系统级 Agent 功能设计(含已清除的投顾能力) |
|
||||
| **D7.3** | `开发文档\D7.3-记忆架构设计.html` | v2.3 | 待确认 | 通用教材体裁,但 **§6.2 是被 A2/A4 引用的上游依据** |
|
||||
| **D7.4** | `开发文档\D7.4-开发引导.md` | — | 待确认 | 早期技术实施引导(已被 D2.3 覆盖;技术参考仍被引用) |
|
||||
| **D7.5** | `开发文档\D7.5-答辩须知.md` | — | 现行 | 答辩要求(15 分钟 / 重点讲思路与坑) |
|
||||
| **D8.1** | `开发文档\D8.1-项目语言规范.md` | — | 现行 | **项目语言规范正文**(四条硬规则 / 规则优先级 / 高风险区 / 编码准入);🔁 2026-09-19 自 `CLAUDE.md` 独立成文(`乙-27` / `DEC-28`) |
|
||||
| —〔存根〕 | `开发文档\CLAUDE.md` | — | 现行 | `D8.1` 的**入口存根**(仅三行,AI 工具按固定名读取);**不占编号**,不得再追加规则正文 |
|
||||
| **D8.2** | `开发文档\ai\D8.2-README.txt` | — | 现行 | AI Agent 治理框架(用法说明)〔.txt 例外〕 |
|
||||
| **D8.3** | `开发文档\ai\D8.3-01_READING_RULES.md` | — | 现行 | 读文档规则(阅读八问 / 完成门) |
|
||||
| **D8.4** | `开发文档\ai\D8.4-02_EXECUTION_RULES.md` | — | 现行 | 执行规则 |
|
||||
| **D8.5** | `开发文档\ai\D8.5-03_TESTING_RULES.md` | — | 现行 | 测试规则 |
|
||||
| **D8.6** | `开发文档\ai\D8.6-04_OUTPUT_RULES.md` | — | 现行 | 产出规则(§5 高风险变更须先确认) |
|
||||
| **D8.7** | `开发文档\ai\D8.7-05_PROJECT_CONTEXT.md` | — | 现行 | 项目背景速览 |
|
||||
|
||||
> **注入校验**:**52 份**可注入文档(**42** `开发文档\*.md` + 5 `开发文档\*.html` + 3 `客服agent\*.html` + `客服agent\D2.5-…md` + `客服agent\D2.6-…md`)**已全部带「体系编号」行**;3 份 `.txt` 按上表例外处理。(原表述的 49 份**未计入** `客服agent\D2.1` 的 `.md` —— 该漏计是历史口径,本轮**只补新增件、不追改历史**。)「开工只读 5 份」对应 **D2.1 / D2.2 / D2.3 / D2.4 / D3.3**。
|
||||
|
||||
### 4.1 Ⅰ 对外交付 / 现行权威(`客服agent\`,6 份)
|
||||
|
||||
| 文件名 | 版本 | 日期 | 定位 | 关联 |
|
||||
|---|---|---|---|---|
|
||||
| `D2.1-客服Agent执行Todolist.md` | **v5.3** | 2026-09-17 | 唯一开工入口 | 收敛自 `开发文档\D3.4-客服Agent重构Todolist.md` v5.1 |
|
||||
| `D2.2-客服Agent需求文档.html` | **v2.5** | 2026-09-17 | 对外需求(FR **52** / NFR 21) | 完整版见 §4.2 |
|
||||
| `D2.3-客服Agent开发计划.html` | **v1.1** | 2026-09-17 | 批次 / 会签 / 门禁 | 与 A1 批次号一一对应 |
|
||||
| `D2.4-客服Agent知识库设计方案.html` | **v1.3** | 2026-09-17 | 三集合 / 三档 / 入库检索流程 | 完整版见 §4.2 |
|
||||
| `D2.5-客服Agent演示脚本与账号速查-2026-09-19.md` | — | 2026-09-19 | 演示脚本(`F-03`/`F-04`/`A-05` 三合一) | 台词证据:`group_fqcd_jr\docs\evidence\20260919-t8-demo-lines*.json` |
|
||||
| `D2.6-客服Agent答辩报告-2026-09-19.md` | — | 2026-09-19 | 答辩报告(问题定义 / 根因 / 五出口 / 安全不变量 / 前后对比 / 现场速答) | 数字来源:46 条金标 `score_before` vs `score_w11b` + `e2e_smoke_test` + `http_probe` + 12 条真机边界 |
|
||||
|
||||
### 4.2 Ⅱ 开发文档区内的现行权威(7 份)
|
||||
|
||||
| 文件名 | 版本 | 定位 |
|
||||
|---|---|---|
|
||||
| `D3.3-访客与角色分离的鉴权方案建议-2026-09-16.md` | CS-AUTH-2026-011 | 鉴权四方案 / 三不变量 / 甲乙时序(同 §2 A5) |
|
||||
| `D3.1-客服Agent需求开发文档与设计方案.html` | **v2.4** | A2 的**完整版**:逐条需求带证据引用与推导过程 |
|
||||
| `D3.2-知识库设计方案.html` | **v1.2** | A4 的**完整版**:含被收敛掉的备选方案与否决理由 |
|
||||
| `D3.4-客服Agent重构Todolist.md` | v5.1 | A1 的前身(**底稿**):含更细的 DoD 描述,冲突时以 A1 为准 |
|
||||
| `D3.5-知识库检索升级备选方案建议-2026-09-17.md` | CS-KB-2026-020 | 知识库检索升级**备选方案池**(**建议**,非需求/任务来源) |
|
||||
| `D3.6-客服Agent智能增强架构建议-2026-09-17.md` | CS-ARCH-2026-021 **v1.1** | 智能增强架构(**§9 八项已拍板**):五出口决策链 / 安全不变量 / 转人工白名单 4 类 / 访客档计算型分项开放口径 |
|
||||
| `D3.7-客服Agent评测金标集与判分规则-2026-09-17.md` | CS-EVAL-2026-022 | **评测输入件**:46 条金标 + 判分规则 + 门槛(**验收依据**,非需求/任务来源) |
|
||||
|
||||
### 4.3 Ⅲ 内部复核底稿(2 份)
|
||||
|
||||
| 文件名 | 编号 | 定位 |
|
||||
|---|---|---|
|
||||
| `D4.1-客服Agent重构报告-2026-09-16.md` | CS-REFACTOR-2026-010 | 清除了什么 / 缺什么 / 按什么顺序装回;§9 决策记录 |
|
||||
| `D5.1-业务流程-MVP版-最终交付-2026-09-15.md` | — | MVP 业务流程基线 |
|
||||
|
||||
### 4.4 Ⅳ 清除执行记录与重建留痕(5 份)
|
||||
|
||||
| 文件名 | 编号 | 定位 |
|
||||
|---|---|---|
|
||||
| `D4.2-客服模块清除影响面清单.md` | CS-PURGE-2026-007 | 客服形态A 清除的影响面 |
|
||||
| `D4.3-客服模块清除执行报告-2026-09-16.md` | CS-PURGE-2026-008 | 客服清除验证数据 |
|
||||
| `D4.4-投顾模块清除范围与影响面清单-2026-09-17.md` | CS-PURGE-2026-012 | 投顾清除范围 |
|
||||
| `D4.5-投顾模块清除执行报告-2026-09-17.md` | CS-PURGE-2026-013 | 投顾清除验证数据 + 恢复方式 |
|
||||
| `D4.6-客服Agent一期合规红队与业务评测集-留痕-2026-09-18.md` | CS-DOC-2026-020 | 🔴 一期红队 `RT-001`~`018` 原文留痕 + `C-06` 实测回填(验收基线) |
|
||||
|
||||
### 4.5 Ⅴ 本次整改工作文档(5 份)
|
||||
|
||||
| 文件名 | 编号 | 定位 |
|
||||
|---|---|---|
|
||||
| `D1.2-南方基金业务事实基座与虚构数据规范-2026-09-17.md` | CS-CONTENT-2026-015 **v1.1** | 🔴 **事实基座**:三分法数据规范、C—R 矩阵、品牌映射表 |
|
||||
| `D1.4-知识源与品牌整改变更说明-2026-09-17.md` | CS-CONTENT-2026-016 | 逐份变更说明(§3.1—§3.9 改写映射) |
|
||||
| `D1.3-文档规整方案与开发前待决事项-2026-09-17.md` | CS-DOC-2026-014 | 规整方案 + 待决事项 + 四轮执行记录 |
|
||||
| `D1.5-开发前决策清单与阻塞项-2026-09-17.md` | CS-DOC-2026-018 **v1.0** | 🔴 **开工前唯一决策登记册**:28 项待拍板 + 阻塞分级(P0 12 / P1 10 / P2 6)+ §5 需你提供的 7 项输入 |
|
||||
| `D1.6-对话上下文提取与开工前补充决策-2026-09-17.md` | CS-DOC-2026-019 **v1.0** | 🔴 **本轮会话上下文提取件**:已读清单 / 可复用事实 / 7 条转人工通路 / `Q-1.1`~`Q-1.6` / `K-01`~`K-08` / `N-01`~`N-09`;§4.3 为回填表 |
|
||||
|
||||
### 4.6 Ⅵ 公司事实与知识源(17 份)
|
||||
|
||||
**`公司信息\`(4 份)**
|
||||
|
||||
| 文件名 | 编号 / 版本 | 定位 |
|
||||
|---|---|---|
|
||||
| `D6.1.1-南方基金-企业信息.md` | **V2.0** | 🔴 **母本**:品牌 / 工商 / 资质 / 组织 / 财务的唯一权威 |
|
||||
| `D6.1.2-南方基金-高频问答对.md` | NF-FAQ-2026-001 **V2.0** | 64 组 FAQ(含档位标注 public 54 / registered 10) |
|
||||
| `D6.1.3-南方基金-高频问答对.txt` | 同上 | 知识库批量导入用的制表符两列版 |
|
||||
| `D6.1.4-公司新人指南.md` | **V4.0** | 员工视角公司介绍 |
|
||||
|
||||
**`公司业务\`(3 份)**
|
||||
|
||||
| 文件名 | 版本 | 定位 |
|
||||
|---|---|---|
|
||||
| `D6.2.2-企业金融服务方案.md` | **V3.0** | 机构客户服务方案(原「企业金融服务方案」) |
|
||||
| `D6.2.1-个人理财产品手册.md` | **V3.0** | 公募基金与专户产品手册(6 只〔示例〕产品,代码 9005xx) |
|
||||
| `D6.2.3-高净值客户服务规范.md` | **V3.0** | 尊享 / 私人财富顾问服务规范 |
|
||||
|
||||
**`公司业务\用户测试数据\`(3 份)**
|
||||
|
||||
| 文件名 | 编号 / 版本 | 主体类型 | 定位 |
|
||||
|---|---|---|---|
|
||||
| `D6.5.1-客户A-高净值.md` | NF-TEST-2026-001 **V2.0** | `customer` | C4 进取型 / 钻石-专户链路 |
|
||||
| `D6.5.2-客户B-普通投资者.md` | NF-TEST-2026-002 **V2.0** | `customer` | C1 保守型 / 适老化 / 防诈骗 |
|
||||
| `D6.5.3-访客-未注册意向客户.md` | YH-TEST-2026-003 | `guest` | 访客边界 / 禁推介 / 转化引导 |
|
||||
|
||||
**`金融政策\`(3 份)**
|
||||
|
||||
| 文件名 | 版本 | 定位 |
|
||||
|---|---|---|
|
||||
| `D6.3.1-理财产品销售管理办法.md` | **V4.0**(JR-SPM-2026-003) | 销售管理制度(监管依据已改为基金口径) |
|
||||
| `D6.3.2-个人投资者适当性管理指南.md` | — | 双录 / 冷静期 / 专业投资者 / C—R 匹配 |
|
||||
| `D6.3.3-反洗钱合规操作手册.md` | — | 客户身份识别 / 大额与可疑交易 |
|
||||
|
||||
**`用户研判规则\`(4 份)**
|
||||
|
||||
| 文件名 | 定位 |
|
||||
|---|---|
|
||||
| `D6.4.1-投资者风险画像研判规则.md` | 画像标签体系与 FM 规则 |
|
||||
| `D6.4.2-反洗钱可疑交易识别规则.md` | 可疑交易特征规则 |
|
||||
| `D6.4.3-用户信息数据示例.md` | NF-DATA-2026-001 **V2.0**:五类客户画像样本 |
|
||||
| `D6.4.4-用户信息数据示例.txt` | 上述样本的纯文本摘要版 |
|
||||
|
||||
### 4.7 Ⅶ 早期系统文档处置(6 项 · 含 `CLAUDE.md`=`D8.1` 的入口存根,故与 §3.2「D7=5 份」不冲突 · 2026-09-17 已按 D-2 处置 · 2026-09-19 `CLAUDE.md` 改为三行存根)
|
||||
|
||||
| 文件名 | 日期 | 现状 | 2026-09-17 处置 |
|
||||
|---|---|---|---|
|
||||
| `CLAUDE.md` | 2026-06-05 | **入口存根(三行)** —— 语言规范正文已迁至 `D8.1-项目语言规范.md` | 🔁 **2026-09-19 改造**(`乙-27`/`DEC-28`):正文迁入 `D8.1`;本文件**保留原名**以维持 AI 工具约定与既有引用锚点(被 A2/A4 与 `客服Agent需求开发文档` 依据表按文件名引用) |
|
||||
| `D7.5-答辩须知.md` | 2026-06-26 | 答辩要求,**仍有效** | ✅ 保留,未改动(被 `客服Agent需求开发文档:4203` 引用) |
|
||||
| `D7.4-开发引导.md` | 2026-07-17 | 开发实施引导(技术参考·代码示例) | ✅ 加**状态标注**;**保留**(被 A2/A4 依据表 + 知识库设计 §1.4 分块参数出处引用) |
|
||||
| `D7.1-需求文档.html` | 2026-07-17 | 项目**整体**需求 v4.53 | ✅ 加**状态标注**;**保留**(被 A2/A4 依据表引用,且是 Todolist **F-07 未完成任务的直接对象**)<br>⚠️ 品牌仍为 `XX科技`、热线仍为 `400-XXX-XXXX` |
|
||||
| `D7.2-功能设计文档.html` | 2026-07-20 | 系统级 Agent 功能设计 v1.5 | ✅ 同上<br>⚠️ 品牌仍为 `XX科技`(含系统 Prompt 示例) |
|
||||
| `D7.3-记忆架构设计.html` | 2026-07-20 | 通用教材**体裁**,但 §6.2 内容被引用 | ✅ **保留在原位**(16:26 曾归档 → 16:40 **撤销归档移回**,理由见 §7.1 纠正栏) |
|
||||
|
||||
> 🔴 只加标注、**不改品牌**的理由:这两份 HTML 的**业务正文仍属早期模型**(客户等级 `私行`、系统 Prompt 含早期品牌、Agent 清单含已清除的投顾能力)。**只替换品牌会造出「品牌已对、业务仍旧」这一更危险的状态** —— 比留下明显的旧品牌更易被误用(CS-CONTENT-2026-016 §0.3 已点明该坑)。待系统级口径确认后整批同步。
|
||||
|
||||
### 4.8 Ⅷ AI 协作脚手架(`ai\`,6 份)
|
||||
|
||||
| 文件名 | 定位 |
|
||||
|---|---|
|
||||
| `D8.2-README.txt` | 用法说明 |
|
||||
| `D8.3-01_READING_RULES.md` | 读文档的规则 |
|
||||
| `D8.4-02_EXECUTION_RULES.md` | 执行规则 |
|
||||
| `D8.5-03_TESTING_RULES.md` | 测试规则 |
|
||||
| `D8.6-04_OUTPUT_RULES.md` | 产出规则 |
|
||||
| `D8.7-05_PROJECT_CONTEXT.md` | 项目背景速览 |
|
||||
|
||||
> `ai\` 是**给 AI 用的**,不是交付文档;命名风格(下划线 + 大写)与其余文档不同,**属有意为之,不改**。
|
||||
|
||||
---
|
||||
|
||||
## 5. 命名规范
|
||||
|
||||
### 5.1 文件名
|
||||
|
||||
| 规则 | 说明 | 示例 |
|
||||
|---|---|---|
|
||||
| **R1** 中文优先 | 交付与知识源文档一律用中文名 | `D6.2.1-个人理财产品手册.md` |
|
||||
| **R2** 日期后缀 | 一次性工作成果(报告 / 方案 / 变更说明)加 `-YYYY-MM-DD` | `D4.1-客服Agent重构报告-2026-09-16.md` |
|
||||
| **R3** 系列用 `-` 连接 | 主语 + `-` + 类别 | `D6.1.1-南方基金-企业信息.md`、`D6.1.2-南方基金-高频问答对.md` |
|
||||
| **R4** 不用空格、不用书名号 | —— | ✅`D6.5.1-客户A-高净值.md` ❌`客户A 高净值.md` |
|
||||
| **R5** 编号前缀置顶 | **文件名以体系编号开头**(`D1.1-…`)⇒ 资源管理器里按名排序即等于**逻辑顺序**(D1→D8),索引自然排在最前 | `D1.1-文档索引与权威声明.md` |
|
||||
| **R6** 例外 | `ai\` 脚手架用 `NN_ENGLISH.md`;`CLAUDE.md` / `D8.2-README.txt` 沿用工具约定 | —— |
|
||||
| **R7** 文件名带体系编号 | 文档文件名统一为 **`<编号>-<描述名>.<扩展名>`**,编号即 §4.0 的 `D<域>.<序>`——**域号本身就是用途**(D1 治理 / D2 交付 / D3 权威 / D4 留痕 / D5 基线 / D6 知识源 / D7 旧版 / D8 AI 规则),看见文件名就知道它干什么、排第几。**唯一例外:`CLAUDE.md`**(AI 工具按此固定名读取规则文件,改名会静默失效) | 见 §4.0 总表 |
|
||||
|
||||
### 5.2 既有业务编号(留痕用;与 §4.0 **体系编号并存互补**)
|
||||
|
||||
> **两套编号的分工**:**体系编号 `D<域>.<序>`**(§4.0)解决「**排在哪、先读哪**」——面向前向检索与阅读优先级;**既有业务编号 `CS-*` / `NF-*` / `YH-*` / `JR-*`**(本节)解决「**这是哪次动作的留痕**」——面向追溯与互引,已散落在报告、Todolist 与代码注释中,**不可重编**。两者**同时保留**,不互相替代。
|
||||
|
||||
| 域 | 格式 | 用途 |
|
||||
|---|---|---|
|
||||
| `CS-REFACTOR-<年>-<序号>` | 重构类报告 | CS-REFACTOR-2026-010 |
|
||||
| `CS-PURGE-<年>-<序号>` | 清除执行类 | CS-PURGE-2026-013 |
|
||||
| `CS-AUTH-<年>-<序号>` | 鉴权专项 | CS-AUTH-2026-011 |
|
||||
| `CS-DOC-<年>-<序号>` | 文档治理类 | CS-DOC-2026-014 / 017 / **018** |
|
||||
| `CS-CONTENT-<年>-<序号>` | 内容与品牌整改类 | CS-CONTENT-2026-015 / 016 |
|
||||
| `NF-<类>-<年>-<序号>` | 知识源与测试数据 | NF-FAQ-2026-001、NF-DATA-2026-001 |
|
||||
| `YH-TEST-<年>-<序号>` | 访客类测试样本 | YH-TEST-2026-003 |
|
||||
| `JR-<类>-<年>-<序号>` | 早期遗留编号(**保留,不重编**) | JR-SPM-2026-003、JR-DATA-2024-001 |
|
||||
|
||||
### 5.3 文档头部元数据(**推荐统一块**)
|
||||
|
||||
新文档与改写后的知识源,文件头建议统一为:
|
||||
|
||||
```markdown
|
||||
> | 项目 | 内容 |
|
||||
> |------|------|
|
||||
> | 文件编号 | <编号> |
|
||||
> | 版本号 | **V<主>.<次>**(含变更摘要) |
|
||||
> | 更新日期 | YYYY-MM-DD |
|
||||
> | 编制 / 审核部门 | <部门> |
|
||||
> | 定位 | <一句话说明这份文档解决什么问题> |
|
||||
> | 关联文档 | <编号或文件名> |
|
||||
```
|
||||
|
||||
> 已采纳该块的文件:`D6.1.1-南方基金-企业信息.md`、`D6.1.2-南方基金-高频问答对.md/.txt`、`D6.1.4-公司新人指南.md`、`D6.2.2-企业金融服务方案.md`、`D6.2.1-个人理财产品手册.md`、`D6.2.3-高净值客户服务规范.md`、`D6.4.3-用户信息数据示例.md`、`D6.5.1-客户A-高净值.md`、`D6.5.2-客户B-普通投资者.md`、`D6.5.3-访客-未注册意向客户.md`。
|
||||
|
||||
### 5.4 状态标注口径
|
||||
|
||||
| 状态 | 含义 | 对待方式 |
|
||||
|---|---|---|
|
||||
| **现行** | 与当前口径一致,可据此工作 | 按权威链顺序更新 |
|
||||
| **底稿** | 结论已进现行文档,本身只作证据 | **只读不改** |
|
||||
| **已完成** | 记录一次性动作(清除 / 执行) | 只读,供追溯 |
|
||||
| **已归档** | 使命结束,移到 `_archived_docs_20260917\` | 不读 |
|
||||
| **待确认** | 状态未定,需人工决策 | 见 §8 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 命名偏差清单与「暂不改名」决策
|
||||
|
||||
🔴 **重要前提**:本区文档按**完整路径 + 行号**互引(如 `group_fqcd_jr\app\...\customer_service.py:193-206`、`docs/33 §1.2`、`开发文档\D4.1-客服Agent重构报告-2026-09-16.md:209`)。
|
||||
**任何改名或移动都会批量打断引用** —— 且 `开发文档\` 已推送至远程分支。
|
||||
|
||||
| # | 偏差 | 是否改 | 理由 |
|
||||
|---|---|---|---|
|
||||
| N-1 | 根目录 13 份带日期后缀、5 份不带(如 `CLAUDE.md`、`D7.5-答辩须知.md`) | **不改** | 均为**已互引文件**,改名即断链;且"带日期 = 一次性成果 / 不带 = 长期文档"本身已是可读的隐含规则 |
|
||||
| N-2 | `D6.4.3-用户信息数据示例.md` 与 `.txt` 同名并存 | **不改** | 设计如此:`.md` 为人读画像,`.txt` 为纯文本摘要版,服务于不同消费方 |
|
||||
| N-3 | `D3.1-客服Agent需求开发文档与设计方案.html` 一名字含两类文档 | **不改** | 已被 A2、CS-REFACTOR-2026-010、多个 HTML 按名称引用;拆名风险大于收益 |
|
||||
| N-4 | `ai\D8.3-01_READING_RULES.md` 等下划线大写风格 | **不改** | 脚手架文件,遵循 AI 工具约定,与交付文档本非同类 |
|
||||
| N-5 | 早期编号 `JR-*`(`JR-SPM-2026-003`、`JR-DATA-2024-001`)与新 `NF-*` 体系并存 | **不改** | 重编号会改变 `理财销售管理办法` 等文件的自引编号;在新文档中统一用 `NF-*` 即可,旧编号**自然淘汰** |
|
||||
| N-6 | 4 份知识源目录名(`公司信息\`/`公司业务\`/`金融政策\`/`用户研判规则\`)粒度不完全对齐(业务 vs 政策 vs 规则) | **不改** | 已与 `tools\build_knowledge_chunks.py` 的扫描路径、以及 A4 知识库设计的集合划分绑定;改名会同时打断文档与代码两侧引用 |
|
||||
| N-7 | ~~`00-` 前缀~~ → **文件名编号前缀 `D<域>.<序>-`** | **已执行(第六轮)** | 46 份已改名、引用已全量迁移;`CLAUDE.md` 为例外。详见 §11 与 D1.3 §11 |
|
||||
|
||||
> **结论**:第三~五轮**零物理移动、零改名**;**第六轮已推翻**(编号进文件名,46 份改名,见 §11.2)。规整 = **索引 + 状态标注 + 命名规范 + 统一编号**,而非搬文件。
|
||||
|
||||
---
|
||||
|
||||
## 7. D-2 / D-3 / D-4 执行记录(2026-09-17 · 第三轮)
|
||||
|
||||
> **用户指令**:「除了 D5,其他全都按照你建议的来」 ⇒ **D-2 / D-3 / D-4 执行,D-5 明确跳过。**
|
||||
|
||||
### 7.1 ✅ D-2 早期系统文档(已执行)
|
||||
|
||||
| 文件 | 处置 | 结果 |
|
||||
|---|---|---|
|
||||
| `CLAUDE.md` | 保留;**2026-09-19 改为三行存根**(正文迁 `D8.1`,见 §4.7 与 §20) | ✅ |
|
||||
| `D7.5-答辩须知.md` | 保留,未改动 | ✅ |
|
||||
| `D7.4-开发引导.md` | 顶部加状态横幅「已被现行开发计划覆盖 · 开工勿依据」 | ✅ |
|
||||
| `D7.1-需求文档.html` | `<main>` 内加状态标注块(品牌待同步 / 业务口径待复核 / 说明为何不做「只改品牌」/ 指向权威入口) | ✅ |
|
||||
| `D7.2-功能设计文档.html` | 同上 | ✅ |
|
||||
| `D7.3-记忆架构设计.html` | **~~归档~~ → 撤销归档、已移回原位**(16:26 归档 → 16:40 移回) | ✅ 60,881 字节,位置 `开发文档\D7.3-记忆架构设计.html` |
|
||||
|
||||
> 🔴 **纠正(2026-09-17 16:40)**:本条原为「归档到 `_archive\`」,前提是「通用教材,与项目**无直接引用关系**」。**该前提被证伪** —— A2《D2.2-客服Agent需求文档.html》§0.2 上游依据表 与 A4《D2.4-客服Agent知识库设计方案.html》§0.2/§1.8.3 **均把 `D7.3-记忆架构设计.html` v2.3(§6.2 `customer_id` 为必填身份标识)列为上游依据**(FR-CS-042 的裁决理由即出自此处)。
|
||||
> ⇒ 已**撤销归档**:文件移回 `开发文档\`,`_archive\` 目录已删。教训:**「像不像项目文档」不足以下判据,必须按文件名反查引用**。
|
||||
|
||||
🔴 **关键决策(对原建议的收紧)**:`D7.1-需求文档.html` / `D7.2-功能设计文档.html` **只标注、不改品牌**。
|
||||
理由:两份文档的**业务正文仍属早期模型**(客户等级枚举含 `私行`、系统 Prompt 写死 `你是XX科技的智能财富管家`、Agent 清单含已清除的投顾能力)。**只替换品牌会造出「品牌已对、业务仍旧」的状态——比留下明显的旧品牌更危险**,因为旧品牌一眼可辨、而"品牌已对"会让人误以为口径已同步。
|
||||
|
||||
> ⚠️ 因此这两份文档内**仍有旧品牌值**(`D7.1-需求文档.html` 约 8 处 + 热线占位符 1 处;`D7.2-功能设计文档.html` 约 5 处)。这是**有意为之**,不是遗漏。
|
||||
|
||||
### 7.2 ✅ D-3 `admin` 角色投顾域权限(已执行)
|
||||
|
||||
**先只读核查 → 再清**,核查推翻了我原先的判断:
|
||||
|
||||
| 项 | 原判断 | 实测 |
|
||||
|---|---|---|
|
||||
| 条数 | 「15 条」 | admin 持有 **16 条**(库内),另 3 条(9066-9068)种子定义存在但库中未建 ⇒ 排除集合取 **19 条** |
|
||||
| 是否有消费者 | 「投顾功能已全删,**任何角色上都不会被调用**」 | ❌ **错。**`app/service/profile_governance_service.py` 与 `app/service/product_governance_monitor_service.py` **仍存活**,分别要求 `profile-governance:read/review`(9027/9028)与 `product-governance:read/review/sync`(9041-9043) |
|
||||
|
||||
🔴 **`admin=True` 不是旁路**:`app/service/authorization_service.py:31-34` 先判 `permission in context.permissions`,再判角色是否含 admin ⇒ 删掉绑定会让**保留中的端点直接 403**。
|
||||
|
||||
处置:
|
||||
- **删除 16 条**(9020-9026、9029-9034、9057-9059)—— 无任何消费者,纯投顾清除残留。
|
||||
- **保留 5 条**(9027/9028、9041-9043)—— 有存活消费者。
|
||||
- **不删 `sys_permission` 定义行**(保新旧环境 schema 一致 + `check_permission_coverage.py` 仍需对账)。
|
||||
- **同步改种子脚本** `tools/seed_test_rbac.py`:新增 `ADVISOR_DOMAIN_PERMISSION_IDS`(19 个)并把 `ADMIN_PERMISSIONS` 由「全量元组」改为「全量 − 投顾域」⇒ 离线核算 admin **59 → 44**。
|
||||
- 备份:`.workbuddy\backups\d3_20260917_rbac_before.sql`(`sys_role_permission` / `sys_permission` / `sys_role` / `sys_user_role` 的 INSERT 集)。
|
||||
|
||||
**验证结果**:`admin 43`(59 − 16)、`customer 18`、`risk_operator 10`、`operator 2`;残留投顾域 **0 行**;5 条保留项 **全部在位**。
|
||||
|
||||
### 7.3 ✅ D-4 代码侧品牌残留(已执行,含一处纠正)
|
||||
|
||||
| # | 位置 | 改动 | 状态 |
|
||||
|---|---|---|---|
|
||||
| 1 | `app/service/agent/governance.py:47` | `CUSTOMER_SERVICE_HOTLINE`:`15936583816` → **`400-889-8899`**(并补注释说明「脱敏放行」语义与两侧必须同值) | ✅ |
|
||||
| 2 | `tools/seed_compliance_baseline.py:98-101` | 两条话术(`TPL_TRANSFER_HUMAN` / `TPL_SYSTEM_BUSY`):热线 → `400-889-8899`;服务时间 `工作日 09:00-18:00` → **每日 7:00—22:00**(对齐 CS-CONTENT-2026-015 v1.1 真值) | ✅ |
|
||||
| 3 | `app/static/portal/employee-operations/promotion/promotion.js:29` | `南方基金管理有限公司` → **`南方基金管理股份有限公司`**(缺「股份」) | ✅ |
|
||||
| 4 | ~~`tools/build_knowledge_chunks.py` 品牌白名单~~ | 🔴 **纠正:该白名单在代码里并不存在。**`build_knowledge_chunks.py` 全文只有 `assert_no_duplicate_contents` 一个守卫;「四查 / 品牌白名单(含 `南方财富`+`nanfangwm.com`)」只写在**文档**里(`D4.1-客服Agent重构报告-2026-09-16.md:209`、Todolist B-01),**属"文档声称已实现、代码未实现"**(即 CS-CONTENT-2026-016 §4 的 G-01)。⇒ **无可改之代码**;正确的新白名单值 = `南方基金` + `nffund.com`,**待 B-01 实现时使用**(属代码工作,未做) | ⚠️ 转登记 |
|
||||
|
||||
**验证**:三个 `.py` 全部 `py_compile` 通过;全仓复查 `15936583816` / `南方基金管理有限公司` / `400-826-9518`,剩余命中**均为合法处**(脱敏测试样本号码、`_docbuilder.py` 替换规则表、测试 fixture 输入、本次改动注释)。
|
||||
**DB 侧无同步项**:`agent_reply_template` 表当前 **0 行**,`sys_permission` 亦无品牌字段。
|
||||
|
||||
### 7.4 ⏭ D-5 前端品牌面(**本轮跳过**)
|
||||
|
||||
用户明确「除了 D5」。**未做**:`app\static\portal\**` 24 文件(18 个 `index.html` 的 `<title>`、`app-shell.js:64`、`brandmark.svg` 的 `aria-label`、`products.js` / `product-detail.js` 的 `document.title`)+ 风控 5 处(`risk_analysis_service.py:27`、`risk_agent.py:1/192/364`、`employee-risk\dashboard\index.html:80/139`、`risk_scan_scheduler.py:173`)。
|
||||
|
||||
---
|
||||
|
||||
## 8. 遗留与待决
|
||||
|
||||
> 🔴 **本节全部事项已并入 `D1.5-开发前决策清单与阻塞项-2026-09-17.md`(唯一决策登记册,编号 `DEC-01`~`DEC-28`)。** 本节保留原编号(`D-5`~`D-8`)以便追溯,交叉映射见 `D1.5 §1.1`;拍板后回填 `D1.5 §7`。
|
||||
|
||||
| # | 事项 | 我的建议 | 影响 |
|
||||
|---|---|---|---|
|
||||
| **D-5** | 前端 24 份 + 风控 Agent 5 处仍用 `南方财富`(G-02 / G-05) | 改(**评审唯一肉眼可见的品牌面**:文档再干净,打开页面仍显示「南方财富」) | 🔴 高 |
|
||||
| **D-6** 🆕 | **系统名不统一**:`开发文档\公司信息\D6.1.1-南方基金-企业信息.md`(母本)等用「**智能财富管家系统**」,而 `knowledge\` 镜像与四份交付文档用「**南方基金·智能服务系统**」。**同源两版再次打架**(约 13 处:母本 4 / 早期 HTML 8 / 开发引导 1),另有 `D6.1.4-公司新人指南.md` 4 处、`docs\` 3 处、`_flows\` 3 处 | **统一为「南方基金·智能服务系统」**(与四份交付文档、`knowledge\` 镜像一致);同时核对 `BRAND_SYSTEM_NAME` 配置位 | 🟡 中(命名不统一,且母本与镜像不一致) |
|
||||
| **D-7** 🆕 | **B-01 语料入库门禁(四查)并未实现** | 属 Todolist 批次 B 的代码工作;**实现时品牌白名单必须用 `南方基金` + `nffund.com`**(旧文档里的 `南方财富` + `nanfangwm.com` 会放行错误品牌) | 🔴 高(不改会误杀新知识源 / 或放行旧品牌) |
|
||||
| — | `_chunks.jsonl` 未重灌库;`开发文档\` 的仓库副本(`group_fqcd_jr\开发文档\`)未同步 | 属派生件与推送动作 | 中 |
|
||||
|
||||
> ⚠️ **D-5 / D-7 属前端与代码改动**;本轮已按指令完成 D-2/D-3/D-4(其中 D-4 含 3 处代码改动)。
|
||||
|
||||
---
|
||||
|
||||
## 9. 引用约定(**新文档一律遵守**)
|
||||
|
||||
1. **引用其他文档——三级优先**:① **体系编号**(`D2.2 §1.6.1`、`D4.1`)——**新写的引用一律用这一级**,因为它与 §4.0 总表一处定义、全局可解析;② 既有业务编号(`CS-CONTENT-2026-015 §4.2`)——用于追溯历史留痕;③ 文件名——仅在**代码注释、脚本路径、生成件**里必须用文件名时使用。**绝不用行号**(行号会随编辑漂移)。
|
||||
2. **引用代码**:用 `仓库内相对路径:行号`(如 `app\service\knowledge_search_service.py:138-154`)。
|
||||
3. **引用需求**:用 `FR-CS-0xx` / `NFR-CS-0xx`;引用任务用 `A-01` / `G-03` 等 Todolist 编号。
|
||||
4. **旧值与新值对照**:文档中**允许出现旧值**(`XX科技` / `南方科技` / `南方财富` / `nanfangwm.com` / `400-XXX-XXXX`),但**仅限**「修订说明」「禁止清单」「变更说明」三类上下文,且必须紧邻新值。其余位置出现旧值即为缺陷。
|
||||
5. **编号 ↔ 文件名双向可解析**:任何人看到 `D6.1.1` 应能在 §4.0 总表查到 `开发文档\公司信息\D6.1.1-南方基金-企业信息.md`;反之,看到文件名也应能查到编号(总表按编号排序,文件名可检索)。**新增文档必须同时登记两处**:文件内标题下方 + §4.0 总表。
|
||||
|
||||
---
|
||||
|
||||
## 10. 可删性核查(2026-09-17 · 第四轮)
|
||||
|
||||
> **用户指令**:「把我这个文件夹里你觉得没用的文档都清除,只需要留下协助开发的文档。」
|
||||
> 🔴 **核查结论:`开发文档\` 43 份中,没有可以安全删除的文档。** 每一份要么是开发输入,要么被上游依据表或编号引用——**删任何一份都会打断别人的依据链**。
|
||||
|
||||
### 10.1 逐项核查证据
|
||||
|
||||
| 候选("看起来没用") | 结论 | 证据 |
|
||||
|---|---|---|
|
||||
| `D7.4-开发引导.md` | ❌ 不可删 | A2/A4 §0.2 依据表列为技术参考;`D3.2-知识库设计方案.html` **§7.5「决策 4:分块策略」** 的分块参数明写「取自 `D7.4-开发引导.md` §1.4」;`D7.1-需求文档.html` 内 5 处链接指向它 |
|
||||
| `D7.1-需求文档.html` | ❌ 不可删 | A2/A4 依据表列为「需求条目与验收标准的原始出处」;🔴 **它是 Todolist `F-07` 未完成任务的直接操作对象**(修复其 24 个失效目录锚点)——删了该任务将无法完成 |
|
||||
| `D7.2-功能设计文档.html` | ❌ 不可删 | A2/A4 依据表列为「§2.2 意图分类 / §2.3 生成约束 / §8.1 `rag_search` 工具契约」出处 |
|
||||
| `D7.3-记忆架构设计.html` | ❌ 不可删 | A2/A4 依据表列为「§6.2 `customer_id` 为必填身份标识 → 据此排除『虚拟访客账号』方案」的上游依据(`FR-CS-042` 的裁决理由即出自此处) |
|
||||
| `D7.5-答辩须知.md` | ❌ 不可删 | `D3.1-客服Agent需求开发文档与设计方案.html` **附录E「参考资料索引」** 引用为「演示要求(15 分钟、重点讲思路与坑)」 |
|
||||
| `CLAUDE.md` + `ai\` 6 份 | ❌ 不可删 | `客服Agent需求开发文档:483/489/3822` 依赖其 Rule Priority 与「阅读完成门」;`ai\D8.3-01_READING_RULES.md:126` 亦引用 `CLAUDE.md`。🔁 2026-09-19 起规则正文在 `D8.1`,本文件为存根 ⇒ **仍不可删**:文件名本身是引用锚点 |
|
||||
| `D5.1-业务流程-MVP版-最终交付-2026-09-15.md` | ❌ 不可删 | A2/A4 依据表列为「三条红线 / 演示跑通为唯一验收方式」出处;`客服Agent需求开发文档:489` 明文规定「与《业务流程 MVP 定稿》冲突,**以 MVP 定稿为准**」 |
|
||||
| 4 份清除留痕(CS-PURGE-2026-007 / 008 / 012 / 013) | ❌ 不可删 | `D3.4-客服Agent重构Todolist.md:19`、`客服Agent重构报告:6`、`tools/seed_test_rbac.py:198` 按编号引用;删则引用悬空 |
|
||||
| `知识源与品牌整改变更说明`(CS-CONTENT-2026-016) | ❌ 不可删 | `南方基金业务事实基座与虚构数据规范:357` 引用为「每处修改的原因与影响范围」 |
|
||||
| `文档规整方案与开发前待决事项`(CS-DOC-2026-014) | ❌ 不可删 | 本索引 §4.5 / §7 引用;内含 E-1~E-4「已授权待发令」 |
|
||||
| 17 份知识源 + 测试数据 | ✅ 开发输入 | 灌库、业务口径、E2E 验证 |
|
||||
| 本索引 | ✅ 唯一入口 | —— |
|
||||
|
||||
### 10.2 结论与替代做法
|
||||
|
||||
**本轮不做删除。** 「只留协助开发的文档」这个目标由 **分类(§3)+ 状态标注(§4.7)+ 开工只读 5 份(§2)** 达成,而不是靠删文件——本区文档按「**文件名 + 编号**」互引(§9),删任何一份都会打折别人的依据链。
|
||||
|
||||
若仍要物理瘦身,唯一不破坏引用的方式是**移动而非删除**(移入 `开发文档\_archive\`),但代价有三:① 路径型引用(如 §7.5 的 `开发文档\D4.5-投顾模块清除执行报告-2026-09-17.md`)失效;② `_archive\` 目录本身会被后续盘点再认作「待归档」;③ **本区不在任何 git 仓库内**,移动前必须先整包备份。
|
||||
|
||||
> 🔴 **本轮最重要的教训**:判断一份文档「有没有用」**不能凭体裁**("像通用教材"「像过程记录」),**必须按文件名反查引用**。本轮因此发现了 `D7.3-记忆架构设计.html` 被误归档(§7.1 纠正)、以及 5 份「看起来没用」的文档其实全部被上游依据表引用。
|
||||
|
||||
---
|
||||
|
||||
## 11. 编号体系落地记录(第五、六轮)
|
||||
|
||||
### 11.1 第五轮:建立体系编号
|
||||
|
||||
| 位置 | 落地 |
|
||||
|---|---|
|
||||
| 目录 | **§3 文档层级与编号域** + **§4.0 编号规则与全量编号总表**(第五轮 47 行;第六轮加入 `D1.5` 后为 **48 行**;第八轮加入 `D1.6`、`D3.5`、`D3.6`、`D3.7` 后为 **52 行**,见 §11.2 与 §12) |
|
||||
| 文档标题 | 44 份在标题正下方加「体系编号」行(`.md` 引用块 36 / `.html` 状态条 5 / 交付文档 `doc-meta` 3) |
|
||||
| 引用 | §9 第 1 条三级优先(体系编号 → 既有业务编号 → 文件名)+ 第 5 条「编号↔文件名双向可解析」 |
|
||||
| 校验 | `.workbuddy\_verify_docno.py` → **47/47 通过**;`.txt` 例外件未被污染 |
|
||||
|
||||
### 11.2 第六轮:编号进文件名(**推翻**第五轮「不改名」的判断)
|
||||
|
||||
用户要求「文件名带号,以区分每份文档干什么」⇒ 文件名统一为 **`<编号>-<描述名>.<扩展名>`**,**域号本身就是用途**。
|
||||
|
||||
| 项 | 结果 |
|
||||
|---|---|
|
||||
| 重命名 | **46 份**(`开发文档\` 42 + `客服agent\` 4) |
|
||||
| 🔴 唯一例外 | **`CLAUDE.md` 保留原名** —— AI 工具按固定名读取规则文件,改名会**静默失效**。🔁 2026-09-19 起其内容收缩为三行存根,规则正文见 `D8.1-项目语言规范.md`(§20) |
|
||||
| 引用迁移 | **55 个文件**改写(正文 / `<a href>` / 依据表 / `_build\_spec_*.json` 的 `out_file`) |
|
||||
| 注入行 | 41 处改为「编号体系见 `D1.1` §4.0」(**不写路径**,再改名也不失效) |
|
||||
| 备份 | `.workbuddy\backups\rename_20260917_devdocs.zip`(64 文件 / 812,649 B) |
|
||||
| 脚本 | `.workbuddy\_rename_docs_with_no.py`(迁移)、`.workbuddy\_verify_rename.py`(复核) |
|
||||
|
||||
### 11.3 🔴 关键区分:**母本改名,镜像不改名**
|
||||
|
||||
`tools/build_knowledge_chunks.py` 的 `SOURCES` 字典键指向 **`group_fqcd_jr\knowledge\**` 的镜像副本**(`company/企业信息.md` 等),**不是** `开发文档\` 里的母本。
|
||||
⇒ **改名母本不打断代码;改名镜像才会。** 故 `开发文档\公司信息\D6.1.1-南方基金-企业信息.md`(母本,带编号)与 `knowledge/company/企业信息.md`(镜像,原名)**并存**,对应关系由 §4.0 总表维护。
|
||||
|
||||
### 11.4 未同步(遗留)
|
||||
|
||||
| # | 事项 | 说明 |
|
||||
|---|---|---|
|
||||
| 1 | `group_fqcd_jr\开发文档\`(40 份) | 陈旧仓库副本,**旧名 + 旧内容**,未同步(叠加在 §8 的 **D-8** 上) |
|
||||
| 2 | `group_fqcd_jr\客服agent\` | 同上 |
|
||||
| 3 | `group_fqcd_jr\docs\**` / `_flows\**` 的历史引用 | 属历史记载,**有意不改** |
|
||||
| 4 | `客服agent\_build\` 的脚手架文件名 | 非文档,保持原名;其内容已随迁移更新 |
|
||||
|
||||
---
|
||||
|
||||
## 12. 第八轮:会话上下文提取、知识库升级、智能增强架构与评测金标登记(2026-09-17)
|
||||
|
||||
| 编号 | 文档 | 既有编号 | 性质 · 作用 |
|
||||
|---|---|---|---|
|
||||
| **D1.6** | `开发文档\D1.6-对话上下文提取与开工前补充决策-2026-09-17.md` | CS-DOC-2026-019 **v1.0** | **会话上下文提取件**:回答「开工前还需你决策什么」——在 `D1.5` 的 28 项之外补登 `N-01`~`N-09`;并给出旧实现 **7 条转人工通路**的代码取证、6 处文档缺陷 `Q-1.1`~`Q-1.6`、8 项前提风险 `K-01`~`K-08` |
|
||||
| **D3.5** | `开发文档\D3.5-知识库检索升级备选方案建议-2026-09-17.md` | CS-KB-2026-020 **v1.0** | **知识库专项建议(备选方案池)**:`§3-A`~`§3-H` 八个升级方向(含代价与适用条件)+ 推荐组合 + 对 `D2.4`/`D2.1` 的 10 条修订建议 + 可证伪验收判据 |
|
||||
| **D3.6** | `开发文档\D3.6-客服Agent智能增强架构建议-2026-09-17.md` | CS-ARCH-2026-021 **v1.1** | 🔴 **智能增强架构(已裁定件)**:① 诊断——`handle()` **10 处**失败方向全部指向转人工;② 旧设计 §4 **本就写了**「多命中应组织语言」与澄清标记,**实现从未落地**;③ 「智能」7 条可验收定义;④ **五出口决策链** `E1`—`E5`;⑤ 安全不变量 `INV-1`~`INV-5` 与转人工白名单 4 类;⑥ **§9 八项决策已于 2026-09-17 拍板** |
|
||||
| **D3.7** | `开发文档\D3.7-客服Agent评测金标集与判分规则-2026-09-17.md` | CS-EVAL-2026-022 **v1.0** | 🔴 **评测输入件(验收依据)**:46 条金标 / 问法分级(难例 32 条)/ 10 项指标 + 4 项零容忍 / 判分规则 / 前置阻塞 `B-1`~`B-4` / 实测回填表;**核心口径:白名单外"正确地转人工"也判不合格** |
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| 盘点范围 | `开发文档\` 44 → **48 份**;全量 **52 份**(+`客服agent\` 4 份) |
|
||||
| §3.1 / §3.2 / §4.0 | 域一 5 → **6**;域三 4 → **7**;总表补 `D1.6`、`D3.5`、`D3.6`、`D3.7` 四行(总表 **52 行**) |
|
||||
| §4.2 / §4.5 | 开发文档区现行权威 3 → **7 份**;本次整改工作文档 4 → **5 份** |
|
||||
| **第八轮 · 下游回灌**(2026-09-17) | **四份交付文档已按 `D3.6` 的裁定同步**(`D1.1` §1 规定的上游优先顺序:需求 → 执行 → 计划 → 知识库):`D2.2` **v2.4 → v2.5**(`FR-CS-003` 澄清 / `FR-CS-008` 分级回退 / `FR-CS-023` 转人工白名单 **三条重写** + 新增 **§1.4.8 域 H**(`FR-CS-049`~`052`)+ 新增 **`AC-13`** + **§1.6.3 修正**(`public` 删除「产品参数与费率」));`D2.1` **v5.2 → v5.3**(新增 **批次 H · 智能增强 6 项** + 完工判据 **13 条**);`D2.3` **v1.0 → v1.1**(新增 **§3.4b 批次 H**);`D2.4` **v1.2 → v1.3**(**§7.2.1 集合内分区隔离** + 附录A/B/D/F + 取消 `over-fetch`) |
|
||||
| 三处一致 | 两份新文档的「体系编号」行均位于标题正下方(`D1.6` / `D3.5`),与本总表一致;§9 第 5 条「新增文档必须同时登记两处」已满足 |
|
||||
| 本文件版本 | **v1.1 → v1.2**(同步 §4.0 总表 `D1.1` 行的版本标注) |
|
||||
|
||||
## 13. 第九轮:两份完整版对齐(`D3.1` v2.4 / `D3.2` v1.2,2026-09-17)
|
||||
|
||||
> **本轮做什么**:把 `开发文档\` 的两份**完整版**(`D3.1` / `D3.2`)从「收敛前的旧口径」对齐到 `客服agent\` 的**现行收敛版**(`D2.2` **v2.5** / `D2.4` **v1.3**),并**在源头闭环**两处此前登记为「待确认」的跨文档缺陷(`Q-08` / `Q-09`)。本轮**只改文档,不写代码**。
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| **`D3.1` v2.3 → v2.4** | 标题 / 侧栏 / 文档元信息 → 南方基金·智能服务系统;新增 **§1.4.8 域 H**(`FR-CS-049`~`052`)并重写 `FR-CS-003` / `FR-CS-008` / `FR-CS-023` / `FR-CS-033`;新增 **§3.12 五出口与智能增强落地映射**;§3.3.5 改为**分级回退**(`E5a`/`E5b`/`E5c` + 不得跨档位);§3.7.1 触发条件 → **白名单 4 类**;§5.3 / §5.5.1 `visibility` 由「标量字段 + 倒排索引」改为 <strong>NOT NULL 分区键(分区裁剪)</strong>;§7.3 新增 `A8` / `A9` 验收;§6.5.1 品牌字段「示例实际值」全表更新 |
|
||||
| **`D3.2` v1.1 → v1.2** | 标题 / 文档元信息 → 南方基金·智能服务系统;**§4.2 三档表重写**(`public` 删除「产品参数、费率、起购金额」,`registered` 补「全部产品参数」,实现方式 → 分区键 + 分区裁剪);§4.2 判断记录 3 改为「服务等级门槛公开 / 产品要素门槛不公开」;附录D「over-fetch」→ **v1.2 起取消**并加分区行;附录E 同步 `D3.1` **v2.4** |
|
||||
| **缺陷 `Q-08` 闭环** | 档位口径定案 **`public` 54 / `registered` 10**(合计 64)。源头 `D6.1.2` §四 已订正:`public` 名单**补回 Q15、移出 Q33**,`registered` 保持逐条列明的 10 条并加 Q33 从严说明,另增「变动前后口径」对账段(**V1.0 = 55 / 9 成员不同,勿再引用**)。`D2.2` / `D2.4` / `D3.1` / `D1.4` §3.6 已同步为 54 / 10 |
|
||||
| **缺陷 `Q-09` 闭环** | 「39 组版 FAQ」在母本**已不存在**——`D3.1` 附录D/E 与 `D3.2` §4.1 / §4.5 / 附录B 的相关行已删除,FAQ 集合**只登记 64 组一份**(`D6.1.3`);规模预估按 64 条重算(FAQ 64 + 产品 155—220 + 政策 190—250 = **约 410—535 块**,`D3.2` §4.5 / §8.1 / 附录D 与 `AC-02` 四处一致) |
|
||||
| **新增待决 `T-11`** | `D3.2` §12.1 补登 **`T-11`**:FAQ `Q14`(客户分层门槛)与 `Q43`(专户门槛)含数值门槛,严格套用判据应归 `registered`;现行按「服务等级标准 / 适当性规则属公开信息」保留 `public`。**若改判,两档将由 54 / 10 变为 52 / 12**(须同步 5 份文档) |
|
||||
| **行号引用清理** | §10.1 中两处**行引用**(原 `D3.2:1557`、`D3.1:4203`)因完整版行数变动已失效,按 §9 第 1 条改为**体系编号 + 章节**引用 |
|
||||
| 🔴 **构建脚本已过期(勿重跑)** | `客服agent\_build\` 下的 `_docbuilder.py` + `_body_requirements.html` / `_body_kb.html` / `_body_plan.html` / `_shell_*.html` / `_spec_*.json` 是 `D2.2`/`D2.3`/`D2.4` 的**一次性生成器**,其正文源与锚点**均已滞后于交付件**(`D3.1` 的标题/品牌/侧栏在 v2.4 已改,`_body_kb.html` 仍为 39 组 ≠ 64 组、`public` 仍含「产品参数」)。**重新执行 `python _docbuilder.py` 会覆盖并回退全部现行口径**——交付件以 `客服agent\*.html` 为准,如需重建须先同步 `_build\` 源与锚点。详见 `客服agent\_build\README-已过期-请勿重新生成.txt` |
|
||||
| 本文件版本 | **v1.2 → v1.3**(同步 §4.0 总表与 §4.2 的 `D3.1` / `D3.2` 版本标注) |
|
||||
|
||||
---
|
||||
|
||||
> 🔴 **`D3.5` 不是需求、也不是任务来源**:它是**备选方案池**。其中任何一项要落地,都必须先按 §1 的顺序修订上游(`D2.2` 需求 → `D2.4` 设计 → `D2.1` 任务),再同步 `D1.5` / `D1.6` 的回填表。
|
||||
|
||||
## 14. 第十轮:`D3.2` / `D2.4` / `D2.2` 的「倒排索引 → 分区键」残留清理(2026-09-17)
|
||||
|
||||
> **背景**:第九轮把两份**完整版**(`D3.1` / `D3.2`)对齐到「集合内分区键 + 分区裁剪」口径,但该口径**只在部分章节落地**——`D3.2` / `D2.4` / `D2.2` 的其余章节仍**同时**陈述「`visibility` 建 `INVERTED` 倒排索引」与「`PARTITION KEY`」,构成**同字段双机制的自相矛盾**;`D2.4` / `D2.2` 的 §5.4 / §8.3 / §9 / §11 / 附录 A / 附录 C 甚至仍把 `over-fetch ×3` 当作**现行实现**(而二者各自的 `v1.3` / `v2.5` 修订行**已声明取消**)。本轮**只改文档,不写代码**,把三份文档的**正文**与各自的**修订行**对齐。
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| **`D3.2` 语义修补(`v1.2` 内,不改版本号)** | ① §5.3 字段表 `visibility` 由「`INVERTED`(倒排) + `NOT NULL` + `PARTITION KEY`」改为 **`PARTITION KEY`(分区键) + `NOT NULL`**;② §5.3 集合创建代码块由 `col.create_index("visibility", {"index_type": "INVERTED"})` 改为 `is_partition_key=True` + `ensure_partition()` + 只建向量索引;③ §5.3 选型对照表 §5.1 术语表 / §5.1 链路 / §7 技术前提 / §7.2 选型 / §8.2 性能分解 / §8.3 优化手段 / §9 启动自检 / §10.5 指标 / §11.1 测试矩阵 / `AC-01` / 附录 A 共 **14 处**同步(13 处逐点替换 + §5.3 集合创建代码块整段重写)。**依据**:`D3.1` §5.5.1 已定「分区键由引擎管理,无需再为 `visibility` 建倒排索引」——保留 `INVERTED` 会误导实现,并在评审时被读成方案不确定 |
|
||||
| **`D3.2` §8.3 重复行合并** | 优化手段表原有「① `visibility` 建倒排索引」与「② `visibility` 声明为 partition key」两行**同义重复**(第九轮改造遗留),合并为一行并顺延编号(**6 项 → 5 项**) |
|
||||
| **`D2.4` 对齐(`v1.3` 内,不改版本号)** | §1 术语表 / §5.1 链路 / §5.4 设计点表(补「(历史)」标记) / §5.4 检索代码块(`limit=top_k * OVERFETCH_FACTOR` → `partition_names=sorted(allowed)`) / §5.5 判断表 / §7.3 步骤 / §8.2 性能 / §8.3 优化手段(**6 项 → 5 项**) / §8.4 测试矩阵 / §9 启动自检 / §10 配置(`VISIBILITY_OVERFETCH_FACTOR=3` → `VISIBILITY_PARTITION_KEY=visibility`) / §11 指标 / `AC-01` / 验收脚本一 / `RK-16` / 附录 A / 附录 C / §12.1 `T-08` / §12.3 `J-04` 共 **27 处** |
|
||||
| **`D2.2` 对齐(`v2.5` 内,不改版本号)** | ① `FR-CS-033` **重写**为「档位隔离走集合内分区裁剪(`v2.5` 重写,替代 over-fetch)」;② `FR-CS-032` 由「强制拼装**过滤表达式**」改为「强制拼装**分区裁剪范围**」;③ 附录术语 `over-fetch` 加「🔴 `v2.5` 已取消」;④ `AC-01` / 验收脚本一 / `RK-16` / `T-08` / `J-05` 同步,共 **9 处**;⑤ §0.4 `v2.5` 行补第 ⑦ 条;⑥ 文末「需求文档 v2.4」→ **v2.5**(版本停滞) |
|
||||
| **校验(本轮实跑)** | 四份 HTML 均通过项目自带 `verify_html_doc.py`:标签闭合 / 锚点有效 / 围栏成对 / 无占位残留(`D2.2` 1084 行、`D2.4` 1751 行、`D3.1` 4549 行、`D3.2` 2544 行);`_consistency.py` 重跑:**TOC 失效 0**,四文档交叉引用 **7/7 ✅** |
|
||||
| 🆕 **新增待决 `N-10`** | `D3.2` §12.1 的 **`T-11`**(客户分层门槛 / 合格投资者门槛的**档位归属**)**是否同步登记进 `D2.4` §12.1**——`D2.4` 现只有 `T-01`—`T-10`,`T-11` 号位**空闲**。不补,则「`D3.2` 镜像 `D2.4`」这一说法**在待决项上不成立**。**建议:补登** |
|
||||
| 🆕 **新增待决 `N-11`** | **`T-nn` 跨文档撞号**:`D3.1` §5.6 的 `T-11` 是「金融行业基础信息的知识源」、`D3.2` §12.1 的 `T-10` 是「数据库表结构现状 / `fin_knowledge_meta`」,而 `D3.2` / `D2.4` 的 `T-11` 是「门槛档位归属」——**不同文档的同号是不同事项**。现行体系已确认 `T-nn` **按文档独立编号**(`D1.5` §3 即按此映射 `D2.2 T-nn` ↔ `D2.4 T-nn`),故**不构成缺陷**;仅当要求 `D2.1` 的「`T-01`~`T-11`」行文在三份文档间**严格同构**时才需各自顺延。**非功能影响,可低优先处理** |
|
||||
| 🆕 **发现(本轮未改)· `_consistency.py` 的核对清单已过期** | 该脚本 §二 的「关键事实」仍按 **`功能需求 48 条` / `51 项`** 等旧值匹配(`D2.2` `v2.5` 已把功能需求 **48 → 52 条**、功能域 **7 → 8**),因此其「`0 = 遗漏`」列会**误报遗漏**。**建议**:把 `FACTS` 清单同步到 `v2.5` 口径后再作为门禁使用,否则不宜据其下结论 |
|
||||
| 🆕 **发现(本轮未改)· `group_fqcd_jr\` 内的旧命名镜像** | 代码仓 `group_fqcd_jr\开发文档\` 与 `group_fqcd_jr\客服agent\` 存有**旧命名镜像** 20 份(`知识库设计方案.html` / `客服Agent知识库设计方案.html` 等,最后写入 2026-09-17 11:32—15:14),`over-fetch` 残留**最高 35 处**、`倒排` **22 处**。经 `git ls-files -- 开发文档 客服agent` 核对:**该两目录未被 git 跟踪**(0 条命中),属工作区遗留物,**不随提交外发**。**建议**:归档进 `.workbuddy\backups\` 或删除,避免演示时误开旧版 |
|
||||
|
||||
---
|
||||
|
||||
## 15. 第十一轮:`DEC-19` 记忆口径裁定与 `Q-1.8` 闭环(2026-09-18)
|
||||
|
||||
> **背景**:`D2.2` §1.7 范围表与附录第 12 项写「客户侧长期 / 画像记忆**亦关闭**」,与 `D3.1` §3.5 三层权限表的「中期只读」冲突;且 `D2.2` **自身**的主体模型(客户可查「自己的画像与风评」)、`FR-CS-024`(转人工摘要含**画像关键标签**)、`D3.1` §3.5.2 适当性过滤三处**都要求画像可读**。按字面执行「亦关闭」会同时废掉这三处功能。
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| **裁定(`DEC-19`)** | 由「是否关闭」改为**三分口径**,裁为 **(a)**:**短期会话记忆=开(读 / 写)/ 长期记忆召回(`memory_unit` / `user_facts`)=关 / 画像=客户侧字段级只读(仅 `risk_level` / `customer_level`,供确定性规则)且禁止注入生成上下文**;客服**不写**画像、**不产生**画像候选 |
|
||||
| **`D2.2` 同步** | §1.7 范围表行重写;附录第 12 项拆为「长期记忆召回」并明确关闭;第 18 项画像候选由「可产生(待确认后开启)」改为**关闭**;**新增第 21 项**「画像字段级读取」;表后新增澄清 callout(三件独立的事) |
|
||||
| **`D3.1` 同步** | §3.5 中期行改为「**字段级只读**(仅两个字段)+ 禁止注入生成上下文」;长期行拆为「知识侧只读 / 记忆侧不召回 / 图谱不读」三支;§3.5 新增 design callout 说明拆分口径 |
|
||||
| **`D1.5` 同步** | `DEC-19` 三处(登记册 §4 / 详表 §5 / 简表 §7)改为三分口径,并标记 ✅ 已裁定 (a) 与完整理由链 |
|
||||
| **缺陷登记** | `D1.6` §3.3 新增 **`Q-1.8`**(本轮已闭环);C 类计数 7 → **8**,§3.3 标题与 §0 汇总表同步;§4.4 决策单 `乙-20` 标记 ✅ 已定 (a) |
|
||||
| **校验(本轮实跑)** | 改动后重跑项目自带 `verify_html_doc.py`:**`D2.2` 1086 行 / `D3.1` 4550 行,均通过**(标签闭合 / 锚点有效 / 围栏成对 / 无占位残留);`_consistency.py` 重跑:**TOC 失效 0**,四文档交叉引用 **7/7 ✅** |
|
||||
|
||||
---
|
||||
|
||||
## 16. 第十二轮:甲类受理、模型选型核对与 `K-01` 修正(2026-09-18)
|
||||
|
||||
> **本轮做什么**:① 受理甲类 6 项输入(两把模型 key + 四类授权);② 就「嵌入 / 生成模型选哪个」给出结论(依据为**读码 + 读证据文件**,**非实测**);③ 确立**密钥落点规则**;④ **修正 `K-01`** 的推断。**本轮未写任何代码、未连库、未起 Milvus。**
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| **甲类受理** | `D1.6` §4.4 甲类 6 行全部标记 ✅ 已定(甲-4 答辩约 **2026-09-19**;甲-6 一次性授权,但本轮明确「**先不要开发**」⇒ **发令暂缓**);`D1.6` §6「需要你提供的输入」6 项同步为已满足 |
|
||||
| **模型结论(嵌入)** | **不另选**:沿用底座已登记的 `qwen3.7-text-embedding-flash`(见 `tools\configure_embedding_endpoint.py`)。理由:**换模型=换向量维度=已灌数据全部作废**;维度仍须 `E-3` 实测(`DEC-01`) |
|
||||
| 🔴 **高价值纠正** | 嵌入端点的 `secret_ref` 是 **`env:QWEN_EMBEDDING_API_KEY`**,**不是** `DASHSCOPE_API_KEY`——只配后者时症状是「**没有可用的模型端点**」,与病因无关,排查方向被带偏。`DASHSCOPE_API_KEY` **另有用途**(推广图 `wan2.2-t2i-flash`),故**同一把 key 建议同时写两个变量名**。另确认 `app\core\config.py` 的 `load_dotenv(override=False)` 已把 `.env` 注入 `os.environ`,密钥写 `.env` **有效** |
|
||||
| **模型结论(生成)** | **不另选**:沿用库内 `status='active'` 的产线端点;`.env.example` 的离域默认模型为 `deepseek-v4-flash`(`OFFSITE_DEEPSEEK_MODEL`) |
|
||||
| 🔴 **`K-01` 修正** | `docs\evidence\knowledge-collections.json` 显示三集合**已含 `visibility` 字段**(`fin_faq_collection` 125 / `fin_policy_collection` 297 / `fin_product_collection` 214 = **636** 行)⇒ `K-01`「现有 schema 很可能无 `visibility`」的推断**不成立**。`N-07` 的实质随之变为「**重判档位 + 补灌 `registered` 行**」,而非「加字段重建」 |
|
||||
| 🔴 **本轮新发现** | ① `knowledge\_chunks.jsonl` **617** 行**全部 `public`**(`registered 0`)⇒ 档位隔离**有字段、无数据**,`AC-11` / `A8` 的双向验证**必然失败**;② FAQ 集合 **125** 行 vs 交付口径「FAQ 64 组」**待对账**;③ 向量**维度仍未确定**(证据只给 Milvus 类型码 `101`),`D3.1` 的 `dim=1024` 与 `settings.EMBEDDING_DIM` 两处口径需一并收口 |
|
||||
| **密钥落点规则** | 密钥**只落** `group_fqcd_jr\.env`(`.gitignore` 已含 `.env` 与 `.env.bak*`,后者是含真实密钥的完整备份);**绝不写入任何 `.md` / `.html` 文档、绝不入 git、绝不出现在交付件**;文档只登记「已提供 / 存于 `.env`」。两把 key 已明文出现在对话文本中 ⇒ **建议答辩结束后轮换** |
|
||||
| **对话上下文登记** | `D1.6` 新增 **§2.4「2026-09-18 实测补充」**(8 条)与 **§4.5「2026-09-18 会话记录」**。按你的要求:**人机对话持续登记在 `D1.6`,作为后续会话的上下文来源** |
|
||||
| **未做(诚实声明)** | 未写代码;未连 MySQL / Milvus;**未写 `.env`**(等你解除「先不要开发」);本轮**未改 HTML**,故未重跑 `verify_html_doc.py` |
|
||||
|
||||
---
|
||||
|
||||
## 17. 第十三轮:零容忍词去留诊断与三层联动冲突检查(2026-09-18)
|
||||
|
||||
> **背景**:你提出「零容忍词规则会不会让转人工频率大增、要不要去掉」,并授权「必要时可删旧 Milvus 重建」。本轮**只做诊断与决策登记**——未写代码、未连 MySQL / Milvus、**未删任何 Milvus 集合**(沿用你「先不要开发」的指令)。
|
||||
|
||||
| 项 | 本轮结论 |
|
||||
|---|---|
|
||||
| 🔴 **前提纠正(本轮最重要)** | 「零容忍词」在项目中是**三层不同载体**:① **输入侧** `ZERO_TOLERANCE_WORDS`(11 条,含裸词「安全」「年化收益率」「预期收益率」)→ `hits_zero_tolerance()` ← `route_message()`;② **输出侧硬编码** `app\service\agent\governance.py:320` 的 `hard_patterns`(5 条);③ **输出侧库内** `agent_negative_word`(11 行 `severity='block'`)。**当下**制造强制转人工的是 **②③**——① **的代码已随客服模块整体清除而不存在**(`app\service\agent\implementations\` 只剩 `financial_nl2sql` / `fund_query_demo` / `platform_probe` / `risk_agent`),属**重建时**待写的项 |
|
||||
| 🔴 **陷阱 1** | **只删库内 11 行 = 白删**:`hard_patterns` 是**硬编码**,`governance.py:326` 独立于库规则,仍会「整条替换 + `transfer_required=True`」 |
|
||||
| 🔴 **陷阱 2** | `tools\seed_compliance_baseline.py` 是**幂等 upsert**(`ON DUPLICATE KEY UPDATE … status='active'`)⇒ **删掉的行会在下次重跑种子时自己长回来** |
|
||||
| **合规口径** | 合规约束的是**结论**(不给收益承诺)、不是**字面**(不出现「年化」二字)。与 `D3.6` §1.1 根因诊断、§4.2 已裁定的「**概念豁免层 / 承诺拦截层**」一致 |
|
||||
| **冲突检查(7 条,已逐条收口)** | `C-1` 删词表 ⊥ `D3.7` `M-7`(禁忌违反 = 0,删了则**不可测**);`C-2` **维持现状 ⊥ `D3.7` `M-10`(误拒率 = 0)**——`A-05`「什么叫七日年化」正是 `D3.7` 指定的探针,判据明写「不得走合规拒答」⇒ **「不去掉」与「去掉」都不满足你自己的验收集,只有分层能同时满足**;`C-3` 只删库 ⊥ `hard_patterns` 硬编码;`C-4` 删库行 ⊥ `docs/02` §10.2 逐字要求 + 种子幂等;`C-5` 裸词「安全」是**纯误杀**且**只在输入侧为害**(`hard_patterns` 不含它);`C-6` 「删 Milvus 重建」与 `K-07` / `B-4` / `DEC-I6` **不冲突、正是正解**;`C-7` `D3.6` §4.2 与 `D3.4` `C-01` **重叠,应合并为一条**(否则出现两套常量) |
|
||||
| **时机(窗口只有一次)** | 客服实现**当前不在代码里**(已清除、待重建)⇒ 本轮是「**一开始就写对**」的唯一窗口;等重建完再改即**二次改造**(口径同 `D3.4` `C-01`) |
|
||||
| **新增待决** | `D1.6` §4.4 新增 **乙-E 组**:`乙-31`(零容忍词三层联动处理方式,建议 **分层重构**)· `乙-32`(输出侧命中后动作,建议 **分档**:仅真承诺转人工)· `乙-33`(裸词「安全」改为**共现判定**)。乙类计数 30 → **33** |
|
||||
| ✅ **裁定(2026-09-18)** | 你已批复 **乙-E 组三项全部按建议落地**:`乙-31` **分层重构**(词表保留为检测集 + 概念豁免层 / 承诺拦截层,并入 `D3.4` `C-01`)· `乙-32` **分档**(仅真承诺转人工,改 `governance.py:332-337`)· `乙-33` **共现判定**(裸词「安全」需与承诺词共现才拦,库行不动)。**连带**:你「必要时可删旧 Milvus 重建」**= `乙-16` 选 (a) 授权重建**(待正式确认) |
|
||||
| ✅ **乙类 29 项批复(2026-09-18)** | 你批复「**乙类 29 项全部同意**」,**无一项改写**。回填:`D1.5` §7 决策回填表 28 项(`DEC-01`~`DEC-28`)+ `D1.6` §4.4 乙-1~乙-30;会话登记 `D1.6` §4.6「八」。**闸门项** `乙-2` = (a) **只做 P0 保演示**;**`乙-16`** = (a) **授权重建**;**`乙-1`** = (b) 维持 `public` + 回改 `D2.4` 附录B |
|
||||
| 🆕 **`D2.1` 升 `v5.4`(2026-09-18)** | 新增 **§10「今日一天执行计划」**(57 项裁剪为 **6 个时间盒段 T0—T5**,附「今日不做」清单、6 条今日红线、降级阶梯、**对 `C-01`/`C-04`/`C-06`/`H-01`/`H-04`/`H-05` 的 DoD 增补**);新增 v5.4 修订要点 6 条;§9 决策状态补乙类/甲类批复行。⚠️ 行尾为**混合**(原文件即混合,插段与邻近块一致),未做全文件规范化以免产生大 diff |
|
||||
| **Milvus 重建的代价(须先知悉)** | 636 行重灌;`knowledge\_chunks.jsonl` **617 行全 `public`** ⇒ `registered` **无数据可召回**(需**补内容**,非「改判」可解);FAQ **125** 行 vs 交付「64 组」**待对账**;向量**维度未实测**,定错要**再重建一次**。你「必要时可删旧库重建」的表述 **≈ 已认 `乙-16` 选 (a) 授权重建**,待正式确认 |
|
||||
| **对话上下文登记** | `D1.6` 新增 **§4.6「2026-09-18 第二轮会话记录」**(三层载体表 / 冲突检查表 / 时机)。按你的要求:**人机对话持续登记在 `D1.6`** |
|
||||
| **未做(诚实声明)** | 未写代码;未连 MySQL / Milvus;**未删任何 Milvus 集合**;未写 `.env`;本轮未改 HTML,故未重跑 `verify_html_doc.py` |
|
||||
---
|
||||
|
||||
## 18. 第十四轮:`D4.6` 落档(`C-06-a`)与计数同步(2026-09-18)
|
||||
|
||||
> **本轮做什么**:按你 2026-09-18「**按照你建议的来**」的口径,把 `C-06` 的对比基准 —— 客服 Agent 一期红队与业务评测集 —— **从 git 索引落成 `开发文档` 内的正式留痕件**(`D4.6`),并同步本文件的全部计数(**52 → 53 份**;`开发文档\` **48 → 49 份**)。本轮**未写任何代码、未连库**。
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| 新增文档 | `开发文档\D4.6-客服Agent一期合规红队与业务评测集-留痕-2026-09-18.md`(CS-DOC-2026-020 **v1.0**,域 4「清除与重建留痕」) |
|
||||
| 落档理由 | `A-01` 基线原文件在 worktree 已删、**仅存 git 索引**;`D4.1` 明写「**不要只依赖 git 历史**」。`C-06` 实测时**已不得不走 `git show HEAD:<path>`**,`C-07` 还要拿它做安全对照 ⇒ 必须落档 |
|
||||
| 原文完整性 | 正文**逐字保留**原文档(含其 2026-09-16 的「当前结果」段),另设 §0 落档说明与 §2 `C-06` 实测回填(18 条),**不改动原文** |
|
||||
| 计数同步 | §0 结论 52 → **53**;§3.1 第 3 层 52 → **53**;§3.2 表 D4 5 → **6** 并改「合计」行;§4.0 标题 / 说明 / 总表加行;§4.4 标题(4 → 5 份)与明细行;§4.0 尾「注入校验」48 → **49**(41 `开发文档\*.md` + 5 html + 3 `客服agent\*.html`) |
|
||||
| 交叉引用 | `D1.6` §4.17 六-1 由「建议落档」改为「✅ 已落档 = `D4.6`」;`D2.1` `C-06-a` 标记 ✅ 已办;`tests/unit/core/test_customer_service_rules.py` 的基线注释改指 `D4.6` |
|
||||
| **未做(诚实声明)** | 未恢复仓库内被删的同名文件(文档区 = `开发文档\`,不是 repo);未追改 §11.2 的「52 行」记载(那是第八轮的**历史事实**,不追溯修改) |
|
||||
|
||||
---
|
||||
|
||||
## 19. 第十五轮:`D2.5` 演示脚本与账号速查落档(`F-03`/`F-04`/`A-05` 三合一,2026-09-19)
|
||||
|
||||
> **本轮做什么**:把 `D2.1` 批次 `F` 的三项交付(`F-03` 演示脚本 / `F-04` 演示前自检 + 账号速查 / `A-05` 五项检查清单固化)落成**一份**可在答辩现场照着念的文档 `D2.5`,并同步本文件的计数(**53 → 54 份**;`客服agent\` **4 → 5 份**)。本轮**不改代码**(代码侧的种子与同步脚本改动见 `D1.6` §4.33)。
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| 新增文档 | `客服agent\D2.5-客服Agent演示脚本与账号速查-2026-09-19.md`(域 2「对外交付」,`D2.x` 续号) |
|
||||
| 为什么值得单独成文 | `A-05` 的产物**本就是文档**、`F-04` 要求「产出账号速查表并实测可登录」——三者同一读者、同一时点(演示当天),拆开必然漂移 |
|
||||
| 口径来源 | 全部台词与预期答复 **2026-09-19 真 HTTP 实测**(`POST /api/v1/agent-runs` + 轮询),原始答复留痕在 `group_fqcd_jr\docs\evidence\20260919-t8-demo-lines.json`(17 条)与 `…-lines2.json`(5 条) |
|
||||
| 计数同步 | §0 结论 53 → **54**;§3.1 第 3 层与 §3.2 表 D2 4 → **5**(含「合计」行);§4.0 标题 / 说明 / 总表加 `D2.5` 行;§4.1 标题(4 → 5 份)与明细行;§4.0 尾「注入校验」49 → **50** |
|
||||
| 已登记的**工具口径问题** | `tools/dependency_health_check.py` 把 **neo4j** 当硬前置(未起即抛异常),而客服链路**不需要** neo4j(长期记忆召回按 `DEC-19` 为**关**)⇒ 它会把「演示环境已就绪」误报为「没准备好」。`D2.5` §1 已写明**替代判据**;**本文档不修该工具**(改动属底座工具,须另立会签) |
|
||||
| 已登记的**过期内容** | `docs/44-演示流程.md` 与 `docs/40-前端验收清单.md` 仍列 `advisor_t / abc12345`(投顾模块已清除,账号**已不存在**)。`D2.5` §2.1 已加「不要念它」警示;正式回写属 `F-05` |
|
||||
| **未做(诚实声明)** | 未追改 §11.2 的「52 行」记载(历史事实,同第十四轮口径);未重跑 HTML 校验(本轮未改 HTML) |
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## 20. 第十六轮:`D8.1` 语言规范独立成文、`A-09`/`A-10` 落档与计数同步(2026-09-19)
|
||||
|
||||
> **本轮做什么**:按 `乙-27` / `DEC-28` 把《项目语言规范》自 `CLAUDE.md` **独立成文**(新编号文档 `D8.1-项目语言规范.md`,`CLAUDE.md` 收缩为**三行入口存根**);并把 `A-09`《可改文件白名单》与 `A-10`《底座会签申请单》两份**纪律凭据**落进仓库 `docs\`;同步本文件的全部计数。代码与门禁见 `D1.6` §4.34 / §4.35。
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| 新增文档 | `开发文档\D8.1-项目语言规范.md`(域 8「AI 协作规则」,**语言规范正文**:四条硬规则 + AI 入口协议 + 编号落位) |
|
||||
| 改造文档 | `开发文档\CLAUDE.md` → **三行入口存根**(保留文件名以维持 AI 工具约定与既有引用锚点) |
|
||||
| 新增纪律凭据(写在仓库 `docs\`,**不占** `开发文档\` 编号) | `group_fqcd_jr\docs\46-可改文件白名单.md`(`A-09`:类 1 纯新增 / 类 2 客服业务层 / 类 3 须会签 / 类 4 禁止修改 + **零 DDL 声明** + 实际改动对照表);`group_fqcd_jr\docs\47-底座会签申请单-2026-09-19.md`(`A-10`:组 1 六文件八处 + 组 2 四文件 + 🆕 **组 3 组外扩张 2 文件(须补签)**) |
|
||||
| 计数同步 | §0 结论 54 → **55**;§0 盘点范围 49 → **50 个文件**;§0 域表与 §3.2 表 D8 **7 → 8**;§3.1 第 3 层 54 → **55**;「合计」行改 `… + 8 = 55`;§4.0 标题 / 说明 54 → **55**;§4.0 总表 `D8.1` 行改指新文件并**新增存根行**;§4.0 尾「注入校验」**50 → 51**(`开发文档\*.md` 41 → **42**) |
|
||||
| 交叉引用 | `D1.6` 新增 §4.34(`W9`)/ §4.35(`W10`);`D2.1` 标题 **v6.20 → v6.22**(补 v6.21 / v6.22 两段) |
|
||||
| **未做(诚实声明)** | ① 未改 `D7.1` / `D7.2` 的品牌,沿用 §4.7「只标注不改品牌」的既有裁定;② 未追改 §11.2 的历史计数(第八轮史实,不追溯);③ `CLAUDE.md` **未删除**(文件名被 A2/A4 与 `ai\D8.3` 引用);④ `docs\46` / `docs\47` **未计入**本节 55 份(它们是仓库 `docs\` 编号空间,与 `开发文档\` 编号体系两套) |
|
||||
|
||||
> 🔑 **口径一句话**:域 D8 的 8 份 = **7 份编号文档(`D8.1`—`D8.7`)+ 1 份不占编号的入口存根 `CLAUDE.md`**。因此「55 份」= 54 份编号文档 + 1 份存根;`开发文档\` 的「50 个文件」同理。这样写是为了**不让存根虚占一个编号**,同时又不把文件从盘点范围里藏掉。
|
||||
|
||||
## 21. 第十七轮:`D2.6` 答辩报告成文 + `D2.1` v6.23(`W11` 收尾)与计数同步(2026-09-19)
|
||||
|
||||
> **本轮做什么**:把答辩老师「客服 Agent 不智能、动不动就转人工」这条批评,落成一份**可举证的答辩主文档** `D2.6`;同步 `D2.1`(`G-03` 档位单点化收口 → **v6.23**)与 `A-09`/`A-10`(新增组 4「前端入参边界对齐」)。代码与门禁见 `D1.6` §4.36。
|
||||
|
||||
| 项 | 本轮落地 |
|
||||
|---|---|
|
||||
| 新增文档 | `客服agent\D2.6-客服Agent答辩报告-2026-09-19.md`(域 2「对外交付」,`D2.x` 续号) |
|
||||
| 为什么单独成文 | 答辩现场需要一份**只看它就能讲完**的主文档:批评 → 根因 → 方案 → 安全 → **修复前/后对比** → 演示口径 → 坑与教训 → 诚实未做项 → 现场速答。这些内容分散在 `D3.6` / `D3.7` / `D2.1` / `D1.6` 四份里,现场翻不动 |
|
||||
| 口径来源 | 全部真机实测:`_eval_harness\score_before.json`(修复前)vs `score_w11b.json`(修复后)、`e2e_smoke_test --read-only`、`http_probe.py`、12 条真机边界用例 `_fe_boundary_http.py` |
|
||||
| 计数同步 | §0 结论 55 → **56**;§0 盘点范围 `客服agent\` 5 → **6 份**;§0 域表与 §3.2 表 D2 **→ 6**;§3.1 第 3 层 55 → **56**;「合计」行改 `6 + 6 + … + 8 = 56`;§4.0 标题 / 说明 55 → **56**;§4.0 总表新增 `D2.6` 行;§4.1 标题(5 → **6 份**)与明细新增行;§4.0 尾「注入校验」**51 → 52 份** |
|
||||
| 交叉引用 | `D1.6` 新增 §4.36(`W11`);`D2.1` 标题 **v6.22 → v6.23**(新增 v6.23 段 + §5 `G-03` 勾选);`D2.6` §0/§6 引用 `score_before` 与 `score_w11b` |
|
||||
| ⚠️ **顺带修正一处旧口径** | §0 域表的 `D2` 行此前记为 **4**(只数了 A1—A4),而 §3.2 与「合计」用的是 **5**(含 `D2.5`)—— 两处**长期不一致**。本轮统一为 **6**(含 `D2.5` + `D2.6`),并在此留痕 |
|
||||
| **未做(诚实声明)** | ① 未追改 §11.2 的历史计数(第八轮史实,不追溯);② `docs\46` / `docs\47` 仍未计入本节 56 份(仓库 `docs\` 是另一套编号空间);③ `D2.2`/`D2.3`/`D2.4` 三份 HTML **本轮未改**(无需求变更),因此其版本号不动 |
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
> **维护责任**:本文件为活文档。**新增 / 改名 / 归档 / 改版本号后,须同步更新本文件 §3 与 §4.0 总表对应行**。
|
||||
>
|
||||
> 编制:项目文档组 | 审核:合规稽核部 | 日期:2026-09-17
|
||||
Reference in New Issue
Block a user