83 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,企业微信只负责打卡原始采集和风控。公网复检显示旧打卡 API 返回 409、统一考勤月度汇总和修正列表可读、移动/企业微信矩阵 14 passed;企微 live 同步依赖已授权调用打卡 API 的自建应用 Secret 和企微权限,WECOM_CHECKIN_SECRET可显式覆盖,未配置时复用已授权工作台应用的WECOM_AGENT_SECRET,缺配置时记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。 - 2026-05-17 HR-WECOM-DIRECTORY-V1 已完成并部署公网:产品口径已调整为 ERP 未来不接入 OA;人事生命周期和考勤同属 HR 大域但分模块实现。OA 继续作为员工、权限、审批和审计主事实源;企业微信作为通讯录、入口、通知和打卡采集基础设施。HRWD 新增企业微信通讯录同步 flag、配置、同步记录、入职创建/资料更新/离职禁用钩子和员工管理重试入口。本地后端/前端/Playwright 通过,部署后公网 readiness、PDF live OCR、HRWD 端点 SKIP 检查和公网移动/企微矩阵通过;部署过程中发现
seed-config会覆盖正式 feature flag,已修正为只创建缺失开关并复部署验证,最终payment_batch_v1=force_on、erp_sync=force_off。 - 2026-05-17 HRWD-CONTACT-LIVE-TEST 已完成公网企业微信通讯录真实写入闭环:使用
HRWDTEST-20260517214548测试员工,验证 OA 创建员工后由 onboarding 触发企微 create、资料更新触发企微 update、离职 checklist 完成后禁用 OA 账号并触发企微 disable;三次企微同步均为wecom_contact_synced且errcode=0。普通员工查看/重试他人同步状态被拒绝,审计日志包含WECOM_DIRECTORY_CREATE/UPDATE/DISABLE;测试成员按约定保留离职/禁用状态,不删除。 - 2026-05-17 WCFB 已完成企微打卡同步 Secret 兼容修正的本地验证:用户确认「工作台」就是 OA 企业微信入口应用,且该应用已在企业微信打卡 API「可调用接口的应用」中授权。OA 后端调整为
WECOM_CHECKIN_SECRET显式优先,未配置时复用已授权工作台应用的WECOM_AGENT_SECRET,避免重复维护同一个 Secret;本地语法检查、focused 单测、文档和项目 skill 校验通过。该修正尚未部署到公网,部署后需复检企微打卡同步。 - 2026-05-18 WFOC 已完成“企微优先 + OA 无痛接管”需求重构:用户确认能用企业微信成熟能力就优先使用企业微信,第一批聚焦 HR/考勤员工日常审批;OA 目标调整为镜像、人工接管、恢复回写、RuleOps、财务闭环和审计中台。员工主数据后续以企微/人事助手为主,OA 同步镜像;企微故障时由管理员人工开启 OA 应急模式;企微恢复后 OA 对应急数据 dry-run 并自动回写。本轮只更新需求事实源、手册、索引和 Issue CSV,不改业务代码、不部署、不改公网配置;后续实现需另拆
wecom_hr_master_sync_v1、wecom_native_approval_mirror_v1、oa_hr_emergency_mode_v1、wecom_recovery_writeback_v1、wecom_ruleops_v1。DBWFOC 后该口径进一步收窄为按域镜像和 OA 主办数据边界。 - 2026-05-18 DBWFOC 已完成“企微能力参考 + OA 主办数据边界”修正:HR/考勤员工日常审批优先复用企业微信;采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办。企业微信成熟功能可作为流程、字段、交互和规则参考,但不默认托管 OA 主办业务数据;企业微信消息只承载脱敏标题、业务类型、编号、状态和 OA deeplink。采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。本轮只更新需求事实源、手册、索引、项目 skill 和 Issue CSV,不改业务代码、不部署、不改公网配置。
- 2026-05-18 WFDG 已完成“企微优先 + OA 主办数据边界”的设计规约门禁:后续开发前必须先判定业务域主办方、主事实源、操作端、镜像方向、附件归属和审计责任;PC/移动页面需区分
OA 主办、企微镜像和OA 应急接管;企微同步必须具备幂等、重试、脱敏日志、审计记录和SKIP/BLOCKED_BY_EXTERNAL_CONFIG。下一轮先做WECOM-CAPABILITY-POC-V1,输出CAN_REUSE_NOW、NEEDS_CONFIG、NEEDS_API_POC、KEEP_OA_PRIMARY、NOT_SUPPORTED_BY_API能力矩阵;本轮不改业务代码、不部署、不调用生产写接口。 - 2026-05-18 WDRG 已完成“企微优先后续开发路线图”门禁:新增
docs/企微优先开发路线图.md,固定“路线图门禁 + 单功能 Issue CSV”的工程节奏。后续顺序为WECOM-CAPABILITY-POC-V1->wecom_hr_master_sync_v1->wecom_attendance_approval_mirror_v1->oa_hr_emergency_mode_v1->wecom_recovery_writeback_v1->wecom_ruleops_v1;阶段未退出前禁止跳阶段。本轮只更新路线图、交付规约、事实源、手册、项目 skill 和 Issue CSV,不改业务代码、不部署、不调用公网写接口。 - 2026-05-18 WCP1 已完成企业微信能力 POC:新增 QA-only 只读 runner
scripts/qa/check-wecom-capability-poc.mjs,本地不开启 live read 时可解释为PAUSE_FOR_API_POC,本地开启 live read 但无真实 env 时可解释为PAUSE_FOR_CONFIG;部署服务器容器内 live 只读探测报告为远端/tmp/wecom-capability-poc-wcp1/summary.json,历史结论为PAUSE_FOR_CONFIG。该报告继续作为初始配置缺口证据保留,当前 HR 主数据镜像准入以 WCPC 复跑结论为准。 - 2026-05-18 WCPC 已完成 WCP1 配置收口复跑:先完成未补配置前远端基线复跑,报告目录
/tmp/wecom-capability-poc-wcpc-baseline,结论为PAUSE_FOR_CONFIG;随后按用户要求自动查找并使用既有在职低风险测试号SMOKE002/测试员工(报告只记录oa_smoke***)复跑,只读报告/tmp/wecom-capability-poc-wcpc-smoke002/summary.json返回PASS / GO_TO_HR_MASTER_SYNC,nextStageAllowed=true,blockingCapabilities=[],状态计数为CAN_REUSE_NOW=15、NEEDS_CONFIG=3、NEEDS_API_POC=1、KEEP_OA_PRIMARY=1。本轮不部署、不改业务代码、不持久写服务器.env;下一步允许规划wecom_hr_master_sync_v1,审批模板/实例、回调配置和 HR 写接口仍留后续合同。 - 2026-05-18 WHMS 已完成企微 HR 主数据镜像本地实现、部署和受控公网验证:新增
wecom_hr_master_sync_v1默认force_off,实现企业微信通讯录/人事助手读取、dry-run/apply、同步批次/逐员工记录、管理员 API、People 管理卡片和 QA-only runner。WHMSLIVE 部署到https://oa.hyinda.com并应用 migration20260518184319_wecom_hr_master_sync_v1;公网临时force_on后对SMOKE002/测试员工(脱敏oa_smoke***)执行 dry-run 和显式 userids apply,企微读取链路通过,因企微侧缺手机号、邮箱和部门按missing_required_field跳过,未写 OA 主数据;普通员工访问同步 API 返回 403;最终wecom_hr_master_sync_v1=force_off。未执行生产真实员工批量 apply,不代表考勤/审批镜像、应急接管、恢复回写或 RuleOps 已完成。 - 2026-05-18 WOUA 已完成 OA active 员工 vs 企业微信通讯录 + 人事助手的只读对账 runner、本地门禁、受控部署和公网执行。初始公网报告因旧读取路径返回
SKIP / BLOCKED_BY_EXTERNAL_CONFIG;WAPI 固化 Secret 矩阵和user/list_id+ 人事助手读取后复跑成功,远端脱敏报告/app/artifacts/qa-flow/wecom-oa-user-consistency-20260518T142544Z/summary.json结论为PASS_WITH_FINDINGS。当前只读计数:oaEmployees=13、oaActiveEmployees=12、oaActiveWithBinding=5、wecomProfiles=5、matchedActive=5、oaActiveMissingInWecom=7、inactiveWithBinding=1、missingRequiredFields=5。本轮未修改 OA 或企微用户,未执行真实员工批量 apply,不能据此判定“OA 和企微用户已一致”;下一步应按差异决定 WOUA-FIX 或 WHMS 批量同步窗口。 - 2026-05-18 WOUA-FIX 已按用户确认执行受控写入:7 个 OA active 缺企微账号均确认为测试/Smoke 数据并软归档,
oaActiveMissingInWecom复检为 0;T0000seed 逻辑已修正为存在真实 active admin 时不再复活已归档 fallback 管理员;SMOKE201归档后遗留的SMOKE101主管和 2 个测试请假待办已转交HYD000007。复检报告/app/artifacts/qa-flow/wecom-oa-user-consistency-20260518T161716Z/summary.json:OA active 5、企微 active 5、匹配 5、OA active 缺企微 0;剩余missingRequiredFields=5按用户决策先接受不补,HRWDTEST-20260517214548归档绑定保留为审计项。本轮不写企微资料,不执行真实员工 WHMS 批量 apply,不代表考勤/审批镜像可直接开工。
关键证据索引
| 批次 | 当前状态 | 证据入口 |
|---|---|---|
| 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 |
| HR-WECOM-DIRECTORY-V1 | 已收口:人事生命周期与企业微信通讯录同步闭环已部署公网;ERP 改为未来不接入 OA;员工创建/入职/调岗/资料变更/离职可触发企微通讯录创建、更新、禁用并记录同步状态;缺外部配置时公网重试记录 SKIP wecom_contact_sync_disabled,不阻断 OA 人事流程;部署 seed 已修正为不覆盖正式 flag |
issues/2026-05-17_20-00-40-hr-wecom-directory-v1.csv、server/tests/unit/routes/employees.wecomDirectory.test.js、artifacts/qa-flow/live-smoke-readiness-20260517-205813/summary.json、docs/需求-企业微信基础设施规约.md |
| HRWD-CONTACT-LIVE-TEST | 已收口:公网企微通讯录真实写入闭环通过;测试员工 HRWDTEST-20260517214548 完成 create/update/disable,企微 errcode=0,OA 最终 archived/inactive,离职后登录负例、普通员工权限负例和审计动作均通过;最终保留离职/禁用,不删除成员 |
issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv、artifacts/qa-flow/hrwd-contact-live-test-20260517T134548Z/summary.json、artifacts/qa-flow/live-smoke-readiness-20260517-214632/summary.json |
| WOUA/WAPI | 已收口:OA/企微用户一致性只读审计 runner 已按 WAPI 读取口径复跑;公网报告 PASS_WITH_FINDINGS,OA 侧脱敏计数 13/12/5,企微可见 active 5,匹配 5,OA active 缺企微 7,已归档仍有绑定 1,缺必填字段 5;未修改 OA/企微用户,未执行真实员工批量 apply |
issues/2026-05-18_20-45-58-wecom-oa-user-consistency-audit.csv、issues/2026-05-18_21-46-41-wecom-api-capability-catalog-runtime-first.csv、/app/artifacts/qa-flow/wecom-oa-user-consistency-20260518T142544Z/summary.json |
| WOUA-FIX | 已受控写入并复检:7 个缺企微测试账号软归档,T0000 seed 不再复活,SMOKE201 归档后的测试主管和待办副作用已转交;复检 OA active 5、企微 active 5、匹配 5、OA active 缺企微 0;剩余 5 个企微缺字段先接受不补,1 个归档绑定保留审计 | issues/2026-05-18_23-45-45-wecom-oa-user-consistency-fix-runtime-ready.csv、/app/artifacts/qa-flow/wecom-oa-user-consistency-fix-20260518T160944Z/summary.json、/app/artifacts/qa-flow/wecom-oa-user-consistency-20260518T161716Z/summary.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 记录。 |
| HRWD-CONTACT-LIVE-TEST 企微通讯录公网闭环 | 通过,结论 PASS |
新增 QA-only runner scripts/qa/run-hrwd-contact-live-test.mjs;公网创建 HRWDTEST-20260517214548 测试员工,onboarding 触发企微 create、资料变更触发 update、offboarding checklist 触发 disable,三次同步均 errcode=0;OA 账号最终 archived/inactive,离职后登录 403 AUTH_003,普通员工同步状态权限负例和审计动作均通过;报告 artifacts/qa-flow/hrwd-contact-live-test-20260517T134548Z/summary.json。 |
| WCFB 企微打卡 Secret 复用 | 本地通过,待部署复检 | Issue issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv;WECOM_CHECKIN_SECRET 显式优先,未配置时复用已授权工作台应用的 WECOM_AGENT_SECRET;本地 node --check、attendance.test.js、Issue CSV 校验、文档审计和 skill 校验通过。 |
| WFOC 企微优先 + OA 无痛接管需求重构 | 通过,无运行时变更 | Issue issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv;PRD、企业微信基础设施规约、统一审批规约、请假考勤规约、管理员手册、员工快速上手、文档索引和事实源矩阵已回写。结论只代表需求方向冻结,不代表企微审批镜像、OA 接管或恢复回写已实现。 |
| DBWFOC 企微能力参考 + OA 主办数据边界 | 通过,无运行时变更 | Issue issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv;PRD、产品口径、企微基础设施规约、统一审批规约、请假考勤规约、采购/合同/报销/项目规约、管理员手册、员工快速上手、文档索引、事实源矩阵和项目 skill 已回写。结论固定:HR/考勤员工日常审批企微优先,OA 主办高敏业务不进企微原生审批或企微附件。 |
| WFDG 企微优先设计门禁 | 通过,无运行时变更 | Issue issues/2026-05-18_12-21-01-wecom-first-design-gate.csv;产品口径、PRD、产品设计规则、企业微信基础设施规约、统一审批规约、请假考勤规约、管理员手册、员工快速上手、文档索引、事实源矩阵和项目 skill 已回写。结论 DONE_DESIGN_READY,下一步进入 WECOM-CAPABILITY-POC-V1;不代表企微 HR/考勤镜像、OA 应急接管、恢复回写或 RuleOps 已实现。 |
| WDRG 企微优先开发路线图门禁 | 通过,无运行时变更 | Issue issues/2026-05-18_12-44-10-wecom-development-roadmap-gate.csv;新增 docs/企微优先开发路线图.md,并回写交付规约、产品口径、PRD、管理员手册、员工快速上手、文档索引、事实源矩阵和项目 skill。结论 DONE_ROADMAP_READY;其下一步 WECOM-CAPABILITY-POC-V1 已由 WCP1/WCPC 执行并收口,不代表运行时迁移已完成。 |
| WCP1 企业微信能力 POC | 完成只读 POC,历史结论 PAUSE_FOR_CONFIG |
Issue issues/2026-05-18_13-30-07-wecom-capability-poc-v1.csv;新增 scripts/qa/check-wecom-capability-poc.mjs。本地脚本门禁通过,远端容器内 live 只读报告为 /tmp/wecom-capability-poc-wcp1/summary.json:CAN_REUSE_NOW=9、NEEDS_CONFIG=8、NEEDS_API_POC=1、KEEP_OA_PRIMARY=1。阻断为 contact.member_read=wecom_errcode_48009、hr.staff_read=wecom_errcode_60021、打卡同步未开启、缺审批模板/实例、假期权限 wecom_errcode_301062 和回调配置;该历史阻断已由 WCPC 复跑收口。 |
| WCPC 企业微信能力 POC 配置收口 | 通过,结论 GO_TO_HR_MASTER_SYNC |
Issue issues/2026-05-18_15-01-23-wecom-capability-poc-config-closeout-v1.csv;未补配置前远端基线复跑报告 /tmp/wecom-capability-poc-wcpc-baseline 为 PASS / PAUSE_FOR_CONFIG;随后使用既有在职测试号 SMOKE002/测试员工(脱敏 oa_smoke***)完成只读复跑,报告 /tmp/wecom-capability-poc-wcpc-smoke002/summary.json,nextStageAllowed=true,blockingCapabilities=[],CAN_REUSE_NOW=15、NEEDS_CONFIG=3、NEEDS_API_POC=1、KEEP_OA_PRIMARY=1。该准入已由 WHMS 承接;审批模板/实例、回调配置和 HR 写接口仍留后续合同。 |
| WHMS 企微 HR 主数据镜像 | 已部署并完成受控公网验证 | Issue issues/2026-05-18_18-43-19-wecom-hr-master-sync-v1.csv、issues/2026-05-18_19-28-25-whms-deploy-live-verify-v1.csv;已部署 wecom_hr_master_sync_v1、同步批次/逐员工记录、企微通讯录/人事助手读取服务、管理员 API、People 管理卡片和 scripts/qa/check-wecom-hr-master-sync.mjs。公网 dry-run/apply 对 SMOKE002 返回 missing_required_field skip,未写 OA 主数据;权限负例 403;最终 force_off,未执行生产真实员工批量 apply。 |
| WOUA/WAPI OA/企微用户一致性只读对账 | 已复跑,结论 PASS_WITH_FINDINGS |
Issue issues/2026-05-18_20-45-58-wecom-oa-user-consistency-audit.csv 和 issues/2026-05-18_21-46-41-wecom-api-capability-catalog-runtime-first.csv;WAPI 修正读取口径为通讯录 user/list_id + 可选成员详情 + 人事助手花名册。公网只读报告 /app/artifacts/qa-flow/wecom-oa-user-consistency-20260518T142544Z/summary.json:oaEmployees=13、oaActiveEmployees=12、oaActiveWithBinding=5、wecomProfiles=5、matchedActive=5、oaActiveMissingInWecom=7、inactiveWithBinding=1、missingRequiredFields=5。未打开 wecom_hr_master_sync_v1,未调用 WHMS dry-run/apply API,未修改 OA/企微用户。 |
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 混授 |
| WOUA-FIX 后账号事实 | 已更新 | 2026-05-18 后,SMOKE001、SMOKE201、SMOKE301、SMOKE302、SMOKE401、T0000 已作为缺企微测试数据软归档;R7EP 账号角色只读核验保留为 2026-05-13 历史证据,不再代表当前可执行测试账号清单。 |
| 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