# trade-tagging spec

## ADDED Requirements

### Requirement: 预设标签管理
系统 SHALL 内置预设标签，按操作类、心态类、纪律类、技术类分类。

#### Scenario: 查看预设标签
- **WHEN** 用户打开标签选择面板
- **THEN** 系统展示所有预设标签
- **AND** 按分类分组展示

### Requirement: 自定义标签创建
系统 SHALL 允许用户创建自定义标签。

#### Scenario: 用户创建新标签
- **WHEN** 用户输入自定义标签名称
- **AND** 该标签不存在
- **THEN** 系统创建 is_preset=false 的标签记录

### Requirement: 交易打标签
系统 SHALL 允许用户为任意交易记录添加/移除标签。

#### Scenario: 给交易添加标签
- **WHEN** 用户在反思面板中选择标签
- **AND** 用户点击保存
- **THEN** 系统在 TradeRecordTag 中创建关联记录
- **AND** 更新对应标签的 usage_count

### Requirement: 标签去重
系统 SHALL 保证标签名称唯一，重复创建时返回已有标签。

#### Scenario: 创建已存在的标签
- **WHEN** 用户尝试创建「追涨杀跌」
- **AND** 该标签已存在
- **THEN** 系统返回已有标签
- **AND** 不创建重复记录
