# 流程进化: apply 范围对账闸门

| 字段 | 值 |
|---|---|
| 时间戳（Asia/Shanghai） | 20260725142437 |
| 关联 Issue | #IK3Y25（apply 后缺一致性对账闸门） |
| EvoMap 检索 | 5 条命中（最高 48.6，主题相近但语境不符），**未采用** |
| evomap_asset_ids | （无） |
| 修改文件 | `schema/kb-manifest.schema.json`、`prompts/kb-apply.md`、`scripts/kb-audit-apply.mjs`（新）、`skills/kb-workflow/SKILL.md`、`package.json`、`CHANGELOG.md` |
| commit | 09163d7（full: 09163d7b6aca42266a4d62db15477d7ba04aa197；含初始 7 文件变更 + 本次回填） |
| 版本 | 0.1.8 → 0.1.9 |

## 提案摘要

`/kb-apply` 标准流在写 `stage=applied` 之后、`/kb-review` 之前插入范围对账闸门：

- 新脚本 `kb-audit-apply.mjs`：对比 manifest.tasks[].files（合并 done 任务）vs `git diff --name-only`
- drift 阈值：缺失 > 0 OR 多余 > 0
- drift 处置：回退 `stage=applying`、在 `02-plan.md` 追加「对账漂移报告」、阻断进入 review
- ok 处置：写入 `manifest.audit.result=ok`，stage 升级为 `applied_audited`，进入 review

## 决策记录

| Issue | 处置 | 备注 |
|---|---|---|
| #IK3Y25 | 采纳 | 关联分支 `evolve/20260725130644`，MR 合入后由维护者 close |

## 自一致巡检

- stage enum 同步：`schema/kb-manifest.schema.json` 与 `SKILL.md` 表格均含 `applied_audited` ✅
- 命令完备：新增 `kb-audit-apply.mjs` 无对应 prompt（设计为脚本闸门而非用户命令）；`/kb-apply` prompt 引用之 ✅
- 引用有效：`prompts/kb-apply.md` 中 `kb-audit-apply.mjs` 路径白名单内 ✅
- Pi 口径：仍以 `kb-feedback-gitee.md` 为准，本 MR 闭环回到 Gitee Issue ✅

## 风险与限制

1. 首版仅做文件级 diff，不做语义对齐（避免误报）；后续若需设计意图对齐，单独提 Issue。
2. drift 阈值最严（缺 1 即阻断），用户可在 `prompts/kb-apply.md` 注明豁免或调整。
3. `applied_audited` 是 audit 通过后的稳定态，review 完成后被 `reviewed` 覆盖；归档后此中间态不再被读取。