WF8-6 回填通知失败追溯验证

这个提交包含在:
2026-05-13 19:23:25 +08:00
父节点 5426d19412
当前提交 bc51ee2130
@@ -5,7 +5,7 @@ WF8-2,转审扩展设计,"设计请假、采购和报销的转审扩展规则,
WF8-3,请假转审,"实现或补强请假审批转审,保证请假流程和团队状态一致。","1) 请假待办可合法转审;2) 被转审人可审批;3) 历史记录完整;4) 团队状态不被错误更新。","流程级验证:员工提交请假 -> 审批人转审 -> 新审批人通过或驳回 -> 检查请假状态和审批历史。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不扩展考勤 API。 WF8-3,请假转审,"实现或补强请假审批转审,保证请假流程和团队状态一致。","1) 请假待办可合法转审;2) 被转审人可审批;3) 历史记录完整;4) 团队状态不被错误更新。","流程级验证:员工提交请假 -> 审批人转审 -> 新审批人通过或驳回 -> 检查请假状态和审批历史。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不扩展考勤 API。
WF8-4,采购转审,"实现或补强采购审批转审,保证采购状态、附件和审批历史一致。","1) 采购待办可合法转审;2) 附件和状态不丢失;3) 重复转审有防护;4) 历史可追溯。","流程级验证:员工提交采购 -> 审批人转审 -> 新审批人处理 -> 检查采购状态和历史。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不引入复杂预算和供应商准入。 WF8-4,采购转审,"实现或补强采购审批转审,保证采购状态、附件和审批历史一致。","1) 采购待办可合法转审;2) 附件和状态不丢失;3) 重复转审有防护;4) 历史可追溯。","流程级验证:员工提交采购 -> 审批人转审 -> 新审批人处理 -> 检查采购状态和历史。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不引入复杂预算和供应商准入。
WF8-5,报销转审复核,"复核既有报销转审能力,补齐权限、历史或通知缺口。","1) 报销转审符合权限;2) 发票和附件不受影响;3) 财务状态不被非法改变;4) 通知到正确处理人。","流程级验证:员工提交报销 -> 审批人转审 -> 新审批人审批 -> 财务查看台账 -> 检查历史和通知。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不得改变付款状态机。 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,TODO,TODO,TODO,server/src|scripts/qa|docs/试运行与自动化验证手册.md,"[""WF8-1""]",遵守只读审计和敏感字段脱敏。 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-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,TODO,TODO,TODO,docs/试运行与自动化验证手册.md|docs/需求-企业微信基础设施规约.md,"[""WF8-6"",""WF8-7""]","三渠道中的邮件可被决策冻结,但必须说明。"
WF8-9,催办和超时提醒回归,"回归既有催办和超时提醒,避免转审或通知增强引入倒退。","1) 催办不改变审批状态;2) 超时提醒不重复刷屏;3) 通知对象正确;4) 历史记录可追溯。","流程级验证:创建待审批任务 -> 触发催办或超时提醒 -> 检查通知和 workflow history。",node|bash|manual,TODO,TODO,TODO,server/src|server/scripts|docs/需求-统一审批中心规约.md,"[""WF8-6""]",AP6 后提醒能力是当前事实。 WF8-9,催办和超时提醒回归,"回归既有催办和超时提醒,避免转审或通知增强引入倒退。","1) 催办不改变审批状态;2) 超时提醒不重复刷屏;3) 通知对象正确;4) 历史记录可追溯。","流程级验证:创建待审批任务 -> 触发催办或超时提醒 -> 检查通知和 workflow history。",node|bash|manual,TODO,TODO,TODO,server/src|server/scripts|docs/需求-统一审批中心规约.md,"[""WF8-6""]",AP6 后提醒能力是当前事实。
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
5 WF8-3 请假转审 实现或补强请假审批转审,保证请假流程和团队状态一致。 1) 请假待办可合法转审;2) 被转审人可审批;3) 历史记录完整;4) 团队状态不被错误更新。 流程级验证:员工提交请假 -> 审批人转审 -> 新审批人通过或驳回 -> 检查请假状态和审批历史。 node|bash|manual TODO TODO TODO server/src|client/src|server/scripts ["WF8-2"] 不扩展考勤 API。
6 WF8-4 采购转审 实现或补强采购审批转审,保证采购状态、附件和审批历史一致。 1) 采购待办可合法转审;2) 附件和状态不丢失;3) 重复转审有防护;4) 历史可追溯。 流程级验证:员工提交采购 -> 审批人转审 -> 新审批人处理 -> 检查采购状态和历史。 node|bash|manual TODO TODO TODO server/src|client/src|server/scripts ["WF8-2"] 不引入复杂预算和供应商准入。
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 TODO DONE TODO DONE TODO 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 TODO TODO docs/试运行与自动化验证手册.md|docs/需求-企业微信基础设施规约.md ["WF8-6","WF8-7"] 三渠道中的邮件可被决策冻结,但必须说明。
11 WF8-9 催办和超时提醒回归 回归既有催办和超时提醒,避免转审或通知增强引入倒退。 1) 催办不改变审批状态;2) 超时提醒不重复刷屏;3) 通知对象正确;4) 历史记录可追溯。 流程级验证:创建待审批任务 -> 触发催办或超时提醒 -> 检查通知和 workflow history。 node|bash|manual TODO TODO TODO server/src|server/scripts|docs/需求-统一审批中心规约.md ["WF8-6"] AP6 后提醒能力是当前事实。