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

130 lines
20 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-29。2026-07-25 的 `230dfb4d` 仍是最近一次管理端、H5、后端与 schema 同批完整发布源;其后先发布阿里云百炼 ASR 后端热修复,2026-07-29 又定向发布资料处理媒体恢复的 schema、管理端和后端 JAR `5376b67b…`,移动 H5 未重发。当前只能分别确认最新管理端、后端与媒体重试 schema,不能称当前工作树与线上完整包匹配。当前真相以本文件、[生产迁移 Runbook](BRD_PRODUCTION_MIGRATION_RUNBOOK.md)、[Changelog](../CHANGELOG.md)和每次发布的只读预检为准。
>
> 数字师傅 Agent、`aihr_agent_run` 和对应移动端改造已随 2026-07-25 完整包部署;2026-07-30 已在签名 `0.1.17 (117)` 真机完成认证态问师傅发问/引用,并在最新后端上完成 30 题状态、拒答、冲突和越权边界结构回归。来源权威性审计仍发现经验萃取/访谈命中,因此这些结果不等于正式政策内容验收。
>
> 后台已不再暴露个人训练、主管复盘或成长证据入口;这些能力仅留在认证 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/2`;人数门槛已满足,但通道负责人正例、越权反例和一次正式回复签认仍未完成。
>
> 本文只维护当前结论、证据层级和剩余门槛。逐提交发布流水已从当前真相文档移除,需要追溯时使用 Git 历史;不得再用 2026-07-14/15 的“尚未发布”记录判断现网。
## 1. 当前结论
客户在 2026-07-17 反馈的主要回退和新增项已经进入当前生产包,包括语音输入与关键内容播报、总结卡图片、全局三级字号、主管学习端、姓名多选与快捷截止日期、每日题轮换和题目反馈、常见难题、开放问题榜与积分、完整岗位考试、全网 AI 独立入口、多租户知识空间管理,以及问师傅短期多轮、追问改写和受控原文件/视频交付。
完成状态必须分层表达:
| 层级 | 当前状态 | 证据与边界 |
|---|---|---|
| 已实现 | 是 | 已有阶段一主功能,公司消息 R1—R3 已实现直通车与公司文件提炼闭环;接口事实见 [API_INTEGRATION.md](API_INTEGRATION.md) |
| 本地自动化/API 验证 | 是 | 训练运营定向后端测试 `76` 项;公司消息新增后端 `30` 项、管理端 `2` 项、移动端 `2` 项;管理端/H5 构建通过 |
| 本地浏览器/视觉验证 | 部分 | 已检查管理端目录/任务、两轮动态对练、岗位不匹配拦截、直通处理和文件消息;线上已以认证态员工完成公司消息回归。Android 标准基座生产 ASR 已通过,训练完整写入和原生全项验收仍未完成 |
| 已部署 | 是 | 2026-07-25 完整包已包含公司消息 R1—R3、训练内容运营、M2 求助事件和租户组织治理;2026-07-29 又发布资料处理媒体恢复的 schema、管理端和后端,移动 H5 未重发 |
| 生产基础验证 | 是 | 服务 `active`;根站、租户接口和移动首页 API 正常;媒体重试列/索引契约通过,4 个历史零片段任务均恢复为已完成且有片段/向量。当前未执行包含移动 H5 的完整包匹配 |
| 生产完整业务验收 | 部分 | 公司消息已完成认证态全员文件消息和直通车闭环,单台 Android 标准基座已完成生产 ASR;训练写入、主管复盘、定向人群正反例、正式处理人绑定、其他真机媒体与严格试点窗口仍未完成 |
“已部署”不等于“正式试点通过”。当前可以确认生产包和基础运行状态,不能把未执行的正式账号、真机和业务窗口验收写成已完成。
### 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-30 最新后端又完成认证态生产冒烟、30 题边界结构回归 `30/30` 和 vivo Android 15 真机问师傅发问/引用;但至少一题的引用全部来自经验萃取/访谈材料。功能链路已验证,正式政策来源语义验收仍未通过,两者不得混写。
### 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 最终截图和真机体验仍待补 |
| 银城大喇叭 | 全员/定向、必读、未读/已读、发布/撤回、单文件异步提炼、摘要、受控下载和文件追问已部署 | 全员文件消息闭环已生产认证验证,测试消息已撤回;仍不含修订、补推和外部强触达,定向正反例待补 |
| 员工直通车 | 已部署高管、财务、人力、审计、运营五个点对点频道,业务匿名、分角色收件和一次正式回复 | 生产已验证员工提交—审计处理—员工查看;五类角色已建,真实处理人员仍须按业务名单绑定 |
| 图片/视频与总结卡图片 | 问师傅附件仅用于本次现场分析;总结卡可下载 PNG | 生产包已部署;iOS/Android H5 下载和相册/文件权限未复验 |
| 录音归属、提交无反馈、筛选错位 | 账号/页面代次隔离、旧请求回写保护、明确加载/失败状态和窄屏布局已修 | 本地双账号/交互测试通过;生产认证态未重放 |
| 每日题变化与题目反馈 | 五岗位题库按日期、岗位和员工身份轮换;每日题/专项支持有用/无用反馈 | 生产 schema 和包已部署;正式题库内容审核与业务样本待补 |
| 常见难题与一键派专项 | 管理端按岗位、时间、次数、人数、均分排序并可生成专项 | 生产页面已打开复核;正式团队样本待补 |
| 指派姓名、多选、快捷日期 | 项目内在职人员姓名选择,最多 100 人,四档快捷日期,幂等批量提交和逐人结果 | 本地真实 API 已验证;生产大团队、时区边界和权限正反例待补 |
| 开放问题榜与奖励 | 提问、回答、审核、最佳答案、积分规则和积分/学习学分双账户已实现;重复选优不重复发奖 | 生产页面/schema 已验证;正式运营规则和认证写链路待验收;不是现金、不可提现 |
| 岗位入职考试 | 主管选择岗位/项目/员工、组卷、发布、截止日期和成绩;员工答题、播报、提交、逐题结果;提交幂等 | 本地发布与 100 分提交/重放通过;生产正式账号未重放 |
| 问 AI(全网) | 与企业问师傅分入口、接口、来源和提示;只允许已测试启用的公网 HTTPS 提供方 | 管理页已生产打开;未配置正式提供方密钥时明确不可用,不生成假答案 |
| 多租户知识空间 | 空间、授权、调用应用、统一问答、审计、限流和受控数据工具已实现 | 生产页面/schema 已验证;银城/美途正式空间、授权矩阵、令牌和内容迁移仍需业务确认后执行 |
## 4. 当前剩余硬门槛
### P0:生产认证与正式试点
1. 选定 1–2 个真实项目、正式员工名单和起止日期,固定试点窗口。
2. 使用已授权的生产登录方式完成员工、主管、候选人和后台角色正反例;当前受控登录方式可用于验收,不再作为“无法验收”的理由。
3. 在自定义基座继续复验录音拒绝/选音频、TTS/设备语音、图片/视频附件、总结卡下载、三级字号、键盘和读屏;标准基座的单次 ASR 成功不能替代这些项目。
4. 以同一窗口收集训练、人工校准、SOP 评审、满意度和案例样本,再运行 `AIHR_PILOT_STRICT=true ./scripts/demo-check.sh`。
### P1:业务配置与终态能力
1. 由业务确认五岗位正式场景、题库、SOP、资格规则及当前禁用高风险内容;seed 不能代替内容验收。
2. 完成项目权限正例/反例、岗位内容映射、大团队批量派发,以及直通车五类真实处理人员绑定。
3. 继续用真实手机扩展 ASR 多机型样本,并复验麦克风拒绝、弱网、方言与全网 AI 提供方;密钥只从安全环境注入。
4. BRD 终态仍缺员工对练图像/视频情境、服务录像回放、四川话/粤语真实样本和响应时延证据。
5. 多租户知识平台完成正式租户 ID、空间、授权、外部应用、内容迁移和标准题签字后,才可称业务上线。
## 5. 当前生产发布证据
- 最新定向发布:2026-07-29 资料处理媒体恢复;schema 备份位于 `/opt/wygj/backups/media-reprocess-20260729151224/`,后端回滚目录为 `/opt/wygj/backups/backend-20260729152628-46c99cff75d2/`,管理端发布前完整站点备份为 `/opt/wygj/backups/frontend-20260729153140/`。
- 最新后端:`5376b67b33b171b5c85e22cd6a2f20bbb0bc527fc50a223603d0aec3f6587bac`;服务 `active`,三个公开入口 HTTP 200,媒体重试 schema 契约及 4 个历史任务恢复通过。管理端已发布,移动 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)。
任何新结论仍要分别记录“已实现、本地验证、视觉验证、已部署、生产验证、正式业务验收”,不得合并成一个笼统的“完成”。