Files
group_fqcd_jr/开发文档/D1.3-文档规整方案与开发前待决事项-2026-09-17.md
张胜宇 bc61d5c579 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...`),
  末尾带省略号,是接口文档的示意值,**不是可用凭据**。
2026-09-20 15:03:15 +08:00

38 KiB
Raw Permalink Blame History

开发文档规整方案与开发前待决事项

体系编号:D1.3 · 域:一、治理与索引 · 编号体系见 D1.1 §4.0

编号:CS-DOC-2026-014 | 日期:2026-09-17 | 性质:只读盘点 + 规整方案(物理动作待你确认后执行) 盘点范围:开发文档\(49 份)+ 客服agent\(4 份)= 53 份(不含 ai\、_build\ 脚手架)


0. 一句话结论

53 份里真正需要开工读的只有 5 份;其余是「取证底稿 / 清除记录 / 过程文档 / 早期系统文档」四类。其中 1 份整份作废、9 份使命已完成。 另外核出 4 个必须处理的问题——其中最急的一条是:四份交付文档的品牌标题至今仍是「XX科技」。


1. 盘点结果

1.1 现行权威 —— 开工只读这 5 份

# 文档 规模 作用
A1 客服agent\D2.1-客服Agent执行Todolist.md v5.2 440 行 🔴 唯一开工入口。52 项 / 7 批次(A—G)/ 12 步关键路径 / 2 组会签 / 12 条完工判据
A2 客服agent\D2.2-客服Agent需求文档.html v2.4 1064 行 对外需求:FR-CS-001048 + NFR-CS-001021 全量、身份与鉴权模型、验收标准
A3 客服agent\D2.3-客服Agent开发计划.html v1.0 869 行 前置条件、测试环境就位(G-00)、会签流程、门禁、交付物
A4 客服agent\D2.4-客服Agent知识库设计方案.html v1.2 1615 行 三集合 / 三档可见性 / 8 模块 / 7 步入库 8 步检索 / 8 项决策
A5 开发文档\D3.3-访客与角色分离的鉴权方案建议-2026-09-16.md(CS-AUTH-2026-011) 322 行 鉴权专项:四方案对比、三条不变量、甲乙时序

已验证:A1 与 开发文档\D3.4-客服Agent重构Todolist.md v5.1 的任务编号完全一致(52 个、7 批次),说明 v5.2 是 v5.1 的收敛版而非分叉;A2 与 v2.3 的 FR 48 条 / NFR 21 条完全一致。

1.2 取证底稿 —— 内部复核时查,不开工时读

文档 规模 为什么保留
开发文档\D3.1-客服Agent需求开发文档与设计方案.html v2.3 4366 行 A2 的完整版:逐条需求都带证据引用与推导过程
开发文档\D3.2-知识库设计方案.html 2374 行 A4 的完整版:含被收敛掉的备选方案与否决理由
开发文档\D3.4-客服Agent重构Todolist.md v5.1 606 行 A1 的前身,含更细的 DoD 描述
开发文档\D4.1-客服Agent重构报告-2026-09-16.md(CS-REFACTOR-2026-010) 416 行 清除了什么、缺什么、按什么顺序装回去的逐项取证;§9 已拍板记录
开发文档\D4.5-投顾模块清除执行报告-2026-09-17.md(CS-PURGE-2026-013) 171 行 投顾清除的验证数据 + 恢复方式
开发文档\D4.3-客服模块清除执行报告-2026-09-16.md(CS-PURGE-2026-008) 156 行 客服形态A清除的验证数据

1.3 知识源 —— 13 份(已于 2026-09-17 统一为「南方基金」)

目录 份数 内容
公司信息\ 4 D6.1.1-南方基金-企业信息.md、D6.1.2-南方基金-高频问答对.md/.txt(64 组,档位 public 54 / registered 10,判据见其 §四)、D6.1.4-公司新人指南.md
公司业务\ 6 个人理财产品手册、企业金融服务方案、高净值客户服务规范、用户测试数据 3 份
金融政策\ 3 适当性管理指南、反洗钱手册、销售管理办法
用户研判规则\ 4 风险画像规则、可疑交易识别、用户信息数据示例 ×2

1.4 过程文档 —— 使命已完成(9 份)

文档 状态
待决事项清单.md(19 项) ✅ 19 项全部已定
客服Agent模块重构方案与Todolist.md v2.0 ⛔ 被 v5.x 取代
客服Agent双角色方案决策对比.md ✅ 决策已定,结论已进 A2
五项决策建议与新增证据.md ✅ 5 项决策已并入报告 §9
项目信息补充表.md(567 行) ✅ 信息已并入需求文档
Todolist编写就绪度评估与补充清单.md ✅ 评估已完成
客服Agent清除与重构方案(底座层与业务层分层).md ⛔ 被 CS-REFACTOR-2026-010 取代
客服重建启动前落点复核与建议-2026-09-16.md(CS-009) ⛔ 被 CS-010 取代
客服模块清理执行记录-2026-09-16.md ✅ 执行记录,可并入 008

1.5 早期系统级文档 —— 状态待确认(6 份)

文档 日期 我的判断
D7.1-需求文档.html(2499 行) 07-17 项目整体需求("智能财富管家系统 — 项目开发需求文档"),非客服专项。可能仍有效,但品牌是 XX科技、且可能含投顾内容 → 待你定
D7.2-功能设计文档.html(1752 行) 07-20 系统级 Agent 功能设计(含"2. 智能客服 Agent")。同上
D7.3-记忆架构设计.html(1662 行) 07-20 标题是「AI Agent 记忆架构设计指南」——像通用教材而非本项目文档
D7.4-开发引导.md(328 行) 07-17 开发实施引导,可能已被 A3 覆盖
D7.5-答辩须知.md(14 行) 06-26 答辩要求,仍有效
CLAUDE.md(177 行) 06-05 项目语言规范,仍有效

1.6 已归档 / 整份作废(2 份)

文档 处理
归档-访客鉴权与访客分层讨论-已清除-2026-09-16.md 已归档,保留
🔴 客服与投顾模块重构前代码清理建议-2026-09-15.md 整份作废:它是「死代码清理建议」,投顾条目已因投顾整体清除而失效;客服侧条目也已随形态A清除完成

2. 四个必须处理的问题

🔴 P-1(最急)四份交付文档的品牌标题仍是「XX科技」

位置 现状
<title> XX科技·智能财富管家系统 — 智能客服 Agent 需求文档 等 4 份全部
<h1 id="..."> XX科技·智能财富管家系统智能客服 Agent …
sidebar-brand / topbar 同样继承自原文档

成因:我产出 客服agent\ 四份时,从原文档抽取版式外壳(head/title/sidebar)再灌新正文——外壳里的品牌名一并带了过来。 影响:与你 09-17 定的「全部以南方基金为例」口径冲突;答辩时打开就是打脸。 修法:4 份各改 <title> + <h1> + 品牌位(约 12 处替换),零风险。

⚠️ P-2 两套文档并行,没有权威声明

客服agent\(4 份新版)与 开发文档\(v2.3 / v5.1 / 知识库完整版)内容不完全相同(收敛版 vs 完整版),但没有任何一份文档说明谁为准、各自什么用途。后来者(或三个月后的你)会不知道读哪份。

⚠️ P-3 文档交叉引用密集,不能随便移动文件

多份文档按 完整路径 + 行号 互引(如 _cs_purge_backup/app/service/agent/implementations/customer_service.py:193-206、§2.5、docs/33 §1.2)。贸然把文档挪进子目录,会让这些引用批量失效。⇒ 规整不能靠"搬文件",要靠"一份索引 + 状态标注"。

⚠️ P-4 早期系统文档(6 份)状态不明

见 §1.5。它们用 XX科技 品牌、可能含投顾内容,但又是"项目整体"层面的文档——删了怕缺、留着怕误导。


3. 规整方案(推荐方案:零破坏)

方案甲 ✅ 推荐 —— 加索引、不动文件

新建 开发文档\D1.1-文档索引与权威声明.md,内容:

  1. 权威链(A1—A5)+ 更新顺序(改需求 → 改 Todolist → 改计划 → 改知识库)
  2. 每份文档的状态标注(现行 / 底稿 / 已完成 / 已作废 / 待确认)
  3. "开工只读这 5 份"的粗体提示
  4. 引用约定:文档内互引一律用「文档编号 + 章节」,不用文件路径

另做 3 件小事:

  • 把 客服与投顾模块重构前代码清理建议-2026-09-15.md 移入 开发文档\归档\
  • 把 归档-访客鉴权与访客分层讨论-已清除-2026-09-16.md 移入 开发文档\归档\
  • 修 P-1 的品牌(4 份交付文档)

收益:零引用破坏;任何人打开 00-文档索引 就知道从哪读。成本:约 10 分钟。

方案乙 —— 物理分层(不推荐)

建 现行\ 底稿\ 归档\ 三个子目录,把文档按类搬进去。 问题:§P-3 的交叉引用会批量失效;且你之前提交到远程的 zsy_developcc 分支里已有 开发文档\ 的旧路径,两边会不一致。

方案丙 —— 合并同类项(不推荐)

把 9 份过程文档物理合并成 1 份「决策过程留档」。 问题:这些文档都有编号(CS-REFACTOR-2026-00X / CS-PURGE-2026-0XX),报告与需求文档里按编号引用它们。合并后编号无处安放,引用全断。


4. 开发前待决事项

4.1 🔴 只有你能定的(4 项)

# 事项 为什么必须你定 我的建议 不定的后果
D-1 四份交付文档品牌改成「南方基金」? 这是对外口径变更,且会改到你已提交的分支 改。改成 南方基金·智能服务系统 — 智能客服 Agent …;同时决定系统名是否保留"智能财富管家系统" 答辩打开就是 XX科技,与知识源(已统一南方基金)自相矛盾
D-2 早期 6 份系统文档怎么办? 只有你知道它们是否还有用 D7.5-答辩须知.md + CLAUDE.md 保留;D7.1-需求文档.html + D7.2-功能设计文档.html 保留但标为「系统级、品牌待同步」;D7.3-记忆架构设计.html 移入归档(像通用教材);D7.4-开发引导.md 标为「已被开发计划覆盖」 25 万字里混着过期口径,评审翻到会问
D-3 admin 角色的 15 条投顾域权限要不要一并清? 上一轮的遗留;超管角色,我不敢擅动 清。投顾功能已全删,这些权限码在任何角色上都不会被调用;但为稳妥可先只读核查 sys_role_permission 库里留着 15 条指向已删功能的权限,审计时是瑕疵
D-4 代码侧的品牌残留要不要一起改? 不在"四个知识源目录"里,但你昨天说的是"全部以南方基金为例" 改。至少三处:B-01 入库门禁的品牌白名单(南方财富+南方基金+nanfangwm.com → 南方基金+nffund.com)、promotion.js:29 的 南方基金管理有限公司(少"股份")、governance.py:47 的热线常量 门禁会误杀新知识源(白名单里没有 nffund.com 就报占位符错误)

4.2 已授权、只差发令(可立即执行,不需要你再决策)

# 事项 说明
E-1 G-00 测试环境就位 已拍板"装"。⚠️ 且我 09-17 实测发现本机 MySQL 3306 + Redis 6379 都在跑、jr_agent 库可直连(账号 root/123456)→ 环境比预想的好,可以开始
E-2 A-03 配置快照实测(含 T-11 白名单核查) 同样因为库可连,现在能升级为强证据
E-3 T-01 / T-02 / T-03 / T-10 连库实测 Embedding 实际维度、三集合是否存在及 Schema、RAG 基础设施签名、fin_knowledge_meta 等表是否已建
E-4 seed_test_rbac.py 重跑 库里 customer 角色的 8 条投顾权限我已用等价 SQL 撤销,但脚本与库的最终一致性建议重跑确认

4.3 记录在案、不影响开工(3 项)

  • docs\ 约 30 处投顾残余引用 + AGENTS.md:163 引用已删发布脚本
  • 本地 origin/qyqy_develop 陈旧(8643ad1,远程实际 74b7d00)——你本机跑一次 git fetch origin 即可
  • 开发文档\ 已复制进 group_fqcd_jr\开发文档\ 并推送(若只想让它待在 zsy_developcc,可删工作区副本)

5. 建议的执行顺序

① 你定 D-1~D-4(4 项,一次回一句话即可)
② 我执行方案甲(加索引 + 归档 2 份 + 修品牌)        ← 约 10 分钟,零破坏
③ 我执行 D-4 的代码侧品牌改判(3 处)                ← 与 ① 同批
④ 开始 G-00(测试环境就位)→ 批次 A                  ← 真正开工

③ 与 ④ 之间有依赖:B-01 的品牌白名单若不同步改,重跑入库时新知识源会被门禁拦下(这是 D-4 必须先做的实际原因)。


6. 执行记录(2026-09-17 · 用户指令「把作废的文档都删除掉」)

6.1 已归档 14 份(移动方式,可随时恢复)

类别 份数 文档
整份作废 1 客服与投顾模块重构前代码清理建议-2026-09-15.md
过程文档(使命已完成) 9 待决事项清单.md、客服Agent模块重构方案与Todolist.md、客服Agent双角色方案决策对比.md、五项决策建议与新增证据.md、项目信息补充表.md、Todolist编写就绪度评估与补充清单.md、客服Agent清除与重构方案(底座层与业务层分层).md、客服重建启动前落点复核与建议-2026-09-16.md、客服模块清理执行记录-2026-09-16.md
已归档件 1 归档-访客鉴权与访客分层讨论-已清除-2026-09-16.md
🔴 旧版残留(见 §6.2) 3 公司信息\南方财富-企业信息.md、公司信息\南方财富-高频问答对.md、公司信息\南方财富-高频问答对.txt

归档位置:D:\桌面\金融\_archived_docs_20260917\(保持原文件名;仓库副本的同类文件在 _repo_copy\ 下)。

6.2 🔴 顺带核出的新问题(新增 P-5)

「重命名」在本沙箱里实际是「复制」而非「移动」 —— 公司信息\ 下曾同时存在:

  • 南方财富-* 3 份(旧版):内容全旧(域名 nanfangwm.com、热线 400-826-9518、has_new=False)
  • 南方基金-* 3 份(新版):已完整替换

⇒ 已清掉旧版 3 份。教训:本沙箱下"移动/重命名"必须用「目标存在 + 源消失」双条件复核,不能只看命令返回 0。

另有 5 份文档正文仍含「南方财富」(属内容过期,不是文件重复):D3.4-客服Agent重构Todolist.md v5.1、D4.1-客服Agent重构报告-2026-09-16.md、D3.1-客服Agent需求开发文档与设计方案.html、D3.2-知识库设计方案.html,以及本方案文档(后者属正常引用说明)。⇒ 建议并入 D-4 一起改。

6.3 清理后规模

位置 清理前 清理后
开发文档\ 53 个文件 40 个(根目录 17;4 个知识源目录共 17;ai\ 脚手架 6)
group_fqcd_jr\开发文档\(仓库副本) 42 个文件 39 个(同步清理,未重新推送 — 远程 zsy_developcc 仍是 09-17 11:38 的快照)

根目录剩余 17 份(实测复核过):现行权威 4 份(D3.4-客服Agent重构Todolist.md v5.1 / D3.1-客服Agent需求开发文档与设计方案.html v2.3 / D3.2-知识库设计方案.html / D3.3-访客与角色分离的鉴权方案建议-2026-09-16.md)+ 支撑底稿 2 份(D4.1-客服Agent重构报告-2026-09-16.md / D5.1-业务流程-MVP版-最终交付-2026-09-15.md)+ 清除执行记录 4 份(客服影响面清单 / 客服执行报告 / 投顾范围清单 / 投顾执行报告)+ 早期系统文档 6 份(CLAUDE.md / D7.5-答辩须知.md / D7.4-开发引导.md / D7.2-功能设计文档.html / D7.3-记忆架构设计.html / D7.1-需求文档.html)+ 本方案文档 1 份。合计 17 份。结构已可一眼看清。


7. 执行记录(2026-09-17 · 第二轮:结构整理)

本轮指令:「请按照你此前给出的建议进行改写,并在此基础上同步整理我的开发文档,确保整体结构清晰、分类合理、层级分明、命名统一、条理井然,便于后续查阅与维护。整理时请列出你做了哪些调整以及调整的理由。」 执行范围:落实 §3 方案甲(加索引、不动文件)+ §2 P-1 复核 + 内容口径改写(另见 CS-CONTENT-2026-016)。

7.1 一句话结论

新增 1 份索引(D1.1-文档索引与权威声明.md)+ 前置 1 条命名规则(00- 前缀);未移动、未改任何既有文件名。 理由:本区文档按「完整路径 + 行号」互引且已推送远程,搬文件 = 批量断链(§2 P-3)。故「整理」落在索引、分类、标注、规范四处,而非物理分层。

7.2 结构层调整(4 项)

# 调整 具体动作 理由 影响范围
S-1 新建索引与权威声明 新增 开发文档\D1.1-文档索引与权威声明.md(CS-DOC-2026-017):开工只读集、权威链与更新顺序、8 类分类总览、46 个文件位全量清单、命名规范、状态口径、引用约定、待决事项 直接解 §2 P-2(两套文档并行无权威声明);用 00- 前缀使其在任意排序下置顶 新增 1 份文件;不改动任何既有文件
S-2 明确「收敛版 vs 完整版」关系 在索引 §0/§4 显式声明:客服agent\(A1—A4)为对外交付 + 唯一开工入口,开发文档\ 同名旧版为取证底稿;冲突时以 客服agent\ 为准 解 P-2 的另一半:此前只知"两份不完全相同",不知谁为准 仅文档声明,无文件变动
S-3 建立 8 类分类体系 Ⅰ 对外交付 / Ⅱ 区内现行权威 / Ⅲ 内部复核底稿 / Ⅳ 清除执行记录 / Ⅴ 本次整改工作文档 / Ⅵ 公司事实与知识源 / Ⅶ 早期系统文档 / Ⅷ AI 协作脚手架 原盘点只有 7 类且把「现行权威」与「底稿」混列。按"什么时候读"分类比按"文件形态"分类更可用 索引 §3/§4
S-4 命名规范成文 索引 §5 写入 6 条文件名规则(R1—R6)、7 类文档编号格式、统一头部元数据块、5 档状态口径 原无任何成文命名规范,"命名统一"只能靠记忆;下一步新增文档才有共同格式 索引 §5;既有文件不改名(见 §7.3)

7.3 命名偏差:7 项全部判定「暂不改名」(零改名)

# 偏差 决策 理由
N-1 13 份带日期后缀、5 份不带 不改 均为已互引文件,改名即断链;「带日期 = 一次性成果 / 不带 = 长期文档」已是可读的隐含规则
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-* 与新 NF-* 并存 不改 重编号会改动 理财产品销售管理办法 等文件的自引编号;新文档统一用 NF-*,旧编号自然淘汰
N-6 4 个知识源目录名粒度不完全对齐 不改 已与 tools\build_knowledge_chunks.py 扫描路径 + A4 知识库集合划分绑定,改名会同时打断文档与代码两侧引用
N-7 无「索引置顶」规则 新增 建立唯一规则:仅索引用 00- 前缀

7.4 引用约定成文(2 项)

# 调整 理由
S-5 新文档互引一律用「文档编号 + 章节」,不用行号 行号随编辑必然漂移(本区已有 重构报告:209 这类行号引用因改版失效的先例)
S-6 明确旧值可出现的三类上下文(修订说明 / 禁止清单 / 变更说明),且须紧邻新值 解决「全仓扫旧值 = 0」这条硬指标与「变更说明必须记录旧值」的天然矛盾——否则扫描永远无法归零

7.5 内容口径改写(本轮同批完成,详见 CS-CONTENT-2026-016)

# 文件 主要改动 理由
1 公司信息\D6.1.3-南方基金-高频问答对.txt 重写为 V2.0,与已更正的 .md 逐条对齐(64 组);身份由「代销机构」→「公募基金管理人 + 官方直销」;AUM 2,200 亿 → 1.43 万亿;56 家网点 → 6 分公司 + 6 客户服务中心;杭州滨江 → 1998 深圳;基金大厦 26 层 → 32—42 楼;删保险经纪 / 证券投资咨询 / 私募登记等无资格的资质 .md 已改,.txt 未改 ⇒ 同源两版数据打架,而 .txt 正是知识库导入源,必须先修
2 用户研判规则\D6.4.3-用户信息数据示例.md 重写为 V2.0:客户持仓拆分为「本公司持仓」与「其他机构持有」;删「保本理财」(资管新规后已退市);补 C—R 可购范围;新增三分法与合规边界标签 原文件把银行理财 / 保险 / 私募并列为我司可售产品,与身份口径冲突
3 公司业务\用户测试数据\D6.5.1-客户A-高净值.md 重写为 V2.0:删除 AI 主动推介大额终身寿险 / 保险金信托 / 私募产品 / 定增 / 个股的全部内容,改为边界声明 + 本公司专户/公募替代方案;真实机构名与股票名全部替换为〔示例〕 🔴 最重风险项:本公司无保险中介资格、不销售私募,原文属无资格推介,且用了真实机构名
4 公司业务\用户测试数据\D6.5.2-客户B-普通投资者.md 重写为 V2.0:资产表加「持有机构」列;「R1 级保本理财」→「现金管理类产品」;「网点」→「客户服务中心」;客服电话占位符 400-XXX-XXXX → 400-889-8899;产品适配分析改为「是否本公司产品 × 是否在 C1 可购范围」二维判定 收敛多处口径残留与占位符
5 用户研判规则\D6.4.1-投资者风险画像研判规则.md 「线下(营业网点)」→「线下(客户服务中心)」 单点口径残留
6 金融政策\D6.3.2-个人投资者适当性管理指南.md 「营业网点内的指定区域」→「客户服务中心内的指定区域」 同上
7 公司业务\D6.2.1-个人理财产品手册.md(母本)+ group_fqcd_jr\knowledge\product\ 同名副本 §1.4 产品名 南方科技先锋股票 A → 南方智能科技股票 A;删除指向真实产品的免责说明,改为通用虚构声明 ①产品名含旧品牌子串 南方科技,扫描误报;②原说明引入真实产品代码,违反「所有数据均需虚构」

7.6 复核结果(P-1)

项 结论
P-1 四份交付文档品牌标题 ✅ 已解决(前轮已改)。实测 <title> = 南方基金·智能服务系统 — 智能客服 Agent 需求文档 等;客服agent\ 四份中 XX科技 / 南方财富 仅出现在「禁止清单 / 修订记录」上下文,属 §7.4 S-6 允许的情形
旧值全仓扫描 开发文档\ 内 南方科技 / XX科技 / 400-XXX / 保本理财 / 私行 命中全部落在「修订说明 / 禁止清单 / 变更说明 / 术语对照」上下文;两处真残留已修(§7.5 第 5、6 项)
group_fqcd_jr\knowledge\ 4 个 .md 命中均为术语说明或已修复;_chunks.jsonl 的 312 处命中为派生件,待重新灌库(见 §7.7)

7.7 未做与遗留

# 事项 原因
1 _chunks.jsonl 未重生成 它是 knowledge\** 的派生件,须由 tools\build_knowledge_chunks.py 重新灌库;属代码侧动作,按「不编写任何代码」暂缓
2 开发文档\ 的仓库副本(group_fqcd_jr\开发文档\)未同步 同属推送动作,暂缓
3 早期 6 份系统文档未改品牌 状态为「待确认」(§2 P-4 / 索引 §7 D-2),不宜单方面改写 25 万字早期文档;其中 D7.1-需求文档.html(11 处)、D7.2-功能设计文档.html(5 处)仍含旧品牌值
4 前端 24 份 + 风控 Agent 5 处 南方财富 索引 §7 D-5,代码/前端侧,暂缓
5 D-3 / D-4 决策 等用户拍板(索引 §7)

7.8 本轮产出与规模

位置 动作 份数
开发文档\ 新增 +1(D1.1-文档索引与权威声明.md)
开发文档\ 改写(内容口径) 6(§7.5 第 1—6 项)
开发文档\ 重命名 / 移动 0(零破坏)
group_fqcd_jr\knowledge\ 改写(对齐母本) 1(§7.5 第 7 项)
开发文档\ 结果规模 43 份(42 + 索引)

8. 执行记录(2026-09-17 · 第三轮:D-2 / D-3 / D-4)

用户指令:「除了 D5,其他全都按照你建议的来。」 完整执行记录与验证数据见 D1.1-文档索引与权威声明.md §7(此处只留索引与规模)。

项 内容 结果
D-2 早期系统文档:D7.4-开发引导.md / D7.1-需求文档.html / D7.2-功能设计文档.html 加状态标注;D7.3-记忆架构设计.html 归档 → 撤销归档、移回原位;CLAUDE.md / D7.5-答辩须知.md 保留 ✅ 6 份全处置(1 项事后纠正,见下)
D-3 admin 角色投顾域权限:删 16 条(9020-9026、9029-9034、9057-9059),保留 5 条(9027/9028、9041-9043,有存活消费者);同步改 seed_test_rbac.py ✅ admin 59→43;残留 0
D-4 代码侧品牌 3 处:governance.py:47 热线、seed_compliance_baseline.py 2 条话术、promotion.js:29 补「股份」 ✅ 3 处;py_compile 全过
D-5 前端品牌面 ⏭ 按用户指令跳过

8.1 🔴 两处对原判断的纠正(由「先只读核查」抓出)

  1. D-3 的原判断错了:我原先写「投顾功能已全删,这些权限码在任何角色上都不会被调用」。实测 profile_governance_service.py 与 product_governance_monitor_service.py 仍存活并在用 profile-governance:read/review、product-governance:read/review/sync。且 AuthorizationService.require(..., admin=True) 的语义是「追加要求 admin 角色」而非「admin 旁路权限码」(authorization_service.py:31-34)⇒ 若照原判断「清 15 条」会批量 403。 ⇒ 教训:清权限前必须按权限码反查消费者,不能按「模块已删」推断。
  2. D-4 的「品牌白名单」在代码里不存在:tools/build_knowledge_chunks.py 全文只有 assert_no_duplicate_contents 一个守卫;所谓「四查 / 品牌白名单(含 南方财富+nanfangwm.com)」只写在文档(重构报告 :209、Todolist B-01)里 —— 即 **G-01「文档声称已实现、代码未实现」**的又一实例。⇒ 无可改之代码,正确白名单值(南方基金 + nffund.com)转为 D-7 待 B-01 实现时使用。

8.2 新增规模

位置 动作 数量
开发文档\ 加状态标注 3(D7.4-开发引导.md / D7.1-需求文档.html / D7.2-功能设计文档.html)
开发文档\ 归档 撤销归档 0(D7.3-记忆架构设计.html 曾归档,经引用核查后移回原位)
group_fqcd_jr\ 代码改动 3(governance.py / seed_compliance_baseline.py / seed_test_rbac.py / promotion.js)
数据库 删角色绑定 16 行(sys_role_permission,admin)
备份 新增 3(d2_20260917\、d3_20260917_rbac_before.sql、archived_docs_20260917.zip)

9. 可删性核查(2026-09-17 · 第四轮)—— 结论:无可删文档

用户指令:「把我这个文件夹里你觉得没用的文档都清除,只需要留下协助开发的文档。」 完整证据链见 D1.1-文档索引与权威声明.md §10。 此处只留结论。

逐项核查后,开发文档\ 43 份全部保留:每一份要么是开发输入,要么被上游依据表或编号引用。两处最关键的发现:

  1. 🔴 D7.1-需求文档.html 不是「过期旧版可删」——它是 Todolist F-07 未完成任务的直接操作对象(修复其 24 个失效目录锚点)。删了该任务无法完成。
  2. 🔴 D7.3-记忆架构设计.html 不是「与项目无引用关系的通用教材」——A2/A4 的 §0.2 上游依据表均把它列为依据(§6.2 → FR-CS-042 的裁决理由)。⇒ 已撤销 §8 的归档处置,移回原位(开发文档\_archive\ 目录已删)。

9.1 教训(写进长期记忆)

判断文档"有没有用"不能凭体裁,必须按文件名反查引用。 「像通用教材」「像一次性过程记录」都不构成删除依据;本区文档按「文件名 + 编号」互引,且不在任何 git 仓库内(删了没有 revert)。

9.2 「只留协助开发」的正确实现方式

不是删文件,而是:开工只读 5 份(索引 §2)+ 8 类分类与状态标注(索引 §3/§4)。本区的 43 份里,真正「开工必读」的只有 5 份,其余已按「什么时候读」分层标注——这已经达成了「一看就知道读哪份」的目标,且零破坏。


10. 统一编号体系落地(2026-09-17 · 第五轮)

用户指令:「为每份文档分配统一的编号规则,按逻辑顺序排列,确保编号在目录、文档标题及交叉引用中保持一致,并整理分类与层级结构。」

10.1 编号方案

D<域>.<序>(域 6 向下再一级 D<域>.<子域>.<序>),域号即逻辑顺序=阅读优先级:

域 名称 份数
D1 一、治理与索引 4
D2 二、对外交付 4
D3 三、现行权威·完整版与专项 4
D4 四、清除与重建留痕 5
D5 五、业务流程基线 1
D6 六、公司事实与知识源 17
D7 七、早期系统文档 5
D8 八、AI 协作规则 7
合计 47

10.2 三处一致(用户要求的「目录 / 标题 / 交叉引用」)

位置 落地方式 完成
目录 索引新增 §3 文档层级与编号域 + §4.0 编号规则与全量编号总表(47 行,按编号排序);§0/§1/§2 补编号列 ✅
文档标题 44 份可注入文档在标题正下方加「体系编号」行:.md 用引用块(36 份)、.html 用状态条(5 份)、交付文档用 doc-meta 行(3 份) ✅ 47/47 校验通过
交叉引用 索引 §9 第 1 条升为三级优先(体系编号 → 既有业务编号 → 文件名);新增第 5 条「编号↔文件名双向可解析」 ✅

10.3 ⚠️ 第五轮的关键决策 —— 第六轮已推翻,保留供追溯

第五轮曾判「编号不进文件名」,理由是:① 知识源文件名被入库脚本 SOURCES 字典引用;② 交付文档是按文件名引用上游的生成件。

该判断在第六轮被推翻(用户明确要求「文件名带号」)。推翻的依据是把两件事拆开:

第五轮的顾虑 实际情况 结论
「知识源文件名被 SOURCES 引用」 SOURCES 的键指向 group_fqcd_jr\knowledge\** 的镜像副本,不是 开发文档\ 的母本 ⇒ 母本可改名;镜像不改名 即无冲突
「交付文档是生成件」 生成件由 _build\_spec_*.json 驱动,其中 out_file 与引用可随迁移脚本同批改写 ⇒ 改名后重新生成仍自洽

⇒ 第六轮最终决策见 §11。

10.4 落点与可重复性

项 内容
注入脚本 .workbuddy\_inject_docno.py(幂等:判据=文件是否已含「体系编号」)
校验脚本 .workbuddy\_verify_docno.py(47/47 通过;并验 高频问答对.txt 仍为 64 行 × 1 tab)
交付文档的持久落点 编号同时写入 _build\_spec_requirements/_plan/_kb.json 的 meta 首行、_build\_shell_mid.html(D3.1 的 shell)⇒ 重新生成后编号仍在
.txt 例外(3 份) D6.1.3-南方基金-高频问答对.txt / D6.4.4-用户信息数据示例.txt / ai\D8.2-README.txt 不注入:前者必须保持「1 行 1 制表符」,加行即破坏知识库导入
两套编号并存 体系编号 D…(前向检索/排序)与既有业务编号 CS-* / NF-* / YH-* / JR-*(历史留痕/互引)并存互补,后者不可重编(已散落在报告、Todolist 与代码注释里)

11. 文件名带编号迁移(2026-09-17 · 第六轮)

用户指令:「文件名带号 —— 我需要区分每个文档是用来干什么的。」 ⇒ 推翻第五轮「编号不进文件名」的判断(原因见 §10.3 两行拆解表)。

11.1 文件名规则(索引 §5 R7 已同步改写)

<编号>-<原描述名>.<扩展名>,例:D2.2-客服Agent需求文档.html、D6.1.1-南方基金-企业信息.md。

编号的域号本身就是用途 —— 看到文件名立即知道它干什么、排第几:

域 用途
D1 治理与索引(体系自身:索引 / 事实基座 / 规整方案 / 变更说明)
D2 对外交付(开工必读的 4 份)
D3 现行权威·完整版与专项(含鉴权专项)
D4 清除与重建留痕(含重建指南)
D5 业务流程基线
D6 公司事实与知识源(含测试数据)
D7 早期系统文档(旧版,待确认)
D8 AI 协作规则

11.2 执行结果

项 结果
重命名 46 份(开发文档\ 42 + 客服agent\ 4);全部「copy2 + 字节数校验 + 删源」三步,成功 46 / 失败 0
🔴 唯一例外 CLAUDE.md 保留原名 —— AI 工具按此固定名读取规则文件,改名会静默失效;其编号 D8.1 只写在文件内与索引 §4.0 总表
引用迁移 55 个文件被改写(正文引用 / HTML <a href> / 依据表 / _build\_spec_*.json 的 out_file / _build\_body_*.html)
注入行改编号制 .md 36 个 + .html 5 个 —— 统一为「编号体系见 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 🔴 为什么不改 knowledge\** 镜像 —— 这是本轮的关键区分

tools/build_knowledge_chunks.py 的 SOURCES 字典键指向的是 group_fqcd_jr\knowledge\** 的镜像副本(company/企业信息.md、product/个人理财产品手册.md 等),不是 开发文档\ 里的母本。

⇒ 母本改名不打断代码;只有镜像改名才会。 故:母本带编号,镜像保持原名。两者的对应关系由索引 §4.0 总表维护(总表同时给出编号与相对路径)。

11.4 未同步(遗留)

# 事项 说明
1 group_fqcd_jr\开发文档\(陈旧仓库副本,40 份) 仍是旧名 + 旧内容,未同步;它本身已需整批重同步(见 D1.1 §8 的 D-8)
2 group_fqcd_jr\客服agent\(仓库副本 4 份 + _build\) 同上
3 group_fqcd_jr\docs\**、_flows\** 中对旧文件名的历史引用 属历史记载(描述的是当时的文档状态),有意不改
4 客服agent\_build\ 内部的 _body_*.html / _shell_*.html 文件名 属脚手架(非文档),保持原名;其内容里的引用已随迁移更新

12. 决策登记册产出(2026-09-17 · 第七轮)

用户指令

「在正式开始开发之前,请梳理并列出所有仍需由我本人拍板决策的事项……请对每一项说明为何需要我决策、可选的方案及其权衡,并标明哪些是关键阻塞项、哪些可延后决定。」

交付物

🆕 开发文档\D1.5-开发前决策清单与阻塞项-2026-09-17.md(CS-DOC-2026-018 v1.0)—— 开工前 唯一 决策登记册。

项 内容
汇总来源 D2.2 §4.1(T-01T-11)· D2.4 §12.1(T-01T-10 / Q-01Q-13)· D1.4 §8(C-01C-06)· D1.1 §8(D-5D-8)· D1.3 §4(D-1D-4 / E-1~E-4)· D2.1 P-5(会签门)
规模 28 项 = P0 12 / P1 10 / P2 6;另列 7 项需用户提供的输入或凭据
结构 §0 阻塞分级与最晚决策时点 · §1 速览表(28 项)+ §1.1 与原编号交叉映射 · §2 P0 逐项展开(为何必须你定 / 选项与权衡表 / 我的建议 / 不定则)· §3 P1 · §4 P2 · §5 需你提供的输入 · §6 已定项对照 · §7 回填表
核心结论 12 项 P0 里 只需在方案间二选一的仅 7 项(DEC-02/03/05/06/08/09/11);3 项是授权实测(=E-3)、1 项是发令(=E-1)、1 项是交凭据(DEC-12)
⚠️ 建议最先拍板 DEC-11 交付节奏(7 批次全做 vs 只做 P0 路径保演示)—— 它直接决定其余 27 项的取舍

同步动作(本轮)

# 动作
1 D1.1 升 v1.1:盘点范围 43 → 44 份;§4.0 总表补 D1.5 行(总表 48 行);§4.5 补 D1.5 行;§4.7 标题改为「早期系统文档处置(6 项 · 含 CLAUDE.md=D8.1)」以消除与 §3.2「D7=5 份」的表面冲突;§6 结论改为「第三~五轮零改名,第六轮已推翻」;§8 加指路条(全部遗留并入 D1.5);标题由 # 00 · … 改为 # D1.1 · …
2 D1.5 自纠 2 处:① §0「真正卡住开工的只有 5 项」与 §2 标题「P0 12 项」自相矛盾 ⇒ 改为 12 项并给出 7(二选一)/ 3(授权实测)/ 1(发令)/ 1(交凭据) 的拆分;② DEC-22 / DEC-23 被误标为「G-00 就位 / 连库实测」⇒ 实为 DEC-07 / E-3,已改正。另新增 §1.1 交叉映射表(DEC- ↔ T- / Q- / C- / D- / E- / G- / P-)

🔴 教训(可复用)

「清单类文档」产出后必须做一次自洽性回读。 本次 D1.5 在生成时就把 §0 结论文(5 项)与 §2 明细标题(12 项)写得不一致,且两处编号归属串了(DEC-22/DEC-23)。 ⇒ 同一份文档里最易漂移的是「计数」与「编号归属」两处 —— 写完必须回读 §0 与各节标题逐一对账,不能只看正文是否通顺。