# R70 人工业务试运行清单 日期:2026-04-28 ## 目标 用 10 人以下科技公司的真实日常路径验证系统是否可试运行。R70 不追求覆盖所有功能,重点发现阻断真实使用的问题。 ## 执行原则 - 每个角色试用 30-60 分钟。 - 发现问题先记录,不现场扩展需求。 - P0/P1 才中断并进入立即修复判断。 - 涉及 workflow、权限、状态机、审批规则、迁移的问题必须单独 review。 - 截图放在本地即可,不提交到仓库;问题记录写入 `artifacts/r70/issue-log.csv`。 ## 严重级别 - P0:无法登录、系统不可用、核心数据丢失、权限泄露。 - P1:核心业务无法完成,例如请假/报销/审批/关键管理入口阻断。 - P2:业务可绕过但明显影响效率或理解,例如入口难找、文案误导、状态不清。 - P3:轻微体验问题,例如间距、提示、非关键排序。 ## 环境记录 - 环境 URL:`http://192.168.123.7:3000` - 执行日期:`2026-04-28` - 浏览器:`Firefox (Playwright CLI)` - 数据库/分支:`hyb_oa_manual_trialrun_20260428172231 / 2bce9c9` - 执行人:`Codex Playwright 辅助复核` ## 员工路径 账号:员工测试账号。 1. 登录并进入 Portal。 2. 查看今日动作、常用入口、公告和通知。 3. 新建请假草稿,提交或撤回一次。 4. 新建报销草稿,确认空白报销入口可理解。 5. 写一份周报并生成待办,完成待办。 6. 使用全局搜索查找一个业务对象。 7. 打开移动入口,确认移动审批/移动工作台入口可理解。 8. 将问题写入 `artifacts/r70/issue-log.csv`。 验收关注: - 是否知道下一步该点哪里。 - 表单必填项和错误提示是否清楚。 - 提交后状态是否能理解。 - 移动端是否能完成最小查看/处理。 ## 经理路径 账号:经理测试账号。 1. 登录并确认 Portal 是管理视角。 2. 进入待我处理,完成一条快捷审批或详情审批。 3. 查看请假团队日历,判断团队成员可用性。 4. 查看团队状态和通知。 5. 进入项目工作台,确认项目协同信息是否可理解。 6. 将问题写入 `artifacts/r70/issue-log.csv`。 验收关注: - 审批入口是否明显。 - 快捷审批和详情审批是否有足够上下文。 - 团队日历是否能支持实际排班/请假判断。 - 审批后状态是否及时刷新。 ## 管理员路径 账号:管理员测试账号。 1. 登录并确认管理入口可见。 2. 检查人员管理、组织架构入口。 3. 检查系统设置和功能开关文案。 4. 查询审计日志,确认关键操作可追踪。 5. 用普通员工视角对比,确认不应出现的管理入口不可见。 6. 将问题写入 `artifacts/r70/issue-log.csv`。 验收关注: - 管理入口是否按小团队常用频率排序。 - 配置项是否会误导非技术管理员。 - 权限边界是否符合预期。 - 审计日志是否足以追踪关键操作。 ## 结束条件 - 员工、经理、管理员三类路径都完成。 - 所有发现的问题已记录严重级别。 - P0/P1 已明确是否暂停试运行。 - `artifacts/r70/manual-trialrun-report.md` 已回填结论。 ## R71 定向复测回填 - 复测时间:`2026-04-28 19:08 - 19:11 CST` - manager:`/leave-requests` 的“团队日历”页签打开成功,显示 `2026-04-27 ~ 2026-05-03` 窗口内本部门请假数据,通过。 - employee:无发票时,报销详情页在提交按钮附近即时提示“提交前需先绑定至少 1 张发票,可在‘关联票据’区域添加。”,通过。 - employee:上传 `/home/shunli/Projects/hyb-oa/artifacts/北京悦海堂餐饮管理有限公司_发票金额1683.00元.pdf` -> 绑定 -> 再次提交后,报销单 `4931211b-34b4-43b8-9e9f-917569d47c33` 进入 `reviewing`,编号 `BX-20260428-0001`,通过。 - 结论:R70 初始两条问题已闭环,可恢复下一轮本地人工试运行。 ## R73 自动化覆盖回填 - 自动化环境:`http://127.0.0.1:3001` - 自动化数据库:`hyb_oa_manual_trialrun_20260428172231` - 执行时间:`2026-04-28 20:49 - 21:08 CST` - 已自动化覆盖: - `client/tests/e2e/reimbursement-workflow-progress.spec.ts` - 报销提交后详情页展示当前审批进度。 - `client/tests/e2e/invoice-ocr-flow.spec.ts` - 报销详情:上传发票 -> OCR 完成 -> 自动进入可绑定候选 -> 绑定 -> 提交报销。 - 票据中心:OCR 缺关键字段 -> 当前页提示原因 -> 补齐字段 -> 标记 available。 - 显式开关的辅助自动化: - `client/tests/e2e/manual/live-invoice-ocr.spec.ts` - 用途:接入真实腾讯 OCR + 真实 VAT 发票时做本地辅助复核,不进入常规本地回归。 - 启动示例:`PLAYWRIGHT_MANUAL=1 PLAYWRIGHT_OCR_LIVE=1 PLAYWRIGHT_OCR_LIVE_FILE=/home/shunli/Projects/hyb-oa/artifacts/北京悦海堂餐饮管理有限公司_发票金额1683.00元.pdf npm run test:e2e -- tests/e2e/manual/live-invoice-ocr.spec.ts` - 仍需人工体验判断: - Portal 信息架构是否易懂。 - 审批上下文是否足够。 - 移动入口与管理员入口的认知负担。 - 真实腾讯 OCR 在不同票样下的识别质量与耗时体感。 ## R73 本地环境基线回填 - 2026-04-28 本地辅助复核中,`client/tests/e2e/manual/r70-trialrun-assist.spec.ts` 首次出现 5 个失败步骤;复盘确认根因是本地运行时 env 未开启试运行所需模块,不是当前业务链路回归。 - 本地试运行前,server 运行时至少应开启: - `PORTAL_HOME_ENABLED=true` - `GLOBAL_SEARCH_ENABLED=true` - `ANNOUNCEMENTS_ENABLED=true` - `PRESENCE_BOARD_ENABLED=true` - `ATTENDANCE_ENABLED=true` - `WEEKLY_REPORT_ENABLED=true` - `EMPLOYEE_LIFECYCLE_ENABLED=true` - `TODO_BOARD_ENABLED=true` - `PROJECT_DOMAIN_ENABLED=true` - `PROJECT_LINKING_ENABLED=true` - `PROJECT_COMMUNICATION_LOG_ENABLED=true` - `PROJECT_CLOSURE_CHECKLIST_ENABLED=true` - 当前 trialrun 数据库内的 `feature_flags` 与 `workspace_settings` 已具备小团队试运行配置;若页面仍显示模块缺失,优先检查 server 进程的运行时 env,而不是先怀疑数据库种子。 - 本地 HTTP 辅助复核不要强制 `COOKIE_SECURE=true`,否则 `127.0.0.1` / `192.168.123.7` 下登录态会失效;该项只在 HTTPS 试运行部署时开启。 - 真实腾讯 OCR 已用运行时注入方式接入旧项目本地配置完成验证;不要把腾讯密钥写回仓库内 `.env`。 - 本地先跑门禁: - `cd server && TRIALRUN_RUNTIME_MODE=local node src/scripts/smoke-trialrun-runtime.js` - 深层真实业务辅助回归: - `cd client && PLAYWRIGHT_MANUAL=1 R70_TRIALRUN_DEEP_ASSIST=1 E2E_BASE_URL=http://127.0.0.1:3001 npm run test:e2e -- tests/e2e/manual/r70-trialrun-deep-assist.spec.ts` - 批量真实腾讯 OCR 辅助回归: - `cd client && PLAYWRIGHT_MANUAL=1 PLAYWRIGHT_OCR_LIVE=1 PLAYWRIGHT_OCR_LIVE_BATCH=1 PLAYWRIGHT_OCR_LIVE_DIR=<目录> E2E_BASE_URL=http://127.0.0.1:3001 npm run test:e2e -- tests/e2e/manual/live-invoice-ocr-batch.spec.ts`