Files
prop-ai-hr/docs/BRD_IMPLEMENTATION_AUDIT.md
T

143 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BRD 功能审查与未完成项记录
> 当前基线:2026-07-31。2026-07-25 的 `230dfb4d` 仍是最近一次管理端、H5、后端与 schema 同批完整发布源;其后分别发布 ASR、资料处理恢复和正式来源治理。最新后端 JAR 为 `d5145194…`,移动 H5 未重发,因此只能确认后端与 schema 当前匹配,不能称当前工作树与线上完整静态包匹配。当前真相以本文件、[生产迁移 Runbook](BRD_PRODUCTION_MIGRATION_RUNBOOK.md)、[Changelog](../CHANGELOG.md)和每次发布的只读预检为准。
>
> 数字师傅 Agent、`aihr_agent_run` 和对应移动端改造已随 2026-07-25 完整包部署;2026-07-31 最新后端完成正式来源治理与领域相关性收口,生产账号 30 题回归为 11 个正式有据回答和 19 个安全边界,合计 `30/30`。该结果支持 8 月 1 日受控内部公测,不等于应用商店发布或阶段一严格试点验收。
>
> 后台已不再暴露个人训练、主管复盘或成长证据入口;这些能力仅留在认证 APP。该收口已随 2026-07-25 完整包部署,但员工训练写入、主管复盘和真机媒体仍需专项生产验收。
>
> 2026-07-24 已发布修订:公司消息 R1—R3 已补齐员工直通车、部门分频道处理、业务匿名、一次正式回复,以及大喇叭单文件上传、异步提炼、摘要展示、受控下载和文件内容追问;生产认证态闭环已验证。
>
> 2026-07-25 总结卡修复 `f545983d` 已实现、完成自动化并推送 `origin/main`:前端提交当前答案的引用片段,后端重新鉴权且不再二次检索,固定输出「问题/建议/标准」。生产已应用 DeepSeek V4 模型名和部分证据 SOP Prompt 两项配置迁移,并以认证态 H5 验证查询与总结卡;本次未发布后端/H5 代码,因此只能确认生产配置修复生效,不能把证据绑定代码写成已部署。
>
> 2026-07-25 直通车员工提交页新增语音转文字输入与渠道图标:语音复用既有 `/api/ai/asr` 链路,录音或权限失败仅提示改文字输入(表单页文字为主路径,不做选文件降级);本地自动化(150/150)与 mock API 浏览器验证通过,已推送 `origin/main`,未发布生产、未做真机验收。
>
> 2026-07-30 增量新增并发布五通道处理人配置:只有 `superadmin` 可查看当前租户处理人、检索合格候选并增删角色绑定;服务端排除 APP 用户、超级管理员、停用/删除和跨租户账号,写请求复核 `expectedTenantId`。生产五个角色均为 `2/2`,本通道正例、跨通道拒绝和一次正式回复已完成 `5/5`,2026-07-31 纳入受控内部公测签认。
>
> 本文只维护当前结论、证据层级和剩余门槛。逐提交发布流水已从当前真相文档移除,需要追溯时使用 Git 历史;不得再用 2026-07-14/15 的“尚未发布”记录判断现网。
## 1. 当前结论
客户在 2026-07-17 反馈的主要回退和新增项已经进入当前生产包,包括语音输入与关键内容播报、总结卡图片、全局三级字号、主管学习端、姓名多选与快捷截止日期、每日题轮换和题目反馈、常见难题、开放问题榜与积分、完整岗位考试、全网 AI 独立入口、多租户知识空间管理,以及问师傅短期多轮、追问改写和受控原文件/视频交付。
当前工作树另有一批 **2026-08-02 已实现并完成本地验证、尚未部署** 的增量:大喇叭 `ALL/TARGET_ONLY` 真正可见性、受控在线查看与动态水印、下载门禁和带原文依据的主题标签;问师傅未解决反馈确认转问题榜;正式学习任务、审核题库随机组卷及考试关联;案例经验“候选→审核→发布→下线”;原生异常恢复回归,以及资料暂存盘容量健康门禁。以下生产结论不包含这批增量,生产仍以本文件第 5 节的已验证发布证据为准。
完成状态必须分层表达:
| 层级 | 当前状态 | 证据与边界 |
|---|---|---|
| 已实现 | 是 | 已有阶段一主功能;当前工作树另实现大喇叭投放控制、反馈转人工、正式学习任务/随机组卷、案例经验治理、原生异常恢复和上传容量门禁;接口事实见 [API_INTEGRATION.md](API_INTEGRATION.md) |
| 本地自动化/API 验证 | 是 | 当前工作树管理端生产构建、移动端类型检查和 `216/216` 单测通过;后端 Surefire 共 `107` 份报告、`838` 项测试,失败/错误/跳过均为 `0`;迁移静态清单通过,Docker/MySQL 幂等执行未完成 |
| 本地浏览器/视觉验证 | 部分 | `390×844` 已实际点击员工“今日/练/问”、大喇叭登录门禁和直通车登录门禁,无横向溢出或重叠;管理端认证后的案例发布弹窗因后端/MySQL 未运行而未验证。既有生产公司消息回归和 Android ASR 证据不外推到本批增量 |
| 已部署 | 部分 | 2026-07-25 至 2026-07-31 的既有生产基线已部署;当前工作树的四个 `aihr_20260802_*` 迁移及对应后端、管理端和移动端增量均未部署 |
| 生产基础验证 | 是 | 服务 `active`;根站、租户接口和移动首页 API 正常;媒体重试列/索引契约通过,4 个历史零片段任务均恢复为已完成且有片段/向量。当前未执行包含移动 H5 的完整包匹配 |
| 生产完整业务验收 | 部分 | 公司消息已完成认证态全员文件消息和直通车闭环,单台 Android 标准基座已完成生产 ASR;训练写入、主管复盘、定向人群正反例、正式处理人绑定、其他真机媒体与严格试点窗口仍未完成 |
“已部署”不等于“正式试点通过”。当前可以确认生产包和基础运行状态,不能把未执行的正式账号、真机和业务窗口验收写成已完成。
### 2026-08-02 当前工作树未发布增量
- 大喇叭:`TARGET_ONLY` 冻结目标收件人并在所有读取链路执行同一可见性校验;在线查看、下载策略、主题标签和文件访问审计由正式迁移补齐。下载副本按文件格式加水印仍未实现,动态页面水印不得宣传为防泄漏。
- 问题榜与学习:本人 `down` 反馈可经再次确认创建待审核问题;学习任务保存材料版本、周期和考试完成规则,随机组卷只使用审核启用题库并冻结题目来源。正式题库内容和任务规则仍须业务审核。
- 经验治理:案例审核与正式发布拆分,只有来源授权、已脱敏、适用岗位、版本、负责人和生效期完整的 `PUBLISHED` 经验才向员工开放;下线立即停止召回。
- 运行门禁:资料暂存盘默认要求至少 10GiB 可用空间,生产 HTTP 请求启用 P50/P95/P99 指标;约 600 名用户不是 600 并发,压测模型和通过阈值仍待业务、实施和运维签认。
- 发布边界:四个正式迁移已纳入 Runbook;本地 Docker 未运行,未执行 MySQL 首次/重复迁移、完整后端认证 API、签名 APK、真机或生产验证。
### 2026-07-29 资料处理媒体恢复发布边界
历史图片/视频在视觉模型不接受原始分辨率/编码,或模型、ASR、关键帧链路没有返回可检索文字时,旧逻辑会留下状态 0、片段 0 的附件,页面长期显示“等待解析”,却没有从原件重新入队的入口。当前实现先对图片纠正方向、缩放和重编码;异步队列只有生成至少一个片段才进入完成态,零片段明确保持可重试失败。管理端可调用 `POST /api/knowledge/doc/processing-tasks/{attachmentId}/retry`,服务端按当前租户从原 OSS 对象重新暂存,通过附件状态 CAS 防止重复入队,并用 `source_attach_id` 关联新队列条目。
正式迁移、管理端和后端已发布。生产后端 JAR SHA-256 为 `5376b67b33b171b5c85e22cd6a2f20bbb0bc527fc50a223603d0aec3f6587bac`,服务为 `active`,根站、租户和移动首页返回 HTTP 200。原卡住任务 `1133/1175/1308/1405` 已生成队列 `1185–1188`,四项均为完成、各一个片段且向量存在;页面“待重试”为 0。该验证只覆盖资料恢复链路和定向发布,不替代一般知识召回质量、移动 H5 完整包匹配、Android 真机或严格试点。
### 2026-07-24 公司消息 R1—R3 发布边界
当前公司消息能力包括全员公开频道、目标快照、必读、未读/已读、管理端发布/撤回、单文件异步提炼,以及以 `broadcastMessageId` 进入“问”的受控追问。公司文件多岗位解读已于 2026-07-25 部署并完成生产浏览器验证:AI 只保留能以原文短引用佐证的岗位视角,员工默认视角由认证手机号对应的在职岗位决定,同时允许切换查看全部已生成视角;生成失败不阻断摘要、原文件、发布或追问。服务端每轮重新校验租户、在职身份和消息状态,正文与附件内容均由服务端加载;消息撤回后续问和文件访问即被拒绝。本次验收生成四个视角,已验证员工端切换、原文依据、原文件下载一致性及撤回后不可访问;不据此替代真机或正式试点验收。
“问”页面将连续会话设为主体,消息/知识回答不再把通用培训或岗位资料伪造成当前员工待办。生产已验证全员文件消息发布、摘要、认证下载、文件内容追问和撤回;测试消息已撤回。直通车按高管、财务、人力、审计和运营五个通道分权,处理端只见“匿名员工”,系统保留内部身份审计,每条仅一次正式回复;生产已验证员工提交、审计处理和员工查看回复。定向人群正反例、正式处理人绑定、修订、补推、强触达和外部流程仍待补齐。
### 2026-07-24 M2—M3 与五岗位训练运营发布边界
当前完整包已包含训练预习/求助、知识缺口留痕、动态纠偏、受控录音/回放、逐句标注和五岗位内容运营。生产迁移包含 `aihr_practice_help_event`,并落入当前 `64/64` 远端结构预检;五岗位共 `100` 个场景,其中 `86` 个启用、`14` 个高风险场景保持禁用,另有 `100` 条启用 Rubric 与 `500` 条评分维度。
上述证据只说明代码、结构、内置内容和认证态训练入口已经发布。尚未在生产写入完整训练会话、完成主管复盘或验证真实手机麦克风、弱网、方言与正式试点账号,不能把本地浏览器验证外推为正式业务验收。
### 2026-07-25 数字师傅 Agent 发布边界
移动端“问”已从客户端直接选择知识查询/数据工具,改为服务端统一 Agent 编排:先识别知识、实时工作、训练、确认式记录、媒体、全网、澄清或闲聊意图,再用固定策略校验当前身份与工具权限,最后复用既有知识、训练数据、记忆、媒体和全网服务。普通图片问答不再默认检索 SOP;只有问题明确涉及现场制度、流程或处置时才补充授权知识。全网查询必须再次取得用户同意;写入仍先生成确认卡,并通过不透明草稿号进入既有版本和幂等状态机。运行审计不保存原始问题、答案或附件。
该能力已完成定向后端测试、移动端 Agent 契约测试、TypeScript 检查、H5 构建和 MySQL 8 迁移幂等测试。本地 390×844 认证态浏览器已实际验证闲聊不进入 RAG、本人训练概况显示数据来源、全网查询先展示二次同意;认证媒体请求已验证普通图片只返回本次附件识别,不要求知识空间,审计记录可正常落库且不含原始问答。2026-07-31 最新后端完成正式来源审批、原文件哈希和领域相关性校验:生产账号 30 题回归 `30/30`,11 题只引用已批准正式来源,分期等无相关制度问题失败关闭,冲突和越权不自行裁决。
### 2026-07-20 已部署增量与验收边界
工作助手“记一下”统一采集已提交并部署:生产 `ruoyi-aihr` 包包含 `AihrMemoryService`,H5 包含确认卡资源,生产库存在 `aihr_memory_candidate/aihr_assistant_capture` 及关键确认、范围和流转字段。会话式工作上报也已出现在生产 H5 与后端包中,生产 `aihr_work_report` 已有幂等字段。以上属于生产基础存在性复核;本轮未重新执行正式账号端到端、多项目、真机媒体或真实审核样本验收。
`PRIVATE` 仅本人可见,`COMPANY` 只写 `PENDING`。2026-07-21 已发布项目名称选择、项目化会话、确认记录来源绑定、员工工作成果和主管项目成果;2026-07-22 已发布成果历史日期查看、未来日期拒绝与主管手机号授权兼容,并完成远端服务、schema 和产物匹配复核。生产已完成正式员工账号的既有主链路回归,但多项目生产样本、主管正式账号和真机媒体仍待验收。外部线索/工单投递、正式回执及个人文件/网页知识空间仍未实现。后续顺序以[《工作助手与今日工作成果迭代计划》](工作助手与今日工作成果迭代计划-20260721.md)为准。
## 2. 三端输入与 BRD 匹配
| 角色端 | 当前能力 | BRD 判断 |
|---|---|---|
| 员工端 | 对练、每日题和问师傅支持文字/语音;问师傅附件支持图片/视频仅用于本次分析;关键题目、回答、点评和总结卡支持播报;案例支持音频上传 | 阶段一文字/语音主链路已实现并部署;对练的图像/视频情境输入、服务录像回放和方言正式样本仍未达到 BRD 终态 |
| 候选人端 | 面试支持文字、录音转写和选择音频;补充资料支持文档/图片 | 满足当前面试和资料链路;图片资料不参与面试多模态评分 |
| 主管端 | 文字复盘、回听员工录音、姓名多选派发、考试组卷/发布/成绩、工作台与学员模式切换 | 当前主管闭环已实现;项目范围和角色正反例仍需正式账号复核 |
## 3. 客户反馈处理结果
| 反馈主题 | 当前实现 | 生产验证边界 |
|---|---|---|
| 不同角色/岗位内容 | 员工、候选人、主管独立入口;岗位来自组织系统,主管可切换学员模式但不改变组织身份 | 生产包已部署;全岗位内容矩阵和正式权限正反例仍需业务数据 |
| 字号适老化 | 标准/大字/超大字全局持久化,同一页面结构响应式增高 | 本地多视口视觉通过;真实手机触控、键盘和读屏未验收 |
| 问师傅语音与播报 | 录音、选择音频、ASR、TTS/设备语音降级恢复;答案、总结卡、每日题、点评等关键内容可播报 | 生产短音频 ASR 已切换为 `dashscope/qwen3-asr-flash`,并在一台 Android HBuilderX 标准基座完成“按住说话”请求;自定义基座权限、弱网、方言、多机型和完整播报仍未验收 |
| 问师傅连续对话与资料 | 认证用户短期会话保留 30 分钟/最新 6 轮,追问改写并路由 `QA/FILE/VIDEO/DATA_TOOL`;原文件/视频只从当前命中且实时授权的附件交付,无资源不造假链接 | 公司文件消息的认证下载与追问已生产验证;一般知识命中文件/视频的真机下载仍待复验 |
| 问页面有效会话区与消息追问 | 会话开始后收起占位辅助区;大喇叭详情仅以消息 ID 受控进入短会话,消息/知识回答不伪造待办 | 生产认证态发布—阅读—文件追问已验证;390×844 最终截图和真机体验仍待补 |
| 银城大喇叭 | 生产已有全员公开、定向提醒、必读、单文件提炼和受控追问;当前工作树新增 `TARGET_ONLY` 真正可见性、受控在线查看/动态水印、下载门禁和带依据主题标签 | 全员文件消息闭环已生产认证验证;当前工作树增量未部署,目标可见性正反例、在线查看审计和禁止下载仍待迁移后验证;下载副本水印、修订、补推和外部强触达仍不包含 |
| 员工直通车 | 已部署高管、财务、人力、审计、运营五个点对点频道,业务匿名、分角色收件和一次正式回复 | 生产已验证员工提交—审计处理—员工查看;五类角色已建,真实处理人员仍须按业务名单绑定 |
| 图片/视频与总结卡图片 | 问师傅附件仅用于本次现场分析;总结卡可下载 PNG | 生产包已部署;iOS/Android H5 下载和相册/文件权限未复验 |
| 录音归属、提交无反馈、筛选错位 | 账号/页面代次隔离、旧请求回写保护、明确加载/失败状态和窄屏布局已修 | 本地双账号/交互测试通过;生产认证态未重放 |
| 每日题变化与题目反馈 | 五岗位题库按日期、岗位和员工身份轮换;每日题/专项支持有用/无用反馈 | 生产 schema 和包已部署;正式题库内容审核与业务样本待补 |
| 常见难题与一键派专项 | 管理端按岗位、时间、次数、人数、均分排序并可生成专项 | 生产页面已打开复核;正式团队样本待补 |
| 指派姓名、多选、快捷日期 | 项目内在职人员姓名选择,最多 100 人,四档快捷日期,幂等批量提交和逐人结果 | 本地真实 API 已验证;生产大团队、时区边界和权限正反例待补 |
| 开放问题榜与奖励 | 提问、回答、审核、最佳答案和积分/学习学分已实现;当前工作树新增本人未解决反馈确认转待审核问题,创建和选优均幂等 | 既有生产页面/schema 已验证;反馈转人工增量未部署,正式运营规则和认证写链路仍待验收;不是现金、不可提现 |
| 正式学习中心 | 当前工作树支持按人员派发带材料版本、周期、截止时间和完成规则的正式任务,`EXAM_PASS` 与关联考试结果绑定;每日三题保持独立 | 未部署、未执行 MySQL 迁移或正式账号验证;材料、任务规则和提醒内容仍须业务审核,不包含外部强触达 |
| 岗位入职考试 | 既有固定试卷、发布、作答和幂等提交保留;当前工作树新增从审核启用题库幂等随机抽题,并在发布时冻结题目来源、答案和解析 | 本地服务测试通过;新增题库/抽题迁移未在 MySQL 执行,生产正式账号未重放 |
| 案例经验治理 | 当前工作树将候选、业务审核、正式发布和下线拆分;员工仅可读取当前生效的 `PUBLISHED` 经验 | 未部署、未执行迁移或正式内容审核;不能用模型分数、投稿审核或测试数据冒充正式经验资产 |
| 资料容量门禁 | 当前工作树新增暂存盘可写/可用空间健康指标,默认门槛 10GiB,并开启生产 HTTP P50/P95/P99 指标 | 只完成本地单测和文档契约;峰值并发、流量模型、P95 和错误率目标未签认,未做隔离环境压测 |
| 问 AI(全网) | 与企业问师傅分入口、接口、来源和提示;只允许已测试启用的公网 HTTPS 提供方 | 管理页已生产打开;未配置正式提供方密钥时明确不可用,不生成假答案 |
| 多租户知识空间 | 空间、授权、调用应用、统一问答、审计、限流和受控数据工具已实现 | 生产页面/schema 已验证;银城/美途正式空间、授权矩阵、令牌和内容迁移仍需业务确认后执行 |
## 4. 当前剩余硬门槛
### P0:生产认证与正式试点
1. 选定 1–2 个真实项目、正式员工名单和起止日期,固定试点窗口。
2. 使用已授权的生产登录方式完成员工、主管、候选人和后台角色正反例;当前受控登录方式可用于验收,不再作为“无法验收”的理由。
3. 在自定义基座继续复验录音拒绝/选音频、TTS/设备语音、图片/视频附件、总结卡下载、三级字号、键盘和读屏;标准基座的单次 ASR 成功不能替代这些项目。
4. 以同一窗口收集训练、人工校准、SOP 评审、满意度和案例样本,再运行 `AIHR_PILOT_STRICT=true ./scripts/demo-check.sh`。
### P1:业务配置与终态能力
1. 8 月 1 日生活顾问受控公测集已完成场景 `5/5`、问题 `30/30` 签认;扩大到其他岗位前仍须分别确认正式场景、题库、SOP、资格规则及禁用高风险内容,seed 不能代替内容验收。
2. 完成项目权限正例/反例、岗位内容映射、大团队批量派发,以及直通车五类真实处理人员绑定。
3. 继续用真实手机扩展 ASR 多机型样本,并复验麦克风拒绝、弱网、方言与全网 AI 提供方;密钥只从安全环境注入。
4. BRD 终态仍缺员工对练图像/视频情境、服务录像回放、四川话/粤语真实样本和响应时延证据。
5. 多租户知识平台完成正式租户 ID、空间、授权、外部应用、内容迁移和标准题签字后,才可称业务上线。
## 5. 当前生产发布证据
- 最新定向发布:2026-07-31 正式来源相关性收口,后端回滚目录为 `/opt/wygj/backups/backend-20260731012751-73a6caf69aa3`。
- 最新后端:`d5145194024ba3526a869e3270df6d71468931b96ba9aebb93121592e54012eb`;服务 `active`,三个公开入口 HTTP 200,远端 AIHR 模块、schema `64/64` 和生产账号 30 题回归通过。该次只发布后端,管理端/H5 未重发,因此不声称当前工作树完整静态包匹配。
- 最近一次完整包发布源仍为 `230dfb4d feat(broadcast): finish multi-role insight experience`,完整备份位于 `/opt/wygj/backups/broadcast-insights-20260725152349`;当时管理端/H5、后端和 `64/64` schema 一致,包含训练运营、数字师傅 Agent、公司消息 R1—R3 和多岗位解读。
- 认证态生产已验证员工直通匿名提交、审计角色回复、员工查看回复,以及全员文件消息发布、摘要、多岗位解读、下载、内容追问和撤回;2026-07-26 另完成一台 Android 标准基座的生产 ASR。直通测试记录按审计要求保留,公司消息测试记录已撤回;该证据不包含 Agent 专项完整回归、完整训练写入、主管复盘、定向人群正反例或原生全项体验验收。
## 6. 当前事实源
- 工程、运行和发布规则:[README.md](../README.md)、[AGENTS.md](../AGENTS.md)。
- 客户反馈与版本连续性:[员工端版本功能对比与功能对齐清单-20260717.md](员工端版本功能对比与功能对齐清单-20260717.md)。
- Figma 视觉与实现状态:[FIGMA需求覆盖与版本偏差审计-20260717.md](FIGMA需求覆盖与版本偏差审计-20260717.md)、[FIGMA_IMPLEMENTATION_MATRIX.md](FIGMA_IMPLEMENTATION_MATRIX.md)。
- API 契约:[API_INTEGRATION.md](API_INTEGRATION.md)。
- 阶段一“练”的当前范围与验收门槛:[AI陪练完整交付计划-20260724.md](AI陪练完整交付计划-20260724.md)。
- 生产迁移与回滚:[BRD_PRODUCTION_MIGRATION_RUNBOOK.md](BRD_PRODUCTION_MIGRATION_RUNBOOK.md)。
- 正式试点门禁:[DEMO_ACCEPTANCE.md](DEMO_ACCEPTANCE.md)。
任何新结论仍要分别记录“已实现、本地验证、视觉验证、已部署、生产验证、正式业务验收”,不得合并成一个笼统的“完成”。