# M9 审批与流程引擎 — FSD（功能设计说明书）

| 项 | 值 |
|---|---|
| 模块 | M9 审批与流程引擎 |
| 文档类型 | FSD（功能设计说明书） |
| 对应 PRD | [requirements/M9](../requirements/M9-审批与流程引擎.md) |
| 对应 LDD | [ldd/M9](../ldd/M9-审批与流程引擎-设计.md) · [数据字典](../ldd/数据字典.md) |
| 配套 | [业务流程图-M9.txt](业务流程图-M9.txt) · [测试用例-M9.md](测试用例-M9.md) |
| 上级 | [需求分析总纲](../需求分析总纲.md) · [FSD 模板](FSD-模板.md) |

> 逐功能规格；数据模型/审批链结构/Automations 机制/ARR 核定口径/缺席委托机制见 ldd/M9（§1~§5、§3b），字段定义见数据字典（Request/ApprovalNode/Automation/Delegation），**引用不复制**。类型为逻辑类型，物理类型留待 SDD。ARR 档位、金额阈值等数值一律**配置化，待业务确认**。

## 1. 概述与范围
平台通用的**统一审批入口 + 自动化引擎**，供各模块复用（Sponsored、立项、超支、状态跳转、交付签署、续约、项目关闭等），解决审批分散、无统一留痕的痛点。

**PRD 覆盖追溯（FR → 功能）**

| FR | 功能 |
|---|---|
| FR-APR-01 | §4.1 统一 Request |
| FR-APR-02 | §4.2 审批链可配（串行/并行/条件分支） |
| FR-APR-03 | §4.3 待办 / 加急 / 通知 |
| FR-APR-04 | §4.4 Automations 自动化引擎 |
| FR-APR-05 | §4.5 权益/资格审批（ARR 驱动核定） |
| FR-APR-06 | §4.6 缺席委托（Out-of-Office） |

**不在本模块**：各场景**审批链的具体定义**（谁审/阈值/分支，由各业务模块 + Admin 配置）、通知/SLA 触达通道实现（M10）、签署引擎（M8）、健康度/续约等业务判定（M4/M5）。M9 只提供**引擎与统一入口**，业务语义由调用方声明。

## 2. 角色与权限点（角色 × 操作，接 M2）

| 操作 \ 角色 | 申请人(全员) | 审批人(节点指定) | 更高层(VP/特批) | 流程 Admin | Manager(Region) |
|---|---|---|---|---|---|
| 发起 Request（统一入口） | ✓ | ✓ | ✓ | ✓ | ✓ |
| 处理待办（批准/驳回/退回） | — | ✓(本人节点) | ✓(特批节点) | — | ✓(本 Region 内) |
| 加急（应用内/短信/电话） | ✓(自己单) | — | — | ✓ | — |
| 撤回 Request | ✓(自己单,未终态) | — | — | ✓ | — |
| 配置审批链 ApprovalChain | — | — | — | ✓ | — |
| 配置 Automation 规则 | — | — | — | ✓ | — |
| 配置 ARR 档位表 | — | — | — | ✓ | — |
| 设置缺席委托 Delegation | ✓(为自己) | ✓(为自己) | ✓(为自己) | ✓(可代设) | ✓ |
| 查看审批留痕/审计 | ✓(自己相关) | ✓(经手) | ✓(经手) | ✓(全量) | ✓(本 Region) |

> 数据范围由 M2 ABAC 计算；审批人集合由 ApprovalChain 节点动态解析（含缺席委托改写，见 §4.6）。链/规则/档位配置为 Admin 特权。

## 3. 状态流转与业务流程图
> 图见 [业务流程图-M9.txt](业务流程图-M9.txt)。含：① Request 状态机（pending→approved/rejected/withdrawn，逐节点流转）；② 条件分支审批链泳道（金额判定→VP）；③ ARR 驱动核定流程（≤上限常规 / >上限特批 → 生成虚拟 Contract/Quota）；④ 缺席委托 转派 / 到期回退 流程。

## 4. 功能规格

### 4.1 统一 Request

