# S3 节点 — 写稿规范与 Brief 模板

> 来源：workflow-s3.md 拆分，对应原文行 317–699
> **导航**：[核心执行机制 ←](./workflow-s3-core.md) | [收口规则 →](./workflow-s3-closure.md)

---

### S3 写稿规范（单 Agent / 多成员通用）

> **重要说明**：以下规范无多成员时同样适用于单 Agent 执行，规范不变。

| 规范项 | 说明 |
|------|------|
| **构建虚拟书房** | `node scripts/init-fbs-multiagent-artifacts.mjs --book-root <书稿根路径>`，初始化三层底座 `.fbs/`、`deliverables/`、`releases/` 及全部台账工件 |
| **文件命名** | `[S3-ChNN] 第N章章节名.md`，禁止用 `S2-` 前缀 |
| **台账更新（强制）** | 写稿章节须同步更新 `chapter-status.md`，禁止落后；team-lead 须同步台账确认 |
| **写稿** | 每次写稿需：(1) 更新 `chapter-status.md`，(2) 确认优先级与章节分工，(3) 更新 `book-context-brief.md` 的 `updatedAt`（ISO 格式） |
| **术语** | 术语须来自 `.fbs/GLOSSARY.md`，不一致时记录到 `book-level-consistency.md` C0-2 |
| **引用** | 联网查证引用须符合 [`citation-format.md`](../../02-quality/citation-format.md) 规范 |
| **联网查证** | team-lead 执行 `node scripts/enforce-search-policy.mjs --skill-root <技能根> --chapter-file <章节>` |
| **章节依赖检查** | 写完每章须更新 `.fbs/chapter-dependencies.json`，并执行 `node scripts/sync-book-chapter-index.mjs` |
| **前置章节依赖门** | `node scripts/chapter-dependency-gate.mjs --book-root <书稿根> --chapter <id>` 结果为 1 时才允许继续 |
| **引用 / 术语** | `node scripts/citation-format-check.mjs` 和 `node scripts/terminology-gate.mjs`（可加 `--strict`） |
| **心跳 / 任务队列** | 写稿中更新 `.fbs/member-heartbeats.json`，读取 `.fbs/task-queue.json` |
| **跨章一致性** | 执行 CX，见 [`cross-chapter-consistency.md`](../../02-quality/cross-chapter-consistency.md) |
| **异常处理** | 见 [`./skill-authoritative-supplement.md`](../skill-authoritative-supplement.md) |

---

### 章节质量评分阈值

| 阈值（10 分制） | 说明 | 处置 |
|--------|------|----------|
| **≥7.5** | 去 AI 味通过 / 高质量 | 台账标注通过，继续下一章 |
| **7.0~7.5** | 通过警告 | 建议再润色 |
| **<7.0** | 失败 / 强制重写 | 触发重写规则，自动回退章节 |

---

### 写稿结尾钩子（G9）

> **写稿注意**：写稿后须检查结尾是否有收尾钩子 QM-4，章节结尾需要有衔接下一章的过渡性语句。

```
章节结尾检查
  步骤1：检查 .fbs/book-context-brief.md 叙事仰角，上章结尾引用钩子是否连接到本章
  步骤2：对照 Chapter Brief 叙事节奏，叙事连贯性
  步骤3：生成本章结尾钩子（叙事衔接到下章）
          参考主题{叙事主题}
          结尾过渡{endHook 结尾过渡}
          衔接钩子（3 句话以内）完整叙事结尾
```

> **token 预算提示**：章节写稿建议控制在 200~300 token 以内。

---

### 章节写稿 Chapter Brief 执行规范（P0 强制）

> **执行说明**：每章写稿须对照 Chapter Brief 逐项执行叙事结构。
> **记录路径**：每章 Chapter Brief 须写入 `.fbs/writing-notes/{chapterId}.brief.md`。
> **Brief 粒度**：通过 `briefGranularity=volume/chapter` 确认，若无 Brief，写稿 Brief 粒度须减少到 30 字以内。

#### Brief 执行格式

