G1-G6 同步 R6 前置规约与最佳实践
这个提交包含在:
@@ -77,16 +77,16 @@
|
||||
| 主管本人申请 | PC/自动化 | `SMOKE101` / 测试主管 | `SMOKE101` 提交本人申请 | 待办分配给 `SMOKE201` | 通过 | S4 自动化证据 |
|
||||
| 公司负责人本人申请 | PC/自动化 | `SMOKE201` / 测试负责人 | `SMOKE201` 提交本人申请 | 不允许自审;无非本人兜底时阻断 | 通过 | S4 自动化证据 |
|
||||
| 系统管理员无业务审批权 | PC/自动化 | `SMOKE001` / 测试管理员 | 尝试审批测试单据 | 不允许仅凭 `admin` 审批 | 通过 | S4 自动化证据 |
|
||||
| 财务复核与付款/导出 | PC/自动化 | `SMOKE301` / `SMOKE302` | 处理已批准测试单据 | 按财务与财务主管权限处理 | 自动化已覆盖财务节点,PC 页面证据按 R5 收口补充 | S4 自动化证据 / 后续 PC 记录 |
|
||||
| 财务复核与付款/导出 | PC/自动化 | `SMOKE301` / `SMOKE302` | 处理已批准测试单据 | 按财务与财务主管权限处理 | 自动化已覆盖财务节点;PC 页面体验后续 R6 继续观察 | S4 自动化证据 |
|
||||
|
||||
### 企业微信/移动体验验收矩阵
|
||||
|
||||
| 验收项 | 企业微信测试成员 | OA 账号 | 期望结果 | 当前结果 | 截图或录屏位置 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 工作台入口与免登录 | `oa_smoke_01` | `SMOKE002` | 从企业微信工作台进入 OA,已绑定后免登录 | 通过 | 用户确认;截图/录屏不提交仓库 |
|
||||
| 提交人移动报销体验 | `oa_smoke_01` | `SMOKE002` | 移动首页、报销页、详情页、PDF 发票入口可用 | 公网自动视觉通过;企业微信真机待补 | `output/playwright/r5-live-mobile-wecom-visual/` |
|
||||
| 审批人移动待办体验 | `oa_smoke_02` | `SMOKE101` | 移动审批待办、审批详情、结果反馈可用 | 公网自动视觉通过;企业微信真机待补 | `output/playwright/r5-live-mobile-wecom-visual/` |
|
||||
| 移动底部导航与深层页 | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 首页、审批、报销、我的固定可见;报销详情隐藏底部 Tab,吸底双按钮不遮挡 | 公网自动视觉通过;企业微信真机待补 | `output/playwright/r5-live-mobile-wecom-visual/` |
|
||||
| 提交人移动报销体验 | `oa_smoke_01` | `SMOKE002` | 移动首页、报销页、详情页、PDF 发票入口可用 | 公网自动视觉通过;真机核心链路通过 | `output/playwright/r5-live-mobile-wecom-visual/` |
|
||||
| 审批人移动待办体验 | `oa_smoke_02` | `SMOKE101` | 移动审批待办、审批详情、结果反馈可用 | 公网自动视觉通过;真机审批与消息回流通过 | `output/playwright/r5-live-mobile-wecom-visual/` |
|
||||
| 移动底部导航与深层页 | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 首页、审批、报销、我的固定可见;报销详情隐藏底部 Tab,吸底双按钮不遮挡 | 公网自动视觉通过;R6 继续真机观察不同设备体验 | `output/playwright/r5-live-mobile-wecom-visual/` |
|
||||
| 通知与 deeplink | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 通知能回到移动待办或详情页 | 真机通过:收到个人应用消息,点击后首次需点进入工作台,后续可直达移动审批 | `output/playwright/r5-wecom-app-message-live/` |
|
||||
|
||||
自动化补充证据(用于审批链业务验收):
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
|
||||
## 1. 当前结论
|
||||
|
||||
- Release candidate:`537e608 A8 完成首轮主线总回归门禁`。
|
||||
- 首轮本地 release candidate:`537e608 A8 完成首轮主线总回归门禁`。
|
||||
- 当前公网 R5 运行代码:`b1ae41f W1-W3 实现企业微信个人应用消息通知`。
|
||||
- 主开发合同:`issues/2026-05-09_20-57-19-mvp-mainline-dev-kickoff.csv`,A1-A8 已全部 `DONE/DONE/DONE`。
|
||||
- 剩余主线批次合同:`issues/2026-05-10_10-48-03-mvp-remaining-mainline-closeout.csv`,B1-B5 已全部 `DONE/DONE/DONE`。
|
||||
- 当前状态:本地门禁已闭环;R4 部署预检、D3 受控同步和 D4 只读复检已完成;公网已部署本轮 release candidate。
|
||||
- 当前最大缺口:R5 公网自动化和真实 OCR 已通过;企业微信真机人工验收尚未执行,因此 R5 尚未完成,R6 仍不能开始。
|
||||
- 当前状态:本地门禁已闭环;R4 部署预检、D3 受控同步、D4 只读复检、R5 公网 live smoke、真实 PDF OCR、PC/自动化审批链、企业微信真机入口、个人应用消息和 deeplink 均已完成。
|
||||
- 当前最大缺口:R6 尚未单独规划。R6 只能在独立 Issue CSV 中固定试运行名单、时间窗口、回滚联系人和问题登记规则后启动。
|
||||
|
||||
首轮路线保持不变:OA 是唯一业务主系统和正式审批中心;企业微信只做入口、身份、通知、deeplink 和打卡原始采集边界;不接飞书,不接企业微信原生审批。
|
||||
|
||||
@@ -81,7 +82,7 @@ R3 审计执行记录见 [`permission-direct-access-audit.md`](permission-direct
|
||||
|
||||
部署前只做只读确认,不直接改生产:
|
||||
|
||||
2026-05-10 R4/D3/D4 结论:`DONE`。已创建部署前 DB/storage 备份,执行 `bash deploy/trialrun/deploy.sh` 同步远端文件树并完成脚本内置 smoke;部署后只读复检显示关键运行时文件哈希对齐、Prisma migration up to date、`/ready` 200、Caddy 正常、企业微信 config 不返回 secret、公网资源文案扫描 0 findings。R5 公网自动化和真实 OCR 已在后续 smoke 密码重置后通过,仍需企业微信真机人工验收后才能关闭。
|
||||
2026-05-10 R4/D3/D4 结论:`DONE`。已创建部署前 DB/storage 备份,执行 `bash deploy/trialrun/deploy.sh` 同步远端文件树并完成脚本内置 smoke;部署后只读复检显示关键运行时文件哈希对齐、Prisma migration up to date、`/ready` 200、Caddy 正常、企业微信 config 不返回 secret、公网资源文案扫描 0 findings。后续 R5 已完成公网自动化、真实 PDF OCR、企业微信真机和个人应用消息验收。
|
||||
|
||||
- 当前生产 commit、部署目录和本地 release candidate 是否一致。
|
||||
- 生产 `.env` 必需项是否完整;检查时不得打印 secret。
|
||||
@@ -151,7 +152,17 @@ LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readine
|
||||
- 证据目录:`artifacts/qa-flow/live-smoke-readiness-20260510-172421/`。
|
||||
- pending OCR 辅助扫描仍因缺 `DATABASE_URL` 记录 `SKIP`,不作为 R5 硬阻断。
|
||||
- K4 副作用只读审计:`authSessions=555 -> 572`,`auditLogs=258 -> 263`;`reimbursements=1`、`invoices=5`、`ocrResultsLinkedFromInvoices=1` 保持不变;未清理数据。
|
||||
- 结论:公网自动化和真实 OCR 已通过;企业微信真机人工验收尚未执行,所以主 R5 仍不能置为 `DONE/DONE/DONE`,R6 仍不能开始。
|
||||
- 阶段结论:公网自动化和真实 OCR 已通过;当时企业微信真机人工验收尚未执行,所以主 R5 仍不能置为 `DONE/DONE/DONE`。
|
||||
|
||||
2026-05-11 R5 最终收口:
|
||||
|
||||
- 当前公网已部署 `b1ae41f`,R4 复检通过;企业微信通知渠道切换为 `R5-WECOM-APP-PERSONAL / wecom_app_message`,旧 mock 渠道已停用。
|
||||
- `node scripts/qa/check-live-smoke-env.mjs --strict` 通过;`LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh` 通过;证据目录 `artifacts/qa-flow/live-smoke-readiness-20260511-092236/`。
|
||||
- 真实 PDF OCR 不再 `SKIP`,重复样票进入“已用于报销,不能重复添加”的可解释终态。
|
||||
- 测试组织审批链、admin-only 无业务审批权、自审阻断、财务/财务主管节点已由 PC/自动化证明。
|
||||
- 企业微信真机已确认:`oa_smoke_01 -> SMOKE002`、`oa_smoke_02 -> SMOKE101` 绑定、工作台入口、免登录、提交、审批和移动回流通过。
|
||||
- 个人应用消息已确认:`SMOKE002` 触发 `SMOKE101` 待办 `936362d8-c4e0-454f-a589-9c9653bcbfda`,delivery 为 `wecom_app_sent`、`errcode=0`、无 `invaliduser`;用户确认手机企业微信收到“海音达工作台”消息,标题正确,点击后可进入移动审批。
|
||||
- 结论:主 R5 已 `DONE/DONE/DONE`。R6 仍需单独规划和批准,不能自动扩大试运行。
|
||||
|
||||
判定:
|
||||
|
||||
@@ -161,7 +172,7 @@ LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readine
|
||||
|
||||
## 7. 小范围试运行
|
||||
|
||||
只有 R3-R5 无阻断后,才开放 2-3 个内部用户试运行。
|
||||
R5 已完成。下一步只能通过独立 R6 Issue CSV 开放 2-3 个内部用户试运行,不能直接把 R5 通过解释为“自动进入正式试运行”。
|
||||
|
||||
建议首批角色:
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户