# workflow-revision.md：大修工作流

本文件为"大修/回炉"场景的完整指引。SKILL.md 路由到本文件后，按以下流程执行。

---

## 适用条件

- 用户说"修改第X章""回炉第X章""重写第X章"
- 目标：修改已写好的章节内容

> 用户必须指定章节号或章节名。无法自动推断需要修改哪一章。

---

## Step 1：定位章节

1. 根据"第X章"找到文件：`正文/第{X}章_*.md`
2. 如果用户说的是章节名而非编号，用 `find 正文/ -name "*{关键词}*"` 搜索
3. 找不到时让用户确认具体章节
4. 如果用户指定段落范围（"第3-5段"/"那场打斗"/"对话部分"），记录为局部修改目标

---

## Step 2：加载上下文

加载比日常写作更多的上下文（因为修改需要理解前后衔接）：

| 序号 | 文件 | 用途 | 如果不存在 |
|------|------|------|-----------|
| 1 | `正文/第{X}章_*.md` | 待修改章节 | 必须存在 |
| 2 | `大纲/细纲_第{X}章.md` | 原始写作计划 | 跳过 |
| 3 | `正文/第{X-1}章_*.md` | 前一章（衔接） | 第1章时加载 `设定/世界观/背景设定.md` 替代 |
| 4 | `正文/第{X+1}章_*.md` | 后一章（衔接） | 末章时检查 `大纲/细纲_第{X+1}章.md`（如有）确保连续性 |
| 5 | `追踪/伏笔.md` | 涉及的伏笔 | 跳过 |
| 6 | `设定/角色/{相关角色}.md` | 本章涉及角色 | 跳过 |

**相关角色判定**：从 `大纲/细纲_第{X}章.md` 中提取角色名。如果细纲不存在，从待修改章节正文中搜索 `设定/角色/` 目录下的角色名关键词。将角色名映射为文件名：`设定/角色/{角色名}.md`。

---

## Step 3：修改

1. **阅读原文**：读完整章内容，记录原始字数
2. **备份原文**：将原文复制为 `正文/第{X}章_章名_原稿_{YYYYMMDD}.md`，确保可回退
3. **确认修改范围**：问用户是"全文重写"还是"修改特定段落"
   - 全文重写：基于细纲重新写，保留备份
   - 局部修改：只改指定段落（按场景序号或关键词定位），保持其他部分不变
4. **执行修改**：改写文件
4. **字数对比**：修改后与原文字数差异 > 30% 或 > 800 字时提醒用户（取较大值）

**资料研究（按需）**：如果修改涉及需要验证的外部事实（历史年代、地理方位、职业细节等），spawn `story-researcher` agent 搜索验证。

---

## Step 4：级联检查

修改完成后，逐一检查是否影响后续章节：

1. **伏笔检查**：对比修改前后的伏笔列表（读取旧快照 vs 新内容），标记变化项：
   - 新增伏笔 → 添加到 `追踪/伏笔.md`
   - 删除伏笔 → 从 `追踪/伏笔.md` 移除，并检查后续章节是否引用该伏笔
   - 修改伏笔 → 更新描述，检查后续引用是否一致
2. **时间线检查**：对比修改前后的事件顺序，更新 `追踪/时间线.md`
3. **后续影响**：如果修改改变了角色状态/关系/世界观设定，扫描后续章节正文标记受影响项：

```
⚠️ 修改第{X}章后，以下章节可能需要同步调整：
- 第{X+1}章：{原因}（建议检查）
- 第{X+3}章：{原因}（建议检查）
```

4. **正文元信息扫描**：检查标题行以外是否混入 `第[一二三四五六七八九十百千万两0-9]+章|上一章|上章|前一章|本章|这一章|前文|后文|伏笔|细纲|读者` 这类写作工程词，命中即改成角色当下可感知的事件锚点或相对时间；故事内真实阅读/讨论“第X章”或真实读者身份语境除外
5. **禁用词扫描**：对照 `references/banned-words.md` 检查修改后的内容

---

## Step 5：质量检查

对修改后的章节执行 Phase 5 质量检查（至少包含）：

1. **禁用词扫描**：如 Step 4 未覆盖全章，再次扫描
2. **正文元信息扫描**：标题行以外不得出现 `第[一二三四五六七八九十百千万两0-9]+章|上一章|上章|前一章|本章|这一章|前文|后文|伏笔|细纲|读者` 这类写作工程词；故事内真实阅读/讨论“第X章”或真实读者身份语境除外
3. **人物一致性**：修改后的角色行为是否与角色设定一致
4. **节奏检查**：修改是否破坏了章节节奏

> 完整 Phase 5 检查清单见 SKILL.md Phase 5。

---

## 常见问题

| 问题 | 处理 |
|------|------|
| 用户没说改哪里 | 问"你想改哪一章？哪方面？情节/节奏/对话/描写？" |
| 修改后字数暴增/暴减 | 提醒用户，由用户决定是否调整 |
| 连续改多章 | 逐章修改，每章独立执行 Step 2-5 |
| 改完发现后续不一致 | 列出受影响章节，由用户决定是否现在修改 |
