Merge branch 'codex/brd-release-20260715' into codex/multi-tenant-knowledge-platform

# Conflicts:
#	AGENTS.md
#	README.md
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/domain/AihrPracticeDto.java
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrOrgSyncService.java
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrPracticeSeedService.java
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java
#	backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrOrgSyncServiceTest.java
#	backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrPracticeSeedServiceTest.java
#	backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java
#	docs/20260708/uni-app用户侧前端重建计划.md
#	docs/API_INTEGRATION.md
#	docs/BRD_IMPLEMENTATION_AUDIT.md
#	docs/BRD_PRODUCTION_MIGRATION_RUNBOOK.md
#	docs/DEMO_ACCEPTANCE.md
#	docs/DEV_SETUP.md
#	docs/FIGMA_IMPLEMENTATION_MATRIX.md
#	docs/README.md
#	frontend/src/views/knowledge/processing.vue
#	mobile-uni/src/pages/supervisor/assign/index.vue
#	mobile-uni/src/pages/supervisor/index/index.vue
#	mobile-uni/src/pages/supervisor/profile/index.vue
#	mobile-uni/src/pages/supervisor/review/index.vue
#	mobile-uni/src/pages/supervisor/reviews/index.vue
#	mobile-uni/src/pages/supervisor/team/index.vue
#	mobile-uni/src/pages/user/cases/index.vue
#	mobile-uni/src/pages/user/practice/index.vue
#	mobile-uni/src/pages/user/profile/index.vue
#	mobile-uni/src/pages/user/sop/index.vue
#	mobile-uni/src/pages/user/today/index.vue
#	mobile-uni/src/types/api.ts
#	scripts/tests/aihr-schema-migrations.test.sh
This commit is contained in:
2026-07-22 08:41:49 +08:00
27 changed files with 1011 additions and 38 deletions
@@ -0,0 +1,91 @@
position_id,员工总数,在职人数,覆盖公司数,岗位名称,岗位层级,是否主管,HR签认人,签认日期,备注
316,2437,2001,1,,,,,,
319,487,479,1,,,,,,
318,110,103,1,,,,,,
317,111,102,1,,,,,,
1685,30,30,1,,,,,,
1683,19,19,6,,,,,,
296,17,17,1,,,,,,
1680,16,15,1,,,,,,
1686,15,15,1,,,,,,
1684,11,11,1,,,,,,
1687,10,10,1,,,,,,
4,9,9,1,,,,,,
303,7,7,1,,,,,,
307,11,6,1,,,,,,
321,6,6,1,,,,,,
310,7,5,1,,,,,,
309,5,5,1,,,,,,
314,5,5,1,,,,,,
323,5,5,1,,,,,,
1682,4,4,1,,,,,,
304,5,3,1,,,,,,
335,4,3,1,,,,,,
1,3,3,1,,,,,,
324,3,3,1,,,,,,
332,3,3,1,,,,,,
337,3,2,1,,,,,,
1722,2,2,1,,,,,,
299,2,2,1,,,,,,
301,2,2,1,,,,,,
320,2,2,1,,,,,,
326,2,2,1,,,,,,
328,2,2,1,,,,,,
329,2,2,1,,,,,,
331,2,2,1,,,,,,
343,2,2,1,,,,,,
344,2,2,1,,,,,,
1681,1,1,1,,,,,,
1710,1,1,1,,,,,,
1711,1,1,1,,,,,,
1712,1,1,1,,,,,,
1713,1,1,1,,,,,,
1714,1,1,1,,,,,,
1715,1,1,1,,,,,,
1716,1,1,1,,,,,,
1717,1,1,1,,,,,,
1718,1,1,1,,,,,,
1719,1,1,1,,,,,,
1720,1,1,1,,,,,,
1721,1,1,1,,,,,,
1723,1,1,1,,,,,,
1724,1,1,1,,,,,,
1725,1,1,1,,,,,,
1726,1,1,1,,,,,,
1727,1,1,1,,,,,,
1728,1,1,1,,,,,,
1729,1,1,1,,,,,,
1730,1,1,1,,,,,,
1731,1,1,1,,,,,,
1732,1,1,1,,,,,,
1733,1,1,1,,,,,,
1734,1,1,1,,,,,,
1735,1,1,1,,,,,,
1736,1,1,1,,,,,,
1737,1,1,1,,,,,,
1738,1,1,1,,,,,,
1739,1,1,1,,,,,,
1740,1,1,1,,,,,,
1741,1,1,1,,,,,,
2,1,1,1,,,,,,
297,1,1,1,,,,,,
298,1,1,1,,,,,,
3,1,1,1,,,,,,
300,1,1,1,,,,,,
302,1,1,1,,,,,,
306,1,1,1,,,,,,
308,1,1,1,,,,,,
311,1,1,1,,,,,,
313,1,1,1,,,,,,
322,1,1,1,,,,,,
325,1,1,1,,,,,,
327,1,1,1,,,,,,
330,1,1,1,,,,,,
333,1,1,1,,,,,,
334,1,1,1,,,,,,
338,1,1,1,,,,,,
340,1,1,1,,,,,,
341,1,1,1,,,,,,
6,1,1,1,,,,,,
312,1,0,1,,,,,,
395,1,0,1,,,,,,
1 position_id 员工总数 在职人数 覆盖公司数 岗位名称 岗位层级 是否主管 HR签认人 签认日期 备注
2 316 2437 2001 1
3 319 487 479 1
4 318 110 103 1
5 317 111 102 1
6 1685 30 30 1
7 1683 19 19 6
8 296 17 17 1
9 1680 16 15 1
10 1686 15 15 1
11 1684 11 11 1
12 1687 10 10 1
13 4 9 9 1
14 303 7 7 1
15 307 11 6 1
16 321 6 6 1
17 310 7 5 1
18 309 5 5 1
19 314 5 5 1
20 323 5 5 1
21 1682 4 4 1
22 304 5 3 1
23 335 4 3 1
24 1 3 3 1
25 324 3 3 1
26 332 3 3 1
27 337 3 2 1
28 1722 2 2 1
29 299 2 2 1
30 301 2 2 1
31 320 2 2 1
32 326 2 2 1
33 328 2 2 1
34 329 2 2 1
35 331 2 2 1
36 343 2 2 1
37 344 2 2 1
38 1681 1 1 1
39 1710 1 1 1
40 1711 1 1 1
41 1712 1 1 1
42 1713 1 1 1
43 1714 1 1 1
44 1715 1 1 1
45 1716 1 1 1
46 1717 1 1 1
47 1718 1 1 1
48 1719 1 1 1
49 1720 1 1 1
50 1721 1 1 1
51 1723 1 1 1
52 1724 1 1 1
53 1725 1 1 1
54 1726 1 1 1
55 1727 1 1 1
56 1728 1 1 1
57 1729 1 1 1
58 1730 1 1 1
59 1731 1 1 1
60 1732 1 1 1
61 1733 1 1 1
62 1734 1 1 1
63 1735 1 1 1
64 1736 1 1 1
65 1737 1 1 1
66 1738 1 1 1
67 1739 1 1 1
68 1740 1 1 1
69 1741 1 1 1
70 2 1 1 1
71 297 1 1 1
72 298 1 1 1
73 3 1 1 1
74 300 1 1 1
75 302 1 1 1
76 306 1 1 1
77 308 1 1 1
78 311 1 1 1
79 313 1 1 1
80 322 1 1 1
81 325 1 1 1
82 327 1 1 1
83 330 1 1 1
84 333 1 1 1
85 334 1 1 1
86 338 1 1 1
87 340 1 1 1
88 341 1 1 1
89 6 1 1 1
90 312 1 0 1
91 395 1 0 1
+28
View File
@@ -0,0 +1,28 @@
# BRD 对齐批次发布执行记录
- 发布窗口:2026-07-15 16:00–17:00 CST
- 执行人:Codex 当前任务(负责备份、同步、重启与发布后复检)
- 回滚人:Codex 当前任务(任一步失败时使用本次备份恢复,不在当天重复发布)
- 发布分支:`codex/brd-release-20260715`
- 组成提交:`a42f4209`、`55ca4fa7`、`c861977e`、`09492db9`
- 发布范围:管理端静态资源、移动端 H5、`ruoyi-admin.jar`
- 数据库范围:本批次不包含 SQL 迁移,不执行生产数据库结构或业务数据写入
## 发布门禁
1. 从本文件所在的最终提交重新构建管理端、移动端 H5 和后端 JAR。
2. 干净工作区执行不带 remote 开关的 `./scripts/release-preflight.sh`。
3. 先备份 `/opt/wygj/www`、`/opt/wygj/www/h5` 和 `/opt/wygj/app/ruoyi-admin.jar`,再同步产物并重启 `wygj-aihr.service`。
4. 发布后执行 remote match、后端模块 hash、schema 三项只读复检;任一失败立即按本次备份回滚。
5. 认证态员工、主管、管理端回归与非 strict `demo-check` 结果回写 `BRD_IMPLEMENTATION_AUDIT.md`;不得把发布成功写成正式试点验收完成。
## 执行结果
- 最终发布提交:`f0175253`
- 生产备份:`/opt/wygj/backups/brd-align-20260715160117`
- 回滚保留目录:`/opt/wygj/www.pre-f0175253`
- 远端复检:管理端/H5 资源匹配、后端整包与 `ruoyi-aihr` 模块匹配、schema `16/16`、服务 active
- 管理端认证态:通过;资料处理页只保留批量导入/刷新并显示 97 页任务
- 员工认证态:使用生产现有固定码配置通过;未达到“正式短信 OTP”口径
- 主管认证态:未通过;外部快照缺岗位名称/字典,生产主管数为 0,转入计划 B11
- 非 strict 检查:新增 `FRONTEND_API_PREFIX=prod-api` 后通过生产根站、H5、租户、验证码和源码契约检查;样本统计来自本机 Docker,生产数据缺口以审计记录中的生产只读查询为准
+103
View File
@@ -0,0 +1,103 @@
# 生产 H5 UI 回归与 Figma 识图对比报告(2026-07-17,最终复验)
## 1. 结论
本轮使用同一项目的 1 名一线员工(`PILOT-03`)和 1 名项目主管(`PILOT-01`)登录生产 H5,完成员工端 10 个页面/状态、主管端 8 个页面/状态的真实浏览器截图。每张生产截图生成后均读取对应 Figma 正式画板并进行识图比较。
最终结论:**本报告列出的 P0、P1 和设计覆盖问题均已关闭,生产 H5 高保真 UI 回归验收通过。**
通过口径包括:
- 页面结构、信息层级、主操作、底部安全区、字体、空状态和隐私展示符合对应 Figma 设计意图。
- 训练、SOP 反馈和主管专项指派均通过真实业务写入验证,不是静态页面演示。
- 真实组织数据、动态文案长度、评分数量和无音频记录与 Figma 示例数据不同,不要求逐字或逐像素一致。
- 本结论是本轮 UI 与交互回归通过,不替代正式试点窗口、短信 OTP、业务 KPI 等生产试点验收。
## 2. 测试范围与证据
- 生产入口:`https://peilian.njzhmj.top/h5/`
- 浏览器视口:员工端 `400×886`,主管端 `400×927`
- 测试身份:报告仅记录测试编号,不保存或展示完整手机号
- Figma 文件:`30hFiKtieGYraOZvJPJcPd`
- 生产证据目录:`.data/private/ui-regression-20260717-fixed/`
- 隐私说明:证据目录被 Git 忽略,包含真实组织数据,不上传公开工单或外部图床
- 最终前端提交:`b3dd2c2c`
- 核心修复提交:`e93421ca`、`0745d51e`、`5d82ff7b`、`b3dd2c2c`
本轮真实写入:
1. 员工完成 1 次“客服应对投诉”训练,生成 71 分结果和主管待复盘记录。
2. 员工提交 1 次 SOP“没解决”结构化反馈,原因为 `not_specific`,补充说明长度 21,数据库状态为“待复核”。
3. 主管给该员工新增 1 个专项训练,目标、任务要求、截止时间和指派原因均真实落库;状态为“待训练”,截止时间为 `2026-07-17 23:59:59`。
## 3. 关键门槛复验
| 验收门槛 | 生产实测 | 结论 |
|---|---:|---|
| 训练结束自动回到结果顶部 | `scrollY=0`,首屏同时出现总分和 5 项维度分 | 通过 |
| SOP 生成后进入回答区 | `scrollY=677`,`.answer-panel` 距视口顶部约 `16px` | 通过 |
| 团队画像禁止一次渲染 2316 人 | 总数 2316,首屏 DOM 仅 20 个 `.team-row`,页面高度 2677px | 通过 |
| 点击成员后立即显示能力详情 | 详情面板 1 个,列表行 0 个,`scrollY=0` | 通过 |
| 员工/主管页面不得出现完整手机号 | 两个个人页完整手机号匹配数均为 0 | 通过 |
| SOP 负反馈必须可诊断 | 原因多选、补充说明、提交按钮和数据库字段均有效 | 通过 |
| 主管指派契约必须真实落库 | 截止时间、目标、要求、原因和进度页均可读 | 通过 |
| 主按钮不得被底部导航遮挡 | 训练提交、SOP 反馈提交、专项确认按钮均完整位于安全区上方 | 通过 |
## 4. 员工端逐页识图结果
| 页面/状态 | 生产截图 | Figma 节点与截图 | 复验结论 |
|---|---|---|---|
| 今日 | `employee-today.png` | `23:3` / `figma-employee-today.png` | 师傅 Hero、问答卡、今日安排和我的地图均进入首屏;信息密度与底栏安全区通过。 |
| 训练前预习 | `employee-practice-prep.png` | `53:2` / `figma-employee-practice-prep.png` | 场景、角色、要点、红线、话术和主按钮顺序一致;字体已统一。 |
| 场景对练 | `employee-practice-active.png` | `54:2` / `figma-employee-practice-active.png` | 情绪/信任、对话上下文、回复区、求助和主操作层级清楚;主按钮不再被底栏遮挡。 |
| 训练结果 | `employee-practice-result.png` | `55:2` / `figma-employee-practice-result.png` | 首屏直接显示 71 分、5 项维度和导师建议;旧版滚动位置残留问题关闭。 |
| 问师傅答案 | `employee-sop-result-fixed.png` | `79:11` / `figma-employee-sop-result-fixed.png` | 结果生成后自动定位到“师傅回答”正文,旧版停留输入区问题关闭。 |
| SOP 负反馈 | `employee-sop-feedback.png`、`employee-sop-feedback-submit.png` | `79:674` / `figma-employee-sop-feedback-fixed.png` | 5 类原因、多选、补充说明和提交操作完整;真实写入已核对。 |
| 我的成长 | `employee-profile.png` | `178:959` / `figma-employee-profile.png` | 手机号脱敏、岗位切换、成长摘要、训练历史与证据入口完整。 |
| 训练历史详情 | `employee-history-detail.png` | `56:2` / `figma-employee-history-detail.png` | 已改为训练摘要、维度分、录音/逐句复盘、SOP 与行动建议分层;文本训练无音频时不伪造播放器。 |
| 案例素材空状态 | `employee-cases.png` | `178:958` / `figma-employee-cases-status.png` | 权限说明和“暂无可学习案例”空状态有正式画板,设计覆盖问题关闭。 |
| 学习中心 | `employee-learning.png` | `178:2` / `figma-employee-learning.png` | 今日任务、错题本和岗前任务使用独立学习首页画板,旧版与案例详情错配问题关闭。 |
## 5. 主管端逐页识图结果
| 页面/状态 | 生产截图 | Figma 节点与截图 | 复验结论 |
|---|---|---|---|
| 主管今日工作台 | `supervisor-home.png` | `57:2` / `figma-supervisor-home.png` | 概览、低分预警、待复盘和最近训练趋势同屏可见;信息密度通过。 |
| 待复盘列表 | `supervisor-reviews.png` | `58:2` / `figma-supervisor-reviews.png` | “全部/连续低分/待复盘”筛选和低分优先语义均存在。 |
| 主管复盘详情 | `supervisor-review-detail.png` | `59:2` / `figma-supervisor-review-detail.png` | 摘要、维度、录音/逐句复盘、建议和行动按层级展示;文本记录不伪造音频。 |
| 团队画像列表 | `supervisor-team-list.png` | 列表功能态;详情设计见 `61:2` | 搜索、20 人分页和风险排序有效,旧版 2316 行全量渲染问题关闭。 |
| 员工能力详情 | `supervisor-team-detail.png` | `61:2` / `figma-supervisor-team-detail.png` | 点击搜索结果后立即切换为独立详情视图;趋势、成长证据和派发入口完整。 |
| 训练任务派发 | `supervisor-assign.png`、`supervisor-assign-filled.png` | `61:530` / `figma-supervisor-assign.png` | 员工搜索、场景检索、目标、要求、截止时间、原因和安全区主按钮均有效。 |
| 派发进度与预警 | `supervisor-assign-progress.png` | `62:2` / `figma-supervisor-assign-progress.png` | 与新建表单拆为独立视图;进度条、来源、截止/逾期和预警信息可读。 |
| 我的主管工作台 | `supervisor-profile-fixed.png` | `178:960` / `figma-supervisor-profile.png` | 真实显示 2316 名成员、2 条待复盘、2 条风险预警和 3 个业务入口;手机号脱敏且大面积空白问题关闭。 |
## 6. Figma 与实现同步
本轮补齐并复验 4 个此前缺失的正式画板:
- `178:958`:员工端案例权限/空状态
- `178:2`:员工端学习首页
- `178:959`:员工端我的成长
- `178:960`:主管端我的工作台
设计文件和 H5 统一使用 `LXGW WenKai TC`,代码端保留系统字体降级链;字体许可证随 H5 产物发布。
## 7. 工程与生产验证
- `vue-tsc --noEmit`:通过。
- 移动端单测:68/68 通过。
- H5 正式构建:通过。
- 管理端正式构建:通过。
- 后端 AIHR 全量 Maven 测试:通过。
- 后端生产 JAR 构建:通过。
- 数据库迁移验证:通过,生产 schema 预检 `16/16`。
- 远端资源:管理端和移动端入口/主资源 SHA-256 与本地产物一致。
- 后端:服务 active,公开移动端接口返回 200;已部署业务模块哈希与发布产物一致。
构建过程中仅出现第三方 Sass 旧 API 弃用提示,不影响本轮功能和 UI 验收;后续可单独作为依赖升级技术债处理。
## 8. 最终判定
**高保真 UI 回归验收:通过。**
后续若进入正式试点,仍需按正式窗口、唯一在职组织身份、正式短信 OTP、训练次数和业务 KPI 独立验收,不得用本报告替代试点验收结论。
@@ -0,0 +1,130 @@
# 下一步工作计划(BRD 对齐版)
> 版本:v2.6(2026-07-16 生产复核:开放平台岗位结构已接入,主管认证态已打通;B3 仍是圈定正式试点范围)
> 基准:《物业AI人力资源系统业务需求文档BRD.md》v1.2(唯一事实源)
> 阶段边界:《银城员工端APP分阶段实施总纲.md》阶段一(陪练)+ 2026-07-08《数字师傅学练问报整合方案》定案
> 现状证据:《BRD_IMPLEMENTATION_AUDIT.md》2026-07-16 最新条目 + 生产 dry-run、增量同步、数据库与认证态复核
> 时间锚点:半年会产品发布(须带一线真实使用数据)→ 2026-09 收费季前试点可用
---
## 0. 当前基线(2026-07-16 生产实测)
**已完成**(不再列入待办):
- 生产已发布 `f0175253` 批次,线上管理端 = `index-CJmvDHQd.js`,H5 = `index-Bu6EO0TO.js`;发布预检通过资源/后端哈希、schema 与健康检查。
- 生产 schema **16/16 齐备**,内置 Prompt **6/6**,生活顾问启用场景 **14 条**(含服务推介/增值 1、日常服务 1)。
- **当前组织身份已线上闭环**:开放平台拉取公司 17 / 部门 960 / 员工 3417;`aihr_org_snapshot` 3417 行,手机号仍可映射 **3392**,在职 2938、离职 479。新快照已返回岗位名称与岗位层级;兼容数值层级后,在职一线 2743、主管 175、项目经理 20,默认“员工”岗位 0。真实在职主管手机号完成生产登录后,`/api/aihr/mobile/me` 返回主管端。
**真实缺口**(本计划的全部工作对象):
- 正式试点证据全部为 0:评分校准 0/20、SOP 人工评审 0/14、案例 0/20、满意度 0、候选资料 0(L1-B/C/D)。
- 主管身份认证已打通,但 C2 的“本项目可见、跨项目不可见”仍需结合 B3 正式试点项目做认证态验收。
- SOP 文档仅 3/5,缺服务推介/增值与日常服务两类的真实业务内容确认(4.3.4、L1-B)。
- 方言 ASR 零实测(9.1 MVP 阻塞项、L1-C ≤5s)。
- 上游快照现对 3391 个有效手机号返回脱敏值,另有 25 人无有效手机号;本次按稳定 `id` 增量更新并保留了生产已有 3392 个手机号。当前登录不受影响,但新员工/换号无法仅靠脱敏快照补齐,需开放平台提供获授权的安全身份映射通道。
- PII 出境条款、成本计量契约、HR 学分规则等外部输入未闭合(G3/G6、4.5)。
**结论:发布和主管身份打通已完成;当前最大阻塞是“试点圈定(B3)+内容/评审样本”。** 所有新增页面/功能默认冻结(守 MVP 切割线,BRD 附录 C 头号风险 = 范围失控)。
---
## 1. 主线 A:锁定发布批次,原子发布(已完成;A4 两项外部门禁除外)
目标:把 `eacf1a0a` 之后累积的修复(G3 脱敏补强、案例音频收紧、岗位-SOP 收口等)作为一个命名 release batch 发布,线上 = release commit。
| # | 任务 | 依据 | 完成定义 | 期限 |
|---|---|---|---|---|
| A1 | **已完成**:在隔离 worktree 收拢并形成 release commit `f0175253` | `release-preflight.sh` 拒绝任何脏工作区 | 发布 worktree 干净;release commit 落字 | 07-15 |
| A2 | **已完成**:发布窗口、执行人、回滚人已写入 `RELEASE_EXECUTION_20260715.md` | 12.1、Runbook 前置条件 1 | 三项落字 | 07-15 |
| A3 | **已完成**:干净构建、预检、DB/静态/后端备份、原子切换与服务重启 | 6.3、L1-C | 生产备份 `/opt/wygj/backups/brd-align-20260715160117`;服务 active | 07-15 |
| A4 | **结构与主管认证态已完成,外部门禁待补**:远端资源/后端/schema 匹配,管理端、员工和主管认证态通过;主管本次仍使用生产试点固定码,不能替代正式 OTP 验收 | 10.2、`demo-check.sh` 参数约束 | 结构及主管身份有生产证据;关闭固定码后补正式 OTP,项目范围权限转 C2 | B3+1 天 |
---
## 2. 主线 B:外部输入催办清单(今天发出,B3 为最大阻塞)
每项需在发出时填负责人与回复期限;到兜底触发日仍无答复即升级 HR 负责人(BRD 第 13 章"集成负责人指派"至今未闭合)。
| # | 需要的输入 | 提供方 | 负责人 | 回复期限 | 兜底触发日 | 阻塞的 BRD 条款 | 不给的后果 |
|---|---|---|---|---|---|---|---|
| B3 | **确认正式试点范围(不是补录人员)**:从生产已同步的在职、手机号可登录人员中圈定 1–2 个住宅项目、≥20 名参与员工、每项目至少 1 名主管,并确认窗口起止日期;主管需与已同步岗位身份一致 | HR 负责人 | 待指派 | 07-18 | 07-22 | 10.2-D | 人员数据已就位,但未圈定参与范围和时间窗时,M5 指标仍无正式分母 |
| B11 | **已完成(07-16):补齐岗位契约**。开放快照已返回 `position_id/position_name/position_level`;系统以稳定资源 `id` 作为人员主键,对数值层级按岗位名称归一为“一线/主管/项目经理”。生产同步后在职主管 175、项目经理 20,主管认证态通过;`AIHR_ORG_POSITION_MAP_JSON` 仅保留为上游再次缺字段时的签认兜底 | 开放平台+本项目 | 已完成 | 07-16 | — | 5.4、G3、L1-B | 岗位身份阻塞已解除;项目范围权限仍按 C2 验收 |
| B2 | 补 2 份真实 SOP 文档(现 3/5),并由业务确认全部五类核心流程的成功条件、价格/取消规则、回访口径;随后完成 14 条场景/SOP 的人工评审(现 0/14) | 内容负责人/HR | 待指派 | 07-20 | 07-24 | 4.3.4、L1-B(SOP≥5) | SOP 覆盖与 RAG 可用率(≥80%)无法验收 |
| B9 | **历史案例批量提供**:试点前 **≥20 条**历史案例语音/材料入库并脱敏审核,不依赖试点新增量补齐验收底线;试点期继续按"每周每项目 1 条"采集新案例 | 各项目负责人 | 待指派 | 07-22 | 07-25 | 4.6、L1-B(案例≥20) | 案例库验收必然失败 |
| B4 | 方言 ASR 厂商选型(**阶段一只选 1 种方言**,按试点区域确认;BRD 9.1 只要求 1 条路径)+ 费用授权 + **同时确认 CER 达标阈值**(BRD 只定了 ≤5s 响应,识别准确率的验收线需业务拍板,否则 C3 实测无法判定"达标") | 技术组+HR | 待指派 | 07-20 | 07-24 | 4.3.3、9.1、L1-C | MVP 阻塞项零实测,且测了也无法判定通过 |
| B5 | 案例讲解视频预渲染样片 1 条(半年会素材;**不阻塞案例上传闭环验收**——L0-4 只要求"语音上传→AI 整理") | 业务 | 待指派 | 07-31 | 08-05 | 4.6、9.1 | 半年会演示缺 1 条示范视频(止损线内最低配置) |
| B6 | 大模型/ASR/TTS 供应商 PII 留存与跨境条款确认(音频本体、图片本体外发部分) | 法务/安全 | 待指派 | 07-24 | 07-31 | G3、G6、F3 | 生产前闸门无法关闭 |
| B7 | 组织快照最小字段清单与保留期:生产实测姓名 0、部门 0(展示字段默认关已生效),但 `project_name` 仍保留 3417 行;需法务/安全核对 `project_name`、`person_phone` 等仍保留字段是否在最小清单内,及历史清理范围 | 法务/安全 | 待指派 | 07-24 | 07-31 | 5.4(只存 party_id 硬约束) | P0 存储边界无法关闭 |
| B8 | 认证等级/学分规则契约(初/中/高级条件、学分来源与分值、防刷) | HR | 待指派 | 07-31 | 08-07 | 4.5、10.2-A | 成长页只能继续挂"规则待配置、不生效" |
| B10 | 25 人无有效手机号 + 有效手机号在开放快照中被脱敏:反馈开放平台修数,并明确获授权的新员工/换号身份映射通道;现有 3392 个生产手机号已由增量同步保留 | 开放平台 | 待指派 | 07-31 | — | 5.4 | 当前 25 人无法登录;未来新增/换号人员无法只靠脱敏快照自动映射 |
追办顺序:**B3 → B9 → B2 → B4**,其余并行;B11 已完成。
---
## 3. 主线 C:工程收尾(小、快、不开新战线)
| # | 任务 | 依据 | 完成定义 | 期限 |
|---|---|---|---|---|
| C1 | "问师傅"文案对齐:`pages/user/today/index.vue` 的"语音提问,快速解答"**直接改为符合现状的文字**(语音问答入 backlog,届时复用 `speech.ts` + `/api/ai/asr`,不新增接口) | 4.7、2026-07-15 审计 | 首页承诺与 SOP 页能力一致 | 07-16(随 A1 批次发布) |
| C2 | **主管身份认证已完成,项目数据权限待验收**:生产已有在职主管 175、项目经理 20,真实主管手机号登录返回主管端;待 B3 圈定项目后继续验证本项目团队可见、跨项目不可见、训练记录/待复盘按项目过滤 | 5.4、G3、L1-B | 主管身份已有生产证据;项目范围正反例留证写入审计记录 | B3+1 天 |
| C3 | 方言实测(B4 选型后):**1 种方言**,固定样本集(≥20 条真实短音频),记录字错率(CER)与单轮响应 P95(≤5s,L1-C);CER 与 B4 确认的阈值比对——**阈值未确认前只记录数据、不判定达标** | 4.3.3、9.1、L1-C | 样本数、CER、P95 三项数据落审计记录;CER ≤ B4 阈值且 P95 ≤5s 才在验收表标"通过" | B4+3 天 |
| C4 | LLM/ASR/TTS 调用计量:待 B6/财务给出计费字段与单价后,新增租户范围 `llm_call_log`(模块/模型/token/延迟/费用)+ 月度上限告警与自动降级;此前维持手动断路器,不硬编码价格 | 6.3、G6 | 有持久化计量与可配置上限 | B6 后一周内 |
| C5 | 案例入库流水线支援 B9:批量导入入口复用现有上传/整理/筛选链路,脱敏门禁逐条通过;不为批量导入新做页面 | 4.6、L1-B | ≥20 条历史案例状态"已入库"且脱敏扫描 0 命中 | 07-25 |
---
## 4. 主线 D:正式试点与 L1 验收(B3 就位后启动,目标 8 月中出证据包)
按 BRD 10.2 四组验收逐项闭合,全部以严格门禁 + 正式窗口数据为准,**禁止 seed/烟测/演示账号冒充**(审计第 5 节完成定义)。
| 周次 | 动作 | 闭合的验收项 |
|---|---|---|
| 试点第 0 周(预备) | 试点名单在组织快照中逐一核对(手机号可登录);SOP 5 流程入库 + 14 条评审完成(B2);**历史案例 ≥20 条入库审核完成(B9/C5)**;员工开通与培训动员(配 G4 激励沟通) | L1-B:SOP≥5、组织导入、项目级权限 |
| 试点第 1–2 周 | ≥20 名员工真实对练(人均目标 10 次);每日一练推送;主管完成复盘与派发闭环;同步采集满意度(1–5 分);案例按"每周每项目 1 条"继续新增 | L1-A 育闭环;L1-D 人均次数/完训率/满意度 |
| 试点第 2 周起 | 人工校准 ≥20 条,计算 AI/人工分档一致率(目标 ≥70%);统计 RAG 可用回答率(目标 ≥80%);抽查人工复核可否决 AI 分的证据(G1/G2) | L1-C 一致率/可用率;G1/G2 |
| 试点收口 | 案例库 ≥20 条(存量+增量,脱敏门禁通过);`GET /api/train/practice/export` 按窗口导出正式 CSV;以试点窗口日期跑 `AIHR_PILOT_STRICT=true AIHR_PILOT_START_DATE=<起> AIHR_PILOT_END_DATE=<止> ./scripts/demo-check.sh` 全绿;形成 L1 验收证据包 | L1 全项;半年会"真实使用数据" |
**半年会演示止损线**(07-08 定案):只保「生活顾问的一天」主线,实操**问 + 练**两个模块;陪练 + 总结卡 + 1 条示范视频为最低配置,其余全部可砍。
---
## 5. 明确不做(守边界,防范围失控)
| 项 | 依据 |
|---|---|
| 个人 AI 助理/个人知识空间(文字/图片/文件/链接收藏、混合问答、PPT) | BRD 4.8 明确阶段二;有独立 TechSpec 与推进计划 |
| 员工端图片/视频训练输入(4.3.3 终态缺口) | 《AI陪练二期开发推进计划》约定文本场景稳定后独立评估;届时只落有业务目的的场景(拍照报修、品检) |
| 开放问题榜、积分/排行榜/荣誉墙运营化 | 总纲阶段二;07-08 定案排行榜默认关 |
| 师徒关系/拜师池/带徒福利 | 业务已否决(07-08) |
| G5 情绪树洞 | 业务/法务/安全决策未定,在匿名边界与零落库合同明确前保持未实现,不用陪练情绪数据冒充 |
| 企微/钉钉/工单集成、SSO、知识图谱、多项目类型 | D2/D4/D8 既定决策不变 |
---
## 6. 里程碑总览
```
07-15(已完成) A1-A3 发布 + A4 结构回归 + C1 文案修改
07-16(已完成) B11 上游岗位结构接入 + 增量同步 + 主管身份认证
07-17 跟进 B3 负责人和回复期限落字
07-18 起 C2 项目权限正反例验收(依赖 B3 圈定试点项目)
07-18~07-25 B2 SOP 补齐与评审 / B9+C5 历史案例 ≥20 条入库 / C3 方言实测(依赖 B4)
07-28~08-08 D 试点窗口(1–2 项目、≥20 人、2 周;以 B3 实际答复为准)
08-11~08-15 L1 证据包收口:strict 门禁全绿(带试点窗口日期)+ CSV 导出
半年会前 「生活顾问的一天」演示彩排 ×2 + 录屏兜底(沿用 BRD 11.2 彩排纪律)
2026-09 前 收费季试点可用状态确认
```
## 7. 风险与止损
1. **B3 试点圈定拖延是当前最大单点风险**(组织数据已就位,决策成本已最低):07-22 仍无答复,升级 HR 负责人;试点每晚一周,半年会"真实使用数据"窗口就少一周。
2. **手机号增量维护**:上游快照已补岗位,但对 3391 个有效手机号返回脱敏值。现有 3392 个映射已通过稳定 `id` 增量同步保留;新增/换号人员在安全身份映射通道就位前不能自动补齐,禁止强制全量覆盖。
3. **案例 20 条**:依赖 B9 存量导入;若试点前不足 20 条,立即提高采集频率(每项目每周 2–3 条)并如实下调收口预期,不用未脱敏或演示数据凑数。
4. **发布失败**:A3 原子流程任一步失败即按备份回滚,当天不重试第二次,先归因。
5. **范围失控**(BRD 附录 C 头号风险):任何新页面/新功能请求一律进 `docs/BACKLOG.md`;每周对照本计划复盘一次偏差。
6. **方言不达标**:若 CER/P95 不达标,按 BRD 9.2 止损——保"1 条方言路径可演示",验收表如实标注差距,不虚标通过。
7. **计划保鲜**:《BRD_IMPLEMENTATION_AUDIT.md》条目非严格时序,引用前须以"生产只读复核 + 线上实测"确认基线;本计划每次执行前先校验第 0 节事实是否仍成立。
---
*本计划由工程侧起草,v2.6 已按 2026-07-16 组织结构增量同步与主管认证结果修订;B 表负责人/期限需业务方确认后生效。执行进展回写《BRD_IMPLEMENTATION_AUDIT.md》,本文件只保留当前计划。*