# KB 流程版本（workflow_version）

变更目录 `00-manifest.json` 可选字段 `workflow_version` 记录**创建该目录时**生效的 KB 流程版本，便于进化后归因「该变更是在哪个版本规则下做的」。

## 当前流程版本

**定义**：`knowledge/工程平台/KB工作流/进化日志/` 目录内各 `*.md` 文件（排除 `README.md`）字段表中 `| 版本 | vX.Y |` 行的**最大语义化版本号**（如 `v1.3`）。

- **不在** `README.md` 或 SKILL 主文件中硬编码版本号；需要当前版本时，按本节 shell 解析或阅读进化日志目录。
- bootstrap 写入的骨架仓可能尚无 `进化日志/` 目录：**首跑 `/kb-evolve` 前**新建变更目录可省略 `workflow_version`；进化日志落盘后按 shell 解析写入。

## Shell 只读解析示例

从进化日志文件内容提取最大 `v` 版本（仅读文件，不修改）：

```bash
EVOLVE_DIR="knowledge/工程平台/KB工作流/进化日志"

# 从各日志文件字段表提取 | 版本 | vX.Y |，排序取最大
WORKFLOW_VERSION="$(
  grep -h '^| 版本 | v' "$EVOLVE_DIR"/*.md 2>/dev/null \
    | sed -n 's/^| 版本 | \(v[0-9]\+\.[0-9]\+\) |.*/\1/p' \
    | sort -V \
    | tail -n1
)"

echo "当前流程版本：${WORKFLOW_VERSION:-（未找到；bootstrap 仓首跑 /kb-evolve 前可省略 manifest 字段）}"
# 示例输出（有进化日志时）：当前流程版本：v2.6
```

## 写入时机

| 场景 | 是否写入 `workflow_version` |
|------|----------------------------|
| **新建**变更目录（`/kb-propose`、`/kb-lite`） | **必须**写入，值为创建前解析的当前流程版本 |
| **历史**目录补建 `00-manifest.json` | **可不写**（无法可靠回溯创建时刻的版本） |

新建目录时，子 Agent 在写入 `00-manifest.json` **之前**执行上节 shell（或等价逻辑）获取 `WORKFLOW_VERSION`，写入 manifest 的 `workflow_version` 字段。

## 引用

- 业务仓 `.kb/kb-manifest.schema.json`（插件包内 `schema/kb-manifest.schema.json`）— `workflow_version` 字段定义
- [`kb-workflow` SKILL](../SKILL.md) — manifest 最小字段与补建规则
- [`/kb-propose`](../../commands/kb-propose.md) — 标准流初始化 manifest
- [`/kb-lite`](../../commands/kb-lite.md) — 轻量流初始化 manifest
