## Scope - 迭代编号:`AUG26-011`。 ## Why 运营商通道需按其计费周期流量自动停复机,不能与套餐预警混用。 ## What Changes - 新增通道阈值、周期和停机锁。 - 达量可靠停机,新周期按套餐和其他锁条件复机。 ## Capabilities ### New Capabilities - `carrier-channel-traffic-threshold`: 通道流量阈值控制。 ### Modified Capabilities - `package-lifecycle`: 「套餐状态流转」新增一条复机前置条件——载体在当前计费周期内持有运营商通道流量阈值停机锁时,支付后异步自动复机与套餐激活/重置复机 MUST NOT 调用上游复机流程,并保留该锁(以 `specs/package-lifecycle/spec.md` 的 MODIFIED delta 建模;主 Spec 同步在归档时进行)。 ## Impact 影响通道、卡状态、可靠任务、外部运营商调用和 Schema。具体落点: - `tb_carrier` 扩列:`traffic_threshold_enabled`、`traffic_threshold_value`、`traffic_threshold_unit`(周期起始日复用既有 `data_reset_day`,不新增列)。 - 新增周期阈值停机锁表:`(carrier_id, card_id, period_start)` 唯一键、任务状态组、提交认领字段、`anomaly_flag`;成对迁移。 - 新增 2 个 Outbox 事件类型:停机、复机各一,worker 消费。 - 新增 2 个 cron 与 worker 装配点:周期处理(解锁/条件复机)、恢复扫描(只查询回填),均 `@every 1m` + `asynq.Unique(10m)`,照 `TaskTypeRefundChannelRecovery` 形态注册。 - 新增停因常量 `channel_threshold`;4 个复机入口(`resumeSingleCard`、`ManualStartCard`、`ForceStartCard`、`StartMachineSeparatedCard`)新增持锁拒绝,因而改变了既有套餐生命周期自动复机路径的可观察行为(见 Modified Capabilities)。 - 停机/复机调用明确失败或结果未知的子任务不退出收敛链路:恢复扫描的未决集合为 `{submitted, unknown, failed}`(只读状态查询,绝不重试外呼),超 30 分钟仍不可确认转人工;锁行引用的运营商缺失或重置日非法时,周期处理按跨期语义解锁并标记异常转人工。 - carrier 管理接口字段级守卫与响应过滤(阈值字段仅平台账号可见可写)。