## ADDED Requirements

### Requirement: 赠送套餐语义必须显式标记，且 0 价仅用于赠送语义

系统 MUST 将赠送套餐视为独立业务语义，不能仅通过 `package_type` 推导赠送含义。若套餐显式配置为 0 价，则该 0 价 MUST 仅用于赠送语义。

#### Scenario: 赠送语义不能仅靠 package_type 推导
- **WHEN** 套餐类型为 formal 或 addon，但未显式标记为赠送
- **THEN** 系统 MUST NOT 仅凭套餐类型判断其是否为赠送套餐

#### Scenario: 赠送套餐显式使用 0 价
- **WHEN** 平台创建赠送套餐并将建议零售价显式配置为 0
- **THEN** 系统 MUST 保留该 0 价配置并将其识别为赠送语义

---

### Requirement: 赠送套餐仅限平台侧且不可分配给代理

系统 SHALL 将赠送套餐限定为平台侧能力。赠送套餐 MUST NOT 被分配给代理，也 MUST NOT 出现在任何代理可操作的套餐授权列表中。

#### Scenario: 平台可创建赠送套餐
- **WHEN** 平台管理员创建赠送套餐
- **THEN** 系统允许保存该赠送语义

#### Scenario: 代理不能分配赠送套餐
- **WHEN** 代理尝试将赠送套餐加入自己的授权或分配给下级
- **THEN** 系统返回错误并拒绝操作

#### Scenario: 赠送套餐不进入代理可售列表
- **WHEN** 系统生成代理可见的套餐授权列表
- **THEN** 赠送套餐 MUST 被过滤掉

---

### Requirement: 赠送套餐仅能后台发放，不能前台自购

系统 SHALL 仅允许通过后台发放流程创建赠送套餐资产。C 端与前台购买路径 MUST NOT 直接购买赠送套餐，且赠送套餐 MUST NOT 出现在 C 端可购买套餐列表中。

#### Scenario: 后台发放赠送加油包
- **WHEN** 平台通过后台发放赠送加油包
- **THEN** 系统创建发放记录并授予目标资产

#### Scenario: C 端不能自购赠送套餐
- **WHEN** 个人客户在 C 端尝试购买赠送套餐
- **THEN** 系统返回不可购买错误

#### Scenario: 赠送套餐不出现在 C 端可购列表
- **WHEN** C 端请求可购买套餐列表
- **THEN** 系统 MUST 不返回任何赠送套餐