```
写稿前必须确认 Chapter Brief 是否已创建
核心论题{内容}
写作仰角（20字内）{内容}
核心论点 {论点1} / {论点2} / {论点3}
叙事结构{线性叙事 / 比较分析 / 问题解决}
联网查证{联网查证结果 / 模型知识}
作者风格约束{参考 .fbs/author-meta.md 风格标签}
结尾钩子{有 / 衔接下章叙事过渡内容}
跨章引用记录{路径 .fbs/跨章引用记录.md / 若无则留空}
确认 Brief 满足上述要求后，才可以开始写稿
```

```markdown
## ★ Chapter Brief ★ [写稿阶段 S3-ChNN]

### 核心信息
- **核心论题**：{S2 确认的核心论题}
- **写作仰角**（20字内）：{书稿核心论题概括，体现写稿仰角与叙事立场}
- **重点论证项**：___ （核心论证点，三点以内）
- **目标字数**：{预期字数}

### 作者风格约束（来自 `.fbs/author-meta.md`）
- **文风**：{风格标签，确认文风特点与约束}
- **禁忌**：{禁止特定写法、用词、表达方式}
- **写法**：{体现 1~2 个作者标志性写法}
- **若 author-meta.md 不存在**：按照用户最近反馈的写法偏好执行

### 核心论点
- **章节核心论点（3条以内）**：
  1. {核心论点1}
  2. {核心论点2}
  3. {核心论点3}
- **叙事结构（来自 S2 目录规划）**：{来自 S2 确认的叙事结构}
- **重点展开节点**：{需要特别展开/深化的论证部分}

### 原料
- **原料充分性**：{充分 / 基本够用 / 原料不足}
- **联网查证记录**（来自 `.fbs/material-library.md`）：
  - 查证资料 {N} 条（联网查证 1 次以上）
  - 补充 {N} 条（模型知识补充）
  - 待查 / 降级记录 {N} 条
- **查证记录路径**：`.fbs/search-ledger.jsonl`，kind=material，chapterId={章节ID}
- **联网查证执行状态**：{已完成 / 联网降级模型知识 / 查证不足补充查证}

> **联网查证不足警告**：若联网查证 2 次以内且覆盖比例不足 50%，必须告知用户。

### 结尾钩子
- **叙事衔接钩子**：{本章结尾引出下章叙事自然过渡内容 endHook}
- **叙事连贯确认**：{本章结尾与下章开头叙事连贯，3句以内过渡语句}

### 书型写法 G7 标签
- **书型标签（来自 S1 书型确认）**：{书型标签名称}
- **叙事风格/写法模板确认**：{非虚构叙事 / 行研报告 / 调查报道}
- **风格注意**：与书型标签对应的写法禁忌/写法说明
```

> **说明**：以上 Brief 格式适用于 A 类书稿，`briefGranularity=volume/chapter` 设置。

---

#### Report Brief（B 类报告）执行规范（P0 强制）

> **执行说明**：B 类报告书稿不使用章节叙事结构，改用 Report Brief，是 Chapter Brief 的 B 类替代规范。
> **适用条件**：`genreLevel=B` 时，行研报告类书稿须改用 Report Brief。

**Report Brief 执行格式**：
```
写稿前确认 Report Brief 是否已创建，适用行研/分析报告场景
报告主题{内容}
报告摘要（30字内）{核心仰角，含报告目的/核心结论/应用场景}
核心议题 {议题/观点1} / {议题/观点2} / {议题/观点3}
章节架构{执行摘要 N页 / 正文章节 N页 / L1分析 N页 / L2深析N页}
报告结论{报告结论}
作者风格约束{参考 S0-lite 风格标签}
结尾钩子{有 / 衔接下章叙事过渡内容}
确认 Report Brief 满足上述要求后，才可以开始写稿
```

**与 Chapter Brief 对比**：
| 维度 | Chapter Brief（A 类型） | Report Brief（B 类型） |
|------|----------------------|---------------------|
| 适用 | 叙事类书稿章节写法 | 行研报告类分析写法 |
| 结构 | 核心论点 3条以上 | 分析议题/报告结论 |
| 写法 | 叙事类 | 分析报告类 |
| 路径 | `.fbs/writing-notes/{chapterId}.brief.md` | `.fbs/writing-notes/report-brief.md` |

---

#### 最小可交付报告（MVD，B 类报告）规范（P0 强制）

> **说明**：B 类报告使用 S0-lite + S1 快速路径时，最小化可交付成果（Minimum Viable Deliverable）。