**4.1.1 功能说明**　所有纳管审批场景（Sponsored、立项、Man-days 超支、状态跳转、交付签署、续约、项目关闭…）**统一走 Request 入口**发起，禁止旁路，全程留痕（FR-APR-01）。Request 携带业务对象引用与载荷，由引擎按其 `type` 匹配审批链驱动流转。

**4.1.2 业务流程**　见 [业务流程图-M9.txt](业务流程图-M9.txt) §一。要点：调用方声明 type + subject_ref + payload → 建 Request(pending) → 绑定 ApprovalChain → 进入首节点 → 逐节点流转 → 终态(approved/rejected/withdrawn) → 回调发起方 + 写审计。

**4.1.3 界面设计**
- **发起入口**：各模块业务页内嵌"发起审批"动作（如立项、申请 Sponsored），带出预填的 type 与 subject；申请人补 payload/事由。
- **我的申请 / 我的待办**：列表（type/主题/当前节点/状态/时长），可下钻单据详情。
- **单据详情页**：申请信息 + 审批链进度条（各节点审批人/结果/意见/时间）+ 审计时间线；未终态可撤回 / 加急。

**4.1.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| id | 文本 | 系统 | 唯一 | 系统 | 只读 | 主键 |
| type | 枚举 | 是 | complimentary/立项/超支/状态跳转/交付签署/续约/项目关闭… | 发起方 | 建单时定 | 决定绑定链 |
| subject_ref | 引用 | 是 | 业务对象存在 | 发起方 | 只读 | 跳源对象 |
| applicant | 引用 | 是 | 用户存在 | 系统 | 只读 | 当前登录人 |
| payload | 结构(json) | 否 | 按 type schema | 发起方/输入 | 提交前可改 | 场景载荷 |
| arr_input | 数值 | 权益类必填 | > 0 | 输入 | 核定前可改 | 见 §4.5 |
| status | 枚举 | 系统 | pending/approved/rejected/withdrawn | 派生 | 只读 | 终态不可逆 |
| current_node | 引用 | 系统 | — | 派生 | 只读 | 当前节点 |
| audit_log[] | 结构[多] | 系统 | — | 系统 | 只读 追加 | 全程留痕 |

**4.1.5 业务规则**
- 纳管场景**100% 经统一入口**发起、旁路发起数=0（FR-APR-01 验收）；每个 Request 全生命周期写 audit_log。
- `type` 决定绑定哪条 ApprovalChain（§4.2）；无匹配链→阻断建单并告警配置缺失。
- 终态（approved/rejected/withdrawn）不可再流转；已提交单据 payload 仅在未进入下一节点前由申请人改（视配置）。

**4.1.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 旁路发起（非统一入口） | "该操作须经审批，请通过发起审批提交" | 阻断 + 记审计 |
| type 无绑定审批链 | "该审批类型未配置审批链，请联系管理员" | 阻断建单 + 告警 Admin |
| 重复提交同一业务对象 | "该对象已有进行中的审批" | 阻断，跳转已有单 |
| 撤回已终态单据 | "该审批已结束，不可撤回" | 拒绝 |

**4.1.7 权限控制**　全员可就有权的业务对象发起 Request；撤回限申请人本人（未终态）或 Admin；处理待办限节点指定审批人。

### 4.2 审批链可配（串行/并行/条件分支）

**4.2.1 功能说明**　每个 `request_type` 绑定一条**可配 ApprovalChain**，由若干节点组成，支持**串行**（seq 递增）、**并行**（同 seq 多审批人，可配全签/或签）、**条件分支**（节点 condition 命中则激活，如金额 > 阈值 → VP 节点）；阈值/审批人/分支表达式均为配置项，不 hard-code（FR-APR-02）。

**4.2.2 业务流程**　见 [业务流程图-M9.txt](业务流程图-M9.txt) §二。要点：Request 进入 → 按 seq 取节点 → 求值 condition 决定是否激活 → 串行等待/并行分发 → 全签或签达成 → 进下一 seq → 末节点通过=approved，任一驳回=rejected。

**4.2.3 界面设计**
- **审批链配置台（Admin）**：按 request_type 列链；节点编辑器（seq、mode=串行/并行、审批人来源=角色/指定人/动态解析、condition 表达式、全签/或签）。
- **单据进度条**：可视化节点顺序，分支节点标注命中条件，当前节点高亮，已决节点显结果/意见/时间。

