WAUTO1 WEXT1LD 增加受控试用自动证据汇总

这个提交包含在:
2026-05-20 18:45:26 +08:00
父节点 15e665d91e
当前提交 dcb6913e2f
共修改 9 个文件,包含 386 行新增和 29 行删除
+20 -12
查看文件
@@ -2,10 +2,10 @@
**文档状态**:当前开发路线图事实源。
**分类**:开发治理 / 路线图。
**适用时间**: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 / 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,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 / 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,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。WREAL1-PREP 只准备真实小范围试用清单,不启用真实员工;后续顺序收紧为 WROAD2-CLOSEOUT 三天验收 -> WROAD2-BIZ1 三天业务冒烟 -> WAPPR1 审批规则规范化 -> WEXT1-LIVE 外出/加班测试号 live POC -> 请假/补卡/外出/加班四类测试号证据和审批规则门禁通过后再问真实小范围试用。上述阶段仍不代表完整深度镜像、应急接管、恢复回写或 RuleOps 已完成。
**不得误读**:本文只控制后续开发节奏、阶段顺序和门禁。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 创建。WREAL1-PREP 只准备真实小范围试用清单,不启用真实员工;后续顺序收紧为 WROAD2-CLOSEOUT 三天验收 -> WROAD2-BIZ1 三天业务冒烟 -> WAPPR1 审批规则规范化 -> WAUTO1 自动证据汇总 -> WEXT1LD 外出/加班 live 前 dry-run -> WEXT1-LIVE 外出/加班测试号 live POC -> 请假/补卡/外出/加班四类测试号证据和审批规则门禁通过后再问真实小范围试用。上述阶段仍不代表完整深度镜像、应急接管、恢复回写或 RuleOps 已完成。
## 1. 路线图原则
@@ -15,9 +15,11 @@
- WEGOV1 后固定四域边界:企微主办域为打卡、请假、补卡、外出、加班、假期余额和人事助手;OA 主办域为报销、采购、合同、项目、付款、发票、银行回单、高敏附件和经营审计;OA 留存域保存企微关键历史和完整外部关联键;OA 应急域只在企微不可用时由管理员人工开启。
- OA 不重造企业微信完整打卡、考勤和 HR 产品;V1 目标是企微不可用时可以查看已保存历史,不是完整替代企微继续办理。
- WROAD2 后“可受控使用”和“完整镜像增强”分离:请假/补卡已归档历史可在 OA 查询,先用测试账号做 3 天每日脚本化巡检;完整镜像、应急接管、恢复回写和 RuleOps 继续后置。
- 外出/加班不作为当前受控上线阻断;`WEXT1` dry-run 已完成,live 创建必须在 WROAD2-CLOSEOUT、WROAD2-BIZ1 和 WAPPR1 结论可接受后另建 `WEXT1-LIVE` 合同并再次人工确认。
- 外出/加班不作为当前受控上线阻断;`WEXT1` dry-run 已完成,live 创建必须在 WROAD2-CLOSEOUT、WROAD2-BIZ1、WAPPR1、WAUTO1 和 WEXT1LD 结论可接受后另建 `WEXT1-LIVE` 合同并再次人工确认。
- WOPS1 后巡检告警采用“状态记忆 + 新增异常”策略:既有 `PASS_WITH_FINDINGS` observation 进入基线后不重复发企微消息;只有 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`、脚本失败、新增 finding、状态恶化或人工 `--force` 才发送脱敏告警。
- WREAL1-PREP 只做真实小范围试用准备,当前继续测试账号;真实员工名单、试用周期、回滚联系人和验收标准必须等 WROAD2-CLOSEOUT、WROAD2-BIZ1、WAPPR1、WEXT1-LIVE、四类测试号证据和审批规则门禁通过后再通过问答确认。
- 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`;通过后仍只进入人工问答。
- WREAL1-PREP 只做真实小范围试用准备,当前继续测试账号;真实员工名单、试用周期、回滚联系人和验收标准必须等 WROAD2-CLOSEOUT、WROAD2-BIZ1、WAPPR1、WAUTO1/WEXT1LD、WEXT1-LIVE、四类测试号证据和审批规则门禁通过后再通过问答确认。
- 企业微信自建应用不按完整隔离 sandbox 处理;后续默认使用真实企业内受控测试域、本地 synthetic 自动测试、公网 live runner 和少量真机确认。
- 阶段未满足退出条件前不得跳阶段。线上缺陷、安全风险、正式使用阻断或真实反馈可以另开独立 Issue CSV,但不得混入企微 HR/考勤主路线。
- ERP 未来不接入 OA;真实支付、图片 OCR、银行流水导入、复杂 BPM、审批设计器、重预算和其他 P2 大功能继续冻结,试用期只处理阻断和真实反馈。
@@ -56,11 +58,13 @@
| `WROAD2+OPS` | 受控上线和每日巡检 Day 0 已完成 | 当前进入测试账号受控上线:范围固定 `SMOKE002 -> SMOKE101`,管理员观察和告警员工号固定 `HYD000006`,即管理员 `wangshunli` 的 employee_no;脚本不再把姓名字符串 `wangshunli` 当员工号。试用 3 天,每日触发一键巡检脚本。巡检复用 `/ready`、live smoke、feature flag、企微 runtime、审批补偿和 OA 归档离线读取;仅补偿归档步骤可用进程级 `WECOM_ARCHIVE_WRITE=1` 写 OA 自建留存库,不写企业微信、不创建模板或审批单。Day 0 报告 `/app/artifacts/qa-flow/wroad2-ops-20260520-041941/summary.json` 为 `PASS_WITH_FINDINGS`,finding 为缺 live smoke 登录凭据/pending OCR 子检查异常以及历史 callback gap,按已知 observation 不阻断测试账号受控试用。 |
| `WARCH3` | 归档稳定化自动巡检已实现 | 新增 `scripts/qa/run-warch3-ops-daily.sh` 聚合 WROAD2 子报告、归类 observation/finding、解释历史 callback gap,并新增 `deploy/trialrun/install-warch3-ops-timer.sh` 安装服务器 `systemd service/timer`,每天 07:30 触发;WOPS1 后巡检告警默认只发 `HYD000006`,由 `npm run send:wecom-ops-alert` 读取状态文件判断新增 finding 或状态恶化,已知 finding 不重复告警。仍只允许补偿归档写 OA DB,不写企业微信、不创建模板或审批单。 |
| `WCHECK1` | 打卡摘要留存已实现 | 新增打卡日/月摘要和规则快照留存表、`wecomCheckinArchive` 服务和 `npm run check:wecom-checkin-summary-archive` runner。保存规范化打卡明细、日/月摘要、异常摘要、规则快照摘要和 hash;报告只输出计数、状态、异常摘要和脱敏 userid 前缀,不保存完整位置、人脸、设备明文或原始 payload。 |
| `WEXT1` | 外出/加班 dry-run 已实现 | 扩展 `npm run check:wecom-approval-fixtures` 支持 `--target=outing --target=overtime`,只构建 OA-POC 外出/加班最小通用模板和低风险审批申请 payload,仍默认 dry-run。已锁定后续 live 范围为外出+加班两类一起创建、样件保留审计、`SMOKE101` 真机确认,但必须等 WROAD2-CLOSEOUT 三天验收后另起 `WEXT1-LIVE` 合同。 |
| `WEXT1` | 外出/加班 dry-run 已实现 | 扩展 `npm run check:wecom-approval-fixtures` 支持 `--target=outing --target=overtime`,只构建 OA-POC 外出/加班最小通用模板和低风险审批申请 payload,仍默认 dry-run。已锁定后续 live 范围为外出+加班两类一起创建、样件保留审计、`SMOKE101` 真机确认,但必须等 WROAD2-CLOSEOUT、WROAD2-BIZ1、WAPPR1、WAUTO1/WEXT1LD 可解释通过后另起 `WEXT1-LIVE` 合同。 |
| `WOPS1` | 巡检告警降噪已公网验证 | 将 WARCH3 告警从“有 finding 就发”改为“阻断、失败、新增 finding 或状态恶化才发”;默认收件员工号 `HYD000006`。远端二次触发报告 `/app/artifacts/qa-flow/wecom-ops-alert-20260520T070740Z/summary.json` 为 `PASS_ALERT_SKIPPED_NO_FINDINGS`,原因 `no_new_findings_or_status_worsening`;状态文件只保存脱敏状态、finding 摘要和报告路径。 |
| `WROAD2-CLOSEOUT` | 三天验收采集中 | Day 1/2/3 继续由 WARCH3 timer 采集;已知 observation(live smoke 凭据、pending OCR、历史 callback gap)可接受但要保留趋势;三天结束后只在异常或验收点问答,若通过则进入 `WEXT1-LIVE` 合同,不直接启用真实员工。 |
| `WROAD2-BIZ1` | 三天人工业务冒烟已建档 | 三天内并行补充测试账号业务动作:`SMOKE002` 每天按规则尝试企微打卡,提交低风险请假/补卡;`SMOKE101` 先看详情再审批;`HYD000006` 每天查看 OA 归档历史和打卡摘要。人工业务冒烟不替代 WARCH3 自动巡检,不写企业微信,不启用真实员工。 |
| `WAPPR1` | 审批规则规范化门禁已建档 | 用户发现补卡申请需要手动选择审批人后,正式把“申请人不得任意选择审批人”列为真实试用前门禁。测试模板固定 `SMOKE002 -> SMOKE101`;正式模板必须按直属主管、部门负责人或指定审批角色自动带出审批人;审批人缺失、停用、未绑定、不可见或自审时阻断。 |
| `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。 |
| `WREAL1-PREP` | 真实小范围试用准备已固化 | 只固化候选员工条件、非自审审批人条件、回滚联系人、允许流程、暂停条件和验收标准;当前继续测试账号,四类测试号证据和 WAPPR1 审批规则门禁通过后才问是否启动真实小范围试用。 |
## 3. 阶段路线
@@ -88,10 +92,12 @@
| 19 | `WROAD2-CLOSEOUT 三天验收` | 汇总 Day 0/1/2/3 巡检报告,决定是否进入外出/加班 live POC。 | WOPS1 本地和公网验证通过;WARCH3 timer 正常。 | 输出 `PASS_CONTROLLED_OPS_READY`、`PASS_WITH_FINDINGS`、`PAUSED_MANUAL_CONFIRMATION` 或 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,并结合 WROAD2-BIZ1 人工业务冒烟结果问答确认。 |
| 20 | `WROAD2-BIZ1 三天业务冒烟` | 在测试账号范围补充真实业务动作:打卡、请假、补卡、OA 离线查看,并为外出/加班 live POC 准备人工验收清单。 | 用户选择三天内测试更多业务;仍限定测试账号。 | 输出 `PASS_BUSINESS_SMOKE_READY`、`PASS_WITH_FINDINGS`、`PAUSED_MANUAL_CONFIRMATION` 或 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`;不写企微、不创建外出/加班样件。 |
| 21 | `WAPPR1 审批规则规范化门禁` | 统一企微 HR/考勤审批人规则,禁止申请人任意选择审批人。 | 发现补卡申请需要手动选择审批人;用户要求审批规则按规范自动化。 | 四类模板按模板给出 `PASS_APPROVER_RULES_READY`、`PASS_WITH_TEMPLATE_ADJUSTMENTS`、`FAIL_KEEP_OA_PRIMARY_FOR_THIS_TEMPLATE` 或 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`;规则不通过不得进入真实试用。 |
| 22 | `WREAL1-PREP 真实试用准备` | 固化候选员工、审批人、允许流程、暂停条件、回滚联系人和验收标准,不启用真实员工。 | 用户选择可以并行准备但暂不引入真实员工。 | 文档和合同明确真实试用需等四类测试号证据和 WAPPR1 审批规则门禁通过后再问;当前继续测试账号。 |
| 23 | `WEXT1-LIVE 外出/加班测试号 live POC` | 单次创建外出+加班 OA-POC 模板和低风险测试审批单,并做真机可读性和审批规则确认。 | WROAD2-CLOSEOUT/WROAD2-BIZ1/WAPPR1 可解释通过;新建独立 Issue CSV;再次说明会留下的企微记录并取得人工确认。 | 两类样件保留审计;固定 `SMOKE002 -> SMOKE101`、`WECOM_AGENT_SECRET` 和双开关;只保存脱敏 template/`sp_no`/userid 前缀;`SMOKE101` 真机确认消息、列表、详情、按钮风险和审批人是否自动带出。 |
| 24 | `WREAL1 小范围真实试用` | 在 1-2 名真实员工范围验证企微主办 HR/考勤和 OA 留存。 | 请假、补卡、外出、加班四类测试号证据通过;WAPPR1 规则门禁通过;用户通过问答提供真实员工、审批人、试用周期、暂停条件和回滚联系人。 | 试用报告可解释通过或暂停;仍不直接全员推广。 |
| 25 | `wecom_attendance_approval_mirror_v1` | 企微打卡、请假、补卡、外出、加班、假期余额和审批历史镜像到 OA。 | WREAL1 通过后再规划;不得仅凭测试号证据进入。 | OA 可查询企微 HR/考勤镜像、附件摘要、审批历史、考勤解释和审计;不把 OA 主办高敏审批迁到企微。 |
| 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 | `WREAL1-PREP 真实试用准备` | 固化候选员工、审批人、允许流程、暂停条件、回滚联系人和验收标准,不启用真实员工。 | 用户选择可以并行准备但暂不引入真实员工。 | 文档和合同明确真实试用需等四类测试号证据和 WAPPR1 审批规则门禁通过后再问;当前继续测试账号。 |
| 25 | `WEXT1-LIVE 外出/加班测试号 live POC` | 单次创建外出+加班 OA-POC 模板和低风险测试审批单,并做真机可读性和审批规则确认。 | WROAD2-CLOSEOUT/WROAD2-BIZ1/WAPPR1/WAUTO1/WEXT1LD 可解释通过;新建独立 Issue CSV;再次说明会留下的企微记录并取得人工确认。 | 两类样件保留审计;固定 `SMOKE002 -> SMOKE101`、`WECOM_AGENT_SECRET` 和双开关;只保存脱敏 template/`sp_no`/userid 前缀;`SMOKE101` 真机确认消息、列表、详情、按钮风险和审批人是否自动带出。 |
| 26 | `WREAL1 小范围真实试用` | 在 1-2 名真实员工范围验证企微主办 HR/考勤和 OA 留存。 | 请假、补卡、外出、加班四类测试号证据通过;WAPPR1 规则门禁通过;用户通过问答提供真实员工、审批人、试用周期、暂停条件和回滚联系人。 | 试用报告可解释通过或暂停;仍不直接全员推广。 |
| 27 | `wecom_attendance_approval_mirror_v1` | 企微打卡、请假、补卡、外出、加班、假期余额和审批历史镜像到 OA。 | WREAL1 通过后再规划;不得仅凭测试号证据进入。 | OA 可查询企微 HR/考勤镜像、附件摘要、审批历史、考勤解释和审计;不把 OA 主办高敏审批迁到企微。 |
| 26 | `oa_hr_emergency_mode_v1` | 企业微信不可用时,由管理员人工开启 OA HR/考勤应急接管。 | 自建历史留存和镜像数据可支撑对账;OA 应急入口、权限和审计方案明确。 | 管理员可填写原因、范围、预计结束时间和责任人后开启/关闭;应急单据带 `EMERGENCY` 标记。 |
| 27 | `wecom_recovery_writeback_v1` | 企微恢复后,OA 应急数据先 dry-run,再回写企微。 | 应急接管模式完成;企微写回接口、冲突规则和回滚策略已单独批准。 | 系统生成成功、失败、跳过和冲突清单;无冲突项可自动回写,冲突进入人工确认。 |
| 28 | `wecom_ruleops_v1` | AI 草拟企微规则、生成差异报告和 dry-run,人工确认后写入企微。 | 前述同步/回写链路稳定;企微规则 API 能力和权限已验证。 | 每次写入保存前后快照、确认人、API `errcode`、失败原因、回滚建议和审计记录。 |
@@ -266,9 +272,9 @@ WAPC2 通过后,下一步不是直接进入 `wecom_attendance_approval_mirror_
9. `WARCH2 正式只读历史查询`:已提供 OA DB 只读 API 和 PC/移动历史页。
10. `WROAD2+OPS 受控上线与每日巡检`:先做测试账号 3 天脚本化巡检,沉淀 Day 0/Day 1/Day 2/Day 3 脱敏报告。
11. `WARCH3 / WCHECK1 / WEXT1 / WOPS1`:已补归档稳定化自动巡检、打卡摘要留存、外出/加班 dry-run 和告警降噪。
12. `WROAD2-CLOSEOUT / WROAD2-BIZ1 / WAPPR1 / WEXT1-LIVE / WREAL1`:三天验收期间并行完成人工业务冒烟和审批规则规范化;通过后先问答进入外出/加班测试号 live POC;请假、补卡、外出、加班四类测试号证据和审批规则门禁通过后,再问真实小范围试用。
12. `WROAD2-CLOSEOUT / WROAD2-BIZ1 / WAPPR1 / WAUTO1 / WEXT1LD / WEXT1-LIVE / WREAL1`:三天验收期间并行完成人工业务冒烟、审批规则规范化和自动证据汇总;先完成外出/加班 live 前 dry-run,再问答进入外出/加班测试号 live POC;请假、补卡、外出、加班四类测试号证据和审批规则门禁通过后,再问真实小范围试用。
WROAD2-CLOSEOUT、WROAD2-BIZ1、WAPPR1、WEXT1-LIVE、四类测试号证据和 WREAL1 通过或明确批准前,不拆 `wecom_attendance_approval_mirror_v1`。
WROAD2-CLOSEOUT、WROAD2-BIZ1、WAPPR1、WAUTO1/WEXT1LD、WEXT1-LIVE、四类测试号证据和 WREAL1 通过或明确批准前,不拆 `wecom_attendance_approval_mirror_v1`。
## 13. WADM1 自建留存/镜像数据模型设计
@@ -354,9 +360,11 @@ WROAD2+OPS 把 WARCH2 后的可用能力先进入测试账号受控使用,不
- 后续顺序:WROAD2+OPS 后优先 `WARCH3` 归档稳定化,再做 `WCHECK1` 打卡摘要留存;外出/加班进入 `WEXT1` dry-run。上述阶段完成前,不启动完整深度镜像、应急接管、恢复回写或 RuleOps。
- 业务冒烟:WROAD2-BIZ1 在三天内补充人工业务动作,不替代自动巡检。`SMOKE002` 每天按企微规则尝试上/下班打卡,提交低风险请假和补卡;`SMOKE101` 必须先打开详情再审批;`HYD000006` 每天查看 OA 企微审批归档和打卡摘要。无法打卡、无法审批或仍需手选审批人时按 finding 记录,不伪造成通过。
- 审批规则:WAPPR1 把“申请人不得任意选择审批人”列为真实试用前门禁。测试模板固定 `SMOKE002 -> SMOKE101`;正式模板必须按直属主管、部门负责人或指定审批角色自动带出审批人;审批人缺失、停用、未绑定、不可见或等于申请人本人时阻断。
- 自动证据:WAUTO1 使用 `scripts/qa/collect-wecom-controlled-trial-evidence.sh` 只读汇总三天证据,读取既有 WROAD2/WARCH3/WCHECK1/WEXT1 报告并复跑只读/离线 runner;该脚本不设置 `WECOM_ARCHIVE_WRITE=1`、`WECOM_CHECKIN_ARCHIVE_WRITE=1` 或 `WECOM_APPROVAL_FIXTURE_WRITE=1`,不替代 WARCH3 定时巡检和人工业务冒烟。
### 6.4 WARCH3 / WCHECK1 / WEXT1 当前边界
- `WARCH3`:`scripts/qa/run-warch3-ops-daily.sh` 聚合 WROAD2 子报告并输出 `artifacts/qa-flow/warch3-ops-<timestamp>/summary.json`;`deploy/trialrun/install-warch3-ops-timer.sh` 安装 `hyb-oa-warch3-ops.service/timer`,每日 07:30 触发。巡检失败或 finding 可用 `npm run send:wecom-ops-alert` 发脱敏企微应用消息,双开关为 `--send` + `WARCH3_OPS_ALERT_SEND=1`。
- `WCHECK1`:`WecomCheckinRecord` 继续作为规范化明细;新增日摘要、月摘要和规则快照。`npm run check:wecom-checkin-summary-archive` 默认离线只读;写 OA 留存必须同时具备 `--persist-to-db` + `WECOM_CHECKIN_ARCHIVE_WRITE=1`。报告不输出完整 userid、位置、人脸、设备明文或原始 payload。
- `WEXT1`:`npm run check:wecom-approval-fixtures -- --target=outing --target=overtime` 只做 dry-run。外出/加班 live 创建仍需新 Issue CSV 和人工批准,不因请假/补卡已验证而自动放行。
- `WEXT1LD`:live 前 dry-run gate 只执行 `npm run check:wecom-approval-fixtures -- --format=json --target=outing --target=overtime`,不带 live 写入参数;通过后问答选项为批准一次 live 创建外出+加班 OA-POC 样件、只保留 dry-run、或将外出/加班移出 V1。