diff --git a/docs/trialrun/人工试运行报告.md b/docs/trialrun/人工试运行报告.md index 49727bff..c74f5283 100644 --- a/docs/trialrun/人工试运行报告.md +++ b/docs/trialrun/人工试运行报告.md @@ -280,33 +280,34 @@ R7EP 历史结论:公网、live smoke/OCR、移动矩阵、核心业务流、 本节对应修复已于 2026-05-15 19:31 CST 通过 `bash deploy/trialrun/deploy.sh` 部署到 `https://oa.hyinda.com`,部署基线为 `f945c0b R7E 真机二次反馈移动修复`,`SYNC_ENV=0`,未覆盖远端 `.env`。部署脚本内置远端构建、init、Prisma migration status、`/ready`、external deps smoke、runtime smoke 和公网 bundle 扫描均通过。部署后补充验证:`curl -fsS https://oa.hyinda.com/ready` 通过,`PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs` 扫描 57 个资源且 findings=0,live smoke env readiness 通过,`cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list` 通过 6 项。2026-05-15 用户补充确认 `SMOKE101` 审批状态和操作区、`SMOKE002` 详情头部间距、`wangzhiling` 财务入口定位均通过;审批动作二次确认进入 `R7E-16D`。 -`R7E-16D` 已于本地实现并验证:PC 审批详情、PC 列表快捷通过、移动审批详情在线动作和离线草稿动作都会先弹二次确认;确认文案解释通过、驳回、退回的后果;移动审批详情主操作改为底部固定操作区。验证命令:`cd client && npm run typecheck`、`cd client && npm run build`、`cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list`、`cd client && npx playwright test tests/e2e/workflow-action-confirm-ui.spec.ts tests/e2e/r89-mobile-login-navigation.spec.ts --workers=1 --reporter=list` 均通过。本项尚未部署到 `https://oa.hyinda.com`,需要后续受控部署后再做真机复测。 +`R7E-16D` 已于 2026-05-15 21:46 CST 部署到 `https://oa.hyinda.com`,部署基线为 `96488d8 R7E-16D 审批动作二次确认`,`SYNC_ENV=0`,未覆盖远端 `.env`。部署脚本内置远端构建、init、Prisma migration status、`/ready`、external deps smoke、runtime smoke 和公网 bundle 扫描均通过。部署后补充验证:`curl -fsS https://oa.hyinda.com/ready` 通过,`PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs` findings=0,live smoke env readiness 显示公网、企业微信和真实 OCR 条件 ready,`cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list` 复跑 6 passed,`cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/workflow-action-confirm-ui.spec.ts tests/e2e/r89-mobile-login-navigation.spec.ts --workers=1 --reporter=list` 5 passed。审批动作二次确认仍需代表真机复测后才能关闭 `R7E-15/R7E-17/R7E-18`。 + +`BIZ8-13/BIZ8-CLOSE` 已完成权限回归和阶段收口:`cd server && npm run prisma:validate` 通过;`cd server && npm test -- tests/unit/routes/exports.apOperations.test.js tests/unit/routes/paymentBatches.reimbursement.test.js tests/unit/routes/purchase.project-link.test.js tests/unit/routes/projects.test.js tests/unit/routes/workflow.permissions.test.js tests/unit/services/financeLedger.test.js` 6 files / 27 tests passed;`cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/biz8-ap-ledger-project.spec.ts --workers=1 --reporter=list` 1 passed。付款批次仍按 P2 延期,不作为当前 R7E 阻断。 ## QAOPS8 Go/No-Go 当前结论 执行时间:2026-05-15。 -`QAOPS8-17` 当前结论为 `Pause`,原因不是自动化基础门禁失败,也不是 WF8 deeplink 阻断;R7E-16C 和 BIZ8-12B 代表真机反馈已通过,剩余门禁是 R7E-16D 部署后真机复测和最终人工验收结论。该结论用于防止把自动化或单台代表设备证据误解释为正式上线 `Go`。 +`QAOPS8-17` 当前结论为 `Pause`,原因不是自动化基础门禁失败,也不是 WF8 deeplink 阻断;R7E-16D 已部署并通过公网自动化,剩余门禁是 R7E-16D 代表真机复测和最终人工验收结论。该结论用于防止把自动化或单台代表设备证据误解释为正式上线 `Go`。 | 检查项 | 当前状态 | 处理 | | --- | --- | --- | | QAOPS8 发布、备份、回滚和 SLO 基线 | 已形成 | 可作为 R7E 启动前准备证据 | | R7E-1..7 人工启动确认 | 已确认 | 可以进入启动当天公网健康复核 | -| R7E-8 公网健康复核 | 已完成 | 最新代码 `f945c0b` 已部署;`/ready`、public bundle、远端 migration 状态、live readiness 和公网移动矩阵通过 | -| R7E-9..15 真实业务和真机流程 | 部分完成 | 浏览器业务线已关闭报销、审批边界、请假、采购;`R7E-9` 入口、免登录和消息 deeplink 已按代表设备关闭;`R7E-14` 按付款批次延期到 P2 口径收口;`R7E-15` 等待二次修复后的代表设备真机反馈 | +| R7E-8 公网健康复核 | 已完成 | 最新代码 `96488d8` 已部署;`/ready`、public bundle、远端 migration 状态、live readiness、公网移动矩阵和审批确认专项通过 | +| R7E-9..15 真实业务和真机流程 | 部分完成 | 浏览器业务线已关闭报销、审批边界、请假、采购;`R7E-9` 入口、免登录和消息 deeplink 已按代表设备关闭;`R7E-14` 按付款批次延期到 P2 口径收口;`R7E-15` 等待 R7E-16D 审批二次确认代表设备真机反馈 | | R7E-16..18 每日问题和验收结论 | 未完成 | 需试运行窗口内记录 | | WF8-11 通知 deeplink 回 OA | 已完成 | 2026-05-15 代表设备企业微信消息点击可免登录进入目标审批详情;WF8 可阶段关闭 | -| BIZ8-12 移动业务入口评估 | 暂停收口 | 二次修复已部署并通过公网移动矩阵,仍需 `wangzhiling` 代表真机确认财务入口定位和付款未启用空态 | +| BIZ8-12/13 移动业务入口和权限回归 | 已完成 | `wangzhiling` 已确认财务入口定位和付款未启用空态;财务/项目权限回归通过,BIZ8 可阶段关闭 | 保持 `Pause` 的剩余门禁: -- `SMOKE002` 企业微信工作台进入 `/mobile` 后确认无 PC 外壳,底部导航和业务入口正常。 -- `SMOKE002` 补充企业微信 WebView 内的移动报销详情和 PDF 上传确认,不能被图片拍照入口误导。 -- `SMOKE101` 或代表审批人补充移动审批卡片状态标签完整显示确认;消息 deeplink 已由 `wangshunli` 代表设备通过。 -- 财务角色完成人工复核移动入口和付款批次未启用空态;付款批次闭环已延期到 P2,不作为当前 R7E 阻断。 -- `SMOKE301` / `SMOKE302` 尚未启用且没有企业微信,不能作为企业微信真机证据。 +- `SMOKE101` 或 `wangshunli` 复测企业微信审批消息或 `/mobile/approvals` 详情:确认 `通过 / 驳回 / 退回` 位于底部操作区,点击后先出现二次确认且文案可理解。 +- `SMOKE101` 在 PC 审批详情和待办列表快捷通过抽查:未确认前不执行审批,确认后才执行。 +- `SMOKE002` 可抽查移动报销/通知/详情返回,确认部署后仍无 PC 外壳、无横向滚动。 +- 付款批次闭环已延期到 P2,不作为当前 R7E 阻断。 -结论:当前可以关闭 `WF8-11` 和 `R7E-9`,但不能给正式上线 `Go`,也不能关闭 `R7E-15`、`R7E-18`、`BIZ8-12` 或 QAOPS8 后续收口项。`R7E-14` 已按付款批次延期到 P2 的变更口径收口。 +结论:当前可以关闭 `WF8-11`、`R7E-9` 和 BIZ8 阶段流,但不能给正式上线 `Go`,也不能关闭 `R7E-15`、`R7E-17`、`R7E-18` 或 QAOPS8 后续收口项。`R7E-14` 已按付款批次延期到 P2 的变更口径收口。 ## 历史恢复 diff --git a/docs/文档事实源状态矩阵.md b/docs/文档事实源状态矩阵.md index e364ff5c..72342db0 100644 --- a/docs/文档事实源状态矩阵.md +++ b/docs/文档事实源状态矩阵.md @@ -30,10 +30,10 @@ | `GOV8` | `issues/2026-05-13_16-31-09-gov8-system-governance.csv` | `EVIDENCE` | 连续型 Issue 治理、文档台账、流程模板和审计脚本,已收口 | | `DG8` | `issues/2026-05-13_22-56-49-design-ui-governance.csv` | `EVIDENCE` | 设计治理主参考系统收口;飞书工作台/飞书审批为唯一主 UI/布局参考,不代表页面已整改 | | `DG9` | `issues/2026-05-13_23-30-00-dg9-ui-layout-rollout.csv` | `EVIDENCE` | 全站 UI/布局样板迁移已收口;最新代码已作为 R7E 基线部署到公网,不替代 WF8/UX8/BIZ8 | -| `R7E` | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv` | `CURRENT` | 真实扩大试运行人工确认已完成;`5491e92` 已部署并完成自动化前置,R7E-9 已按代表设备关闭,待 R7E-15/R7E-18 移动真机反馈和验收结论 | +| `R7E` | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv` | `CURRENT` | 真实扩大试运行人工确认已完成;`96488d8` 已部署并完成自动化前置,R7E-9 已按代表设备关闭,待 R7E-16D 代表真机反馈和 R7E-18 验收结论 | | `ORG8` | `issues/2026-05-13_18-23-51-org8-master-data-permission.csv` | `EVIDENCE` | 组织账号和权限主数据治理已阶段收口;本地代表性角色验收通过,不替代 R7E 真实人工试运行 | | `WF8` | `issues/2026-05-13_18-23-52-wf8-approval-notification.csv` | `EVIDENCE` | 审批与通知增强已阶段收口;deeplink 过期修复已部署并经代表设备真机点击回 OA 验证 | -| `BIZ8` | `issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | `CURRENT` | 报销/OCR/财务/项目轻量增强;财务移动入口修复已部署,真机复核和权限回归仍待收口 | +| `BIZ8` | `issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | `EVIDENCE` | 报销/OCR/财务/项目轻量增强已阶段收口;财务移动入口真机通过,财务/项目权限回归完成,付款批次延期到 P2 | | `QAOPS8` | `issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv` | `CURRENT` | 测试、发布、运维和上线准备;与 R7E 并行贯穿,不替代 R7E 人工确认 | 旧 Issue CSV 保留为历史审计证据:不删除、不批量回写、不移动到 `docs/archive/` 或其他归档目录。新连续合同如替代旧合同,只在新合同 `Notes` 或文档索引中说明 supersedes。 @@ -146,4 +146,4 @@ - `ME6-3` 代表性企业微信真机门禁已关闭。 - MIF7-1..7 与 MIF7T 已完成本地整改、公网部署、公网匿名复检和带凭据 live smoke/OCR 复检。 -- R7E 真实扩大试运行已启动并完成浏览器业务线和最新修复部署;企业微信消息 deeplink 已按代表设备关闭,移动真机反馈和最终验收结论仍未关闭。 +- R7E 真实扩大试运行已启动并完成浏览器业务线和最新修复部署;企业微信消息 deeplink 已按代表设备关闭,审批二次确认代表真机反馈和最终验收结论仍未关闭。 diff --git a/docs/文档索引.md b/docs/文档索引.md index 3eaa6ce6..021ae5a9 100644 --- a/docs/文档索引.md +++ b/docs/文档索引.md @@ -38,10 +38,10 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M | `GOV8` | `issues/2026-05-13_16-31-09-gov8-system-governance.csv` | 已收口 | 文档分类、台账、流程模板、审计脚本、需求冻结、变更控制 | 不改业务代码、不部署 | | `DG8` | `issues/2026-05-13_22-56-49-design-ui-governance.csv` | 已收口:设计事实源主参考系统更新 | 主 UI/布局参考层级、外部参考降级、Agent/Skill 设计入口、设计检查门禁 | 不改业务页面、不部署、不接入飞书 | | `DG9` | `issues/2026-05-13_23-30-00-dg9-ui-layout-rollout.csv` | 已收口;最新代码已随 R7E 部署到试运行环境 | A/B/C 页面分层、共享工作台骨架、移动槽位、审批/报销/首页/通知样板、设计门禁 | 不替代 WF8、UX8 或 BIZ8 业务验收 | -| `R7E` | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv` | 当前执行:`5491e92` 已部署,企业微信消息 deeplink 已按代表设备关闭,待移动真机反馈和验收结论 | 人工确认、真实试运行、每日问题收口、验收结论 | 不新增 P2 能力;付款批次延期到 P2 | +| `R7E` | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv` | 当前执行:`96488d8` 已部署,企业微信消息 deeplink 已按代表设备关闭,待审批二次确认真机反馈和验收结论 | 人工确认、真实试运行、每日问题收口、验收结论 | 不新增 P2 能力;付款批次延期到 P2 | | `ORG8` | `issues/2026-05-13_18-23-51-org8-master-data-permission.csv` | 已收口:本地代表性角色验收通过 | 组织、账号、直属主管、停用、角色、企业微信绑定、权限边界 | 不做审批流程增强;不替代 R7E 真实人工试运行 | | `WF8` | `issues/2026-05-13_18-23-52-wf8-approval-notification.csv` | 已收口:deeplink 修复已部署并经代表设备真机点击回 OA 验证 | 转审、通知、催办、邮件通道决策、三渠道验收 | 不做复杂 BPM 或审批设计器;通知模板和偏好设置延期到 P2 | -| `BIZ8` | `issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | 当前执行:财务移动入口修复已部署,待真机复核和权限回归收口 | OCR、票据、财务、费用提示、项目关联 | 不做 ERP 实时集成或重预算 | +| `BIZ8` | `issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | 已收口:财务移动入口真机通过,财务/项目权限回归完成 | OCR、票据、财务、费用提示、项目关联 | 不做 ERP 实时集成或重预算;付款批次延期到 P2 | | `QAOPS8` | `issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv` | 当前执行:贯穿治理 | 回归稳定、测试覆盖、上线门禁、备份恢复、SLO | 不改业务需求 | 旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 CSV 的 `Notes` 或本索引说明 supersedes,旧文件保留历史审计语义。 diff --git a/issues/2026-05-13_17-11-44-r7e-human-trialrun.csv b/issues/2026-05-13_17-11-44-r7e-human-trialrun.csv index 3e04a9ac..4ca0fe4c 100644 --- a/issues/2026-05-13_17-11-44-r7e-human-trialrun.csv +++ b/issues/2026-05-13_17-11-44-r7e-human-trialrun.csv @@ -14,13 +14,13 @@ R7E-11,审批流程试运行,"审批人按真实路径处理待办,员工查 R7E-12,请假流程试运行,"员工提交请假,审批人审批,员工和团队视角查看状态。","1) 请假提交成功;2) 审批处理成功;3) 移动/PC 状态一致;4) 团队状态或日历口径可解释。","流程级验证:员工提交请假 -> 审批通过/驳回 -> 查看进度和团队状态。",manual|playwright,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|client/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts,"[""R7E-8""]",2026-05-14 无人工自动化补测:员工创建未来工作日请假并提交;审批人处理通过;申请人 PC 回看已通过且 /mobile/leave 记录页可见无横向滚动;测试单据 a22e45f8-b3d6-4862-97f2-30cbe4815e09;证据 artifacts/r7e/browser-business-trialrun/report-leave.md。 R7E-13,采购流程试运行,"员工提交或查看采购申请,审批人处理,状态和附件可追溯。","1) 采购申请路径可用;2) 审批处理可用;3) 附件和状态可追溯;4) 移动采购创建如缺失则记录为后续 UX/P2。","流程级验证:员工提交/查看采购 -> 审批处理 -> 查看状态和附件。",manual|playwright,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|client/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts,"[""R7E-8""]",2026-05-14 无人工自动化补测:采购 CG-20260514-0005 完成 PC 创建 明细 无敏感测试附件上传 提交 审批 状态和审批历史回看;移动采购列表 详情和附件可见且无横向滚动;证据 artifacts/r7e/browser-business-trialrun/report-purchase-attachment.md。 R7E-14,财务审批和付款延期试运行,"财务按真实路径复核到财务审批的报销单;本轮不启用 payment_batch_v1,不追付款批次闭环,付款批次作为 P2 单独窗口处理。","1) 财务角色入口正确;2) 到财务审批的报销单可查看;3) payment_batch_v1 关闭时有明确空态或错误契约;4) 管理员不自动获得财务能力;5) 不执行真实付款批次。","流程级验证:财务进入移动入口或台账 -> 查看到财务审批的报销单或付款批次未启用提示 -> 检查管理员无财务执行能力 -> 记录付款批次延期到 P2。",manual|playwright,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|client/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts,"[""R7E-8""]",2026-05-14 finance-closeout 诊断:报销 40876ef3-0652-4972-aa14-1aad1a855ae0 / BX-20260514-0016 状态 approved;/api/ap-operations/reimbursement-ledger 和 /api/payment-batches 均返回 payment_batch_v1_disabled / flag_force_off;未创建付款批次 未复核 未执行付款 未验证导出。2026-05-14 用户确认 R7E 财务付款策略为先不启用,付款批次延期到 P2;22:08 最新部署后 R7E_BROWSER_FLOW=finance-closeout 通过但 AP API 按 flag_force_off SKIP,R7E_BROWSER_FLOW=mobile 通过并确认员工 审批人 财务移动入口可见且无横向滚动;本行按延期口径收口,不代表付款批次已启用。 -R7E-15,移动端和真机反馈,"收集 R7E 参与者在移动浏览器和企业微信中的真实体验反馈。","1) 至少覆盖代表性 iPhone/Android 或企业微信设备;2) 记录页面、视口、角色和问题级别;3) 阻断问题进入修复分流;4) 体验优化进入 UX8。","流程级验证:按真机公网测试清单人工复核;必要时补 Playwright 截图。",manual|playwright,DOING,TODO,TODO,docs/trialrun/人工试运行报告.md|output/playwright,"[""R7E-9""]",2026-05-14 自动化移动浏览器员工 审批人 财务核心入口通过且无横向滚动;用户真机补充:所有设备没有 PC 壳和横向滚动 但通知卡片和待审批卡片右侧状态只露第一个字 归属 R7E-16A;iOS 只能上传 PDF Android 企业微信选择器仍显示拍照和选择文件 归属 R7E-16B;2026-05-14 22:09 修复 5491e92 已部署 DG7+R124 公网移动矩阵 6 passed 且 R7E_BROWSER_FLOW=mobile 通过;2026-05-15 已补代表设备企业微信消息 deeplink 真机通过;2026-05-15 19:31 二次修复 f945c0b 已部署且 /ready public bundle live smoke env 和 DG7+R124 公网移动矩阵 6 passed;用户确认 SMOKE101 审批状态与三按钮布局、SMOKE002 详情头部间距、wangzhiling 财务入口定位均通过;Android 选择器显示拍照按平台限制处理 OA 端 PDF-only 校验已由 R7E-16B 覆盖;本行仍等待 R7E-16D 部署后审批二次确认真机反馈和 R7E-18 阶段验收结论。 -R7E-16,每日问题清单,"R7E 期间每天登记问题、级别、归属治理流、处理状态和证据路径。","1) 问题均有级别;2) 阻断问题当天决策;3) 新需求不混入即时修复;4) 每日 closeout 可追溯。","流程级验证:每日人工 closeout;问题分流到 R7E/UX8/ORG8/WF8/BIZ8/QAOPS8。",manual,DOING,TODO,TODO,docs/trialrun/人工试运行报告.md,"[""R7E-10"",""R7E-11"",""R7E-12"",""R7E-13"",""R7E-14"",""R7E-15""]",2026-05-14 用户真机反馈分流:免登录通过;企业微信消息 deeplink 全设备提示 requestid tokenexpired/深链已过期 为 HIGH 归属 WF8-11A;通知和待审批卡片右侧状态只露首字 为 MEDIUM 归属 R7E-16A;Android 企业微信 PDF 上传系统选择器仍显示拍照和选择文件 为 MEDIUM 归属 R7E-16B;财务移动入口和付款未启用空态不清楚 为 MEDIUM 归属 BIZ8-12A;2026-05-15 用户确认代表设备企业微信消息 deeplink 可免登录进对应详情 WF8-11 已关闭;二次反馈中通知新标记按未读行为接受,审批状态槽/详情头部/按钮布局归 R7E-16C 且 f945c0b 已部署公网验证通过并由用户确认通过;财务入口定位归 BIZ8-12B 已由用户确认通过;退回和驳回语义说明与二次确认归 R7E-16D 且本地实现验证完成但未部署;财务付款闭环延期到 P2;当前剩余为 R7E-16D 部署后真机复测和 R7E-18 人工验收结论。 +R7E-15,移动端和真机反馈,"收集 R7E 参与者在移动浏览器和企业微信中的真实体验反馈。","1) 至少覆盖代表性 iPhone/Android 或企业微信设备;2) 记录页面、视口、角色和问题级别;3) 阻断问题进入修复分流;4) 体验优化进入 UX8。","流程级验证:按真机公网测试清单人工复核;必要时补 Playwright 截图。",manual|playwright,DOING,TODO,TODO,docs/trialrun/人工试运行报告.md|output/playwright,"[""R7E-9""]",2026-05-14 自动化移动浏览器员工 审批人 财务核心入口通过且无横向滚动;用户真机补充:所有设备没有 PC 壳和横向滚动 但通知卡片和待审批卡片右侧状态只露第一个字 归属 R7E-16A;iOS 只能上传 PDF Android 企业微信选择器仍显示拍照和选择文件 归属 R7E-16B;2026-05-14 22:09 修复 5491e92 已部署 DG7+R124 公网移动矩阵 6 passed 且 R7E_BROWSER_FLOW=mobile 通过;2026-05-15 已补代表设备企业微信消息 deeplink 真机通过;2026-05-15 19:31 二次修复 f945c0b 已部署且 /ready public bundle live smoke env 和 DG7+R124 公网移动矩阵 6 passed;用户确认 SMOKE101 审批状态与三按钮布局、SMOKE002 详情头部间距、wangzhiling 财务入口定位均通过;Android 选择器显示拍照按平台限制处理 OA 端 PDF-only 校验已由 R7E-16B 覆盖;2026-05-15 21:46 CST 96488d8 已部署且 /ready public bundle live smoke env DG7+R124 公网移动矩阵和审批确认专项均通过;本行仍等待 R7E-16D 审批二次确认代表真机反馈和 R7E-18 阶段验收结论。 +R7E-16,每日问题清单,"R7E 期间每天登记问题、级别、归属治理流、处理状态和证据路径。","1) 问题均有级别;2) 阻断问题当天决策;3) 新需求不混入即时修复;4) 每日 closeout 可追溯。","流程级验证:每日人工 closeout;问题分流到 R7E/UX8/ORG8/WF8/BIZ8/QAOPS8。",manual,DOING,TODO,TODO,docs/trialrun/人工试运行报告.md,"[""R7E-10"",""R7E-11"",""R7E-12"",""R7E-13"",""R7E-14"",""R7E-15""]",2026-05-14 用户真机反馈分流:免登录通过;企业微信消息 deeplink 全设备提示 requestid tokenexpired/深链已过期 为 HIGH 归属 WF8-11A;通知和待审批卡片右侧状态只露首字 为 MEDIUM 归属 R7E-16A;Android 企业微信 PDF 上传系统选择器仍显示拍照和选择文件 为 MEDIUM 归属 R7E-16B;财务移动入口和付款未启用空态不清楚 为 MEDIUM 归属 BIZ8-12A;2026-05-15 用户确认代表设备企业微信消息 deeplink 可免登录进对应详情 WF8-11 已关闭;二次反馈中通知新标记按未读行为接受,审批状态槽/详情头部/按钮布局归 R7E-16C 且 f945c0b 已部署公网验证通过并由用户确认通过;财务入口定位归 BIZ8-12B 已由用户确认通过;退回和驳回语义说明与二次确认归 R7E-16D 且 96488d8 已部署公网自动化验证通过;财务付款闭环延期到 P2;当前剩余为 R7E-16D 部署后代表真机确认和 R7E-18 人工验收结论。 R7E-16A,移动通知和待审批状态槽修复,"修复移动通知卡片和待审批卡片右侧状态徽标只显示第一个字的问题,保持无 PC 壳和无横向滚动。","1) 未读 已读 审批中 已处理等状态在 320/360/390/430px 可完整显示;2) 通知和审批卡片标题仍可省略但不挤压状态;3) 页面 scrollWidth 不超过视口;4) Playwright 移动矩阵通过。","流程级验证:cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list。",npm|playwright,DONE,DONE,DONE,client/src/styles/mobile-touch.css|client/src/pages/MobilePortalPage.tsx|client/src/pages/MobileNotificationsPage.tsx|client/src/pages/MobileApprovalsPage.tsx|client/tests/e2e,"[""R7E-16""]",回滚路径:恢复 mobile-status-slot 旧样式和相关测试断言;不改变业务数据或路由。 R7E-16B,Android PDF 上传兜底校验,"补强移动发票上传的前端 PDF 过滤,记录 Android 企业微信系统选择器可能仍显示拍照和选择文件但 OA 不接收非 PDF 发票。","1) PDF 上传入口 accept 为 .pdf,application/pdf 且无 capture;2) 选择非 PDF 时前端拒绝并提示;3) 不把图片 OCR 误报为支持;4) 既有 PDF 上传测试通过。","流程级验证:cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/r111-invoice-reimbursement-guard.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list。",npm|playwright,DONE,DONE,DONE,client/src/lib/pdfFiles.ts|client/src/pages/MobileCapturePage.tsx|client/src/pages/MobileReimbursementDetailPage.tsx|client/src/pages/ReimbursementDetailPage.tsx|client/src/pages/invoice-pool/InvoiceUploadCard.tsx|client/tests/e2e,"[""R7E-16""]",Android WebView 文件选择器 UI 受系统和企业微信控制;本轮只保证 OA 端 PDF-only 校验和可解释提示 不新增图片 OCR。 R7E-16C,移动审批和详情头部二次修复,"根据 R7E 真机反馈修复审批卡片右侧只露待字、审批详情操作按钮布局和移动详情返回按钮与单号贴边问题。","1) 移动审批卡片和详情状态完整显示待处理/已处理等文本;2) 审批详情通过/驳回/退回在线操作在 320px 不挤压乱换行;3) 移动详情返回按钮保留左上且与标题至少 12px 间距;4) 不改变审批动作和 deeplink 语义。","流程级验证:cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list;SMOKE101 真机复核 /mobile/approvals。",npm|playwright|manual,DONE,DONE,DONE,client/src/components/mobile/MobileDetailHeader.tsx|client/src/pages/MobileApprovalsPage.tsx|client/src/styles/mobile-touch.css|client/tests/e2e,"[""R7E-16A""]",已部署并真机通过:2026-05-15 19:31 CST f945c0b 已通过 deploy/trialrun/deploy.sh 发布到 https://oa.hyinda.com 且 SYNC_ENV=0 未覆盖远端 .env;部署后 /ready 通过 public bundle findings=0 live smoke env ready DG7+R124 公网移动矩阵 6 passed;用户确认 /mobile/approvals 右侧完整显示待处理 详情三个按钮在一行 且左上返回与标题有清楚间距。回滚路径:恢复移动详情头部和审批操作区样式;不改后端 API 权限 workflow 状态机或企业微信 deeplink。 -R7E-16D,审批动作二次确认与底部操作统一,"保持通过/驳回/退回短按钮文案,但在 PC 和移动审批动作执行前增加二次确认,明确通过、驳回、退回的业务后果。","1) PC 审批详情通过/驳回/退回先弹确认;2) PC 列表快捷通过先弹确认;3) 移动审批详情通过/驳回/退回和离线草稿先弹确认;4) 确认文案区分通过推进、驳回终止、退回修改后重提;5) 不改后端 workflow 状态机。","流程级验证:cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list;cd client && npx playwright test tests/e2e/workflow-action-confirm-ui.spec.ts tests/e2e/r89-mobile-login-navigation.spec.ts --workers=1 --reporter=list。",npm|playwright,DONE,DONE,DONE,client/src/components/common/ConfirmDialog.tsx|client/src/lib/workflowActionConfirm.ts|client/src/pages/MobileApprovalsPage.tsx|client/src/pages/WorkflowTaskDetailPage.tsx|client/src/pages/WorkflowTasksPage.tsx|client/tests/e2e/workflow-action-confirm-ui.spec.ts|client/tests/e2e/r89-mobile-login-navigation.spec.ts|docs/需求-统一审批中心规约.md|docs/产品设计规则.md,"[""R7E-16C""]",本地完成未部署:2026-05-15 已新增共享审批确认文案 helper,PC 详情和列表快捷通过、移动审批详情在线/离线草稿均先弹确认;移动详情动作使用底部固定操作区;验证 client typecheck 通过 build 通过 DG7+R124 6 passed workflow-action-confirm-ui 2 passed R89 3 passed;此前 API 依赖型 mobile-approvals-offline/leave/procurement 在 Vite-only 本地环境会因后端/API 前置不可用失败,未作为本行收口证据。回滚路径:移除二次确认 helper 和调用点 恢复原按钮直接触发 mutation;不改后端 API 权限 workflow 状态机 企业微信 deeplink 或付款批次开关。 -R7E-17,阻断问题修复分流,"根据每日问题清单把阻断问题分流到当前 R7E 修复或后续连续治理流。","1) 阻断问题有 owner;2) 能在 R7E 内修的有方案和验证;3) 范围外问题进入 UX8/ORG8/WF8/BIZ8/QAOPS8;4) 不顺手扩大。","流程级验证:人工核对问题清单和分流结果;必要时创建后续连续 CSV。",manual,TODO,TODO,TODO,issues/*.csv|docs/trialrun/人工试运行报告.md,"[""R7E-16""]",已知分流:deeplink 归 WF8 并已代表设备验证关闭;状态槽归 R7E-16A 已部署并自动化验证;Android 选择器归 R7E-16B 按平台限制和 OA PDF-only 校验处理;财务付款批次延期到 P2;本行待 R7E-16 和 R7E-15 真机反馈收口后再关闭。 +R7E-16D,审批动作二次确认与底部操作统一,"保持通过/驳回/退回短按钮文案,但在 PC 和移动审批动作执行前增加二次确认,明确通过、驳回、退回的业务后果。","1) PC 审批详情通过/驳回/退回先弹确认;2) PC 列表快捷通过先弹确认;3) 移动审批详情通过/驳回/退回和离线草稿先弹确认;4) 确认文案区分通过推进、驳回终止、退回修改后重提;5) 不改后端 workflow 状态机。","流程级验证:cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list;cd client && npx playwright test tests/e2e/workflow-action-confirm-ui.spec.ts tests/e2e/r89-mobile-login-navigation.spec.ts --workers=1 --reporter=list。",npm|playwright,DONE,DONE,DONE,client/src/components/common/ConfirmDialog.tsx|client/src/lib/workflowActionConfirm.ts|client/src/pages/MobileApprovalsPage.tsx|client/src/pages/WorkflowTaskDetailPage.tsx|client/src/pages/WorkflowTasksPage.tsx|client/tests/e2e/workflow-action-confirm-ui.spec.ts|client/tests/e2e/r89-mobile-login-navigation.spec.ts|docs/需求-统一审批中心规约.md|docs/产品设计规则.md,"[""R7E-16C""]",已部署待真机复测:2026-05-15 21:46 CST 96488d8 已通过 deploy/trialrun/deploy.sh 发布到 https://oa.hyinda.com 且 SYNC_ENV=0 未覆盖远端 .env;部署脚本内置远端构建 init migration status /ready external deps smoke runtime smoke 和 public bundle 扫描通过;部署后 /ready ok public bundle findings=0 live smoke env ready;E2E_BASE_URL=https://oa.hyinda.com DG7+R124 公网移动矩阵复跑 6 passed;E2E_BASE_URL=https://oa.hyinda.com workflow-action-confirm-ui + R89 审批确认专项 5 passed;此前一次移动矩阵首轮失败为登录页前置时序,复跑已通过。回滚路径:移除二次确认 helper 和调用点 恢复原按钮直接触发 mutation;不改后端 API 权限 workflow 状态机 企业微信 deeplink 或付款批次开关。 +R7E-17,阻断问题修复分流,"根据每日问题清单把阻断问题分流到当前 R7E 修复或后续连续治理流。","1) 阻断问题有 owner;2) 能在 R7E 内修的有方案和验证;3) 范围外问题进入 UX8/ORG8/WF8/BIZ8/QAOPS8;4) 不顺手扩大。","流程级验证:人工核对问题清单和分流结果;必要时创建后续连续 CSV。",manual,TODO,TODO,TODO,issues/*.csv|docs/trialrun/人工试运行报告.md,"[""R7E-16""]",已知分流:deeplink 归 WF8 并已代表设备验证关闭;状态槽归 R7E-16A 已部署并自动化验证;Android 选择器归 R7E-16B 按平台限制和 OA PDF-only 校验处理;财务付款批次延期到 P2;R7E-16D 已部署并公网自动化通过;本行待 R7E-15 审批二次确认真机反馈和 R7E-18 验收结论后再关闭。 R7E-18,验收结论,"汇总 R7E 真实试运行结果,给出通过、暂停、回滚或继续观察结论。","1) 主流程结论完整;2) 阻断问题为 0 或明确暂停/回滚;3) 用户验收结论记录;4) 未完成项进入后续治理流。","流程级验证:人工验收;报告中列出流程结论、问题清单和后续动作。",manual,TODO,TODO,TODO,docs/trialrun/人工试运行报告.md,"[""R7E-17""]",不能仅凭自动化通过宣布 R7E 完成。 R7E-19,P2 排序调整,"根据 R7E 真实反馈调整 P2 候选优先级和后续连续治理流顺序。","1) P2 排序基于真实反馈;2) ORG8/WF8/BIZ8/QAOPS8 入口明确;3) 冻结项仍不进入;4) 如需变更 PRD 则另走事实源更新。","流程级验证:人工核对 PRD P2T 表、问题清单和后续 Issue 计划。",manual|rg,TODO,TODO,TODO,docs/海音达OA-MVP需求规格说明书.md|issues/*.csv,"[""R7E-18""]",P2 功能开发必须另建或延续对应连续合同。 R7E-20,R7E 收口,"完成 R7E CSV 状态回填、报告归档、验证说明和中文提交。","1) CSV 校验通过;2) 所有 DONE 有证据;3) git diff --check 通过;4) 中文提交引用 R7E;5) 最终说明是否部署和是否可测。","流程级验证:validate_issues_csv.py 本 CSV;git diff --check;人工核对报告和状态。",python3|git|manual,TODO,TODO,TODO,issues/2026-05-13_17-11-44-r7e-human-trialrun.csv|docs/trialrun/人工试运行报告.md,"[""R7E-18"",""R7E-19""]",真实 R7E 完成后才能回填;当前不得提前 DONE。 diff --git a/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv b/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv index 0ba1f3d0..c4d2f3bb 100644 --- a/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv +++ b/issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv @@ -16,7 +16,7 @@ QAOPS8-13,DORA 交付指标基线,"建立部署频率、变更前置时间、变 QAOPS8-14,安全发布前检查,"建立发布前安全检查,包括权限、敏感信息、日志、配置、依赖和等保相关底线。","1) 不泄露 token、密码、票据和个人隐私;2) 权限直连审计有证据;3) 日志不记录敏感明文;4) 高风险项进入 Go/No-Go。","流程级验证:node scripts/qa/audit-docs.mjs --check-links;rg -n 'password|token|secret|密钥|权限直连|敏感' docs scripts issues。",node|rg|manual,DONE,DONE,DONE,scripts/qa/audit-docs.mjs|docs|scripts|issues,"[""QAOPS8-9""]",node scripts/qa/audit-docs.mjs --check-links 为 errors=0 warnings=0;全量 audit-docs 为 errors=0 warnings=8;已知 QA 脚本本地测试哨兵值和未登记 docs 作为 Go/No-Go 复核项,不声明等保测评完成。 QAOPS8-15,发布 Runbook 收敛,"把发布前检查、部署步骤、验证步骤、暂停条件和沟通责任收敛到现有 Runbook。","1) 发布步骤可按顺序执行;2) 预检、部署、验证、暂停、回滚边界清楚;3) 不新增冲突文档;4) 用户可审计。","流程级验证:rg -n '发布|预检|部署|验证|暂停|回滚|Runbook' docs/trialrun/发布试运行准备清单.md docs/trialrun/OPS7运维交接Runbook.md docs/试运行与自动化验证手册.md。",rg|manual,DONE,DONE,DONE,docs/trialrun/发布试运行准备清单.md|docs/trialrun/OPS7运维交接Runbook.md|docs/试运行与自动化验证手册.md,"[""QAOPS8-5"",""QAOPS8-6"",""QAOPS8-10""]",rg 复核通过;发布前检查、部署步骤、部署后验证、暂停条件、回滚边界和责任记录均在现有 Runbook 中;未新增冲突文档。 QAOPS8-16,回滚演练窗口,"确认回滚演练窗口、负责人、触发条件、数据保护和恢复验证步骤。","1) 窗口和负责人确认;2) 回滚脚本或步骤有只读预检;3) 数据保护优先;4) 演练结果可追溯。","流程级验证:人工确认回滚窗口;必要时先在非生产环境执行。",manual,DONE,DONE,DONE,docs/trialrun/OPS7运维交接Runbook.md,"[""QAOPS8-11"",""QAOPS8-15""]",完成:按用户授权采用推荐方案;窗口暂定 2026-05-14 19:30-20:30 Asia/Shanghai 即 R7E 首日每日收口后;负责人和暂停回滚决策人 wangshunli;范围为非生产恢复演练优先 生产只读回滚 dry run;步骤为备份清单核对 隔离库恢复 /ready 登录核心流程只读验证 生产回滚步骤只读复盘;触发条件为 P0 数据损坏 发布阻断或公网关键门禁失败;停止条件为备份不完整 权限不明确 影响生产或责任人不在线;本行只确认窗口和边界 未执行数据库恢复 生产回滚 服务切换或破坏性命令;真实恢复或生产回滚执行前仍需再次明确批准。 -QAOPS8-17,上线 Go No-Go 清单,"建立上线或扩大试运行 Go/No-Go 清单,统一本地、公网匿名、带凭据、企业微信真机和人工验收结论。","1) Go、No-Go、Pause 条件明确;2) 阻断问题为 0 或有明确延期;3) R7E 人工验收不被自动化替代;4) 结论写入 Issue 和报告。","流程级验证:人工核对 R7E 结论、QAOPS8 门禁、发布清单和问题清单。",manual,DOING,TODO,TODO,docs/trialrun/发布试运行准备清单.md|docs/trialrun/人工试运行报告.md|issues/*.csv,"[""QAOPS8-15"",""QAOPS8-16""]",当前清单已形成:2026-05-14 最新代码 4b14c92 已部署到试运行环境且 R7E-8 完成;本轮无人工自动化补测结果为公网 /ready 通过 public bundle findings=0 live smoke env ready 授权 PDF 可读,R7E preflight 通过 报销 BX-20260514-0016 创建上传提交审批通过 请假通过 采购 CG-20260514-0005 含附件 PC/移动通过 移动浏览器通过 WeCom UA 模拟通过;审批边界 approval-boundary 通过,申请人和 admin-only 审批接口均被拒绝且经理正常收尾;财务 finance-closeout 诊断为 AP/payment-batches 功能门禁 payment_batch_v1_disabled / flag_force_off,未执行付款闭环;dg7-mobile-information-dedupe 启动 Vite 后 5 passed,前次 127.0.0.1:3000 失败确认为前置问题;2026-05-14 22:05 已追加部署修复提交 5491e92,deploy.sh 远端 build/migration status 通过,public bundle 首次短暂 502 后复核 /ready 200 首页 200 public bundle findings=0,external deps smoke 和 runtime smoke 通过,live readiness 3 passed,真实 OCR 样票 1 passed,DG7+R124 公网移动矩阵 6 passed,R7E mobile/finance-closeout/wecom-ua 分段通过或按 flag_force_off 可解释 SKIP;R7E-14 已按用户确认的付款批次延期到 P2 口径收口;2026-05-15 用户确认代表设备企业微信消息 deeplink 可免登录进入对应详情 WF8-11 和 R7E-9 已关闭;2026-05-15 19:31 二次修复 f945c0b 已部署 deploy.sh 远端构建 init migration ready external deps smoke runtime smoke public bundle 均通过 部署后 /ready 通过 public bundle findings=0 live smoke env ready DG7+R124 公网移动矩阵 6 passed;用户确认 R7E-16C 审批状态/详情按钮/返回间距和 BIZ8-12B 财务入口定位真机通过;R7E-16D 审批二次确认本地实现完成,client typecheck/build、DG7+R124、workflow-action-confirm-ui、R89 均通过但尚未部署;当前 Go No-Go 仍为 Pause 因 R7E-16D 未部署真机复测和 R7E-18 人工验收结论未完成;明确 R7E 人工验收不被自动化替代。 +QAOPS8-17,上线 Go No-Go 清单,"建立上线或扩大试运行 Go/No-Go 清单,统一本地、公网匿名、带凭据、企业微信真机和人工验收结论。","1) Go、No-Go、Pause 条件明确;2) 阻断问题为 0 或有明确延期;3) R7E 人工验收不被自动化替代;4) 结论写入 Issue 和报告。","流程级验证:人工核对 R7E 结论、QAOPS8 门禁、发布清单和问题清单。",manual,DOING,TODO,TODO,docs/trialrun/发布试运行准备清单.md|docs/trialrun/人工试运行报告.md|issues/*.csv,"[""QAOPS8-15"",""QAOPS8-16""]",当前清单已形成:2026-05-14 最新代码 4b14c92 已部署到试运行环境且 R7E-8 完成;本轮无人工自动化补测结果为公网 /ready 通过 public bundle findings=0 live smoke env ready 授权 PDF 可读,R7E preflight 通过 报销 BX-20260514-0016 创建上传提交审批通过 请假通过 采购 CG-20260514-0005 含附件 PC/移动通过 移动浏览器通过 WeCom UA 模拟通过;审批边界 approval-boundary 通过,申请人和 admin-only 审批接口均被拒绝且经理正常收尾;财务 finance-closeout 诊断为 AP/payment-batches 功能门禁 payment_batch_v1_disabled / flag_force_off,未执行付款闭环;dg7-mobile-information-dedupe 启动 Vite 后 5 passed,前次 127.0.0.1:3000 失败确认为前置问题;2026-05-14 22:05 已追加部署修复提交 5491e92,deploy.sh 远端 build/migration status 通过,public bundle 首次短暂 502 后复核 /ready 200 首页 200 public bundle findings=0,external deps smoke 和 runtime smoke 通过,live readiness 3 passed,真实 OCR 样票 1 passed,DG7+R124 公网移动矩阵 6 passed,R7E mobile/finance-closeout/wecom-ua 分段通过或按 flag_force_off 可解释 SKIP;R7E-14 已按用户确认的付款批次延期到 P2 口径收口;2026-05-15 用户确认代表设备企业微信消息 deeplink 可免登录进入对应详情 WF8-11 和 R7E-9 已关闭;2026-05-15 19:31 二次修复 f945c0b 已部署 deploy.sh 远端构建 init migration ready external deps smoke runtime smoke public bundle 均通过 部署后 /ready 通过 public bundle findings=0 live smoke env ready DG7+R124 公网移动矩阵 6 passed;用户确认 R7E-16C 审批状态/详情按钮/返回间距和 BIZ8-12B 财务入口定位真机通过;2026-05-15 21:46 R7E-16D 96488d8 已部署 deploy.sh 远端构建 init migration ready external deps smoke runtime smoke public bundle 均通过 部署后 /ready ok public bundle findings=0 live smoke env ready DG7+R124 公网移动矩阵复跑 6 passed 审批确认专项 5 passed;BIZ8-13 权限回归和 BIZ8-CLOSE 已完成;当前 Go No-Go 仍为 Pause 因 R7E-16D 部署后代表真机复测和 R7E-18 人工验收结论未完成;明确 R7E 人工验收不被自动化替代。 QAOPS8-18,只读审计和排障边界,"明确公网、数据库、日志和 MCP 只读审计边界,避免排障时误写生产或泄露敏感信息。","1) 只读查询边界明确;2) 禁止 INSERT、UPDATE、DELETE;3) 敏感字段脱敏;4) 排障证据只记录摘要和路径。","流程级验证:rg -n 'audit-readonly|只读|INSERT|UPDATE|DELETE|MCP|PostgreSQL' AGENTS.md docs/mcp-tools.md docs/开发交付与变更管理规约.md。",rg|manual,DONE,DONE,DONE,AGENTS.md|docs/mcp-tools.md|docs/开发交付与变更管理规约.md,"[""QAOPS8-14""]",rg 复核通过;AGENTS 限定 audit-readonly 和 PostgreSQL MCP 只读查询;docs/mcp-tools 限定 SELECT 和禁止写操作;开发交付规约已补日志和证据摘要脱敏边界;未执行生产查询或启用新 MCP。 QAOPS8-19,R7E 后上线硬化收口,"在 R7E 真实反馈后集中收口上线硬化,更新门禁缺口、问题分流和后续治理优先级。","1) R7E 结论已记录;2) QAOPS8 未完成项有归属;3) 阻断问题有 owner;4) 后续 ORG8、WF8、BIZ8、QAOPS8 顺序可解释。","流程级验证:人工核对 R7E-18、R7E-19、QAOPS8 当前状态和问题清单。",manual,TODO,TODO,TODO,issues/2026-05-13_17-11-44-r7e-human-trialrun.csv|issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv,"[""QAOPS8-17""]",依赖 R7E 人工试运行结论;当前不能提前完成。 QAOPS8-20,QAOPS8 收口,"完成 QAOPS8 状态回填、验证摘要、证据索引和中文提交。","1) CSV 校验通过;2) 所有 DONE 有命令或人工证据;3) 文档索引和状态矩阵一致;4) git diff --check 通过;5) 中文提交引用 QAOPS8。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv;node scripts/qa/audit-docs.mjs --check-registry;git diff --check。",python3|node|git|manual,TODO,TODO,TODO,issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md,"[""QAOPS8-19""]",所有执行行完成后才能收口。 diff --git a/issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv b/issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv index 1b5d4341..d56a017f 100644 --- a/issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv +++ b/issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv @@ -14,6 +14,6 @@ BIZ8-11,项目关联增强,"增强报销、采购或合同与项目轻管理的 BIZ8-12,移动端业务入口评估,"评估报销、OCR、财务和项目轻量能力在移动端和企业微信入口的可用性。","1) 移动入口不重复;2) 企业微信入口回 OA;3) 财务敏感能力不误暴露;4) 新增入口进入移动矩阵。","流程级验证:员工和财务角色在移动端进入业务入口 -> 检查报销/OCR/项目状态和权限。",playwright|manual,DONE,DONE,DONE,client/src|docs/产品设计规则.md|docs/trialrun/真机公网测试清单.md,"[""BIZ8-8"",""BIZ8-11""]",自动化和代表真机均已完成:代码路径显示移动首页按权限裁剪报销 OCR 采购 资产入口 财务摘要仅财务角色可见 PC 财务路由在移动上下文回 /mobile;2026-05-14 修复 5491e92 已部署 public bundle findings=0 DG7+R124 公网移动矩阵 6 passed R7E_BROWSER_FLOW=mobile 通过并确认员工 审批人 财务移动入口可见且无横向滚动;2026-05-15 企业微信消息 deeplink 代表设备已可免登录回 OA;2026-05-15 19:31 f945c0b 已部署 /ready public bundle live smoke env 和 DG7+R124 公网移动矩阵通过;用户确认财务入口从 /mobile/me 直接定位到财务卡片并显示付款批次未启用;SMOKE301/SMOKE302 无企业微信不可作为企微成员。 BIZ8-12A,财务移动入口和付款未启用空态,"在移动首页和我的页补财务角色入口,并在 payment_batch_v1 关闭时展示付款批次未启用的明确状态,不启用付款能力。","1) 财务角色可在 /mobile 和 /mobile/me 找到财务入口;2) 非财务角色不显示财务入口;3) payment_batch_v1 关闭时不显示误导性待付款 0 或台账导出可用;4) 不改变权限和付款状态机。","流程级验证:cd server && node --check src/routes/portal.js;cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list。",node|npm|playwright,DONE,DONE,DONE,client/src/pages/MobilePortalPage.tsx|client/src/pages/MobileMePage.tsx|client/src/api/portal.ts|server/src/routes/portal.js|client/tests/e2e,"[""BIZ8-12""]",本轮只开入口和解释性空态 不开启 payment_batch_v1 不修改 AP/payment-batches API 权限或状态机;公网付款闭环仍待功能门禁决策。 BIZ8-12B,财务移动入口定位修复,"修复财务角色在 /mobile/me 点击财务入口后只像回首页一样无法定位付款未启用提示的问题。","1) 财务入口仅财务角色可见;2) 点击后进入或定位到 /mobile 的财务卡片;3) 付款批次关闭时 mobile-finance-disabled-state 可见且文案清楚;4) 不开启付款批次或修改财务权限。","流程级验证:cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list;wangzhiling 真机从 /mobile/me 点击财务入口。",npm|playwright|manual,DONE,DONE,DONE,client/src/pages/MobilePortalPage.tsx|client/src/pages/MobileMePage.tsx|client/tests/e2e,"[""BIZ8-12A""]",已部署并真机通过:2026-05-15 19:31 CST f945c0b 已通过 deploy/trialrun/deploy.sh 发布到 https://oa.hyinda.com 且 SYNC_ENV=0 未覆盖远端 .env;部署后 /ready 通过 public bundle findings=0 live smoke env ready DG7+R124 公网移动矩阵 6 passed;用户确认财务入口从 /mobile/me 直接定位到财务卡片并显示付款批次未启用。回滚路径:恢复财务入口旧跳转;不改后端 API 权限 payment_batch_v1 或付款状态机。 -BIZ8-13,财务和项目权限回归,"回归财务台账、付款导出、项目关联和报销详情的权限边界。","1) 普通员工只能看自己的数据;2) 财务只看授权财务数据;3) 管理员不自动获得财务处理;4) 项目关联不越权。","流程级验证:不同角色直连财务、项目、报销详情和导出 API -> 检查允许和拒绝结果。",bash|node|manual,TODO,TODO,TODO,scripts/qa|server/src|client/src,"[""BIZ8-9"",""BIZ8-11"",""BIZ8-12"",""BIZ8-12A""]",高风险权限变更必须 reviewer。 -BIZ8-14,BIZ8 收口准备,"整理 BIZ8 验证摘要、OCR 边界、财务和项目权限结论、未完成项。","1) DONE 行均有证据;2) OCR 真实与 mock 结论分离;3) 权限回归通过或有阻断;4) 未完成项不伪装完成。","流程级验证:人工核对 BIZ8 CSV 状态、验证摘要、OCR 证据和权限回归结果。",manual|git,TODO,TODO,TODO,issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv|docs/文档索引.md,"[""BIZ8-13""]",对应原规划 BIZ8-14。 -BIZ8-CLOSE,BIZ8 阶段 CLOSE,"阶段性关闭 BIZ8,完成状态回填、验证摘要和中文提交。","1) CSV 校验通过;2) git diff --check 通过;3) 所有 DONE 有命令或人工证据;4) 中文提交引用 BIZ8;5) 后续风险有归属。","流程级验证:validate_issues_csv.py 本 CSV;git diff --check;人工核对最终摘要。",python3|git|manual,TODO,TODO,TODO,issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv,"[""BIZ8-14""]",每个连续 CSV 保留 CLOSE 行。 +BIZ8-13,财务和项目权限回归,"回归财务台账、付款导出、项目关联和报销详情的权限边界。","1) 普通员工只能看自己的数据;2) 财务只看授权财务数据;3) 管理员不自动获得财务处理;4) 项目关联不越权。","流程级验证:不同角色直连财务、项目、报销详情和导出 API -> 检查允许和拒绝结果。",bash|node|manual,DONE,DONE,DONE,scripts/qa|server/src|client/src,"[""BIZ8-9"",""BIZ8-11"",""BIZ8-12"",""BIZ8-12A""]",2026-05-15 权限回归完成且无运行时代码变更:cd server && npm run prisma:validate 通过;cd server && npm test -- tests/unit/routes/exports.apOperations.test.js tests/unit/routes/paymentBatches.reimbursement.test.js tests/unit/routes/purchase.project-link.test.js tests/unit/routes/projects.test.js tests/unit/routes/workflow.permissions.test.js tests/unit/services/financeLedger.test.js 6 files 27 tests passed;cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/biz8-ap-ledger-project.spec.ts --workers=1 --reporter=list 1 passed。覆盖 AP 导出权限、付款批次门禁、项目关联权限、项目摘要可读性、workflow 权限映射和财务台账项目搜索;付款批次仍按 P2 延期且不启用。 +BIZ8-14,BIZ8 收口准备,"整理 BIZ8 验证摘要、OCR 边界、财务和项目权限结论、未完成项。","1) DONE 行均有证据;2) OCR 真实与 mock 结论分离;3) 权限回归通过或有阻断;4) 未完成项不伪装完成。","流程级验证:人工核对 BIZ8 CSV 状态、验证摘要、OCR 证据和权限回归结果。",manual|git,DONE,DONE,DONE,issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv|docs/文档索引.md,"[""BIZ8-13""]",BIZ8 收口摘要完成:OCR/PDF-only 和重复票据可解释终态已分离记录;财务移动入口 BIZ8-12B 已由 wangzhiling 真机确认;权限回归 BIZ8-13 已通过;付款批次 payment_batch_v1 继续延期到 P2 不作为 BIZ8 阻断;不做 ERP 实时集成或重预算。 +BIZ8-CLOSE,BIZ8 阶段 CLOSE,"阶段性关闭 BIZ8,完成状态回填、验证摘要和中文提交。","1) CSV 校验通过;2) git diff --check 通过;3) 所有 DONE 有命令或人工证据;4) 中文提交引用 BIZ8;5) 后续风险有归属。","流程级验证:validate_issues_csv.py 本 CSV;git diff --check;人工核对最终摘要。",python3|git|manual,DONE,DONE,DONE,issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv,"[""BIZ8-14""]",BIZ8 阶段关闭:报销/OCR/发票、财务台账/入口、费用提示和项目轻量关联均已完成并有证据;后续风险归属 P2:付款批次启用窗口、图片 OCR、ERP 实时集成和重预算控制均不得混入 R7E 收口。