**4.2.4 字段定义**（ApprovalNode，详见数据字典）

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| seq | 数值 | 是 | ≥1 | 配置 | Admin 配 | 串行顺序；同值=并行 |
| mode | 枚举 | 是 | serial/parallel | 配置 | Admin 配 | 并行含全签/或签 |
| approvers[] | 引用[多] | 是 | 用户/角色存在 | 配置/动态 | Admin 配 | 运行时经缺席委托改写(§4.6) |
| condition | 文本(表达式) | 否 | 可解析 | 配置 | Admin 配 | 如 amount>阈值 |
| result | 枚举 | 系统 | approved/rejected/pending | 运行 | 只读 | 节点结果 |
| comment | 文本 | 否 | — | 审批人 | 决策时写 | 意见留痕 |
| decided_by/decided_at | 引用/日期时间 | 系统 | — | 运行 | 只读 | 决策留痕 |

**4.2.5 业务规则**
- 三种编排：串行（seq 递增，逐节点）、并行（同 seq 多审批人，全签=全部通过才过 / 或签=任一通过即过）、条件分支（condition 命中才激活该节点）。
- **条件路由正确率=100%**（FR-APR-02 验收）：金额/字段命中阈值时必须路由到对应审批人（如 >阈值走 VP）；阈值目标值**配置化，待业务确认**。
- 任一节点驳回 → 整单 rejected（除非配置了退回补正）；各场景具体链定义待业务确认（不在本模块）。

**4.2.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| condition 表达式不可解析 | "审批链条件配置有误" | 阻断激活 + 告警 Admin |
| 节点审批人为空（解析后） | "该节点无有效审批人" | 挂起 + 告警 Admin/上级兜底 |
| 并行或签已过再操作 | "该节点已完成审批" | 幂等忽略 |
| 分支阈值未配置 | "金额阈值未配置，按默认链处理" | 降级默认链 + 告警 |

**4.2.7 权限控制**　链配置限流程 Admin；审批操作限当前节点解析出的审批人（经缺席委托改写）；其余只读进度。

### 4.3 待办 / 加急 / 通知

**4.3.1 功能说明**　审批激活即向审批人派**待办**；申请人可**加急**（飞书应用内 / 短信 / 电话，逐级升级）；节点决策与终态向相关方发**结果通知**；全程留痕（FR-APR-03）。**触达经统一的「平台通知服务」（共有服务：渠道飞书/邮件/短信/电话、去重/抑制、逐级升级、回执/重试，INT-05）承载，M9 仅作调用方**（非复用 M10）。

**4.3.2 业务流程**　节点激活 → 生成待办 + 发通知给审批人 → （超时未处理/申请人主动）加急升级 → 审批人处理 → 结果通知申请人 + 抄送相关方 → 写审计。

**4.3.3 界面设计**
- **待办中心**：待我处理列表（主题/申请人/等待时长/加急标记），批量/单条批准·驳回·退回，可加意见。
- **加急按钮**（单据详情，申请人侧）：选择渠道（应用内→短信→电话逐级），显示已加急记录与冷却提示。
- **通知**：飞书卡片（含单据摘要 + 一键跳转/审批）。

**4.3.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| todo.assignee | 引用 | 系统 | 节点审批人 | 派生 | 只读 | 经委托改写(§4.6) |
| todo.status | 枚举 | 系统 | 待处理/已处理/已转派 | 派生 | 只读 | — |
| urge.channel | 枚举 | 是 | 应用内/短信/电话 | 输入 | 发起时选 | 逐级升级 |
| urge.count/last_at | 数值/日期时间 | 系统 | — | 系统 | 只读 | 冷却/防骚扰 |
| notify.event | 枚举 | 系统 | 激活/通过/驳回/终态 | 派生 | 只读 | 结果通知 |

**4.3.5 业务规则**
- 加急渠道逐级升级（应用内 → 短信 → 电话），加急频率设冷却（数值**配置化，待业务**）防骚扰。
- 待办随节点流转动态生成/关闭；转派场景待办自动改派（§4.6）。
- 全程（派单/加急/通知/决策）写 audit_log，留痕齐全率目标 100%。

