## MODIFIED Requirements

### Requirement: 配置嵌入

系统 SHALL 使用 Go 的 `go:embed` 指令将默认配置文件嵌入二进制文件。

嵌入文件位置：`pkg/config/defaults/config.yaml`

#### Scenario: 加载嵌入配置

- **WHEN** 调用 `config.Load()`
- **THEN** 系统从嵌入的 `defaults/config.yaml` 读取默认配置
- **AND** 无需外部配置文件即可启动

#### Scenario: 嵌入配置包含完整结构

- **WHEN** 读取嵌入配置
- **THEN** 配置包含所有配置节：server、database、redis、storage、logging、queue、jwt、middleware、worker

## ADDED Requirements

### Requirement: Worker 运行配置

系统 SHALL 在嵌入默认配置中提供 `worker` 配置节，并支持通过 `JUNHONG_WORKER_ROLE` 和 `JUNHONG_WORKER_INSTANCE_NAME` 环境变量覆盖。

默认配置：
- `worker.role`: `all`
- `worker.instance_name`: 空字符串

#### Scenario: 默认 Worker 角色
- **WHEN** 未设置 `JUNHONG_WORKER_ROLE`
- **THEN** `config.Load()` 返回的 `Config.Worker.Role` 为 `all`

#### Scenario: 环境变量覆盖 Worker 角色
- **WHEN** 设置环境变量 `JUNHONG_WORKER_ROLE=consumer`
- **THEN** `config.Load()` 返回的 `Config.Worker.Role` 为 `consumer`

#### Scenario: 环境变量覆盖实例名称
- **WHEN** 设置环境变量 `JUNHONG_WORKER_INSTANCE_NAME=worker-consumer-1`
- **THEN** `config.Load()` 返回的 `Config.Worker.InstanceName` 为 `worker-consumer-1`

#### Scenario: Worker 角色参与配置校验
- **WHEN** 设置环境变量 `JUNHONG_WORKER_ROLE=invalid`
- **THEN** `config.Load()` 返回错误
- **AND** 错误信息明确指出 `worker.role` 只允许 `all`、`leader`、`consumer`
