feat(aihr): add pilot satisfaction evidence loop

This commit is contained in:
2026-07-14 04:13:02 +08:00
parent 22bb2cab58
commit d3552cc22d
10 changed files with 201 additions and 14 deletions
+9 -5
View File
@@ -25,9 +25,9 @@
| 缺口 | BRD依据 | 当前事实 | 下一步 |
|---|---|---|---|
| 正式主管身份、项目范围和数据权限 | 5.4、L1-B、G3 | 代码已有 `aihr_org_snapshot`、岗位/项目过滤和主管接口;移动端角色查询失败已改为安全降级员工端,但正式上游快照的手机号关联仍不足,线上视觉测试不能替代真实主管身份验证 | 用正式组织同步 dry-run 先核对项目、岗位、`ext_party_id`、手机号;只在上游数据合规后执行正式同步 |
| 管理端/后端生产发布证据 | 6.3、12.1、L1-C | 当前项目只定义了移动端 H5 的生产地址、远端目录和发布命令;没有可核实的管理端/后端生产 URL、发布脚本、备份位置或健康检查结果,因此 H5 上线不等于整套系统已发布 | 由运维确认管理端/后端生产入口、部署方式、回滚和健康检查,再单独完成管理端/后端发布验证;未确认前不声称全系统上线 |
| M5 正式试点证据 | L1-B/C/D、G1/G3/G4 | 本地严格门禁和导出能力已存在;本地样本不能代表正式窗口,不能用 seed/烟测数据替代;当前没有正式满意度问卷/评分采集入口,因此无法证明“满意度 ≥4/5” | 固定 1–2 个住宅项目和窗口,按唯一在职身份采集训练、人工校准、SOP 评审、完训率和满意度;先确定问卷量表、采集对象和导出字段 |
| 正式主管身份、项目范围和数据权限 | 5.4、L1-B、G3 | 代码已有 `aihr_org_snapshot`、岗位/项目过滤和主管接口;生产快照当前为 22 条 active、2 个项目,但手机号关联为 0/22;移动端角色查询失败已改为安全降级员工端,线上视觉测试不能替代真实主管身份验证 | 先用正式组织接口做 dry-run,核对项目、岗位、`ext_party_id`、手机号;补齐手机号映射并确认主管身份后,才执行正式同步和主管数据权限验收 |
| 管理端/后端生产发布证据 | 6.3、12.1、L1-C | 2026-07-14 已核实并发布:生产根站点 `https://peilian.njzhmj.top/`、Caddy `/prod-api`、systemd `wygj-aihr.service` 和后端 jar 均可核查;管理端静态包、后端 jar 已与本地构建 hash 对齐,租户接口和移动端首页 API 返回 200 | 发布证据已具备;后续仍需把正式发布命令、回滚脚本和生产部署凭据纳入运维交接,不能把“服务可访问”直接等同于正式试点通过 |
| M5 正式试点证据 | L1-B/C/D、G1/G3/G4 | 已补员工训练后 1–5 分满意度和可选意见采集,意见脱敏后写入 `aihr_practice_session`,CSV/严格门禁可读满意度响应数与平均分;但本地样本不能代表正式窗口,仍不能用 seed/烟测数据替代,尚无法证明“满意度 ≥4/5” | 固定 1–2 个住宅项目和窗口,按唯一在职身份采集训练、人工校准、SOP 评审、完训率和满意度;严格门禁要求满意度有真实响应且平均分 ≥4.0/5 |
| AI 分数与人工复核边界 | 4.1、4.5、G1/G2 | 面试和对练已有人工复核/校准入口;正式试点 CSV 已补明细级 AI 分、人工校准分、校准人、校准时间和最终采用分;正式试点仍需用真实窗口验证人工可否决证据 | 在正式试点报告中抽查校准记录与最终采用值,确认人工分可覆盖 AI 建议且不直接挂钩绩效/晋升 |
### P1:一期 BRD 功能仍未形成完整业务闭环
@@ -66,8 +66,12 @@
## 6. 本轮线上核对记录(2026-07-14)
- 线上入口 `https://peilian.njzhmj.top/h5/` 返回 `HTTP 200`;生产 HTML 的 `Last-Modified` 为 `2026-07-13 19:09`。
- 线上入口 `https://peilian.njzhmj.top/h5/` 返回 `HTTP 200`;本轮管理端发布后根站点 `https://peilian.njzhmj.top/` 也返回 `HTTP 200`,生产 HTML 的 `Last-Modified` 为 `2026-07-13 19:53:16 GMT`。
- 发布前线上 HTML 引用 `index-DSualpPE.js`;同步后已改为 `index-DJfe2tlN.js`,主 JS SHA-256 均为 `56afec70ae0f404a3e4a2520b604ea797dc7c1f2a16ce558e6652cea246b45a9`。
- 使用本地数据库已有手机号和 dev 固定验证码登录线上 H5,岗位确认、员工首页和 `/pages/user/practice/index` 均可打开;这证明线上登录/基础路由可用,不证明线上包已追平当前代码。
- 发布后真实浏览器登录并打开 `/pages/user/learning/index`,页面已出现“错题本”“全部/红线话术/情绪承接/流程合规/综合得分不足”;打开 `/pages/user/practice/index` 可见训练前预习、最近练过和每日三题。
- 本次远端备份为 `/opt/wygj/backups/h5-20260714034906`;静态发布已完成,后续发布仍必须保留备份、资源哈希和浏览器回归三项证据。
- 本次远端备份为 `/opt/wygj/backups/h5-20260714034906`(H5)和 `/opt/wygj/backups/release-20260714035418`(管理端 index/assets 与后端 jar);静态包、后端服务和 H5 资源均已发布,后续发布仍必须保留备份、资源哈希和浏览器回归三项证据。
- 发布后 hash 证据:管理端主 JS `index-CVcvQ1KE.js` 为 `a49ad7d3009ea64f37922cc042f09c1930557052e4fe20c11f8083222e0e4531`,后端 `ruoyi-admin.jar` 为 `3998f075a06f3a8014c270f66ad777606c7a04117233b7258e3326dbe516e211`,H5 主 JS 仍为 `56afec70ae0f404a3e4a2520b604ea797dc7c1f2a16ce558e6652cea246b45a9`;线上 `wygj-aihr.service` 为 active,`/prod-api/auth/tenant/list` 与 `/prod-api/api/aihr/mobile/home/user` 返回 200。
- 生产浏览器回归:管理员可登录首页和 `/system/model`;页面可见“提示词模板”列表、新增模板入口和启停控件,说明本轮管理端 UI 已加载。当前验证使用生产 admin 测试账号和 Redis 验证码,不在文档记录账号或个人数据。
- 2026-07-14 04:05 后续发布:移动端满意度采集、CSV 指标和后端接口已同步到生产;备份为 `/opt/wygj/backups/release-20260714040515`,H5 主 JS `index-5mNjsnek.js` 本地与线上 SHA-256 均为 `5c5af11be7b2b3ef7ceafd5b820fdd3e1326fcfc612b89c69b00dfe06635573c`,后端 jar SHA-256 为 `aa0bd917a2ab94ffd740ac709af2c59dd5bed6c8db995fa9aa1e80bcc4662c07`;生产浏览器实际完成训练、提交 1–5 分满意度并收到成功提示,随后已清理临时训练和派发数据。
- 本次线上核对发现 schema 漂移:生产库已存在 `aihr_practice_session.satisfaction_score`、`satisfaction_comment`,但尚未显式创建 `aihr_practice_audio`。当前代码仍有运行时懒建表兜底,满意度链路不受影响;正式音频留痕试点前必须执行并核验显式迁移,不能依赖首次请求触发。