**4.3.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 通知/加急触达失败 | "通知发送失败，已重试并告警" | 重试 + 告警可重放（NFR-06） |
| 加急过于频繁 | "加急过于频繁，请稍后再试" | 冷却拦截 |
| 待办已被处理再操作 | "该待办已处理" | 幂等忽略 |

**4.3.7 权限控制**　待办处理限审批人本人；加急限申请人对自己单据；通知按相关方（申请人/审批人/抄送）；渠道配置限 Admin。

### 4.4 Automations 自动化引擎

**4.4.1 功能说明**　声明式**触发→条件→动作**引擎，供各模块复用：状态变更/字段变更/到期前 N 天/定时/事件为触发，指派责任人/建任务/发通知加急/状态流转/生成 Request 为动作（FR-APR-04）。与审批解耦：审批结果可作触发源，Automation 也可发起 Request。

**4.4.2 业务流程**　见 [业务流程图-M9.txt](业务流程图-M9.txt)（引擎为横切，随各流程触发）。要点：事件到达 → 匹配 trigger → 求值 condition → 命中则依序执行 actions[] → 写执行日志（成功/失败/跳过）。

**4.4.3 界面设计**
- **规则配置台（Admin）**：规则列表（触发类型/条件/动作/启用态）；规则编辑器（选触发→设条件→编排动作序列）。
- **执行日志**：按规则/时间查触发记录（命中与否、动作结果、耗时），供审计与排障。

**4.4.4 字段定义**（Automation，详见数据字典）

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| trigger | 枚举/结构 | 是 | 状态变更/字段变更/到期前 N 天/定时/事件 | 配置 | Admin 配 | 事件如合同生效、告警 |
| condition | 文本(表达式) | 否 | 可解析 | 配置 | Admin 配 | 命中才执行 |
| actions[] | 结构[多] | 是 | 动作可解析 | 配置 | Admin 配 | 指派/建任务/通知/流转/生成 Request |
| enabled | 布尔 | 是 | — | 配置 | Admin 配 | 启用/停用 |
| exec_log[] | 结构[多] | 系统 | — | 系统 | 只读 追加 | 命中/结果/耗时 |

**4.4.5 业务规则**
- 触发→动作**执行成功率目标=100%、误触发数=0**（FR-APR-04 验收）：condition 不命中一律不执行动作。
- 动作按序执行；单动作失败按配置重试/告警，不影响已成功动作的幂等性。
- 引擎供各模块复用（M6 立项/变更/超支、M8 交付签署、M1 Sponsored/续约生成虚拟合同等），规则声明与业务解耦。

**4.4.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 动作执行失败 | "自动化动作执行失败，已告警" | 重试 + 告警可重放；记 exec_log |
| condition 不可解析 | "自动化条件配置有误" | 停用该规则 + 告警 Admin |
| 规则循环触发 | "检测到自动化循环，已中断" | 环检测中断 + 告警 |
| 误命中（条件过宽） | — | exec_log 可回溯，Admin 收窄条件 |

**4.4.7 权限控制**　规则增删改与启停限流程 Admin；执行日志供 Admin/审计只读；动作以系统身份执行、受被操作对象的 ABAC 约束。

### 4.5 权益/资格审批（ARR 驱动核定）

**4.5.1 功能说明**　例外权益场景（Exceptional Premium Support、PS Sponsored）走审批：申请时 **ARR 优先从客户主数据（Contract.arr）派生并一致性校验**（人工覆写需留痕 + 更高层核准，防套利），权益引擎按 **ARR 档位表**算出**允许上限**（如最大 Sponsored 天数），审批据此**核定**；**≤上限走常规、>上限触发更高层特批**；核定通过后**生成对应（虚拟）Contract/Quota**（回写 M1 FR-CUST-08b，D-A1）。

**4.5.2 业务流程**　见 [业务流程图-M9.txt](业务流程图-M9.txt) §三。要点：填申请(含 arr_input + 申请值) → 引擎查档位算上限 → 申请值≤上限→常规审批链核定；>上限→追加更高层特批节点 → 核定通过 → 生成虚拟 Contract/Quota → 回调 M1。

