OMAT1 补充高敏边界审视

这个提交包含在:
2026-05-23 18:20:54 +08:00
父节点 cb8be25149
当前提交 fc339e878e
共修改 2 个文件,包含 16 行新增和 2 行删除
+13 -2
查看文件
@@ -643,7 +643,7 @@ Go 结论边界:
## OMAT1 人工决策问答清单 ## OMAT1 人工决策问答清单
请按组回复选项,不需要逐行复制 34 条 OMAT1。未明确选择的项继续保持 `TODO`,不视为批准开发。 请按组回复选项,不需要逐行复制 37 条 OMAT1。未明确选择的项继续保持 `TODO`,不视为批准开发。
| 问题 | 推荐选项 | 备选项 | 影响 | | 问题 | 推荐选项 | 备选项 | 影响 |
| --- | --- | --- | --- | | --- | --- | --- | --- |
@@ -655,6 +655,7 @@ Go 结论边界:
| Q6:OMAT1 决策回填粒度? | A:先回填 P0 和 P2,P1 等 7 天反馈 | B:逐条回填全部 OMAT1;C:只保留摘要不回填 | A 平衡推进和管理成本;B 最完整但耗时;C 后续容易反复讨论 | | Q6:OMAT1 决策回填粒度? | A:先回填 P0 和 P2,P1 等 7 天反馈 | B:逐条回填全部 OMAT1;C:只保留摘要不回填 | A 平衡推进和管理成本;B 最完整但耗时;C 后续容易反复讨论 |
| Q7:第二轮治理项怎么处理? | A:采纳审批异常、变更发布、档案留存为启用前 SOP | B:只列为 P1 观察项;C:暂不纳入本轮 | A 不要求复杂功能开发,但要求启用前有处理口径;B 会留下 Go/No-Go finding;C 后续遇到异常时只能临时处理 | | Q7:第二轮治理项怎么处理? | A:采纳审批异常、变更发布、档案留存为启用前 SOP | B:只列为 P1 观察项;C:暂不纳入本轮 | A 不要求复杂功能开发,但要求启用前有处理口径;B 会留下 Go/No-Go finding;C 后续遇到异常时只能临时处理 |
| Q8:第三轮运营项怎么处理? | A:采纳冻结入口清点和审计导出边界,公告签收人工覆盖 | B:全部作为 P1 观察;C:暂不纳入 | A 能降低启用风险且不要求新功能;B 会保留权限/审计 finding;C 后续审计和培训证据会较弱 | | Q8:第三轮运营项怎么处理? | A:采纳冻结入口清点和审计导出边界,公告签收人工覆盖 | B:全部作为 P1 观察;C:暂不纳入 | A 能降低启用风险且不要求新功能;B 会保留权限/审计 finding;C 后续审计和培训证据会较弱 |
| Q9:高敏能力边界怎么处理? | A:采纳全局搜索、薪酬绩效/差旅冻结、通知可靠性验证 | B:只做搜索和冻结负例,通知先观察;C:暂不纳入 | A 最稳妥;B 可减轻稳定期工作量;C 会保留搜索/高敏模块边界风险 |
## OMAT1 状态审计 ## OMAT1 状态审计
@@ -663,7 +664,7 @@ Go 结论边界:
| 状态类别 | 涉及条目 | 当前证据 | 状态处理 | | 状态类别 | 涉及条目 | 当前证据 | 状态处理 |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| 已形成审查机制 | `OMAT1-22/23/24/25/27/28` | 已有国内对标来源、小团队取舍原则、成熟度验收摘要、域级能力矩阵、人工决策问答清单和本状态审计 | 保持 `TODO`,等待用户 A/B/C 决策;不自动视为采纳 | | 已形成审查机制 | `OMAT1-22/23/24/25/27/28` | 已有国内对标来源、小团队取舍原则、成熟度验收摘要、域级能力矩阵、人工决策问答清单和本状态审计 | 保持 `TODO`,等待用户 A/B/C 决策;不自动视为采纳 |
| 仍待用户决策 | 全部 P0/P1/P2 建议 | 用户尚未按 Q1-Q6 或逐条给出采纳、暂缓、否决结论 | 不进入开发合同,不回填 DONE | | 仍待用户决策 | 全部 P0/P1/P2 建议 | 用户尚未按 Q1-Q9 或逐条给出采纳、暂缓、否决结论 | 不进入开发合同,不回填 DONE |
| 仍缺真实证据 | `OMAT1-1/2/3/4/5/14` 及 OALAUNCH1-3..7 | 最新 OALAUNCH1 汇总仍为 `PAUSED_MANUAL_CONFIRMATION`,缺真实业务闭环、权限矩阵、备份恢复、7 天稳定化和数据治理培训 | 不能宣布最终启用成熟,需先补证据 | | 仍缺真实证据 | `OMAT1-1/2/3/4/5/14` 及 OALAUNCH1-3..7 | 最新 OALAUNCH1 汇总仍为 `PAUSED_MANUAL_CONFIRMATION`,缺真实业务闭环、权限矩阵、备份恢复、7 天稳定化和数据治理培训 | 不能宣布最终启用成熟,需先补证据 |
| 后置观察项 | P1/P2 建议 | 已有能力域判断,但价值和优先级应由 7 天真实使用反馈决定 | 先不启动功能开发,必要时另建 Issue CSV | | 后置观察项 | P1/P2 建议 | 已有能力域判断,但价值和优先级应由 7 天真实使用反馈决定 | 先不启动功能开发,必要时另建 Issue CSV |
@@ -687,6 +688,16 @@ Go 结论边界:
| 执行 | 已新增 `OMAT1-32/33/34`:公告制度签收边界、审计日志取证包和导出边界、冻结功能入口与 feature flag 清点。 | 状态保持 `TODO`,等待用户按 Q8 或逐条 A/B/C 决策。 | | 执行 | 已新增 `OMAT1-32/33/34`:公告制度签收边界、审计日志取证包和导出边界、冻结功能入口与 feature flag 清点。 | 状态保持 `TODO`,等待用户按 Q8 或逐条 A/B/C 决策。 |
| 提升 | 推荐启用前先用人工证据和负例验证覆盖,等 7 天真实反馈后再决定是否做公告签收、审计取证包等功能化增强。 | 冻结功能入口和审计导出边界更接近 P0 权限/数据治理;公告签收可先人工覆盖。 | | 提升 | 推荐启用前先用人工证据和负例验证覆盖,等 7 天真实反馈后再决定是否做公告签收、审计取证包等功能化增强。 | 冻结功能入口和审计导出边界更接近 P0 权限/数据治理;公告签收可先人工覆盖。 |
## OMAT1 第四轮 MAGI 审视
本轮聚焦“已有能力如果误暴露,风险大于价值”的高敏边界。
| 脑位 | 本轮判断 | 处理 |
| --- | --- | --- |
| 审视 | 全局搜索会跨多域返回对象;薪酬、绩效、差旅是成熟 OA/HR 常见能力,但对当前小团队启用属于高敏或后置;通知中心有 delivery 记录但还缺真实稳定期送达证据。 | 成熟度不是把这些模块全部启用,而是证明有权可见、无权不可见、失败可追踪。 |
| 执行 | 已新增 `OMAT1-35/36/37`:全局搜索权限穿透和脱敏验收、薪酬绩效/差旅高敏启用边界、通知送达可靠性和失败处理。 | 状态保持 `TODO`,等待用户按 Q9 或逐条 A/B/C 决策。 |
| 提升 | 推荐把全局搜索和高敏/后置模块负例纳入 OALAUNCH 权限矩阵,把通知可靠性纳入 7 天稳定化观察;不把薪酬绩效或差旅纳入默认启用范围。 | 若采纳,优先形成证据和冻结边界,不直接新增薪酬、绩效、差旅功能。 |
## 历史恢复 ## 历史恢复
需要追溯 R70-R91 的详细流水时,使用: 需要追溯 R70-R91 的详细流水时,使用:
@@ -34,3 +34,6 @@
"OMAT1-32","公告制度发布缺少签收验收边界","系统已有公告中心、通知已读和员工培训记录,但公告本身更像轻量发布入口,尚未证明制度版本、员工已读签收、培训确认和后续追溯能形成闭环;成熟 OA 通常会把制度发布和签收作为合规证据。","正式启用前可先用人工培训签到或管理员确认作为 OALAUNCH 证据;若后续采纳功能化,再实现公告/制度按人签收、版本记录、未读提醒和导出,不把普通公告复杂化。","受影响流程:制度发布 -> 员工阅读/培训 -> 签收确认 -> 审计追溯;验证步骤:稳定期内选择 1 条数据治理或报销制度,记录人工培训/签收证据或后续功能化决策。","manual","TODO","TODO","TODO","server/src/routes/announcements.js;client/src/pages/AnnouncementsPage.tsx;client/src/pages/EmployeeProfilePage.tsx;docs/员工快速上手.md","[""OMAT1-14"",""OMAT1-31""]","优先级 P1;启用前建议用人工证据覆盖,功能化可等 7 天后评估。不要把所有公告都做成强制签收。" "OMAT1-32","公告制度发布缺少签收验收边界","系统已有公告中心、通知已读和员工培训记录,但公告本身更像轻量发布入口,尚未证明制度版本、员工已读签收、培训确认和后续追溯能形成闭环;成熟 OA 通常会把制度发布和签收作为合规证据。","正式启用前可先用人工培训签到或管理员确认作为 OALAUNCH 证据;若后续采纳功能化,再实现公告/制度按人签收、版本记录、未读提醒和导出,不把普通公告复杂化。","受影响流程:制度发布 -> 员工阅读/培训 -> 签收确认 -> 审计追溯;验证步骤:稳定期内选择 1 条数据治理或报销制度,记录人工培训/签收证据或后续功能化决策。","manual","TODO","TODO","TODO","server/src/routes/announcements.js;client/src/pages/AnnouncementsPage.tsx;client/src/pages/EmployeeProfilePage.tsx;docs/员工快速上手.md","[""OMAT1-14"",""OMAT1-31""]","优先级 P1;启用前建议用人工证据覆盖,功能化可等 7 天后评估。不要把所有公告都做成强制签收。"
"OMAT1-33","审计日志取证包和导出边界需要明确","系统已有审计日志页面和导出能力,但成熟运营需要明确审计日志保留期限、谁能导出、导出是否留痕、哪些字段需要脱敏、争议处理时如何形成取证包,避免审计数据本身成为隐私或权限风险。","正式启用前明确审计导出 SOP:导出角色、场景、审批或记录要求、字段脱敏规则、保存位置、保留期限和删除/移交规则;后续如需自动化,再另建审计取证包 Issue。","受影响流程:审计查询 -> 导出 -> 存档/取证 -> 查阅授权;验证步骤:用管理员账号导出 1 次脱敏审计样例,确认普通员工无权访问审计入口和导出 API。","manual|playwright|node","TODO","TODO","TODO","server/src/routes/audit.js;client/src/pages/AuditLogsPage.tsx;server/src/routes/exports.js","[""OMAT1-3"",""OMAT1-14""]","优先级 P0;建议采纳为权限和数据治理子项。涉及审计权限或导出字段改动时必须 reviewer 只读评审。" "OMAT1-33","审计日志取证包和导出边界需要明确","系统已有审计日志页面和导出能力,但成熟运营需要明确审计日志保留期限、谁能导出、导出是否留痕、哪些字段需要脱敏、争议处理时如何形成取证包,避免审计数据本身成为隐私或权限风险。","正式启用前明确审计导出 SOP:导出角色、场景、审批或记录要求、字段脱敏规则、保存位置、保留期限和删除/移交规则;后续如需自动化,再另建审计取证包 Issue。","受影响流程:审计查询 -> 导出 -> 存档/取证 -> 查阅授权;验证步骤:用管理员账号导出 1 次脱敏审计样例,确认普通员工无权访问审计入口和导出 API。","manual|playwright|node","TODO","TODO","TODO","server/src/routes/audit.js;client/src/pages/AuditLogsPage.tsx;server/src/routes/exports.js","[""OMAT1-3"",""OMAT1-14""]","优先级 P0;建议采纳为权限和数据治理子项。涉及审计权限或导出字段改动时必须 reviewer 只读评审。"
"OMAT1-34","冻结功能入口和功能开关需要最终清点","代码中存在预算、ERP、差旅、AI、切换控制台等后置模块或入口;即使业务上已冻结,正式启用前仍需证明普通用户看不到或进不去未启用能力,API 也受权限和 feature flag 约束。","正式启用前完成 launch scope 功能开关矩阵:P0/轻 P1 开启项、冻结项、角色可见入口、API 负例和回滚方式;冻结项不得因导航、搜索或直连 URL 暴露给普通员工。","受影响流程:登录 -> 导航/搜索 -> 直连 URL/API -> 冻结功能拦截;验证步骤:复用 OA-only smoke 多角色账号跑入口和直连负例,结果纳入 OALAUNCH_PERMISSION_EVIDENCE。","playwright|node|manual","TODO","TODO","TODO","client/src/features/navigation/schema.ts;server/src/routes/featureFlags.js;client/src/pages/FeatureFlagsPage.tsx","[""OMAT1-3"",""OMAT1-30""]","优先级 P0;建议采纳。成熟启用不是删除后置模块,而是确保未批准能力不可见、不可写、可回滚。" "OMAT1-34","冻结功能入口和功能开关需要最终清点","代码中存在预算、ERP、差旅、AI、切换控制台等后置模块或入口;即使业务上已冻结,正式启用前仍需证明普通用户看不到或进不去未启用能力,API 也受权限和 feature flag 约束。","正式启用前完成 launch scope 功能开关矩阵:P0/轻 P1 开启项、冻结项、角色可见入口、API 负例和回滚方式;冻结项不得因导航、搜索或直连 URL 暴露给普通员工。","受影响流程:登录 -> 导航/搜索 -> 直连 URL/API -> 冻结功能拦截;验证步骤:复用 OA-only smoke 多角色账号跑入口和直连负例,结果纳入 OALAUNCH_PERMISSION_EVIDENCE。","playwright|node|manual","TODO","TODO","TODO","client/src/features/navigation/schema.ts;server/src/routes/featureFlags.js;client/src/pages/FeatureFlagsPage.tsx","[""OMAT1-3"",""OMAT1-30""]","优先级 P0;建议采纳。成熟启用不是删除后置模块,而是确保未批准能力不可见、不可写、可回滚。"
"OMAT1-35","全局搜索需要专门做权限穿透和脱敏验收","系统已有全局搜索,能检索人员、公告、资产、项目、合同、涉密资料引用、报销、采购、差旅等多域对象;成熟 OA 的搜索能力必须证明只返回当前用户有权知道的对象和摘要,不能因搜索匹配泄露合同摘要、涉密资料、他人报销或后置模块存在。","正式启用前把全局搜索纳入权限矩阵负例:普通员工、主管、财务、管理员分别搜索合同号、项目号、资产号、报销号和涉密关键词;结果只允许出现授权对象和脱敏摘要;冻结功能对象不得通过搜索可见。","受影响流程:登录 -> 全局搜索 -> 结果点击 -> 权限校验;验证步骤:用 OA-only smoke 多角色执行搜索负例,报告纳入 OALAUNCH_PERMISSION_EVIDENCE,不输出真实敏感关键词或完整编号。","playwright|node|manual","TODO","TODO","TODO","server/src/routes/search.js;client/src/components/GlobalSearchDialog.tsx","[""OMAT1-3"",""OMAT1-34""]","优先级 P0;建议采纳为权限矩阵子项。已有代码做了多域权限过滤,但上线成熟需要公网负例证据。"
"OMAT1-36","薪酬绩效和差旅等高敏/后置模块需要启用边界","代码中存在薪酬、绩效、差旅等模块;国内成熟 OA/HR 系统常覆盖这些能力,但对小团队正式启用而言,它们属于高敏或非当前主线能力。若未明确启用边界,容易出现管理员可写薪酬、员工误见入口、测试数据污染真实人事档案的问题。","正式启用前明确薪酬、绩效、差旅的状态:A 继续冻结并从普通入口/搜索/API 负例证明不可见不可写;B 仅管理员可见但不录真实数据;C 另建专项启用合同。默认不把薪酬绩效纳入 OALAUNCH1 正式启用范围。","受影响流程:角色登录 -> 高敏模块入口 -> 直连 API -> 审计;验证步骤:功能开关矩阵和多角色负例确认普通员工、主管、财务不可越权访问薪酬/绩效/差旅管理数据。","manual|playwright|node","TODO","TODO","TODO","server/src/routes/payroll.js;server/src/routes/performance.js;server/src/routes/travelRequests.js;client/src/pages/PayrollPage.tsx;client/src/pages/PerformancePage.tsx;client/src/pages/TravelRequestsPage.tsx","[""OMAT1-14"",""OMAT1-34""]","优先级 P0;建议采纳为冻结/边界确认。薪酬、绩效属于高敏数据,不因代码存在就进入正式启用。"
"OMAT1-37","通知送达可靠性和失败处理需要运行证据","系统已有通知中心、未读、企微消息通道和 delivery 记录;成熟 OA 需要证明关键审批、付款、退回、异常提醒能送达或可补偿,失败时有人查看和处理,而不是只看站内消息存在。","7 天稳定化期间至少抽样关键通知:审批待办、退回/通过、付款批次或回单、系统公告;检查站内未读、企微送达记录、失败 delivery 列表和人工补救口径。若企业微信不可用,需有站内/人工兜底。","受影响流程:业务事件 -> 站内通知/企微消息 -> 阅读/处理 -> 失败补救;验证步骤:运行 OAOPS1 或只读 delivery 查询,并由人工确认 1-2 条真实通知可读、可回跳、失败可追踪。","manual|node|bash","TODO","TODO","TODO","server/src/routes/notifications.js;client/src/pages/NotificationsPage.tsx;client/src/pages/NotificationChannelsPage.tsx;scripts/qa/run-oa-real-use-daily.sh","[""OMAT1-5"",""OMAT1-15""]","优先级 P1;建议采纳为稳定期观察项。通知失败不一定阻断启用,但关键审批/付款通知失败必须当天处理或人工绕行。"
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
34 OMAT1-32 公告制度发布缺少签收验收边界 系统已有公告中心、通知已读和员工培训记录,但公告本身更像轻量发布入口,尚未证明制度版本、员工已读签收、培训确认和后续追溯能形成闭环;成熟 OA 通常会把制度发布和签收作为合规证据。 正式启用前可先用人工培训签到或管理员确认作为 OALAUNCH 证据;若后续采纳功能化,再实现公告/制度按人签收、版本记录、未读提醒和导出,不把普通公告复杂化。 受影响流程:制度发布 -> 员工阅读/培训 -> 签收确认 -> 审计追溯;验证步骤:稳定期内选择 1 条数据治理或报销制度,记录人工培训/签收证据或后续功能化决策。 manual TODO TODO TODO server/src/routes/announcements.js;client/src/pages/AnnouncementsPage.tsx;client/src/pages/EmployeeProfilePage.tsx;docs/员工快速上手.md ["OMAT1-14","OMAT1-31"] 优先级 P1;启用前建议用人工证据覆盖,功能化可等 7 天后评估。不要把所有公告都做成强制签收。
35 OMAT1-33 审计日志取证包和导出边界需要明确 系统已有审计日志页面和导出能力,但成熟运营需要明确审计日志保留期限、谁能导出、导出是否留痕、哪些字段需要脱敏、争议处理时如何形成取证包,避免审计数据本身成为隐私或权限风险。 正式启用前明确审计导出 SOP:导出角色、场景、审批或记录要求、字段脱敏规则、保存位置、保留期限和删除/移交规则;后续如需自动化,再另建审计取证包 Issue。 受影响流程:审计查询 -> 导出 -> 存档/取证 -> 查阅授权;验证步骤:用管理员账号导出 1 次脱敏审计样例,确认普通员工无权访问审计入口和导出 API。 manual|playwright|node TODO TODO TODO server/src/routes/audit.js;client/src/pages/AuditLogsPage.tsx;server/src/routes/exports.js ["OMAT1-3","OMAT1-14"] 优先级 P0;建议采纳为权限和数据治理子项。涉及审计权限或导出字段改动时必须 reviewer 只读评审。
36 OMAT1-34 冻结功能入口和功能开关需要最终清点 代码中存在预算、ERP、差旅、AI、切换控制台等后置模块或入口;即使业务上已冻结,正式启用前仍需证明普通用户看不到或进不去未启用能力,API 也受权限和 feature flag 约束。 正式启用前完成 launch scope 功能开关矩阵:P0/轻 P1 开启项、冻结项、角色可见入口、API 负例和回滚方式;冻结项不得因导航、搜索或直连 URL 暴露给普通员工。 受影响流程:登录 -> 导航/搜索 -> 直连 URL/API -> 冻结功能拦截;验证步骤:复用 OA-only smoke 多角色账号跑入口和直连负例,结果纳入 OALAUNCH_PERMISSION_EVIDENCE。 playwright|node|manual TODO TODO TODO client/src/features/navigation/schema.ts;server/src/routes/featureFlags.js;client/src/pages/FeatureFlagsPage.tsx ["OMAT1-3","OMAT1-30"] 优先级 P0;建议采纳。成熟启用不是删除后置模块,而是确保未批准能力不可见、不可写、可回滚。
37 OMAT1-35 全局搜索需要专门做权限穿透和脱敏验收 系统已有全局搜索,能检索人员、公告、资产、项目、合同、涉密资料引用、报销、采购、差旅等多域对象;成熟 OA 的搜索能力必须证明只返回当前用户有权知道的对象和摘要,不能因搜索匹配泄露合同摘要、涉密资料、他人报销或后置模块存在。 正式启用前把全局搜索纳入权限矩阵负例:普通员工、主管、财务、管理员分别搜索合同号、项目号、资产号、报销号和涉密关键词;结果只允许出现授权对象和脱敏摘要;冻结功能对象不得通过搜索可见。 受影响流程:登录 -> 全局搜索 -> 结果点击 -> 权限校验;验证步骤:用 OA-only smoke 多角色执行搜索负例,报告纳入 OALAUNCH_PERMISSION_EVIDENCE,不输出真实敏感关键词或完整编号。 playwright|node|manual TODO TODO TODO server/src/routes/search.js;client/src/components/GlobalSearchDialog.tsx ["OMAT1-3","OMAT1-34"] 优先级 P0;建议采纳为权限矩阵子项。已有代码做了多域权限过滤,但上线成熟需要公网负例证据。
38 OMAT1-36 薪酬绩效和差旅等高敏/后置模块需要启用边界 代码中存在薪酬、绩效、差旅等模块;国内成熟 OA/HR 系统常覆盖这些能力,但对小团队正式启用而言,它们属于高敏或非当前主线能力。若未明确启用边界,容易出现管理员可写薪酬、员工误见入口、测试数据污染真实人事档案的问题。 正式启用前明确薪酬、绩效、差旅的状态:A 继续冻结并从普通入口/搜索/API 负例证明不可见不可写;B 仅管理员可见但不录真实数据;C 另建专项启用合同。默认不把薪酬绩效纳入 OALAUNCH1 正式启用范围。 受影响流程:角色登录 -> 高敏模块入口 -> 直连 API -> 审计;验证步骤:功能开关矩阵和多角色负例确认普通员工、主管、财务不可越权访问薪酬/绩效/差旅管理数据。 manual|playwright|node TODO TODO TODO server/src/routes/payroll.js;server/src/routes/performance.js;server/src/routes/travelRequests.js;client/src/pages/PayrollPage.tsx;client/src/pages/PerformancePage.tsx;client/src/pages/TravelRequestsPage.tsx ["OMAT1-14","OMAT1-34"] 优先级 P0;建议采纳为冻结/边界确认。薪酬、绩效属于高敏数据,不因代码存在就进入正式启用。
39 OMAT1-37 通知送达可靠性和失败处理需要运行证据 系统已有通知中心、未读、企微消息通道和 delivery 记录;成熟 OA 需要证明关键审批、付款、退回、异常提醒能送达或可补偿,失败时有人查看和处理,而不是只看站内消息存在。 7 天稳定化期间至少抽样关键通知:审批待办、退回/通过、付款批次或回单、系统公告;检查站内未读、企微送达记录、失败 delivery 列表和人工补救口径。若企业微信不可用,需有站内/人工兜底。 受影响流程:业务事件 -> 站内通知/企微消息 -> 阅读/处理 -> 失败补救;验证步骤:运行 OAOPS1 或只读 delivery 查询,并由人工确认 1-2 条真实通知可读、可回跳、失败可追踪。 manual|node|bash TODO TODO TODO server/src/routes/notifications.js;client/src/pages/NotificationsPage.tsx;client/src/pages/NotificationChannelsPage.tsx;scripts/qa/run-oa-real-use-daily.sh ["OMAT1-5","OMAT1-15"] 优先级 P1;建议采纳为稳定期观察项。通知失败不一定阻断启用,但关键审批/付款通知失败必须当天处理或人工绕行。