```
★ 核心成果 ★（最小化交付）
  ★{成果1}：{内容描述}
  ★{成果2}：{内容描述}
  ★{成果3}：{内容描述}
  受众目标{描述}

★ 核心结论 ★（2版本）
  结论版本A：{核心结论，一句话"关键发现摘要"}
  {200-300字版本}

  结论版本B：{执行摘要，一句话"精炼摘要"}
  {200-300字版本}

★ 核心发现
  {发现1} / {观点1}，证据来源 {F-ID}
  {发现2} / {观点2}，证据来源 {F-ID}

核心问题列表（3-5 条）
  Q1: {核心问题1}
  Q2: {核心问题2}
  Q3: {核心问题3}

★ 原料清单（6 条以内）
  文献{来源描述}，字数{N}字，证据来源{F-ID}
确认 MVD 清单后，在写稿台账登记 OK 后，再写稿
```

**路径**：`{workspace}/[S1] 书型确认.md`，B 类报告 P0 强制确认

---

#### 结构访谈章节（B 类报告）规范（P1）

> **说明**：当 B 类报告涉及具体案例/人物/访谈时，将访谈章节做结构化设计。

**访谈节点格式**：`[访谈] {访谈者名}.md`

**访谈来源质量矩阵**：
| 来源 | 质量等级 | 说明 |
|------|---------------|------|
| 专家访谈 | 一手资料 + 二次核实 | 访谈权威性 |
| 版本/数据文献 | 文献数据 + GitHub 来源 | 数据权威性 |
| 官方媒体 | 媒体来源报道 | 报道可信度 |
| 内部资料 | 企业来源内部 | 内部资料 |
| 行业会议资料 | 会议资料来源 | 业内认可度 |

---

### 章节写稿单章清单（A 类书稿，≥3000 字标准版，P0 强制）

> 适用 Agent 写稿每章完成后，token 预算约 1k/章，执行约 8k/完整章节

```markdown
## ★ 单章清单 ★ [章节标题]

**S 项（去AI味，P0）**
- [ ] B 项 buzzword = 0（禁止：赋能/驱动/深度/引领/智慧/一站式/生态等）
- [ ] 无意义分析项（名词/概念堆砌 > 3 / 无案例无论据）
- [ ] 章节 40 字以内开头删除率 0%

**P/C 逻辑结构规范**
- [ ] 每节 300 字以内没有过渡段，叙事不连贯标注
- [ ] 章节字数目标 {600}{800}字
- [ ] 章节内容逻辑完整，无骨架章节

**B/G 原料质量规范**
- [ ] 联网查证覆盖必须大于 2 次，低质资料标注
- [ ] 目录 # 级标题内容必须与章节标题一致
- [ ] 引用格式符合 `search-policy.json` 要求

**Chapter Brief 规范**
- [ ] Chapter Brief 已写入 `.fbs/writing-notes/{chapterId}.brief.md`
- [ ] 核心论题/写作仰角/核心论点 Brief 内容完整
- [ ] 联网查证已覆盖本章核心论点，覆盖 author-meta.md 风格约束

**原料规范**
- [ ] 已读取 Brief，联网查证原料已完整读取
- [ ] 联网查证格式符合：类型/链接/时间戳完整
- [ ] 来源格式符合 citation-format.md，引用格式完整

**写稿结果**
- [ ] `[S3-ChNN] 第N章章节名.md` 已成功写入，实测字数确认
得分：___/10 | S:___ P:___ C:___ B:___

**结尾钩子**：（叙事衔接下章）
> {章节结尾叙事过渡，3句话以内}

**思维俯仰（H4，P2）**：
> 写完每章后，是否有高维思考洞见？记录到 `.fbs/insight-cards.md`
```

---

### 写稿评分清单（B/C 报告，≥3000 字版本，P0 强制）

> 适用 B/C 类报告书稿，原料质量和分析深度强化。