**4.5.3 界面设计**
- **权益申请表单**：权益类型（例外 Premium / PS Sponsored）、ARR 输入、申请值（天数/额度）、事由；提交后实时显示"档位/允许上限/是否需特批"。
- **核定进度**：审批链进度（含特批节点高亮）；通过后展示生成的虚拟 Contract/Quota 链接。

**4.5.4 字段定义**

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| 权益类型 | 枚举 | 是 | 例外Premium/PS Sponsored | 输入 | 提交前 | 决定权益规则 |
| arr_input | 数值 | 是 | >0 且**与客户主数据 Contract.arr 一致**（覆写需留痕+核准） | 主数据派生/输入 | 核定前可改（覆写留痕） | 驱动档位；防套利 |
| 申请值 | 数值 | 是 | > 0（天/额度） | 输入 | 核定前可改 | 与上限比较 |
| tier | 枚举 | 系统 | 落 ARR 档位 | 引擎派生 | 只读 | 档位数值配置化,待业务 |
| 允许上限 | 数值 | 系统 | 查档位表 | 引擎派生 | 只读 | 上限数值配置化,待业务 |
| 是否特批 | 布尔 | 系统 | 申请值>上限 | 引擎派生 | 只读 | 决定是否加特批节点 |
| 核定结果 | 结构 | 系统 | 生成虚拟 Contract/Quota | 运行 | 只读 | 回写 M1 FR-CUST-08b |

**4.5.5 业务规则**
- 核定逻辑：`申请值 ≤ 档位上限` → 常规审批链核定；`申请值 > 档位上限` → **追加更高层特批节点**（FR-APR-05）。
- **超上限触发特批率=100%、核定通过 100% 生成对应（虚拟）Contract/Quota**（FR-APR-05 验收）。
- ARR 档位表（区间/上限）数值**配置化，待业务确认**；档位/上限变更走 Admin 配置，不 hard-code。
- 生成的虚拟 Contract/Quota 遵 M1 规则（source=virtual、force_sign 可配、先建合同池再按 SOW 立项），本模块只触发生成、不复制 M1 逻辑。

**4.5.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 申请值 > 档位上限 | "申请 {x} 超 ARR 档位上限 {y}，需上级特批" | 追加特批节点 |
| ARR 档位表未配置 | "ARR 档位未配置，无法核定" | 阻断核定 + 告警 Admin |
| arr_input 缺失/非法 | "请填写有效 ARR" | 阻断提交 |
| 核定通过但生成合同失败 | "核定已通过，生成额度失败已告警" | 重试 + 告警；不置为已核定完成 |

**4.5.7 权限控制**　TAM/PS/Admin 可发起权益申请；常规核定按链审批人、特批限更高层（VP 等）；档位表配置限 Admin；生成虚拟合同/Quota 以系统身份写 M1。

### 4.6 缺席委托（Out-of-Office）

**4.6.1 功能说明**　用户可设**缺席期 + 代理人**（可按类型/模块限定 scope），期内其**待办/审批自动转派代理人**，到期**自动回退**，全程留痕（FR-APR-06）。为共有能力，供各模块复用（M6 交付负责人/Secondary 休假顶岗、审批人缺席）。

**4.6.2 业务流程**　见 [业务流程图-M9.txt](业务流程图-M9.txt) §四。要点：设 Delegation(delegate,start,end,scope) → 期内待办/审批收件人在**路由层动态解析为代理人**（不改链定义）→ 到期自动失效回退 → 委托与代办操作全程写审计。

**4.6.3 界面设计**
- **缺席设置页**：缺席期（起止）、代理人选择、scope（类型/模块，默认全部）；生效中显 banner 与"提前结束"入口。
- **转派标记**：被转派的待办/单据标"代 {缺席人} 处理"；单据审计时间线显转派/回退事件。

**4.6.4 字段定义**（Delegation，详见数据字典）

