## 工作流/流程缺陷（High）

### 触发信号

在以下代码特征出现时启动此检测：
- 多步骤流程（`step1 → step2 → step3`、`onCreated → onApproved → onShipped`）
- 审批/审核流程（submit/approve/reject）
- 异步流程编排（消息触发下一步、事件驱动流转）
- 包含超时处理（timeout、scheduled task、cron）的流程

### 判定流程

1. **绘制流程图**：`find_references` 追踪流程步骤函数的调用关系，构建步骤依赖图（哪步调哪步、顺序/并行）
2. **检查步骤前置条件**：`Read` 检查每个步骤是否验证了前置条件：
   - 是否存在可绕过某步骤直接调用后续步骤的路径
   - 前置条件检查是否完整（如审批通过后才可发货）
3. **检查并行步骤冲突**：对并行的多个步骤，`find_references` 追踪共享资源的读写，确认：
   - 是否存在并行步骤修改同一资源的冲突
   - 是否有合并策略或锁保护
4. **检查超时兜底**：`Read` 检查涉及等待/异步的步骤是否有超时处理：
   - 超时后是否有状态回退或清理逻辑
   - 是否存在流程悬挂在中间状态的风险

### 证据构造

确认缺陷后，输出需包含：
- 流程步骤图（步骤间的依赖和调用关系）
- 可绕过的步骤（哪个步骤可被跳过，从哪条路径绕过）
- 冲突/悬挂风险（并行冲突或超时后状态悬挂的具体位置）
- 业务影响（流程被破坏的后果：审批绕过、资源悬挂、死锁）

### 排除

- 纯顺序流程（无分支/并行，步骤间无外部依赖）
- 已有工作流引擎保证的流程编排（如 Temporal、Camunda、Airflow）
