# 版本指南

当发布 KDNA 领域时，版本号很重要。不慎的版本跃迁侵蚀信任；有纪律的版本跃迁建立信任。

## 版本号

KDNA 使用语义化版本：`MAJOR.MINOR.PATCH`

| 跃迁 | 何时 | 示例 |
|------|------|------|
| **PATCH**（0.1.0→0.1.1） | 修正措辞、澄清表述、添加示例。判断行为不变。 | `one_sentence` 从"信任很重要"→"信任是买家对你意图的信心，不是对你的态度的舒适感。" |
| **MINOR**（0.1.0→0.2.0） | 新增公理、概念、误解、自检或框架。或修改框架步骤。可能改变判断。 | 新增 AX-003："价格异议是确定性不足。" |
| **MAJOR**（0.1.0→1.0.0） | 删除或重新定义核心公理。改变领域范围。变更访问模式。破坏性变更。 | 删除 AX-002。将"销售"拆分为"B2B销售"和"消费者销售"。 |

## 决策树

```
只是修正措辞或示例？
  → PATCH

新增或修改了判断内容（公理、概念、框架）？
  → MINOR

删除或根本重定义了领域判断什么？
  → MAJOR
```

## 语义变化 vs 非语义变化

| 变更 | 语义？ | 跃迁 |
|------|:-----:|:---:|
| 修一个错字 | 否 | PATCH |
| 重写为更可操作 | 否 | PATCH |
| 新增一条误解 | 是 | **MINOR** |
| 新增一条公理 | 是 | **MINOR** |
| 修改框架步骤数组 | 是 | **MINOR** |
| 删除一条公理 | 是 | **MAJOR** |
| 改变领域范围 | 是 | **MAJOR** |
| 变更访问模式 | 是 | **MAJOR** |

## 版本跃迁后必须做的事

- [ ] `kdna.json` 中 `version` 匹配新版本
- [ ] `kdna-lint` 和 `kdna-validate` 通过
- [ ] `CHANGELOG.md` 有本版本的条目
- [ ] 如果是 MINOR 或 MAJOR：重新运行 benchmark 并记录 `evaluation_history`
- [ ] 如果是 MAJOR：通知现有用户破坏性变更
- [ ] 相比前一版本无退化

## CLI 快捷方式

```bash
kdna version bump patch   # 0.1.0 → 0.1.1
kdna version bump minor   # 0.1.0 → 0.2.0
kdna version bump major   # 0.1.0 → 1.0.0
```
