4.9 KiB
4.9 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | WMSG1-0 | 合同建档与边界冻结 | 建立 WMSG1 企微应用消息实发与 Deeplink 真机验证合同;承接 WRA1 PASS_WITH_CONFIG_GAPS 后的人工选择:收件人为 wangshunli,一次性执行低风险真实消息验证。 | 1) CSV 校验通过;2) 本轮只使用现有 runner;3) 仅发送一条脱敏企微应用消息;4) 不改业务代码/API/schema/远端持久 env;5) 不配置审批模板/sp_no/真实回调,不进入深度镜像。 | 受影响流程:企微应用消息 -> OA deeplink 真机回流;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-19_07-41-37-wecom-message-live-verify-v1.csv。 | python3|manual | DONE | DONE | DONE | issues/2026-05-19_07-41-37-wecom-message-live-verify-v1.csv | [] | CSV 校验通过;边界保持不改业务代码、不改数据库、不持久改 env。回滚路径:无需回滚代码;若真机确认失败,只记录失败事实。 |
| 3 | WMSG1-1 | 本地与公网预检 | 执行本地 runner 语法和 diff 门禁,并确认公网 /ready 正常后才发送真实企微消息。 | 1) node --check 通过;2) git diff --check 通过;3) /ready 返回 ok=true;4) 发送前不改远端 env。 | 受影响流程:运行验收 runner -> 公网健康预检;验证步骤:cd server && node --check src/scripts/check-wecom-runtime-ready.js;git diff --check;curl -fsS https://oa.hyinda.com/ready。 | node|git|curl | DONE | DONE | DONE | server/src/scripts/check-wecom-runtime-ready.js|external | ["WMSG1-0"] | node --check、git diff --check 通过;公网 /ready 返回 ok=true;发送前未改远端 env。 |
| 4 | WMSG1-2 | 公网真实消息发送 | 在远端容器内执行一次 npm run check:wecom-runtime-ready live 检查,命令进程内临时设置 WECOM_RUNTIME_TEST_SEND=1,并指定 --message-recipient-employee-no=wangshunli。 | 1) 只发送一条消息;2) report 中 checks.message.status 为 OK 或真实 BLOCKED;3) 仅记录 errcode、recipientCount、invaliduserPresent 等脱敏摘要;4) 不输出完整 userid、token、secret、手机号、邮箱或原始 payload。 | 受影响流程:企微应用消息发送 -> 企微 API 返回 -> 脱敏报告;验证步骤:ssh 远端容器执行 WECOM_RUNTIME_TEST_SEND=1 npm run check:wecom-runtime-ready -- --live --format=json --send-test-message --message-recipient-employee-no=wangshunli。 | ssh|npm | DONE | DONE | DONE | external|artifacts/qa-flow/wecom-runtime-ready-* | ["WMSG1-1"] | 第一次按 wangshunli 执行未命中 OA employee_no,recipientCount=0,未实际发出消息;随后按绑定列表确认管理员本人对应 employee_no=HYD000006 并重跑,报告 /app/artifacts/qa-flow/wecom-runtime-ready-20260518T234431Z/summary.json:status=PASS_WITH_CONFIG_GAPS,checks.message.status=OK,code=wecom_app_sent,errcode=0,recipientCount=1,recipientUserIdPrefixes=WangShun***。 |
| 5 | WMSG1-3 | 人工真机确认与事实源回写 | 按真实发送结果让用户确认是否收到企微消息并点击打开 OA;将 API 结果、人工确认状态和后续缺口回写事实源。 | 1) 收到且点击可进入 OA 时记录 PASS_MESSAGE_DELIVERY_CONFIRMED;2) API 成功但未确认时记录 PASS_API_ONLY/PAUSED_MANUAL_CONFIRMATION;3) 文档保留审批模板/sp_no/真实回调仍未配置。 | 受影响流程:企微消息真机验收 -> OA deeplink 回流 -> 试运行证据;验证步骤:人工确认;node scripts/qa/audit-docs.mjs --check-registry;必要时 quick_validate skill。 | manual|node|python3 | DONE | DONE | DONE | docs/trialrun/人工试运行报告.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md | ["WMSG1-2"] | 用户已确认:企业微信可以收到“OA 运行就绪检查”,点击后能进入 OA 通知页面。状态 PASS_MESSAGE_DELIVERY_CONFIRMED。 |
| 6 | WMSG1-4 | 状态回填与中文提交 | 回填 WMSG1 状态,执行隐私检查、文档/CSV/diff 门禁,并用中文提交。 | 1) WMSG1-0..3 按实际结果回填;2) diff 不含 secret/token/手机号/邮箱/完整 userid/原始 payload;3) 中文 commit 引用 WMSG1;4) 最终答复包含报告路径、发送结果、人工确认状态和下一步建议。 | 受影响流程:Issue CSV -> 证据归档 -> 提交审计;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-19_07-41-37-wecom-message-live-verify-v1.csv;git diff --check;git status --short;git log -1 --oneline。 | python3|git|manual | DONE | DONE | DONE | issues/2026-05-19_07-41-37-wecom-message-live-verify-v1.csv|docs|.agents/skills/hyb-oa-delivery/SKILL.md | ["WMSG1-3"] | CSV、文档审计、skill 校验和 git diff --check 通过;diff 隐私检查未发现 secret/token/手机号/邮箱/完整 userid/原始 payload;中文提交引用 WMSG1。 |