WF8-8 固化通知渠道验收矩阵

这个提交包含在:
2026-05-13 19:25:24 +08:00
父节点 bc51ee2130
当前提交 6aa4dac4b1
共修改 2 个文件,包含 19 行新增和 1 行删除
@@ -7,7 +7,7 @@ WF8-4,采购转审,"实现或补强采购审批转审,保证采购状态、附
WF8-5,报销转审复核,"复核既有报销转审能力,补齐权限、历史或通知缺口。","1) 报销转审符合权限;2) 发票和附件不受影响;3) 财务状态不被非法改变;4) 通知到正确处理人。","流程级验证:员工提交报销 -> 审批人转审 -> 新审批人审批 -> 财务查看台账 -> 检查历史和通知。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不得改变付款状态机。
WF8-6,通知失败可追溯,"补强企业微信、站内和可选邮件通知失败的追踪口径。","1) 发送失败有摘要和错误类型;2) 不打印 token 或手机号;3) 业务流程不因非关键通知失败误完成;4) 可人工排障。","流程级验证:模拟通知失败 -> 检查通知记录或日志摘要 -> 确认业务状态和错误提示可解释。",node|manual,DONE,DONE,DONE,server/src|scripts/qa|docs/试运行与自动化验证手册.md,"[""WF8-1""]",现有能力已覆盖:notificationDelivery 持久化 attempt/status/result_code/error_message/response_body 且管理员接口按 notification.channel.manage 查看摘要;失败或跳过不回滚主业务;通知渠道读模型脱敏 secret;已执行 npm test -- tests/unit/services/notificationDispatcher.test.js tests/unit/services/imEnqueue.test.js tests/unit/routes/notifications.test.js 通过 26 tests;node --check notificationDispatcher.js/notifications.js 通过。
WF8-7,邮件通道决策记录,"决定邮件通道是否进入当前验收,若不进入则冻结并说明替代通知通道。","1) 邮件是否验收有明确结论;2) 不影响企业微信和站内通知验收;3) 冻结原因可追溯;4) 后续解锁条件清楚。","流程级验证:人工核对需求规约和 Issue Notes 中邮件通道决策。",manual,DONE,DONE,DONE,docs/需求-统一审批中心规约.md|issues/2026-05-13_18-23-52-wf8-approval-notification.csv,"[""WF8-1""]",邮件通道当前冻结,不作为 WF8 硬门禁;站内通知和企业微信个人应用消息继续验收;解锁条件已写入规约和本 Notes。
WF8-8,三渠道通知验收设计,"设计站内、企业微信个人应用消息和邮件或冻结替代通道的三渠道验收口径。","1) 三渠道或二渠道加冻结说明清楚;2) deeplink 回 OA;3) 缺配置时 SKIP 不等于 PASS;4) 真机和公网边界明确。","流程级验证:人工审查通知矩阵;必要时执行 live readiness 和企业微信真机验证。",manual|bash|playwright,TODO,TODO,TODO,docs/试运行与自动化验证手册.md|docs/需求-企业微信基础设施规约.md,"[""WF8-6"",""WF8-7""]","三渠道中的邮件可被决策冻结,但必须说明。"
WF8-8,三渠道通知验收设计,"设计站内、企业微信个人应用消息和邮件或冻结替代通道的三渠道验收口径。","1) 三渠道或二渠道加冻结说明清楚;2) deeplink 回 OA;3) 缺配置时 SKIP 不等于 PASS;4) 真机和公网边界明确。","流程级验证:人工审查通知矩阵;必要时执行 live readiness 和企业微信真机验证。",manual|bash|playwright,DONE,DONE,DONE,docs/试运行与自动化验证手册.md|docs/需求-企业微信基础设施规约.md,"[""WF8-6"",""WF8-7""]",Runbook 已新增 WF8 通知渠道验收矩阵:站内/企业微信个人应用/邮件冻结/失败追溯四类口径;明确本地自动化/公网匿名/公网带凭据/企业微信真机证据边界;rg Test_Method 已通过;本任务仅设计验收口径 未执行真机验收。
WF8-9,催办和超时提醒回归,"回归既有催办和超时提醒,避免转审或通知增强引入倒退。","1) 催办不改变审批状态;2) 超时提醒不重复刷屏;3) 通知对象正确;4) 历史记录可追溯。","流程级验证:创建待审批任务 -> 触发催办或超时提醒 -> 检查通知和 workflow history。",node|bash|manual,TODO,TODO,TODO,server/src|server/scripts|docs/需求-统一审批中心规约.md,"[""WF8-6""]",AP6 后提醒能力是当前事实。
WF8-10,审批历史一致性,"确保转审、催办、通过、驳回和通知事件在审批历史中一致展示。","1) 历史顺序清楚;2) 操作人和目标人可解释;3) 不泄露敏感字段;4) PC 和移动展示一致。","流程级验证:提交审批 -> 转审 -> 催办 -> 审批处理 -> PC 和移动查看历史。",playwright|node|manual,TODO,TODO,TODO,server/src|client/src,"[""WF8-3"",""WF8-4"",""WF8-5"",""WF8-9""]",涉及前端需补 typecheck/build。
WF8-11,通知 deeplink 回 OA 验证,"验证企业微信个人应用消息或站内通知 deeplink 能回到 OA 目标页面。","1) deeplink 指向具体业务目标;2) 不只返回通知中心;3) 未登录或未绑定有可解释提示;4) 移动布局正常。","流程级验证:触发通知 -> 点击 deeplink -> 企业微信或移动浏览器打开 OA 目标详情 -> 检查权限和页面。",playwright|manual,TODO,TODO,TODO,client/src|server/src|docs/trialrun/真机公网测试清单.md,"[""WF8-8"",""WF8-10""]",真机验收不能被自动化替代。
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
7 WF8-5 报销转审复核 复核既有报销转审能力,补齐权限、历史或通知缺口。 1) 报销转审符合权限;2) 发票和附件不受影响;3) 财务状态不被非法改变;4) 通知到正确处理人。 流程级验证:员工提交报销 -> 审批人转审 -> 新审批人审批 -> 财务查看台账 -> 检查历史和通知。 node|bash|manual TODO TODO TODO server/src|client/src|server/scripts ["WF8-2"] 不得改变付款状态机。
8 WF8-6 通知失败可追溯 补强企业微信、站内和可选邮件通知失败的追踪口径。 1) 发送失败有摘要和错误类型;2) 不打印 token 或手机号;3) 业务流程不因非关键通知失败误完成;4) 可人工排障。 流程级验证:模拟通知失败 -> 检查通知记录或日志摘要 -> 确认业务状态和错误提示可解释。 node|manual DONE DONE DONE server/src|scripts/qa|docs/试运行与自动化验证手册.md ["WF8-1"] 现有能力已覆盖:notificationDelivery 持久化 attempt/status/result_code/error_message/response_body 且管理员接口按 notification.channel.manage 查看摘要;失败或跳过不回滚主业务;通知渠道读模型脱敏 secret;已执行 npm test -- tests/unit/services/notificationDispatcher.test.js tests/unit/services/imEnqueue.test.js tests/unit/routes/notifications.test.js 通过 26 tests;node --check notificationDispatcher.js/notifications.js 通过。
9 WF8-7 邮件通道决策记录 决定邮件通道是否进入当前验收,若不进入则冻结并说明替代通知通道。 1) 邮件是否验收有明确结论;2) 不影响企业微信和站内通知验收;3) 冻结原因可追溯;4) 后续解锁条件清楚。 流程级验证:人工核对需求规约和 Issue Notes 中邮件通道决策。 manual DONE DONE DONE docs/需求-统一审批中心规约.md|issues/2026-05-13_18-23-52-wf8-approval-notification.csv ["WF8-1"] 邮件通道当前冻结,不作为 WF8 硬门禁;站内通知和企业微信个人应用消息继续验收;解锁条件已写入规约和本 Notes。
10 WF8-8 三渠道通知验收设计 设计站内、企业微信个人应用消息和邮件或冻结替代通道的三渠道验收口径。 1) 三渠道或二渠道加冻结说明清楚;2) deeplink 回 OA;3) 缺配置时 SKIP 不等于 PASS;4) 真机和公网边界明确。 流程级验证:人工审查通知矩阵;必要时执行 live readiness 和企业微信真机验证。 manual|bash|playwright TODO DONE TODO DONE TODO DONE docs/试运行与自动化验证手册.md|docs/需求-企业微信基础设施规约.md ["WF8-6","WF8-7"] 三渠道中的邮件可被决策冻结,但必须说明。 Runbook 已新增 WF8 通知渠道验收矩阵:站内/企业微信个人应用/邮件冻结/失败追溯四类口径;明确本地自动化/公网匿名/公网带凭据/企业微信真机证据边界;rg Test_Method 已通过;本任务仅设计验收口径 未执行真机验收。
11 WF8-9 催办和超时提醒回归 回归既有催办和超时提醒,避免转审或通知增强引入倒退。 1) 催办不改变审批状态;2) 超时提醒不重复刷屏;3) 通知对象正确;4) 历史记录可追溯。 流程级验证:创建待审批任务 -> 触发催办或超时提醒 -> 检查通知和 workflow history。 node|bash|manual TODO TODO TODO server/src|server/scripts|docs/需求-统一审批中心规约.md ["WF8-6"] AP6 后提醒能力是当前事实。
12 WF8-10 审批历史一致性 确保转审、催办、通过、驳回和通知事件在审批历史中一致展示。 1) 历史顺序清楚;2) 操作人和目标人可解释;3) 不泄露敏感字段;4) PC 和移动展示一致。 流程级验证:提交审批 -> 转审 -> 催办 -> 审批处理 -> PC 和移动查看历史。 playwright|node|manual TODO TODO TODO server/src|client/src ["WF8-3","WF8-4","WF8-5","WF8-9"] 涉及前端需补 typecheck/build。
13 WF8-11 通知 deeplink 回 OA 验证 验证企业微信个人应用消息或站内通知 deeplink 能回到 OA 目标页面。 1) deeplink 指向具体业务目标;2) 不只返回通知中心;3) 未登录或未绑定有可解释提示;4) 移动布局正常。 流程级验证:触发通知 -> 点击 deeplink -> 企业微信或移动浏览器打开 OA 目标详情 -> 检查权限和页面。 playwright|manual TODO TODO TODO client/src|server/src|docs/trialrun/真机公网测试清单.md ["WF8-8","WF8-10"] 真机验收不能被自动化替代。