| 字段 | 逻辑类型 | 必填 | 校验规则 | 数据来源 | 可编辑性 | 备注 |
|---|---|---|---|---|---|---|
| user_id | 引用 | 是 | 用户存在 | 系统/输入 | 设置人 | 缺席人 |
| delegate_id | 引用 | 是 | ≠user_id、用户存在 | 输入 | 可编辑 | 代理人 |
| start/end | 日期时间 | 是 | end>start | 输入 | 生效前可改 | 到期自动回退 |
| scope | 枚举/结构 | 否 | 类型/模块集合 | 输入 | 可编辑 | 默认全部待办/审批 |
| status | 枚举 | 系统 | 待生效/生效中/已回退 | 派生 | 只读 | 到期自动切换 |
| 转派/回退日志 | 结构[多] | 系统 | — | 系统 | 只读 追加 | 审计留痕 |

**4.6.5 业务规则**
- 期内待办/审批收件人**动态解析为代理人（路由层改写，不改链定义）**，到期**自动失效回退**（design §3b）。
- **期内自动转派率=100%、到期自动回退；委托与代办操作审计齐全率=100%**（FR-APR-06 验收）。
- scope 可限类型/模块（默认全部）；不改变审批链结构与业务规则，仅改收件人解析。
- 代理人以"代 {缺席人}"身份操作，决策留痕同时记录实际操作人与被代理人。

**4.6.6 异常处理**

| 异常场景 | 提示文案 | 处理 |
|---|---|---|
| 代理人=本人 | "代理人不能是本人" | 阻断 |
| 委托成环（A→B、B→A 同期） | "委托关系不可成环" | 阻断 + 提示改人 |
| 代理人自身也缺席 | "所选代理人当前缺席，请另选" | 阻断/提示（不做多级链式转派） |
| 到期回退时待办已被处理 | — | 已处理保留结果，仅回退未决待办 |

**4.6.7 权限控制**　用户可为自己设委托；Admin 可代设/终止；代理人仅获得被委托 scope 内的待办/审批处理权，不扩展其原有数据范围（受 M2 ABAC 约束）。

## 5. 接口与集成

| 接口 | 方向 | 触发/频率 | 字段映射 | 失败处理 |
|---|---|---|---|---|
| 飞书（INT-05） | 写 | 事件 | 待办/加急（应用内/短信/电话）/结果通知卡片 | 重试 + 告警可重放（NFR-06） |
| M10 通知/SLA 通道 | 写 | 事件/定时 | 复用触达与提醒 | 通道降级/重试 |
| M1（FR-CUST-08b） | 写 | 核定通过 | 生成虚拟 Contract/Quota | 生成失败重试 + 告警，不置完成 |
| M6/M8 等各模块 | 双向 | 事件 | 发起 Request / 回调结果 / Automation 复用 | 回调失败重试 |
| 飞书原生审批 | 双向 | — | 联动边界待确认（OQ） | — |

## 6. 测试用例
> 见 [测试用例-M9.md](测试用例-M9.md)。覆盖统一入口/审批链编排/待办加急通知/Automations/ARR 核定/缺席委托 的正常/边界/异常；关键路径 100%、异常路径 ≥90%、硬约束（旁路发起=0、条件路由正确=100%、超上限特批=100%、生成虚拟合同=100%、误触发=0、自动转派+回退+留痕=100%）100% 覆盖。

## 7. 风险与依赖

| 风险/依赖 | 影响 | 缓解 | 责任方 |
|---|---|---|---|
| 各审批场景链定义未定 | 场景无法上线核定 | 详设阶段与各业务模块 + Admin 逐场景配置 | PM/各模块 |
| ARR 档位数值未定 | 权益核定无法落地 | 档位表配置化，上线前业务确认取值 | 业务/PM |
| 与飞书原生审批联动边界未定 | 双轨/重复审批风险 | 明确 CSP 主导 vs 飞书触达的边界 | PM/后端 |
| 缺席委托与各模块 coverage 语义对齐 | 转派歧义 | 统一路由层改写口径，M6 复用同机制 | 后端 |

## 8. 遗留 / 待详设（TBD）
- 各审批场景的审批链定义（谁审、阈值、分支）——待业务确认。
- ARR 档位具体数值（区间/上限）——配置化，待业务确认。
- 与飞书原生审批的联动边界；condition 表达式 DSL 与 Automation 动作集合的深化。
- 各页面线框/视觉稿（UX）；加急冷却/防骚扰阈值待业务确认。
