63 KiB
人工试运行报告
文档状态:当前试运行证据摘要。 适用时间:DCL7 之后。
DCL7 已删除本文件中 R70-R91 的长流水历史,避免旧环境、旧开关和旧公网状态误导当前工作。历史全文可通过 git 恢复:git show 5da05eb:docs/trialrun/人工试运行报告.md。
当前结论
- R6 首轮小范围试运行已通过;范围是报销、请假、采购、审批、企业微信入口/通知、财务付款/导出。
- PC6、PA6、FL6、AP6、RI6、LP6、ME6 自动化、QG6、DG7/MRF7、MIA7 已完成相应收口。
- 2026-05-13 用户完成 iPhone 12、iPhone 14、Redmi K60 企业微信代表性真机主流程复测,
ME6-3已按主流程门禁关闭;iPhone 12 图文上下间距偏紧按非阻断观察项记录。 - MIF7-1..7 与 MIF7T 已完成本地整改、公网部署、公网匿名复检和带凭据 live smoke/OCR 复检;2026-05-13 已将包含
cf2bba0的 MIF7T 代码部署到https://oa.hyinda.com。 - MIF7TD 收口报告为
artifacts/qa-flow/live-smoke-readiness-20260513-115455/:公网 live smoke3 passed,真实 OCR1 passed,样票为重复发票可解释终态;pending OCR因本地未注入DATABASE_URL记录SKIP,不作为 MIF7-7 硬阻断。 - R7/OPS7/DOC7 是准备材料;R7EP 自动门禁和 OPS8 只读检查已完成;R7E 已于 2026-05-15 23:35 CST 由用户确认阶段验收通过,并于 2026-05-16 完成 R7E-19/R7E-20 和 QAOPS8-19/QAOPS8-20 阶段收口。
- 2026-05-13 后续计划调整直接回写现有 R7EP、OPS8、QAF8、UX8、P2T 合同,不新建专门调整 Issue;调整后 R7EP 门禁可并行执行,OPS8-1/2/4 纳入 R7EP Go/No-Go,UX8 和 P2T 候选按真实反馈并行推进。
- ORG8 组织账号与权限主数据已完成本地代表性角色验收和阶段收口;后续组织主数据治理只作为 P2 只读巡检候选,不自动进入写修复。
- 2026-05-16 已建立并细化 QAOPS9 上线硬化连续合同和 P2D 功能决策合同;QAOPS9 固定隔离本地业务流与公网 flag-off 证据分离,P2D 固定
GO_TO_CONTRACT、HOLD_FOR_PREREQ、FREEZE三类结论;本次只更新 Issue CSV、既有事实源和 QA 脚本过滤参数,未改业务代码、API/schema、feature flag 或前端功能,未部署,公网运行状态不变。 - 2026-05-16 QAOPS9 已完成隔离核心业务流稳定化、恢复演练 dry-run checklist、公网 live smoke、真实 OCR 和公网移动矩阵复核;
pending OCR因本地未注入DATABASE_URL继续按规则记非阻断SKIP。P2D 已完成分流:P2-ORG只读巡检可进入独立合同,其余 P2 候选先保持前置条件等待。 - 2026-05-16 P2D 旧口径已修正:live smoke 凭据、员工 OCR 凭据和授权 PDF 样票已具备,不再作为 P2-FIN/P2-OCR 的 HOLD 原因。P2-ORG 已完成只读巡检:当前连接数据源 high=0、medium=0、low=9,建议
NO_WRITE_FIX_NEEDED;低风险项为 CEO/root 无直属主管观察 1 和 active 员工无企业微信绑定 8。 - 2026-05-16 P2-FIN-DECISION 已完成付款批次启用决策准备:只读核对代码/flag/空态、角色账号、导出字段、审计事件、公网 readiness 和 flag off 回滚口径,结论为
GO_TO_IMPLEMENT,后续可另建P2-FIN-V1;当前仍不启用payment_batch_v1、不写付款批次业务数据、不部署。 - 2026-05-16 P2-FIN-V1 已完成付款批次启用前本地/隔离硬化:后端 focused 回归、前端 typecheck/build、隔离付款批次闭环、权限直连审计、公网 readiness 和只读 review 均通过;本轮只修补 E2E 对当前状态胶囊和二次确认 UI 的断言,不改业务 API/schema/UI,不部署,公网
payment_batch_v1继续关闭。 - 2026-05-16 P2-OCR-SAMPLE 已完成图片 OCR 样票治理和实现前置确认;P2AF 纠偏后当前默认结论为
FREEZE_BY_DEFAULT:正式能力只维护 PDF-only OCR,图片继续作为普通附件,不开放图片 OCR。 - 2026-05-16 P2Q 已完成 P2OCRS 后续任务队列规划;P2AF 后图片 OCR 不再作为默认主线等待样票,后续默认按 UX8 真实反馈池、P2-FIN-LIVE 公网启用窗口、P2-WF、P2-BIZ 和持续上线门禁拆独立合同推进。
- 2026-05-16 P2AUTO 已完成自动化优先回归:后端 focused、前端 typecheck/build、高风险确认、隔离核心业务流、隔离付款批次闭环、公网 readiness/PDF live OCR、公网移动矩阵和企业微信 UA/渲染自动化均通过;PDF 样票和 live smoke 凭据可用,P2AF 后 provider-only 默认结论为
FREEZE_BY_DEFAULT,不开放图片 OCR,不启用公网payment_batch_v1,未部署。 - 2026-05-16 P2AF 已完成可自动实施收口:图片 OCR 默认
FREEZE_BY_DEFAULT,PDF-only OCR 继续维护;新增 QA-only 回归聚合和付款批次公网关闭态只读门禁,公网payment_batch_v1继续flag_force_off,本轮不做业务实现、不部署。 - 2026-05-16 P2-FIN-LIVE-DECISION 已完成公网付款批次启用窗口决策:live smoke/PDF OCR readiness 通过,付款批次公网关闭态只读门禁通过;初始结论为
HOLD_FOR_WINDOW,随后用户批准立即短窗口、现有 live smoke 测试账号和新建测试报销,进入P2-FIN-LIVE。 - 2026-05-17 P2-FIN-LIVE 已按用户批准完成公网付款批次短窗口受控测试:使用现有 live smoke 测试账号新建专用测试报销,临时打开
payment_batch_v1,完成付款批次创建、复核、执行、AP 导出和审计核验后强制回到flag_force_off;未部署,不接真实支付,不写 ERP 实时凭证,不开放图片 OCR。 - 2026-05-17 PRELAUNCH 已按“系统尚未正式使用”的新前提完成正式启用前公网预回归:公网
/ready、public bundle、live smoke、PDF live OCR、远端 Caddy/compose/migration 只读基线、隔离核心业务流、付款批次公网 PRELAUNCH 窗口、公网移动矩阵和企业微信 UA/渲染矩阵均形成证据;公网测试数据均带PRELAUNCHmarker。最终payment_batch_v1=flag_force_off,未部署、不接真实支付、不写 ERP 实时凭证、不开放图片 OCR。浏览器全链路all中报销 PDF 因样票重复记可解释SKIP,采购分流程功能报告通过但手工 live spec 存在长等待/退出码稳定性缺口,后续作为 QA 自动化维护项。 - 2026-05-17 CASHIER-VOUCHER-V1 已按“无 ERP/独立财务系统、只有代账”的新业务前提完成正式启用前财务闭环补强:新增付款批次银行回单附件、复核后补凭证、银行渠道执行前回单阻断和 PC 付款批次详情操作区;业务口径为
wangzhiling出纳执行、wangshunli管理员复核,后续正式流程是 OA 内审批/台账/付款批次 + 银行对公付款回单 + 月度代账交接。CASHV 代码已由LAUNCH-DEPLOY-FINANCE部署到公网,不接真实支付、不写 ERP、不开放图片 OCR、不导入银行流水;下一步需另建或延续FIN-PROD-ENABLE和ACCOUNTING-HANDOFF-V1合同。 - 2026-05-17 LAUNCH-DEPLOY-FINANCE 已按用户要求完成“本地全流程/页面门禁 -> 部署 -> 公网复检”:本地基础代码门禁、业务流、PC/移动/企业微信页面矩阵均通过;部署 commit
ab5ab4d到https://oa.hyinda.com,SYNC_ENV=0未覆盖远端 env,新增回单附件 migration 已应用;公网 readiness、PDF live OCR、移动/企业微信矩阵和 CASHV 短窗口均通过。CASHV 公网测试报销BX-20260517-0025完成无回单执行阻断、上传/下载回单、付款执行、AP 导出和审计核验;最终payment_batch_v1=flag_force_off,正式常开仍需FIN-PROD-ENABLE。 - 2026-05-17 FIN-PROD-ENABLE 已完成公网付款批次正式常开:未重新部署业务代码;新增 QA-only 正式启用 runner 后,公网测试报销
BX-20260517-0026完成审批、付款批次创建/复核、无回单执行阻断、回单上传/下载、付款执行、报销paid、票据archived、AP 台账paid、AP 导出和审计核验;公网移动矩阵 6 passed、企业微信渲染矩阵 8 passed。最终payment_batch_v1=force_on,erp_sync=force_off;不接真实支付、不接 ERP、不开放图片 OCR、不导入银行流水。 - 2026-05-17 ACCOUNTING-HANDOFF-V1 已固化月度代账交接 SOP:OA 侧导出 AP 台账、报销、票据中心、付款批次/回单附件清单和审计日志;银行流水和银行回单原件由
wangzhiling从银行渠道导出,交给代账人工核对。公网只读/导出核对显示付款批次清单、回单附件列表/下载、AP 导出、报销导出、票据导出和审计日志导出均返回 200;不开发银行流水导入或一键 zip 包。 - 2026-05-17 SYSTEM-COMPLETE-GATE 已完成系统开发完成门禁:公网
/ready、public bundle、live smoke3 passed、PDF live OCR1 passed,只读 flag 核验显示payment_batch_v1=force_on、erp_sync=force_off;公网移动/企业微信 UA 矩阵14 passed;结论GO_TO_USE。当前首批正式能力为员工报销、PDF OCR、审批、请假、采购、通知、移动/企业微信入口、财务台账、付款批次、银行回单附件和代账交接。 - 2026-05-17 LAUNCH-OPS-V1 已固定首周正式使用运营口径:
wangshunli为上线拍板、管理员复核和回滚决策人,wangzhiling为出纳/付款执行和代账资料准备人;首周问题登记、每日巡检、暂停条件、代账交接节奏和 UX8/可选功能冻结口径已回写现有手册。后续新增功能只按真实反馈和业务频次另建 Issue CSV。 - 2026-05-17 REQ-COMPLETE-AUDIT 已完成需求完成度复核和考勤边界校正:首批正式能力保持
GO_TO_USE结论不变;企业微信打卡作为原始采集和风控底座,OA 不重造定位、人脸、Wi-Fi、排班、设备和防作弊。 - 2026-05-17 ATTV1 已进入考勤统一入口实现:历史 OA 自建打卡
attendance_v1关闭;OA 新增企微打卡摘要同步、补卡/外出/加班修正审批和月度考勤解释;所有审批继续统一在 OA,企业微信只负责打卡原始采集和风控。企微 live 同步依赖WECOM_CHECKIN_SECRET和企微打卡 API 权限,缺配置时记SKIP。
关键证据索引
| 批次 | 当前状态 | 证据入口 |
|---|---|---|
| R6 | 已通过 | issues/2026-05-11_10-23-41-r6-small-trialrun-prep.csv |
| PS6 | 采购提交阻断已修复 | issues/2026-05-12_01-12-20-r6-purchase-submit-budget-precheck-hotfix.csv |
| PC6 | PC 工作台与审批信息架构已完成 | issues/2026-05-12_01-40-00-r6-pc-workbench-ia-polish.csv |
| PA6 | 权限与审计回归已完成 | issues/2026-05-12_01-46-00-r6-permission-audit-regression.csv |
| FL6 | 财务台账/导出增强已完成 | issues/2026-05-12_01-43-00-r6-finance-ledger-export-v1.csv |
| AP6 | 审批催办、超时提醒和效率摘要已完成 | issues/2026-05-12_01-42-00-r6-approval-productivity-v1.csv |
| RI6 | 报销票据体验已完成 | issues/2026-05-12_01-44-00-r6-reimbursement-invoice-polish-v1.csv |
| LP6 | 请假采购体验已完成 | issues/2026-05-12_01-45-00-r6-leave-procurement-polish-v1.csv |
| ME6 | 自动化、公网视觉和代表性企业微信真机门禁已完成 | issues/2026-05-12_01-41-00-r6-mobile-experience-second-pass.csv |
| QG6 | QA 治理已完成 | issues/2026-05-12_01-47-00-r6-qa-governance-upgrade.csv |
| MIA7 | 移动信息架构审查已完成 | issues/2026-05-12_21-48-39-mobile-ia-visual-flow-review.csv |
| MIF7 | 已收口;本地整改、返回语义、部署、公网匿名、真机门禁、带凭据 live smoke/OCR 均已通过 | issues/2026-05-12_21-48-40-mobile-ia-flow-remediation.csv、issues/2026-05-13_00-38-05-mif7-follow-up-return-and-release.csv、issues/2026-05-13_11-37-02-mif7t-deploy-live-closeout.csv、artifacts/qa-flow/live-smoke-readiness-20260513-115455/summary.json |
| MIF7T | 真机反馈移动体验统一整改已部署并完成公网复检 | issues/2026-05-13_09-18-05-mif7-real-device-feedback-mobile-unification.csv、issues/2026-05-13_11-37-02-mif7t-deploy-live-closeout.csv |
| ORG8 | 组织账号和权限主数据本地代表性验收已收口;不替代 R7E 真实人工试运行 | issues/2026-05-13_18-23-51-org8-master-data-permission.csv |
| R7E | 阶段验收和 P2 排序收口已完成;当前 P0/P1 阻断为 0 | issues/2026-05-13_17-11-44-r7e-human-trialrun.csv |
| QAOPS8 | Go/No-Go 与上线硬化阶段收口已完成;后续建议另起 QAOPS9 或等价连续合同 | issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv |
| FBA | R7E 后全端功能边界审计已收口;只作为功能边界和 P2 候选证据 | issues/2026-05-15_23-45-41-r7e-post-function-boundary-audit.csv、docs/trialrun/R7E后功能边界审计.md |
| QAOPS9 | 已收口:隔离核心业务流、恢复演练 dry-run、公网 live smoke、真实 OCR 和公网移动矩阵均已形成证据;pending OCR 缺 DATABASE_URL 为非阻断 SKIP |
issues/2026-05-16_00-19-20-qaops9-release-hardening.csv、artifacts/qa-flow/business-flow-20260516-012215/summary.txt、artifacts/qa-flow/live-smoke-readiness-20260516-013727/summary.json |
| P2D | 已完成决策分流:P2-ORG 只读巡检可进入独立合同;付款批次、图片 OCR、UX8、审批通知和轻业务增强均需前置条件;冻结项继续冻结 |
issues/2026-05-16_00-19-21-p2-decision-followup.csv |
| P2-ORG | 已收口:组织账号主数据只读巡检完成,高/中风险为 0,低风险观察 9,不需要写修复合同 | issues/2026-05-16_02-04-27-p2-org-readonly-master-data-audit.csv、artifacts/qa-flow/p2-org-readonly-audit-20260516-020427/report.json |
| P2-FIN-DECISION | 已收口:付款批次决策准备完成,结论 GO_TO_IMPLEMENT;后续进入单独 P2-FIN-V1 合同前仍需方案批准 |
issues/2026-05-16_09-02-42-p2-fin-payment-batch-decision.csv |
| P2-FIN-V1 | 已收口:付款批次启用前本地/隔离硬化完成;隔离付款批次闭环 1 passed、权限直连审计 8 passed、公网 readiness ready | issues/2026-05-16_09-42-43-p2-fin-payment-batch-v1.csv、artifacts/qa-flow/business-flow-20260516-095719/summary.txt、artifacts/qa-flow/business-flow-20260516-095900/summary.txt |
| P2-OCR-SAMPLE | 已收口:图片 OCR 样票治理前置完成;P2AF 后当前默认 FREEZE_BY_DEFAULT,PDF live OCR 基线继续有效 |
issues/2026-05-16_10-15-21-p2-ocr-image-sample-governance.csv |
| P2Q | 已收口:P2OCRS 后续队列和启动门槛完成;图片 OCR 默认冻结,所有实现或公网启用均需另建独立合同 | issues/2026-05-16_10-35-22-p2-post-p2ocrs-followup-queue.csv |
| P2AUTO | 已收口:自动化优先回归和样票 provider 门禁完成;核心隔离业务流通过、付款批次隔离闭环 1 passed、公网 readiness/PDF live OCR 通过、公网移动矩阵 6 passed、企业微信渲染矩阵 8 passed;provider 默认结论改为 FREEZE_BY_DEFAULT |
issues/2026-05-16_20-09-49-p2-automated-regression-sweep.csv、artifacts/qa-flow/business-flow-20260516-203001/summary.txt、artifacts/qa-flow/business-flow-20260516-203856/summary.txt、artifacts/qa-flow/live-smoke-readiness-20260516-204157/ |
| P2AF | 已收口:可自动实施收口完成;安全回归聚合 PASS,付款批次公网关闭态只读门禁 PASS,UX8 自动矩阵通过且 UX8-1..5 保持真实反馈驱动 | issues/2026-05-16_22-11-10-p2-automatable-followup.csv、artifacts/qa-flow/p2-safe-regression-20260516-222222/summary.json |
| P2-FIN-LIVE-DECISION | 已收口:公网付款批次启用窗口决策完成,初始结论 HOLD_FOR_WINDOW;readiness 和 flag-off 证据通过,后续由用户批准进入 P2-FIN-LIVE 短窗口 |
issues/2026-05-16_22-49-05-p2-fin-payment-batch-live-decision.csv |
| P2-FIN-LIVE | 已收口:公网短窗口受控测试 PASS;专用测试报销 BX-20260517-0022 付款闭环到 paid,票据 archived,AP 台账 paid,导出和审计核验通过;公网移动矩阵 6 passed,企业微信渲染矩阵 8 passed;最终 payment_batch_v1=flag_force_off |
issues/2026-05-16_23-42-08-p2-fin-payment-batch-live-enable.csv、artifacts/qa-flow/p2-fin-live-20260517-001022/summary.json、artifacts/qa-flow/p2-fin-live-20260517-001022/live-result.json |
| PRELAUNCH | 已收口:正式启用前公网预回归完成;公网 readiness/PDF live OCR、远端只读基线、隔离核心业务流、PRELAUNCH 付款批次窗口、公网移动和企业微信渲染矩阵通过;最终 payment_batch_v1=flag_force_off |
issues/2026-05-17_00-46-49-prelaunch-production-readiness.csv、artifacts/qa-flow/p2-fin-live-20260517-014144/live-result.json、artifacts/qa-flow/p2-safe-regression-20260517-014436/summary.json、artifacts/prelaunch/browser-business/report.md、artifacts/prelaunch/browser-business-purchase-rerun/report.md |
| CASHIER-VOUCHER-V1 | 已收口:正式启用前财务闭环与银行回单附件完成;后端 focused 回归 12 tests passed,前端 typecheck/build 通过,本地隔离 reimbursement 业务域 10 passed/1 skipped,governance 业务域 9 passed;已由 LDF 部署 | issues/2026-05-17_09-04-37-cashier-payment-voucher-v1.csv、artifacts/qa-flow/business-flow-20260517-091904/summary.txt、artifacts/qa-flow/business-flow-20260517-092824/summary.txt |
| LAUNCH-DEPLOY-FINANCE | 已收口:CASHV 部署和公网复检完成;本地全流程/页面门禁通过,公网 readiness/PDF live OCR、移动/企业微信矩阵和 CASHV 短窗口通过;最终 payment_batch_v1=flag_force_off |
issues/2026-05-17_09-38-55-launch-deploy-finance.csv、artifacts/qa-flow/business-flow-20260517-094407/summary.txt、artifacts/qa-flow/live-smoke-readiness-20260517-102904/summary.json、artifacts/qa-flow/p2-fin-live-20260517-103450/live-result.json |
| FIN-PROD-ENABLE | 已收口:公网付款批次正式启用完成;测试报销 BX-20260517-0026 付款闭环到 paid,票据 archived,AP 台账 paid,导出和审计核验通过;公网移动矩阵 6 passed,企业微信渲染矩阵 8 passed;最终 payment_batch_v1=force_on、erp_sync=force_off |
issues/2026-05-17_11-40-47-fin-prod-enable-payment-batch.csv、artifacts/qa-flow/fin-prod-enable-20260517-114731/summary.json、artifacts/qa-flow/fin-prod-enable-20260517-114731/live-result.json |
| ACCOUNTING-HANDOFF-V1 | 已收口:月度代账交接 SOP 固化;OA 侧 AP/报销/票据/付款批次/回单附件/审计资料清单可用,公网导出和回单下载状态核对 200;银行流水和回单原件由出纳线下导出给代账 | issues/2026-05-17_11-40-48-accounting-handoff-v1.csv、docs/管理员手册.md |
| SYSTEM-COMPLETE-GATE | 已收口:系统开发完成门禁通过,结论 GO_TO_USE;live smoke 3 passed、PDF live OCR 1 passed、public bundle findings=0、pending OCR 非阻断 SKIP、正式 flag 状态正确、公网移动/企微矩阵 14 passed |
issues/2026-05-17_12-55-49-system-complete-gate.csv、artifacts/qa-flow/live-smoke-readiness-20260517-125805/summary.json |
| LAUNCH-OPS-V1 | 已收口:首周运营保障口径固定;支持人、问题登记、每日巡检、暂停条件、代账交接节奏和可选功能冻结口径已回写手册 | issues/2026-05-17_12-55-50-launch-ops-v1.csv、docs/管理员手册.md、docs/员工快速上手.md、docs/试运行与自动化验证手册.md |
| REQ-COMPLETE-AUDIT | 已收口:需求完成度复核和考勤边界校正完成;企微打卡与 OA 考勤解释边界已纠偏,补卡/外出/加班缺口已分级 | issues/2026-05-17_13-32-26-requirements-completion-audit.csv、docs/海音达OA-MVP需求规格说明书.md、docs/需求-请假考勤修正规约.md、docs/需求-企业微信基础设施规约.md |
| ATTV1 | 执行中:考勤统一入口与企微打卡同步 V1;关闭 OA 自建打卡,新增企微打卡摘要同步、OA 补卡/外出/加班审批和月度解释 | issues/2026-05-17_14-59-28-attendance-unified-wecom-sync-v1.csv、docs/需求-请假考勤修正规约.md、docs/需求-企业微信基础设施规约.md |
当前门禁
| 门禁 | 状态 | 说明 |
|---|---|---|
| 公网地址 | 可用 | https://oa.hyinda.com |
/ready |
通过 | 2026-05-13 curl -fsS https://oa.hyinda.com/ready 返回 ok=true |
| 企业微信个人应用消息 | 正式通知通道 | 企业微信只做入口、身份、消息和 deeplink |
ME6-3 真机抽查 |
已关闭 | 2026-05-13 用户确认 iPhone 12、iPhone 14、Redmi K60 企业微信主流程通过;iPhone 12 间距偏紧为非阻断观察项 |
| MIF7-7 | 已关闭 | MIF7T 已部署;公网 /ready、public bundle、公网 MIF7 移动矩阵、带凭据 live smoke/OCR 均通过 |
| R7E 真实执行 | 已收口 | 阶段验收通过,当前 P0/P1 阻断为 0;付款批次、图片 OCR、Android 系统选择器等按 P2 或平台限制延期 |
| QAOPS9 核心业务流 | 通过 | 隔离临时库业务流 reimbursement/approval/leave/procurement/governance 通过;付款批次 spec 已排除,报告 artifacts/qa-flow/business-flow-20260516-012215/summary.txt |
| QAOPS9 live readiness | 通过,含非阻断 pending OCR SKIP | /ready、WeCom config、public bundle 通过;公网 live smoke 3 passed,真实 OCR 1 passed;pending OCR 因本地未注入 DATABASE_URL 记录 SKIP,报告 artifacts/qa-flow/live-smoke-readiness-20260516-013727/ |
| QAOPS9 公网移动矩阵 | 通过 | 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 |
| P2-ORG 只读巡检 | 通过,含低风险观察项 | server/src/scripts/audit-org-master-data.js 在 READ ONLY 事务中执行;当前连接数据源 high=0、medium=0、low=9,未输出手机号、邮箱、token 或企业微信真实标识,报告 artifacts/qa-flow/p2-org-readonly-audit-20260516-020427/ |
| P2-FIN 决策准备 | 通过 | LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-smoke-env.mjs 显示 publicReady/liveSmokeReady/liveOcrReady 均为 true;只读核对付款批次 flag、权限、导出、审计和回滚口径;未执行付款批次业务写入 |
| P2-FIN-V1 启用前硬化 | 通过,未部署 | 后端 focused 回归 8 tests passed;client typecheck/build 通过;隔离临时库 reimbursement-payment-batch-flow 1 passed,覆盖创建批次、复核、二次确认执行、报销 paid、票据 archived、AP 台账和 ERP outbox;权限直连审计 8 passed;公网只做 readiness,不启用 payment_batch_v1 |
| P2-OCR-SAMPLE 样票治理 | 默认冻结,未部署 | 已确认当前发票 OCR 仍为 PDF-only,图片仅作为普通附件;腾讯云 image_native 只证明技术路径存在,不等同于当前产品能力;正式图片 OCR 默认 FREEZE_BY_DEFAULT,除非用户明确重启评估 |
| P2Q 后续队列 | 已收口,未部署 | 图片 OCR 不再作为默认主线等待样票;UX8 等待真实反馈;P2-FIN-LIVE 等待公网启用窗口批准;后续 P2-WF/P2-BIZ 均需独立合同 |
| P2AUTO 自动化优先回归 | 通过,未部署 | 后端 focused 43 tests passed;client typecheck/build 通过;核心隔离业务流 auth/reimbursement/approval/leave/procurement/governance PASS;付款批次隔离 flag-on 1 passed;公网 /ready、public bundle、live smoke 3 passed、PDF live OCR 1 passed;公网移动矩阵 6 passed;企业微信渲染矩阵 8 passed;P2AF 后 provider-only 默认结论为 FREEZE_BY_DEFAULT |
| P2AF 可自动实施收口 | 通过,未部署 | run-p2-safe-regression.sh PASS:后端 focused 43 tests passed,client typecheck/build 通过,核心隔离业务流 auth/reimbursement/approval/leave/procurement/governance PASS,公网 readiness/PDF live OCR 通过,付款批次公网关闭态 409 payment_batch_v1_disabled / flag_force_off,公网移动矩阵 6 passed,企业微信渲染矩阵 8 passed,OCR provider-only 默认 FREEZE_BY_DEFAULT;不启用公网 payment_batch_v1,不开放图片 OCR,不做业务实现 |
| P2-FIN-LIVE-DECISION | 已完成,未部署 | check-live-smoke-env --strict 通过,check-payment-batch-flag-off --json 通过,财务/员工/admin 对付款批次公网只读访问均为 409 payment_batch_v1_disabled / flag_force_off;初始 HOLD_FOR_WINDOW,后续用户批准立即短窗口并由 P2-FIN-LIVE 承接 |
| P2-FIN-LIVE 公网短窗口 | 通过,未部署,最终关闭 | run-p2-fin-live-window.sh PASS:live-env strict PASS,pre flag-off PASS,公网付款批次 live spec 1 passed,移动矩阵 6 passed,企业微信渲染矩阵 8 passed,final flag-off check PASS;测试中只临时开启 payment_batch_v1,未开启 erp_sync,未接真实支付,最终恢复 409 payment_batch_v1_disabled / flag_force_off |
| PRELAUNCH 正式启用前预回归 | 通过,含 QA 稳定性观察项,未部署 | 公网 live readiness PASS,远端 Caddy active、compose db/server Up、Prisma migration up to date;脱敏数据清点 activeEmployees=12、activeWecomBindings=5、pendingWorkflowTasks=7;run-p2-fin-live-window.sh PRELAUNCH PASS,测试报销 BX-20260517-0024 付款闭环 paid、票据 archived、AP 台账 paid;run-p2-safe-regression.sh PASS。浏览器 all 长链路中 PDF 样票重复和采购超时按证据分流:采购分流程报告 PASS,本地隔离 procurement PASS,记录为手工 live spec 稳定性维护项,不作为业务 P0/P1 阻断。 |
| CASHIER-VOUCHER-V1 财务闭环与银行回单附件 | 通过,已部署 | 新增付款批次回单附件模型/API/PC 操作区,银行渠道执行付款前必须上传回单,复核后仍可补凭证号/付款日期/付款渠道;prisma validate、node --check、后端 focused 单测、前端 typecheck/build、隔离 reimbursement 业务流和 governance 权限直连业务流均通过;已由 LDF 部署并完成公网 CASHV 短窗口复检。正式启用前仍需设置 payment_batch_v1=force_on 并完成代账交接 SOP。 |
| LAUNCH-DEPLOY-FINANCE 部署与公网复检 | 通过,最终关闭付款批次 | 本地业务流 auth/reimbursement/approval/leave/procurement/governance 通过,本地 PC/移动/企业微信矩阵通过;部署 commit ab5ab4d,SYNC_ENV=0,新增 migration 20260517090437_cashier_payment_receipts 已应用,公网 readiness/PDF live OCR 通过,公网移动/企微矩阵通过;CASHV 短窗口验证无回单执行 409、回单上传/下载、付款 executed、报销 paid、票据 archived、AP 台账 paid、AP 导出 200 和审计可查;最终 payment_batch_v1=flag_force_off。 |
| FIN-PROD-ENABLE 付款批次正式常开 | 通过,未重新部署,最终开启付款批次 | 新增 QA-only run-fin-prod-enable-window.sh 和 Playwright force-on 模式;client typecheck/build 通过;公网 pre flag-off PASS 后完成 FINPROD 付款闭环,BX-20260517-0026 paid、票据 archived、AP 台账 paid、无回单执行 409、回单下载 200、AP 导出 200、关键审计可查;公网移动矩阵 6 passed、企业微信渲染矩阵 8 passed;最终 payment_batch_v1=force_on、erp_sync=force_off。 |
| ACCOUNTING-HANDOFF-V1 代账交接 | 通过,无需开发一键包 | 现有能力核对:付款批次清单 200,回单附件列表 200,回单下载 200,AP 导出 200,报销导出 200,票据中心导出 200,审计日志导出 200;docs/管理员手册.md 已补月度交接 SOP。AP 台账不是银行流水,银行流水和回单原件由出纳从银行侧导出,不导入 OA。 |
| SYSTEM-COMPLETE-GATE 系统完成门禁 | 通过,结论 GO_TO_USE |
check-live-smoke-env --strict PASS;run-live-smoke-readiness.sh PASS,报告 artifacts/qa-flow/live-smoke-readiness-20260517-125805/;只读 flag 核验 payment_batch_v1=force_on、erp_sync=force_off;公网移动/企业微信矩阵 14 passed。 |
| LAUNCH-OPS-V1 首周运营保障 | 通过,无新增业务功能 | 管理员手册、员工快速上手和试运行手册已更新正式启用口径;首周问题登记、每日巡检、暂停条件、回滚联系人、代账交接节奏和 UX8/冻结项处理方式已固定。 |
| REQ-COMPLETE-AUDIT 需求完成度复核 | 通过,无运行时变更 | 完成首批能力和考勤边界复核;企业微信打卡为原始采集,OA 不重造打卡风控。 |
| ATTV1 考勤统一入口 | 执行中,待本地全测后部署 | 历史 OA 自建打卡关闭;补卡、外出、加班已进入 OA 统一审批和月度解释;企微 live 同步缺配置时按 SKIP 记录。 |
R7EP / OPS8 / QAF8 / UX8 / P2T 预检推进
执行时间:2026-05-13 14:10-15:25 前后。
| 检查项 | 结果 | 证据 |
|---|---|---|
| R7EP 公网匿名健康 | 通过 | curl -fsS https://oa.hyinda.com/ready 返回 ok=true;PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs:scanned=57,focused=4,findings=0 |
| R7EP 带凭据 live readiness | 通过,含非阻断 pending OCR SKIP | 报告 artifacts/qa-flow/live-smoke-readiness-20260513-141253/;live smoke 3 passed,真实 OCR 1 passed;pending OCR 因本地未注入 DATABASE_URL 记录 SKIP |
| R7EP 公网移动矩阵 | 通过 | cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list,5 passed |
| R7EP 核心业务流 | 分段通过 | 长组合命令在当前工具会话中不稳定中断,不采用不完整 summary.json 作为通过证据;采用同一 groups 的可追溯分段结果:business-flow-20260513-142857/summary.txt 中 reimbursement/approval/leave/procurement PASS,business-flow-20260513-145759/summary.txt 中 approval PASS,business-flow-20260513-144801/summary.txt 中 governance PASS |
| R7EP 账号角色只读核验 | 通过 | 只读 SQL 证据 artifacts/qa-flow/r7ep-account-role-readonly-20260513-152121/;SMOKE002、SMOKE101、SMOKE201、SMOKE301、SMOKE302、SMOKE001、wangzhiling、wangshunli 均为 active;角色、直属主管、企业微信绑定布尔状态已核验;SMOKE001 和 admin role 当前无 pending 审批任务,财务角色无 admin 混授 |
| OPS8 最小准备 | 已补文档并通过远端只读检查 | docs/trialrun/OPS7运维交接Runbook.md 已补当前部署版本追踪、SYNC_ENV=0 口径、备份/回滚占位和 live readiness 归档规则;OPS8-3 远端只读证据 artifacts/qa-flow/ops8-remote-readonly-20260513-152024/,Caddy active,compose db/server Up,Prisma migration up to date |
| QAF8 覆盖刷新 | 已补文档 | docs/测试规约与回归门禁.md 已补当前最小回归组合、本地/公网匿名/带凭据门禁边界、R108/R109 历史专项分类 |
| UX8 反馈池 | 阶段性收口 | 本轮未新增 UX8 代码实现;iPhone 12 间距、详情扫读性、财务摘要、移动采购创建和列表卡片反馈继续按真实反馈进入后续项 |
| P2T 候选盘点 | 已补文档 | docs/海音达OA-MVP需求规格说明书.md 已补 P2T 候选优先级:组织账号主数据、审批通知扩展、OCR/票据增强、费用预算项目轻量增强、运维上线增强;冻结项继续不进入当前实现 |
R7EP 历史结论:公网、live smoke/OCR、移动矩阵、核心业务流、账号角色只读核验和 OPS8 远端只读状态检查均已通过,可进入 R7E 人工确认环节。后续用户已确认参与名单、时间窗口、回滚联系人、问题登记负责人、每日收口节奏和暂停/回滚决策人,R7E 已按本报告后续章节推进。
ORG8 组织账号与权限主数据验收
执行时间:2026-05-13。
| 检查项 | 结果 | 证据 |
|---|---|---|
| 主管、审批人和角色风险只读审计 | 通过 | disabled_manager_chain=0;inactive_pending_assignees=0;roles_without_active_holder=0;admin_only_pending=0;approval_rules_use_admin=0;finance_admin_mixed_roles=0 |
| 新员工账号和企业微信绑定流程 | 通过 | cd server && npm test -- tests/unit/routes/users.write.test.js tests/unit/routes/users.import.test.js tests/unit/routes/users.list.test.js tests/unit/routes/employees.patch.test.js tests/unit/routes/auth.login.test.js tests/unit/routes/wecomAuth.test.js tests/unit/routes/workflow.permissions.test.js,7 files,33 tests passed |
| 禁用、启用回滚和角色变更审计 | 通过 | 本地 Fastify route 注入验证覆盖 disable -> archived + session revoke + SYSTEM_USER_DISABLED;enable -> active + SYSTEM_USER_ENABLED;roles set -> SYSTEM_USER_ROLES_SET;inactive login -> AUTH_003 |
| 前端入口和权限直连 | 通过 | permission-direct-access.spec.ts 中前端直连备用路径、员工自助直连、角色入口矩阵、后端直连接口、请假采购自审和 admin-only 拒绝用例均已通过 |
结论:ORG8 可作为组织账号和权限主数据的阶段性完成证据。该验收是本地代表性验证,不包含真实参与人名单、试运行时间窗口、回滚联系人、问题登记负责人或每日收口节奏;这些人工确认仍归 R7E。
MIF7-7 非人工自动化补验
执行时间:2026-05-13 01:35 前后。
| 检查项 | 结果 | 证据 |
|---|---|---|
| MIF7 CSV 校验 | 通过 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-12_21-48-40-mobile-ia-flow-remediation.csv |
| MIF7F follow-up CSV 校验 | 通过 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_00-38-05-mif7-follow-up-return-and-release.csv |
| 前端类型与构建 | 通过 | cd client && npm run typecheck、cd client && npm run build |
| UI 设计规则 strict | 通过 | node scripts/qa/check-ui-design-rules.mjs --strict,扫描 126 个文件,0 findings |
| MIF7 移动专项 Playwright | 通过 | cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list,5 passed;截图目录 output/playwright/mobile-ia-flow-remediation/ |
| R124 移动入口矩阵 | 通过 | cd client && npx playwright test tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list,1 passed;截图目录 output/playwright/r124-mobile-entry-matrix/ |
公网 /ready |
通过 | curl -fsS https://oa.hyinda.com/ready 返回 ok=true |
| 公网前端资源文案扫描 | 通过 | PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs,scanned=56,focused=4,findings=0 |
| 公网 live readiness | 通过,含 SKIP | LIVE_SMOKE_BASE_URL=https://oa.hyinda.com QA_ISSUE_ID=MIF7-7 bash scripts/qa/run-live-smoke-readiness.sh;报告目录 artifacts/qa-flow/live-smoke-readiness-20260513-013545/;live smoke、真实 OCR 因缺少凭据或样票按脚本规则 SKIP |
| 旧 R6 响应式专项 | MIF7T 后通过 | tests/e2e/r6-mobile-responsive-system-hotfix.spec.ts 7 个视口通过,截图目录 output/playwright/r6-mobile-responsive-system-hotfix/ |
| 旧 MUD6 统一设计专项 | MIF7T 后通过 | tests/e2e/r6-mobile-unified-design-rollout.spec.ts 7 个视口通过,截图目录 output/playwright/r6-mobile-unified-design-rollout/ |
| 旧 WCM6 企业微信渲染专项 | MIF7T 后通过 | tests/e2e/r6-wecom-mobile-rendering-hardening.spec.ts 8 项通过,截图目录 output/playwright/r6-wecom-mobile-rendering-hardening/ |
| R108/R109 移动专项 | 明确跳过 | 两个专项仍因测试初始化 API 不可用按测试内规则 SKIP,未将 SKIP 伪造成视觉通过 |
历史结论:该轮非人工补验已证明 MIF7 当前专项、本地构建和公网匿名基础门禁通过;代表性企业微信真机主流程随后补充并关闭 ME6-3。当时 MIF7-7 因 live smoke 和真实 OCR 缺凭据/样票保持未完成;后续 MIF7TD 已补齐带凭据复检并关闭 MIF7-7。
MIF7T 真机反馈与移动体验统一
执行时间:2026-05-13。
用户真机反馈已记录:三台设备主流程没问题;首页常用入口没有重复底部 Tab;财务首页已和普通/审批首页区分;审批人“已处理”详情返回仍停留在已处理;通知可直达详情并返回来源页;请假详情、采购详情和财务首页主流程通过。iPhone 12 图文上下间距相比其他设备偏紧,但未出现重叠或压字,按非阻断观察项处理。
新增问题已进入 MIF7T 并完成本地整改:普通角色首页降低资产扫码曝光,采购权限用户新增移动采购列表入口;请假页默认先展示记录,并保留“新建请假 / 请假记录”分段;报销、请假、采购列表卡片统一为整卡可点和右侧状态;删除草稿进入“更多”后再二次确认;在线无草稿时审批页不显示空“离线草稿”;报销、请假、采购、审批详情进入时滚动到顶部,返回按钮和 label-value 字段排布统一。
本批本地验证结果:
| 检查项 | 结果 | 证据 |
|---|---|---|
| MIF7 / MIF7F / MIF7T CSV 校验 | 通过 | validate_issues_csv.py 三个合同均通过 |
| 前端类型与构建 | 通过 | cd client && npm run typecheck、cd client && npm run build |
| UI 设计规则 strict | 通过 | node scripts/qa/check-ui-design-rules.mjs --strict,扫描 127 个文件,0 findings |
| MIF7 移动专项 | 通过 | tests/e2e/dg7-mobile-information-dedupe.spec.ts,5 passed;截图目录 output/playwright/mobile-ia-flow-remediation/ |
| R6 响应式矩阵 | 通过 | tests/e2e/r6-mobile-responsive-system-hotfix.spec.ts,7 passed;覆盖 320/360/375/390/393/414/430 |
| MUD6 统一设计矩阵 | 通过 | tests/e2e/r6-mobile-unified-design-rollout.spec.ts,7 passed;覆盖 320/360/375/390/393/414/430 |
| WCM6 企业微信渲染矩阵 | 通过 | tests/e2e/r6-wecom-mobile-rendering-hardening.spec.ts,8 passed;含 390 iPhone12 字体失败模拟 |
| R101 / R124 移动入口回归 | 通过 | tests/e2e/r101-mobile-wip-closeout.spec.ts 3 passed;tests/e2e/r124-mobile-entry-matrix.spec.ts 1 passed |
| R108 / R109 视觉专项 | SKIP | 初始化 API 不可用,按测试内规则跳过;不作为视觉通过证据 |
部署状态:MIF7T 已在 MIF7TD 中部署到 https://oa.hyinda.com,公网复检和带凭据 live smoke/OCR 已通过。
MIF7TD 部署与带凭据收口
执行时间:2026-05-13。
| 检查项 | 结果 | 证据 |
|---|---|---|
| MIF7TD / MIF7 / MIF7F / MIF7T / ME6 CSV 校验 | 通过 | validate_issues_csv.py 均通过 |
| 部署前本地门禁 | 通过 | client typecheck、client build、设计规则 strict、MIF7 专项 5 passed、R6/MUD6/WCM6 组合 22 passed、git diff --check 通过 |
| 受控部署 | 通过 | bash deploy/trialrun/deploy.sh;默认 SYNC_ENV=0,未覆盖远端 .env;部署包含 cf2bba0 的 MIF7T 代码 |
| 公网匿名复检 | 通过 | curl -fsS https://oa.hyinda.com/ready 返回 ok=true;public bundle scanned=57 focused=4 findings=0 |
| 公网移动重点矩阵 | 通过 | E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list,5 passed;截图目录 output/playwright/mobile-ia-flow-remediation/ |
| 带凭据 live smoke | 通过 | 报告 artifacts/qa-flow/live-smoke-readiness-20260513-115455/;live-smoke.txt 不含 SKIP,公网 live smoke 3 passed |
| 真实 OCR | 通过 | 同一报告目录;live-ocr.txt 不含 SKIP,用例 1 passed;样票命中“该发票已用于报销,不能重复添加”,为重复发票可解释终态 |
| pending OCR 辅助扫描 | 非阻断跳过 | pending-ocr.txt 因本地未注入 DATABASE_URL 记录 SKIP,不作为 MIF7-7 硬阻断 |
历史结论:MIF7-7 已完成 DONE/DONE/DONE。公网当时可用于企业微信和浏览器复测 MIF7T 移动体验;真实扩大试运行随后已另建 R7E 执行合同推进。
R7E 人工启动确认
确认时间:2026-05-13。
用户确认采用 R7E 推荐启动配置,并补充 SMOKE301 / SMOKE302 尚未启用且没有对应企业微信,因此不作为本轮真实企业微信参与账号。
| 确认项 | 结论 |
|---|---|
| 参与人 | 员工 SMOKE002;审批人 SMOKE101;负责人 SMOKE201;财务 wangzhiling;管理员/拍板人 wangshunli |
| 企业微信边界 | SMOKE002、SMOKE101、wangzhiling、wangshunli 作为企业微信或真机优先账号;SMOKE201 使用账号密码兜底;SMOKE301 / SMOKE302 不参与本轮 |
| 角色边界 | wangshunli 作为管理员、回滚联系人和最终拍板人,不作为普通 manager 代行业务审批;admin-only 不处理业务审批 |
| 试运行窗口 | 北京时间 2026-05-14 09:30 至 2026-05-15 18:30;每日 17:30 收口 |
| 暂停条件 | 公网 /ready 异常、企业微信入口不可达、审批/报销/请假/采购任一主流程阻断、权限越权、数据错误或真实用户无法继续 |
| 回滚联系人 | wangshunli;真实联系方式放在仓库外企业微信或电话通讯录,不写入仓库 |
| 问题登记 | wangshunli 为业务侧登记负责人;可审计摘要写入本报告和 R7E CSV;按阻断/高/中/低分级 |
| 暂停/回滚决策 | wangshunli 最终拍板;触发 P0 阻断、权限泄漏、财务数据错误、审批链错误、无法登录/无法回 OA 或两个以上高优先级问题当天无法解释清楚时暂停或回滚 |
确认结论:R7E-1..7 人工确认完成,可以进入 R7E-8 公网健康复核。真实业务流程试运行仍需按 R7E-9..18 逐项记录,不得用自动化结果替代企业微信真机或人工业务结论。
启动前公网预检:
| 时间 | 检查项 | 结果 | 说明 |
|---|---|---|---|
| 2026-05-13 20:42 CST | curl -fsS https://oa.hyinda.com/ready |
通过 | 返回 ok=true |
| 2026-05-13 20:42 CST | PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs |
通过 | scanned=57,focused=4,findings=0 |
R7E 最新代码部署与启动当天复核
执行时间:2026-05-14。
| 检查项 | 结果 | 证据 |
|---|---|---|
| 试运行基线 | 已锁定 | 4b14c92 DG9 统一全站 UI 布局样板迁移 |
| 部署前本地门禁 | 通过 | cd client && npm run typecheck;cd client && npm run build |
| 受控部署 | 通过 | bash deploy/trialrun/deploy.sh;默认 SYNC_ENV=0,未覆盖远端 .env |
| 迁移处理 | 通过 | 部署首次停止于未应用迁移 20260513214500_biz8_purchase_project_link;该迁移为 BIZ8 既有加性迁移,给采购申请增加可空项目关联;执行前已创建 DB 和附件备份 |
| 备份 | 已生成 | DB 备份 hyb-oa-db-20260514_011940.dump;附件备份 hyb-oa-storage-20260514_011940.tar.gz;均位于远端 deploy/trialrun/backups/ |
| 远端 migration 状态 | 通过 | npx prisma migrate deploy 应用缺失迁移后,npx prisma migrate status 返回 up to date |
公网 /ready |
通过 | curl -fsS https://oa.hyinda.com/ready 返回 ok=true |
| 公网前端资源文案扫描 | 通过 | PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs:scanned=57,focused=4,findings=0 |
| 公网移动矩阵 | 通过 | E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list:5 passed |
| 带凭据 live smoke | SKIP | 本地未提供完整 LIVE_SMOKE_* 凭据,部署脚本按规则跳过;不得记为真实业务通过 |
结论:R7E-8 已完成 DONE/DONE/DONE,公网可进入最新代码试运行。真实企业微信入口、报销、审批、请假、采购、财务、通知 deeplink 和真机反馈仍需按 R7E-9..18 逐项人工记录,不能由自动化替代。
R7E PC / 移动网页自动化补测
执行时间:2026-05-14。范围是公网 PC 网页、移动浏览器和企业微信 UA 模拟;真实手机企业微信免登录、系统文件选择器和消息弹窗仍需人工或代表设备确认。
| 检查项 | 结果 | 证据和结论 |
|---|---|---|
| 公网 live readiness | 通过 | 报告 artifacts/qa-flow/live-smoke-readiness-20260514-013133/;live smoke 3 passed;真实 OCR 1 passed;pending OCR 因本地无 DATABASE_URL 记录 SKIP |
| R7E 角色页面 smoke | 通过 | 员工、经理、财务、财务主管、管理员共 32 个 PC/移动核心入口通过;覆盖 /portal、报销、请假、采购、待办、财务台账、付款批次、系统管理、审计、/mobile、移动报销、移动请假、票据上传、移动审批、通知和我的 |
| 移动信息架构和 WeCom UA 矩阵 | 部分通过 | dg7-mobile-information-dedupe 5 passed;r6-mobile-unified-design-rollout 7 passed;r6-wecom-mobile-rendering-hardening 8 passed;r124-mobile-entry-matrix 1 passed |
| 移动路由分流 | 需测试维护 | r110-mobile-pc-routing 1 failed / 1 not run;失败原因是旧断言要求 /mobile/leave 默认展示 mobile-leave-form,而当前产品事实为默认记录页、?view=form 才展示新建请假;未发现 PC 壳回退证据 |
| 公网视觉验收 | 部分通过 | r104-public-visual-acceptance 4 passed;r105-pretrial-visual 3 passed / 1 failed;失败为测试选择器 /审批/ 同时匹配“审批”和“待我审批”的 strict mode 冲突,页面已渲染为移动审批页 |
| UI 一致性和 BIZ8 台账 | 通过 | r103-cross-page-ui-consistency 3 passed;biz8-ap-ledger-project 1 passed |
| 默认本地 E2E 业务流对公网 | 失败,需分流 | workflow-quick-approve、procurement-flow、reimbursement-workflow-progress、reimbursement-payment-batch-flow 未通过;主要原因是默认 [email protected] 链路缺直属主管、[email protected] 凭据不匹配、报销 PDF 上传后未在报销发票区出现。该组使用旧本地种子账号,不作为 R7E SMOKE002 -> SMOKE101 真实账号结论,但应进入后续测试维护和 R7E 人工关注项 |
结论:公网 PC 和移动网页自动化基线可继续试运行;R7E-9..18 仍需真实角色按企业微信/浏览器操作后记录,且默认本地 E2E 账号链路与当前 R7E smoke 账号链路不一致,需要后续把公网业务流测试切换到 R7E live 凭据或维护测试数据。
R7E 浏览器业务先行试运行
执行时间:2026-05-14。范围是无需人工操作即可完成的公网 PC 浏览器、移动浏览器和企业微信 UA 模拟补测;真实企业微信免登录、消息弹窗、消息 deeplink、WebView 文件选择器和代表设备反馈仍后置。报告路径为 artifacts/r7e/browser-business-trialrun/,截图路径为 output/playwright/r7e-browser-business-trialrun/。
无需人工操作补测结果
| 流程 | 账号角色 | 测试单据 | PC 结果 | 移动浏览器结果 | 问题编号 | 结论 |
|---|---|---|---|---|---|---|
| 公共前置 | 员工、审批人、财务、财务主管、管理员 | N/A | 5 类账号登录 /portal 通过;/ready 通过;public bundle findings=0;live smoke env ready;授权 PDF 文件存在且为 PDF |
N/A | - | 通过 |
| 报销 | 员工、审批人 | BX-20260514-0016 |
员工创建报销、添加明细、上传授权 PDF、提交;审批人处理通过;申请人回看状态和审批历史 | N/A | - | 报销业务链路通过;财务付款另记 R7E-14 |
| 审批 | 员工、管理员、审批人 | BX-20260514-0016、CG-20260514-0005、请假单 a22e45f8-b3d6-4862-97f2-30cbe4815e09、审批边界请假单 b0cd3e00-2e67-4f51-9aaf-63aa2c53b47e |
报销、采购、请假均完成待办处理并可回看历史;申请人本人和 admin-only 对真实待办调用审批接口均被拒绝,经理正常通过收尾 | N/A | - | 通过;R7E-11 可关闭 |
| 请假 | 员工、审批人 | a22e45f8-b3d6-4862-97f2-30cbe4815e09 |
员工提交未来工作日请假;审批人通过;员工 PC 回看已通过 | /mobile/leave 记录页可见且无横向滚动 |
- | 通过 |
| 采购 | 员工、审批人 | CG-20260514-0005 |
PC 创建、明细、无敏感测试附件上传、提交、审批、状态和审批历史回看通过 | 移动采购列表、详情和附件可见且无横向滚动 | - | 通过 |
| 财务 | 财务 | BX-20260514-0016 |
报销状态为 approved;/api/ap-operations/reimbursement-ledger 和 /api/payment-batches 均返回 payment_batch_v1_disabled / flag_force_off,未创建付款批次、未复核、未执行付款、未验证导出 |
N/A | R7E-ISSUE-BROWSER-005 | 当时暂停;后续按用户确认的“付款批次延期到 P2”口径收口 R7E-14 |
| 移动通用 | 员工、审批人、财务 | N/A | N/A | /mobile、移动报销、请假、审批、通知、采购入口通过;无 PC 壳和横向滚动 |
- | 通过 |
| 企业微信 UA 模拟 | 匿名 | N/A | N/A | 登录入口、企业微信配置和 OAuth 边界可达 | - | 通过;不代表真机验收 |
| 补充移动矩阵 | 本地 mock 前置 | N/A | N/A | 启动 Vite http://127.0.0.1:5173 后重跑 dg7-mobile-information-dedupe,5 passed;临时服务已关闭 |
- | 通过;前次 127.0.0.1:3000 失败确认为前置服务未启动 |
本轮新增测试辅助:r7e-browser-business-trialrun.spec.ts 支持 R7E_BROWSER_FLOW=preflight|reimbursement-finance|leave|purchase-attachment|mobile|wecom-ua|finance-closeout|approval-boundary|all 分段执行;移动 flow 使用浏览器 storage state 注入登录态并写入匹配的 device fingerprint,避免反复 UI 登录触发限流。
阶段结论:无人工自动化已完成公网健康、报销提交审批、请假、采购附件、审批边界、移动浏览器、企业微信 UA 模拟和本地移动矩阵前置修正。R7E-10、R7E-11、R7E-12、R7E-13 已按浏览器业务线证据关闭;R7E-14 后续按用户确认的付款批次延期到 P2 口径收口;R7E-9、R7E-15、R7E-18 仍需真实企业微信和人工验收,不由本轮自动化替代。
R7E 真机反馈修复记录
执行时间:2026-05-14。用户已完成代表设备人工反馈,本轮先在本地代码和现有 Issue 流中处理,随后按受控部署步骤发布到试运行环境。
| 反馈项 | 级别 | 归属 | 本轮处理 |
|---|---|---|---|
| 所有设备可企业微信免登录进入 OA | PASS | R7E-9 |
记录为真机通过项 |
企业微信消息点击均提示 requestid tokenexpired 或深链已过期 |
HIGH | WF8-11A |
修复签名 deeplink 过期回流;企业微信 UA 走免登录 returnTo |
| iOS 只能上传 PDF,Android 选择器仍显示拍照和选择文件 | MEDIUM | R7E-16B |
OA 前端增加 PDF-only 过滤;Android 系统选择器表现记录为 WebView 限制 |
| 通知卡片和待审批卡片右侧状态只显示首字 | MEDIUM | R7E-16A |
修复移动状态槽样式并加入 Playwright 遮挡断言 |
| 财务移动入口和付款未启用状态不清楚 | MEDIUM | BIZ8-12A |
增加 /mobile/me 财务入口;付款批次关闭时显示未启用空态 |
部署状态:本节对应修复已在 2026-05-14 22:05 左右部署到 https://oa.hyinda.com,公网 /ready、public bundle、live readiness、真实 OCR 样票、移动矩阵和 R7E 分段自动化前置均已复核通过。企业微信消息点击已在 2026-05-15 补充代表设备真机通过;WebView 文件选择器、移动状态标签、财务入口和代表设备渲染仍需继续记录最终反馈。
R7E 真机反馈修复部署复核
执行时间:2026-05-14。部署基线为 5491e92 修复 R7E 真机反馈回流与移动入口 WF8-11A R7E-16A R7E-16B BIZ8-12A。
| 检查项 | 结果 | 证据和结论 |
|---|---|---|
| 部署前本地门禁 | 通过 | cd client && npm run typecheck;cd client && npm run build;cd server && node --check src/routes/auth.js src/services/notifications/detailUrl.js src/routes/portal.js;cd server && npm test -- tests/unit/services/imEnqueue.test.js tests/unit/services/notificationDispatcher.test.js tests/unit/routes/auth.login.test.js tests/unit/routes/wecomAuth.test.js,4 files / 29 tests passed |
| 受控部署 | 通过,含瞬时扫描失败 | bash deploy/trialrun/deploy.sh 默认 SYNC_ENV=0;远端 build、server 重建、init、migration status 均通过;脚本末尾 public bundle 首次扫描遇到短暂 GET / failed: 502,随后公网复核恢复正常 |
| 远端 runtime smoke | 通过 | 手动补跑 smoke-external-deps.js 和 smoke-trialrun-runtime.js;企业微信、OCR、消息桥接、Prisma、功能开关和导航构建均通过 |
| 公网匿名复核 | 通过 | curl -fsS https://oa.hyinda.com/ready 返回 ok=true;首页 200;PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs:scanned=57 focused=4 findings=0 |
| 公网 live readiness | 通过,含非阻断 SKIP | 报告 artifacts/qa-flow/live-smoke-readiness-20260514-220617/;live smoke 3 passed;真实 OCR 样票 1 passed,重复发票为可解释终态;pending OCR 因本地无 DATABASE_URL 记录 SKIP |
| 公网移动矩阵 | 通过 | 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 |
| R7E 分段自动化前置 | 通过或可解释跳过 | R7E_BROWSER_FLOW=mobile 通过,员工/审批人/财务移动入口可见且无横向滚动;R7E_BROWSER_FLOW=wecom-ua 通过;R7E_BROWSER_FLOW=finance-closeout 通过但 AP/payment-batches 按 payment_batch_v1_disabled / flag_force_off 记录 SKIP |
阶段结论:最新修复已经进入企业微信代表设备复测。R7E-14 按用户确认的“付款批次先不启用,延期到 P2”口径收口;该结论不代表付款批次已启用或付款闭环已完成。
R7E 企业微信 deeplink 代表设备复测
执行时间:2026-05-15。用户反馈:“企业微信点击消息可以来了,可以免登录进到对应的详情里。”
| 检查项 | 结果 | 证据和结论 |
|---|---|---|
| 企业微信个人应用消息点击 | 通过 | wangshunli 当前手机点击新企业微信审批消息后可免登录进入对应审批详情,不再出现 requestid、tokenexpired 或“深链已过期”提示 |
| 代表消息 | 通过 | 触发消息为 【催办】请假单 2026-06-22 待审批,目标为 /mobile/approvals?taskId=822b2159-dc3c-4a65-8a49-abd70000f1b8;仓库不记录 deeplink token |
| 验收边界 | 代表设备通过 | 该证据足以关闭 WF8-11 和 R7E-9 的入口/免登录/deeplink 代表设备验收;不扩大写成所有设备均已复测 |
当前剩余真机项:移动状态标签完整显示、Android 选择器 PDF-only 口径、财务角色 /mobile 与 /mobile/me 入口,以及 R7E-18 阶段验收结论。
R7E 真机反馈二次修复记录
执行时间:2026-05-15。用户补充使用员工、主管、财务和 wangshunli 账号复测后的真机反馈。
| 反馈项 | 级别 | 归属 | 本轮处理 |
|---|---|---|---|
| 通知首页卡片只显示“新”,浏览详情后“新”消失 | PASS | R7E-15 |
按未读提醒行为接受,不改成“已读/未读”常驻状态 |
| 移动详情页左上返回按钮和报销单号贴得太近 | PASS | R7E-16C |
用户确认左上返回按钮已有清楚间距 |
| 审批卡片右侧仍只显示“待”,详情处理按钮居中且三按钮分两行 | PASS | R7E-16C |
用户确认右侧完整显示“待处理”,详情三个按钮在一行 |
财务 /mobile/me 有入口,但点击后像回首页,付款未启用提示不可发现 |
PASS | BIZ8-12B |
用户确认直接定位到财务卡片并显示“付款批次未启用” |
wangshunli 当前没有通知 |
INFO | R7E-15 |
不作为阻断;deeplink 已由此前代表消息验证关闭 |
| 审批详情中“退回”和“驳回”语义容易混淆 | MEDIUM | R7E-16D |
按产品决策保留短按钮“通过 / 驳回 / 退回”,在二次确认弹窗说明具体后果 |
本节对应修复已于 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 已于 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。
R7E 全站高风险操作确认统一
执行时间:2026-05-15。根据用户确认,将 R7E-16D 的审批二次确认模式推广到全站高风险动作,但不覆盖普通保存、筛选、分页、查看、预览或非敏感导航,避免确认疲劳。
| 检查项 | 结果 | 证据和结论 |
|---|---|---|
| 高风险确认统一 | 通过 | 新增 ActionConfirmDialog 和确认文案 helper;报销删除、敏感导出、付款批次执行、采购/差旅预检、头像/合同删除、票据判重例外、流程定义发布/归档等入口改为 OA 内确认弹窗 |
| 原生确认框清理 | 通过 | rg -n 'window\.(confirm|prompt)' client/src 无结果;不再使用浏览器原生阻塞弹窗作为业务确认 |
| PC 自动化替代人工 | 通过 | system-action-confirmation.spec.ts 覆盖取消不调用接口、确认后才调用接口;workflow-action-confirm-ui.spec.ts 覆盖审批确认;PC 端不再安排人工点击验收 |
| 移动和视觉矩阵 | 通过 | DG7+R124 本地移动矩阵 6 passed;project-wide-visual-local 通过 1 passed,并由脚本自动准备临时数据库和种子数据 |
| 公网状态 | 通过 | bf791d7 已于 2026-05-15 23:18 CST 部署到 https://oa.hyinda.com,SYNC_ENV=0,未覆盖远端 .env;部署后 /ready、public bundle、live smoke env、PC mock 自动化和移动矩阵均通过 |
部署复核:bash deploy/trialrun/deploy.sh 通过,远端构建、init、Prisma migration status、/ready、external deps smoke、runtime smoke 和 public bundle 扫描均通过。部署后补充验证:curl -fsS https://oa.hyinda.com/ready 返回 ok=true;PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs 扫描 57 个资源且 findings=0;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-smoke-env.mjs 显示 public ready、企业微信 ready、live smoke ready、live OCR ready;E2E_BASE_URL=https://oa.hyinda.com 跑 system-action-confirmation + workflow-action-confirm-ui 4 passed;DG7+R124 公网移动矩阵 6 passed。
补充说明:曾直接把 project-wide-visual.spec.ts 挂到裸 Vite 服务运行,因默认 E2E 用户和后端种子前置不足触发登录 API HTTP_500。已改用项目标准门禁 QA_SKIP_CLIENT_BUILD=1 bash scripts/qa/run-web-gates.sh project-wide-visual-local,该门禁会准备临时库、写入种子并启动本地服务,结果通过;前述失败归类为测试前置问题,不作为业务回归。
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 当前结论为 Go。2026-05-15 23:35 CST,用户明确确认“阶段验收通过”。R7E-16D 已部署、自动化通过且代表真机确认,R7E-16E/R7E-16F 也已部署并通过公网自动化复核;当前 P0/P1 阻断为 0。
| 检查项 | 当前状态 | 处理 |
|---|---|---|
| QAOPS8 发布、备份、回滚和 SLO 基线 | 已形成 | 可作为 R7E 启动前准备证据 |
| R7E-1..7 人工启动确认 | 已确认 | 可以进入启动当天公网健康复核 |
| R7E-8 公网健康复核 | 已完成 | 最新代码 bf791d7 已部署;/ready、public bundle、远端 migration 状态、live readiness、公网 PC 确认自动化和移动矩阵通过 |
| R7E-9..15 真实业务和真机流程 | 已完成 | 浏览器业务线已关闭报销、审批边界、请假、采购;R7E-9 入口、免登录和消息 deeplink 已按代表设备关闭;R7E-14 按付款批次延期到 P2 口径收口;R7E-15 审批二次确认代表真机反馈已确认 |
| R7E-16..18 每日问题和验收结论 | 已完成 | R7E-16E/R7E-16F 已部署并公网验证;R7E-17 按无 P0/P1 阻断关闭;R7E-18 用户确认阶段验收通过 |
| WF8-11 通知 deeplink 回 OA | 已完成 | 2026-05-15 代表设备企业微信消息点击可免登录进入目标审批详情;WF8 可阶段关闭 |
| BIZ8-12/13 移动业务入口和权限回归 | 已完成 | wangzhiling 已确认财务入口定位和付款未启用空态;财务/项目权限回归通过,BIZ8 可阶段关闭 |
Go 结论边界:
- R7E 阶段验收通过,允许进入后续 P2 排序和上线硬化收口。
- PC 高风险动作确认由 Playwright 和视觉门禁验收,不再安排人工 PC 点击。
- 企业微信真机后续只保留消息、免登录、WebView 文件选择器和系统选择器这类真实环境差异项。
- 付款批次闭环已完成 P2-FIN 决策准备,后续只能进入单独
P2-FIN-V1实现合同,不作为当前 R7E 阻断。
结论:当前可以关闭 WF8-11、R7E-9、R7E-15、R7E-17、R7E-18、R7E-19、R7E-20、QAOPS8-17、QAOPS8-19、QAOPS8-20 和 BIZ8 阶段流。R7E-14 已按付款批次延期到 P2 的变更口径收口;P2-FIN 决策准备已完成,后续优先级为 P2-FIN-V1 独立实现合同、图片 OCR 样票治理、UX8 真机反馈、审批通知和轻业务增强。P2 功能开发必须另建或延续对应连续合同,本报告不启动新功能。
历史恢复
需要追溯 R70-R91 的详细流水时,使用:
git show 5da05eb:docs/trialrun/人工试运行报告.md