WROUTE2 锁定测试号到最小镜像路线

这个提交包含在:
2026-05-20 20:38:21 +08:00
父节点 728e61876d
当前提交 eab48cc7e4
共修改 14 个文件,包含 51 行新增和 22 行删除
+8 -7
查看文件
@@ -2,10 +2,11 @@
**文档状态**:当前开发路线图事实源。
**分类**:开发治理 / 路线图。
**适用时间**:WDRG / WCP1 / WHMSLIVE / WOUA / WAPI / WRRA / WOUA-FIX / WRV1 / WRA1 / WMSG1 / WAPC1 / WAPC2 / WPROC1 / WPROC2 / WAPC2F / WAPC2FLIVE / WCBK1 / WEGOV1 / WACP3 / WACP3R / WREAD1 / WREAD1F / WADM1 / WARCH1 / WARCH2 / WROAD2 / WARCH3 / WCHECK1 / WEXT1 / WOPS1 / WROAD2-CLOSEOUT / WROAD2-BIZ1 / WAPPR1 / WAUTO1 / WEXT1LD / WFULLSMOKE1 / WREAL1-PREP / WEXT1-LIVE 路线选择之后。
**关联 Issue**:`WDRG,WCP1,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WREAD1F,WADM1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WREAL1P`。
**适用时间**:WDRG / WCP1 / WHMSLIVE / WOUA / WAPI / WRRA / WOUA-FIX / WRV1 / WRA1 / WMSG1 / WAPC1 / WAPC2 / WPROC1 / WPROC2 / WAPC2F / WAPC2FLIVE / WCBK1 / WEGOV1 / WACP3 / WACP3R / WREAD1 / WREAD1F / WADM1 / WARCH1 / WARCH2 / WROAD2 / WARCH3 / WCHECK1 / WEXT1 / WOPS1 / WROAD2-CLOSEOUT / WROAD2-BIZ1 / WAPPR1 / WAUTO1 / WEXT1LD / WFULLSMOKE1 / WROUTE2 / WREAL1-PREP / WEXT1-LIVE 路线选择之后。
**关联 Issue**:`WDRG,WCP1,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WREAD1F,WADM1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WROUTE2,WREAL1P`。
**最近审计**:2026-05-20。
**不得误读**:本文只控制后续开发节奏、阶段顺序和门禁。WHMSLIVE 后只代表企微 HR 主数据镜像已部署并受控验证;WAPI 后进一步固定企微 API/Secret 口径并转为运行优先;WRRA 后明确 `PASS_WITH_FINDINGS` 只代表只读对账成功且存在差异,不代表企微考勤/审批镜像、OA 应急接管、恢复回写或 RuleOps 已完成运行时实现。WMSG1 只证明企业微信应用消息可达和 Deeplink 可回到 OA;WAPC1 只固化审批配置准备清单;WAPC2 只新增请假/补卡模板详情和低风险 `sp_no` 审批详情只读 POC,不代表真实回调或镜像能力已完成。WPROC1 后,WAPC2 不直接放行深度镜像,必须先完成自动样件、回调、补偿拉取和镜像数据模型设计门禁。WPROC2 只新增可执行 process gate。WAPC2FLIVE 已创建 OA-POC 请假/补卡测试模板和低风险测试审批单,并自动复跑 WAPC2 得到 `PASS_APPROVAL_POC`。WCBK1 已完成真实回调 URL 验证和一条现有 OA-POC 测试审批单事件确认,公网报告为 `PASS_CALLBACK_EVENT_CONFIRMED`;WEGOV1 后路线明确为“企微成熟功能优先上线,OA 做自建留存、审计、入口、消息和应急兜底”。WACP3R 已将补偿拉取复跑修正为自动按 `SMOKE002` creator 发现 OA-POC 请假/补卡模板,公网报告 `/app/artifacts/qa-flow/wecom-approval-compensation-poc-20260519T115944Z/summary.json` 为 `PASS_WITH_FINDINGS`。WREAD1F 新样例后,审批人真机确认请假和补卡消息卡片、列表、详情页均可看清;远端人工结果报告 `/app/artifacts/qa-flow/wecom-approval-readability-gate-20260519T133628Z/summary.json` 为 `PASS_READABLE`。但同意按钮单击即通过仍是操作风险,需在 WARCH1/WARCH2 的留存、审计、提示或操作规程中继续处理。WADM1 只完成自建留存/镜像数据模型设计;WARCH1 只实现请假/补卡最小审批历史留存、回调事件入库、补偿拉取入库和 QA-only 离线读取证明;WARCH2 只提供 OA DB 只读查询 API 和 PC/移动历史页,不调用企微 API、不读取企微 Secret、不代表完整镜像、外出/加班、应急接管、恢复回写或 RuleOps 已完成。WROAD2 后当前策略是测试账号受控上线和每日脚本化巡检,允许补偿归档写 OA 自建留存库,但不写企业微信、不扩大真实员工范围;WARCH3 将每日巡检升级为服务器 `systemd timer` 与脱敏企微告警,WCHECK1 增加打卡规范化明细、日/月摘要和规则快照留存,WEXT1 只完成外出/加班 dry-run 支持。WOPS1 已公网验证巡检告警降噪:`HYD000006` 是管理员 `wangshunli` 的 employee_no,脚本不再把姓名字符串当员工号;已知 finding 不重复发送,只有阻断、脚本失败、新增 finding 或状态恶化才告警。WROAD2-BIZ1 在三天内补充测试账号人工业务冒烟;WAPPR1 将申请人任意选择审批人列为真实试用前阻断 finding。WAUTO1 只做只读证据汇总,WEXT1LD 只做外出/加班 live 前 dry-run,均不授权 live 创建。WFULLSMOKE1 是三天全域最终目标测试总控,只聚合企微 HR/考勤、OA 主办域、移动端和运维巡检证据;它允许在公网试运行环境创建带 `TEST/SMOKE/WFULL` 标记的 OA 测试业务数据,但不写企业微信、不创建外出/加班样件、不做真实付款、不接真实支付、不写 ERP、不导入银行流水、不启用真实员工。WREAL1-PREP 只准备真实小范围试用清单,不启用真实员工;后续顺序收紧为 WROAD2-CLOSEOUT 三天验收 -> WROAD2-BIZ1 三天业务冒烟 -> WAPPR1 审批规则规范化 -> WAUTO1 自动证据汇总 -> WEXT1LD 外出/加班 live 前 dry-run -> WFULLSMOKE1 三天全域最终目标测试 -> WEXT1-LIVE 外出/加班测试号 live POC -> 请假/补卡/外出/加班四类测试号证据和审批规则门禁通过后再问真实小范围试用。上述阶段仍不代表完整深度镜像、应急接管、恢复回写或 RuleOps 已完成。
**WROUTE2 补充口径**:WFULLSMOKE1 之后先锁定测试号全域收口,再进入 WEXT1-LIVE 问答;WREAL1 首批固定为 1 名真实员工 + 1 名审批人/管理员观察;WREAL1 通过后优先规划 `wecom_attendance_approval_mirror_v1` 最小完整镜像,应急接管、恢复回写和 RuleOps 后置。
## 1. 路线图原则
@@ -20,7 +21,7 @@
- WAUTO1 把三天受控试用证据汇总脚本化:只复检 `/ready`、读取既有 WROAD2/WARCH3/WCHECK1/WEXT1 报告、执行只读/离线 runner 和外出/加班 dry-run,不触发 WROAD2 补偿归档写库路径,不写企微、不创建模板或审批单。
- WEXT1LD 是外出/加班 live 前 dry-run gate:远端只执行 `npm run check:wecom-approval-fixtures -- --format=json --target=outing --target=overtime`,不设置 `WECOM_APPROVAL_FIXTURE_WRITE=1`,不带 `--live`/`--create-templates`/`--submit-test-approvals`;通过后仍只进入人工问答。
- WFULLSMOKE1 把三天目标从“企微受控巡检”扩展为全域主路径闭环:企微 HR/考勤、OA 报销、采购、合同/项目、付款批次、移动端和运维巡检一起汇总;只允许 `TEST/SMOKE/WFULL` 标记的 OA 测试业务数据,不写企业微信、不真实付款、不写 ERP、不导入银行流水。
- WREAL1-PREP 只做真实小范围试用准备,当前继续测试账号;真实员工名单、试用周期、回滚联系人和验收标准必须等 WROAD2-CLOSEOUT、WROAD2-BIZ1、WAPPR1、WAUTO1/WEXT1LD、WFULLSMOKE1、WEXT1-LIVE、四类测试号证据和审批规则门禁通过后再通过问答确认。
- WROUTE2 后锁定“测试号全域收口 -> 外出/加班测试号 live POC -> 真实小试用 -> 最小完整镜像”:当前不启用真实员工;WREAL1 首批固定为 1 名真实员工 + 1 名审批人/管理员观察;WREAL1 通过后优先规划 `wecom_attendance_approval_mirror_v1` 最小完整镜像,不先做应急接管、恢复回写或 RuleOps。
- 企业微信自建应用不按完整隔离 sandbox 处理;后续默认使用真实企业内受控测试域、本地 synthetic 自动测试、公网 live runner 和少量真机确认。
- 阶段未满足退出条件前不得跳阶段。线上缺陷、安全风险、正式使用阻断或真实反馈可以另开独立 Issue CSV,但不得混入企微 HR/考勤主路线。
- ERP 未来不接入 OA;真实支付、图片 OCR、银行流水导入、复杂 BPM、审批设计器、重预算和其他 P2 大功能继续冻结,试用期只处理阻断和真实反馈。
@@ -67,7 +68,7 @@
| `WAUTO1` | 自动证据汇总已实现 | 新增 `scripts/qa/collect-wecom-controlled-trial-evidence.sh`,只读汇总 WROAD2/WARCH3/WCHECK1/WROAD2-BIZ1/WAPPR1/WEXT1 dry-run 证据,并复跑 `/ready`、审批补偿只读、审批归档离线、打卡摘要 offline、外出/加班 dry-run 和隐私扫描。脚本默认不写 OA DB、不写企业微信、不创建模板或审批单,结论限定为 `PASS_AUTO_EVIDENCE_READY`、`PASS_WITH_FINDINGS`、`PAUSED_MANUAL_CONFIRMATION` 或 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`。 |
| `WEXT1LD` | 外出/加班 live 前 dry-run gate 已实现 | 新增独立 dry-run 合同,远端只执行外出+加班 payload dry-run;固定 `SMOKE002 -> SMOKE101` 和 `WECOM_AGENT_SECRET`,不尝试其他 Secret,不设置写入双开关。dry-run 通过后仍必须问答选择是否一次性 live 创建样件、只保留 dry-run 或移出 V1。 |
| `WFULLSMOKE1` | 三天全域最终目标测试已建档 | 新增总控合同和 `scripts/qa/run-three-day-full-goal-smoke.sh`,聚合企微 HR/考勤、OA 报销、采购、合同/项目、付款批次、移动端和运维巡检。脚本可在具备凭据且未关闭写入时创建带 `TEST/SMOKE/WFULL` 标记的 OA 测试业务数据;不写企业微信、不创建外出/加班样件、不启用真实员工、不做真实付款、不接真实支付、不写 ERP、不导入银行流水。 |
| `WREAL1-PREP` | 真实小范围试用准备已固化 | 只固化候选员工条件、非自审审批人条件、回滚联系人、允许流程、暂停条件和验收标准;当前继续测试账号,四类测试号证据、WAPPR1 审批规则门禁和 WFULLSMOKE1 可解释通过后才问是否启动真实小范围试用。 |
| `WREAL1-PREP / WROUTE2` | 真实小范围试用准备和路线锁定已固化 | 只固化候选员工条件、非自审审批人条件、回滚联系人、允许流程、暂停条件和验收标准;当前继续测试账号,四类测试号证据、WAPPR1 审批规则门禁和 WFULLSMOKE1 可解释通过后才问是否启动真实小范围试用;首批真实试用固定为 1 名真实员工 + 1 名审批人/管理员观察。 |
## 3. 阶段路线
@@ -97,10 +98,10 @@
| 22 | `WAUTO1 受控试用证据自动汇总` | 自动汇总三天受控试用证据,准备 WAPPR1 人工确认和 WEXT1-LIVE 问答。 | WROAD2-BIZ1/WAPPR1 已建档,用户要求能自动执行的全部脚本化。 | 新脚本默认只读,不触发补偿归档写库,不写企微;输出脱敏 summary 和 WAPPR1 人工清单。 |
| 23 | `WEXT1LD 外出/加班 live 前 dry-run gate` | 在 live 创建前远端只执行外出/加班 dry-run。 | WEXT1 dry-run runner 已存在;用户要求 live 前先自动 dry-run。 | 不带 live 写入参数;通过后只进入问答,不自动创建模板或审批单。 |
| 24 | `WFULLSMOKE1 三天全域最终目标测试` | 汇总企微 HR/考勤、OA 报销、采购、合同/项目、付款批次、移动/企微入口和运维巡检主路径。 | 用户要求三天内测试整个项目最终目标;WROAD2/WARCH3/WCHECK1/WROAD2-BIZ1/WAPPR1/WAUTO1/WEXT1LD 已建立。 | 输出 `PASS_FULL_GOAL_SMOKE_READY`、`PASS_WITH_FINDINGS`、`PAUSED_MANUAL_CONFIRMATION` 或 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`;只允许 `TEST/SMOKE/WFULL` OA 测试数据,不写企微、不真实付款、不写 ERP、不导入银行流水。 |
| 25 | `WREAL1-PREP 真实试用准备` | 固化候选员工、审批人、允许流程、暂停条件、回滚联系人和验收标准,不启用真实员工。 | 用户选择可以并行准备但暂不引入真实员工。 | 文档和合同明确真实试用需等四类测试号证据、WAPPR1 审批规则门禁和 WFULLSMOKE1 可解释通过后再问;当前继续测试账号。 |
| 25 | `WREAL1-PREP / WROUTE2 真实试用准备和路线锁定` | 固化候选员工、审批人、允许流程、暂停条件、回滚联系人和验收标准,不启用真实员工,并锁定测试号收口到最小完整镜像的后续顺序。 | 用户选择先收口测试账号,不提前启用真实员工。 | 文档和合同明确真实试用需等四类测试号证据、WAPPR1 审批规则门禁和 WFULLSMOKE1 可解释通过后再问;当前继续测试账号,首批真实试用固定为 1 名真实员工 + 1 名审批人/管理员观察。 |
| 26 | `WEXT1-LIVE 外出/加班测试号 live POC` | 单次创建外出+加班 OA-POC 模板和低风险测试审批单,并做真机可读性和审批规则确认。 | WROAD2-CLOSEOUT/WROAD2-BIZ1/WAPPR1/WAUTO1/WEXT1LD/WFULLSMOKE1 可解释通过;新建独立 Issue CSV;再次说明会留下的企微记录并取得人工确认。 | 两类样件保留审计;固定 `SMOKE002 -> SMOKE101`、`WECOM_AGENT_SECRET` 和双开关;只保存脱敏 template/`sp_no`/userid 前缀;`SMOKE101` 真机确认消息、列表、详情、按钮风险和审批人是否自动带出。 |
| 27 | `WREAL1 小范围真实试用` | 在 1-2 名真实员工范围验证企微主办 HR/考勤和 OA 留存。 | 请假、补卡、外出、加班四类测试号证据通过;WAPPR1 规则门禁通过;WFULLSMOKE1 可解释通过;用户通过问答提供真实员工、审批人、试用周期、暂停条件和回滚联系人。 | 试用报告可解释通过或暂停;仍不直接全员推广。 |
| 28 | `wecom_attendance_approval_mirror_v1` | 企微打卡、请假、补卡、外出、加班、假期余额和审批历史镜像到 OA。 | WREAL1 通过后再规划;不得仅凭测试号证据进入。 | OA 可查询企微 HR/考勤镜像、附件摘要、审批历史、考勤解释和审计;不把 OA 主办高敏审批迁到企微。 |
| 27 | `WREAL1 小范围真实试用` | 在 1 名真实员工 + 1 名审批人/管理员观察范围验证企微主办 HR/考勤和 OA 留存。 | 请假、补卡、外出、加班四类测试号证据通过;WAPPR1 规则门禁通过;WFULLSMOKE1 可解释通过;用户通过问答确认真实员工、审批人、试用周期、暂停条件和回滚联系人。 | 试用报告可解释通过或暂停;仍不直接全员推广。 |
| 28 | `wecom_attendance_approval_mirror_v1 最小完整镜像` | 企微打卡、请假、补卡、外出、加班、假期余额和审批历史镜像到 OA。 | WREAL1 通过后优先规划;不得仅凭测试号证据进入,也不先做应急接管、恢复回写或 RuleOps。 | OA 可查询企微 HR/考勤镜像、附件摘要、审批历史、考勤解释和审计;不把 OA 主办高敏审批迁到企微。 |
| 29 | `oa_hr_emergency_mode_v1` | 企业微信不可用时,由管理员人工开启 OA HR/考勤应急接管。 | 自建历史留存和镜像数据可支撑对账;OA 应急入口、权限和审计方案明确。 | 管理员可填写原因、范围、预计结束时间和责任人后开启/关闭;应急单据带 `EMERGENCY` 标记。 |
| 30 | `wecom_recovery_writeback_v1` | 企微恢复后,OA 应急数据先 dry-run,再回写企微。 | 应急接管模式完成;企微写回接口、冲突规则和回滚策略已单独批准。 | 系统生成成功、失败、跳过和冲突清单;无冲突项可自动回写,冲突进入人工确认。 |
| 31 | `wecom_ruleops_v1` | AI 草拟企微规则、生成差异报告和 dry-run,人工确认后写入企微。 | 前述同步/回写链路稳定;企微规则 API 能力和权限已验证。 | 每次写入保存前后快照、确认人、API `errcode`、失败原因、回滚建议和审计记录。 |