```markdown
## ★ 报告清单 ★ [报告标题/报告节/子报告章节]

**S 项（去AI味，P0）**
- [ ] B 项 buzzword = 0（禁止：赋能/驱动/引领/智慧/一站式/协同等）
- [ ] 无意义分析项（空洞描述/堆砌名词 > 3 / 无案例无论据）
- [ ] 章节 40 字以内删除率 0%
- [ ] 禁止同质段落连续 3 个以上

**分析结构规范（P0）**
- [ ] 每节论点必须有数据/案例/文献来源佐证
- [ ] 分析结构完整（问题/原因/结论/建议/来源）
- [ ] 论点与 Report Brief 一致，无结论冗余

**原料质量（P0）**
- [ ] 联网查证来源必须是一手资料或权威来源
- [ ] 查证记录完整，已记录 search-ledger.jsonl
- [ ] 联网降级已标注（L2 类）

**字数要求（P0）**
- [ ] 报告每节达到 3000 字以上

得分：___/10
```

---

#### H5 跨章引用记录（写稿连续性，P1）

> **说明**：书稿 8 章以上时，须记录跨章引用，确认叙事连贯性。

```markdown
## ★ 跨章引用记录 ★ {报告节}（{ISO日期}）
### 基础信息
- **所在阶段**：{S0/S1/S2/S3（第N章）/S4/S5/S6}
- **章节序列**：{N}/{总章节数}，完成约 {完成比例%}
- **更新时间**：{ISO}
- **写稿评分**：目前约 {X}/10，{通过/警告/失败}
### 叙事路径
- **叙事主题**：{N}字（简洁），叙事路径为 {叙事结构}
- **叙事类型**：{叙事类 / 报告类 / 多线叙事}
### 洞见记录
- **洞见卡片**：{N}条记录 `.fbs/insight-cards.md`
### 下章引用
- **叙事衔接下章**：从{当前章节结尾}到{下章开头描述}
### 跨章引用
A. 下一章 {N+1} 叙事衔接说明
B. 回顾上章核心论点
C. 叙事连贯确认
D. 查看叙事衔接确认
请选 A/B/C/D 执行或输入其他要求
```

---

### 写稿台账更新规则（S3 写稿台账，P0 强制）

| 触发场景 | 台账更新方式 | 说明 |
|--------|---------|------|
| **写稿开始** | 台账标注写稿中 `[章节名]` 写稿状态=写稿中 | 实时更新 `.fbs/material-library.md` |
| **写稿进行中** | 台账更新章节进度说明 | 完整记录章节内容进度 |
| **写稿完成后** | 台账字符数标注实测 | `materialStatus=写稿完成` |

**原料库格式**：
```markdown
## 原料库条目 {ID}
- **类型**：文献 / 报道 / 数据 / 案例 / 访谈 / 分析结果 / 模型知识
- **来源**：{来源 / WebSearch:{query} / 模型知识（未联网查证）}
- **关联章节**：{chapterId}
- **摘要**（200字内）：{摘要}
- **状态**：已使用 / 待用，关联{chapterId}，使用时间{时间}
- **时间**：{ISO}
```

---

### 写稿质量评分流程（Writer 多成员写稿规范）

```
→ Agent 写稿流程
  ↑ 开始写稿前确认
  ↓ 单章写稿
  ↓ Critic-S 执行（S1-S6 + V1分项）
  ↓ 单章清单自检
  ↓ 调用 Critic-L1（P 逻辑分）
  ↓ 调用 Critic-L2（C 叙事分）+ 判断章节叙事连贯性（`quality-PLC.md` C5 叙事方向）
  ↓ 调用 Critic-L3（B 原料分）+ 联网查证覆盖率确认
  ↓ 调用 Proofer（全字段审校）+ 跨章记录 + 结尾钩子
  ↓ 写稿结尾 → Writer 完成
  ↓ 评分 ≥7.5 章节通过
  ↓ 评分 7.0～7.5 通过警告，建议润色
  ↓ 评分 <7.0 触发重写规则（2次上限）
      若 2 次重写后 <7.0 强制暂停，等待用户确认
  ↓ 章节完成后 + 台账更新
```

---

### 单章写稿结果汇报格式

```markdown
## ★ 写稿进度报告

总体进度：{X}.7/10 分 | S:9.0 P:8.5 C:8.8 B:8.5

写稿进度说明：
- 已完成章节：{N}章（含台账实测字数，覆盖率{N}%）
- 当前章节状态：{当前章节状态说明，字数/目标达成率}

查看写稿报告用语："查看写稿进度报告"
```
