# 流程进化: audit 全新仓库修复 + schema 合法值扩展 + 编号口径统一

| 字段 | 值 |
|---|---|
| 时间戳（Asia/Shanghai） | 20260725190148 |
| 关联 Issue | #IK3ZFP（采纳）、#IK3ZFQ（采纳）、#IK3ZFR（采纳） |
| 分支 | evolve/audit-schema-numbering |
| EvoMap 检索 | 3 组查询共命中 26 条，最高分 82 但 signals 语境均不符（pre-commit hook / git submodule / Delta Lake / 飞书解析等），**未采用** |
| evomap_asset_ids | （无） |
| 修改文件 | `scripts/kb-audit-apply.mjs`、`schema/kb-manifest.schema.json`、`prompts/kb-apply.md`、`prompts/kb-plan.md`、`prompts/kb-propose.md`、`prompts/kb-test.md`、`prompts/kb-design.md`、`skills/kb-workflow/SKILL.md` |
| commit | ef89f4c |
| MR | https://gitee.com/suveng/pi-kb/pulls/7 |
| 版本 | 0.1.9 -> 0.1.10 |

## 提案处置

| 提案 | 主题 | 处置 | Issue |
|---|---|---|---|
| P1 | audit 脚本全新仓库 + 路径对齐 + bootstrap 产物排除 | 采纳 | #IK3ZFP |
| P2 | manifest schema 合法值扩展 + 文档化 | 采纳 | #IK3ZFQ |
| P3 | 变更文档编号口径统一为中文数字 | 采纳 | #IK3ZFR |

## P1: audit 脚本修复（#IK3ZFP，高）

### 根因（精读脚本后确认，非 Issue 字面描述）

1. `git diff --name-only HEAD` 在**无任何 commit** 的全新仓库会失败 -> `actualFiles` 原返回 `null` -> 脚本 exit 2 误报「不是 git 仓」。
2. 仓库有 bootstrap 初始 commit 时，untracked 本应被抓到，但 manifest `files` 路径（相对变更目录如 `01-proposal.md`）与 git 输出（相对 cwd 如 `knowledge/变更/进行中/<变更>/01-proposal.md`）**不对齐** -> 全部判 missing。
3. `extra_files` 未排除 bootstrap 产物（`.kb/`、`kb.project.json` 等）-> 全新仓库必报 extra。

### 改动

- `actualFiles`：`git diff HEAD` 失败时降级为仅 `ls-files --others`（不返 null），返回 `{ files, degraded }`。
- 新增 `BOOTSTRAP_EXCLUDES` + `isBootstrapArtifact()`：从 `extra` 过滤 `.kb/`、`kb.project.json`、`knowledge/AGENTS.md`、`knowledge/index.md`、`.gitignore`、`.pi/`、`.mcp.json`、根 `AGENTS.md`。
- 新增 `normalizePlannedFiles()` + 路径归一化：manifest file 不以 `knowledge/` 开头时补 `changeDirRel` 前缀再比对。
- `buildDriftReport` 触发降级时加「（全新仓库，仅按 untracked 比对）」说明。
- schema `task.files` 加 description 明确「相对业务仓根的路径（正斜杠）」。
- `kb-plan.md` / `kb-apply.md` prompts 同步声明路径口径与脚本归一化行为。

## P2: schema 合法值扩展（#IK3ZFQ，中）

- `files[].source` enum：+ `"test"`（/kb-test 产 06 文件用）
- `files[].kind` enum：+ `"test"`
- `external.task_type`：保持 `["需求","Bug"]`，加 description「中文，禁止 feature 等英文值」
- `kb-propose.md` 类型示例补 `需求 / Bug`
- `kb-test.md` 补 06 文件标注 `source: "test"`、`kind: "change_doc"`
- `SKILL.md` 加 manifest 字段合法值清单

## P3: 编号口径统一（#IK3ZFR，中）

- `kb-design.md`：`## N、` -> `## 中文数字、`；`### N.M` -> `### （一）/（二）/（三）`；AGENTS 引用「5」修正为「§六」
- `kb-plan.md`：同样改中文数字；AGENTS 引用「6」修正为「§七」
- 命令执行步骤（`### 1. 读取业务 PRD` 等）保持阿拉伯数字不动

## 验证

- `schema/kb-manifest.schema.json` JSON 合法，enum 值正确
- `kb-audit-apply.mjs` 语法 OK，`--help` 正常，无 manifest 时 exit=2
- `kb-design.md` / `kb-plan.md` 无残留 `## N、` 或 `### N.M` 文档结构编号

## EvoMap publish

已回传（用户当轮确认）。

| 字段 | 值 |
|---|---|
| bundle_id | `bundle_33074e09ef84839e` |
| Gene asset_id | `sha256:c57f79b15bb9f8abcb2b06c25265d0bb39c594e7924c229ac8c9751bd7a1bd43` |
| Capsule asset_id | `sha256:0cdffae8e4f6c226b6da5de571466d73b1b5749a090398045d73793f65b64cee` |
| EvolutionEvent asset_id | `sha256:eb41dd1058fbc9481109e72e1e591de9ec902023e2a14f1a91a4fa459d16d80f` |
