WEXT1F 回填外出终态取证结果

这个提交包含在:
2026-05-22 18:47:24 +08:00
父节点 e3bf4eecc9
当前提交 a606716890
共修改 4 个文件,包含 5 行新增和 5 行删除
+2 -2
查看文件
@@ -589,9 +589,9 @@ Go 结论边界:
| 执行合同 | 已建档 | 新增 `issues/2026-05-22_14-23-19-wecom-formal-outing-overtime-evidence-v1.csv`,ID 为 `WEXT1F-0..WEXT1F-7`。 |
| 只读证据脚本 | 已新增 | 新增 `scripts/qa/run-wecom-formal-outing-overtime-evidence.sh`,真实业务运行必须使用 `--remote` 从部署服务器 server 容器执行;本地直接执行默认拒绝,即使伪造远端环境变量也会因非 `/app` 容器路径拒绝。 |
| 人工前置 | 已确认 | 用户确认 `SMOKE002` 已在企业微信正式外出和加班模板提交低风险测试单,审批人不可编辑;`SMOKE101` 已先看详情再处理。 |
| 系统校验 | `PASS_WITH_FINDINGS` | 远端报告 `/app/artifacts/qa-flow/wecom-formal-outing-overtime-evidence-20260522-091957/summary.json`:`/ready` 通过,外出/加班补偿拉取和 OA 归档成功,离线归档可读,WRULE1 为 `PASS_RULE_MATCH`,隐私扫描通过。finding:加班已通过;外出仍显示 `审批中`;加班存在 callback duplicate observation,历史 callback window finding 仍为观察项。 |
| 系统校验 | `PASS_WITH_FINDINGS` | 二次远端报告 `/app/artifacts/qa-flow/wecom-formal-outing-overtime-evidence-20260522-104521/summary.json`:`/ready` 通过,外出/加班补偿拉取和 OA 归档成功,离线归档可读 2 条 `approved`,WRULE1 为 `PASS_RULE_MATCH`,隐私扫描通过。finding 仅剩 callback duplicate observation 和历史 callback window observation,不阻断进入 WREAL1 问答。 |
| 写入边界 | 已固定 | 不设置 `WECOM_APPROVAL_FIXTURE_WRITE=1`,不调用 create_template/applyevent,不创建 OA-POC 外出/加班样件,不启用真实员工;报告不得泄露完整 `sp_no`、template_id、userid、手机号、邮箱、token、Secret、EncodingAESKey、表单值、附件、评论或原始 payload。 |
| 后续准入 | 暂不自动放行 WREAL1 | 外出终态未归档为已通过或已驳回前,不把 WEXT1F 误读为完整通过;下一步需人工确认外出单是否仍待审批,或接受 `PASS_WITH_FINDINGS` 并指定先处理 finding。 |
| 后续准入 | 暂不自动放行 WREAL1 | 外出和加班正式模板测试号证据均已形成 approved 终态;WREAL1 仍需用户单独问答确认,不能自动启用真实员工。 |
## 历史恢复