文件
hyb-oa/docs/trialrun/人工试运行报告.md
T

66 KiB
原始文件 Blame 文件历史

人工试运行报告

文档状态:当前试运行证据摘要。 适用时间: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 smoke 3 passed,真实 OCR 1 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/渲染矩阵均形成证据;公网测试数据均带 PRELAUNCH marker。最终 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 smoke 3 passed、PDF live OCR 1 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,企业微信只负责打卡原始采集和风控。公网复检显示旧打卡 API 返回 409、统一考勤月度汇总和修正列表可读、移动/企业微信矩阵 14 passed;企微 live 同步依赖 WECOM_CHECKIN_SECRET 和企微打卡 API 权限,缺配置时记 SKIP。
  • 2026-05-17 LAUNCH-AUTO-OPS-V1 已完成正式启用后自动化收口脚本和证据刷新:本地 Prisma/node check/focused 单测、前端 typecheck/build、公网 readiness、PDF live OCR、统一考勤 live 检查、公网移动矩阵和企业微信 UA/渲染矩阵均通过;显式企微打卡同步检查返回 SKIP wecom_checkin_sync_disabled;但只读 flag 检查发现当前公网 payment_batch_v1=force_off,与 FIN-PROD-ENABLE 记录的正式常开口径不一致,结论为 PAUSE_FOR_FIX。runner 已跳过付款批次写入,未切换 flag、未部署、不接真实支付、不接 ERP。
  • 2026-05-17 AUTO-REMAINING-CLOSEOUT 已完成剩余无需人工操作收口:受控恢复公网 payment_batch_v1=force_on,保持 erp_sync=force_off;复跑 run-launch-auto-ops.sh 通过,公网测试报销 BX-20260517-0027 完成审批、付款批次创建/复核、回单上传/下载、付款执行、AP 导出和审计核验;公网移动矩阵 6 passed、企业微信渲染矩阵 8 passed。显式企微打卡同步仍为 SKIP wecom_checkin_sync_disabled,属于外部后台配置缺口,不阻断 OA 统一考勤入口和正式运营门禁;结论 GO_TO_OPERATE。

关键证据索引

批次 当前状态 证据入口
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 补卡/外出/加班审批和月度解释;公网 readiness、移动/企微矩阵和考勤关键接口复检通过 issues/2026-05-17_14-59-28-attendance-unified-wecom-sync-v1.csv、artifacts/qa-flow/live-smoke-readiness-20260517-171535/summary.json、docs/需求-请假考勤修正规约.md、docs/需求-企业微信基础设施规约.md
LAUNCH-AUTO-OPS-V1 阶段收口:自动化证据完成,结论 PAUSE_FOR_FIX;除付款批次正式 flag 漂移外,本地门禁、公网 readiness/PDF live OCR、统一考勤、公网移动和企业微信 UA/渲染矩阵均通过;付款批次写入因前置失败被跳过 issues/2026-05-17_17-47-45-launch-auto-ops-v1.csv、artifacts/qa-flow/launch-auto-ops-20260517-175548/summary.json、artifacts/qa-flow/live-smoke-readiness-20260517-175755/summary.json
AUTO-REMAINING-CLOSEOUT 已收口:剩余自动化运营门禁通过,结论 GO_TO_OPERATE;公网 payment_batch_v1=force_on、erp_sync=force_off,付款批次常开闭环、AP 导出、审计、公网移动和企业微信渲染矩阵均通过;企微打卡同步外部配置仍记 SKIP issues/2026-05-17_19-30-44-auto-remaining-closeout.csv、artifacts/qa-flow/launch-auto-ops-20260517-193317/summary.json、artifacts/qa-flow/launch-auto-ops-20260517-193317/live-result.json

当前门禁

门禁 状态 说明
公网地址 可用 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 考勤统一入口 通过,已部署 部署提交 916cc3b + 移动入口修正 b2b4447;历史 OA 自建打卡关闭,补卡、外出、加班已进入 OA 统一审批和月度解释;公网 /ready、live smoke、PDF live OCR、移动/企业微信矩阵 14 passed;企微 live 同步缺配置时按 SKIP 记录。
LAUNCH-AUTO-OPS-V1 正式启用后自动化收口 暂停,结论 PAUSE_FOR_FIX run-launch-auto-ops.sh 报告 artifacts/qa-flow/launch-auto-ops-20260517-175548/;本地门禁、live readiness、PDF live OCR、考勤统一入口、公网移动矩阵 6 passed、企业微信渲染矩阵 8 passed;只读 flag 检查失败:payment_batch_v1=force_off,期望为正式常开 force_on,因此付款批次写入回归被安全跳过。
AUTO-REMAINING-CLOSEOUT 剩余自动化收口 通过,结论 GO_TO_OPERATE 新增 QA-only flag 恢复脚本并受控恢复 payment_batch_v1=force_on;run-launch-auto-ops.sh 报告 artifacts/qa-flow/launch-auto-ops-20260517-193317/,本地门禁、live readiness、PDF live OCR、正式 flag、统一考勤、付款批次常开闭环、公网移动矩阵 6 passed、企业微信渲染矩阵 8 passed;测试报销 BX-20260517-0027 paid,票据 archived,AP 台账 paid;企微打卡同步缺后台配置按 SKIP wecom_checkin_sync_disabled 记录。

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”口径收口;该结论不代表付款批次已启用或付款闭环已完成。

执行时间: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