---
name: 通用-多平台输出编排
description: '用于对单章或多章执行多平台输出全流程编排。适合多平台输出 SOP、批量平台分发、断点恢复、门禁回炉与最终摘要收口。关键词：多平台输出编排、平台分发、断点恢复、门禁回炉、平台日志、最终摘要、今日头条。'
argument-hint: '请给我一个 chapterPath 或 chapterPaths；platforms 可以省略。若用户命令中已指定 platforms，按指定子集执行；若未指定，必须读取项目根目录 `Agents.md` 中的 `平台POV基线表` 章节获取默认输出平台列表，并识别主输出平台（主平台版本已由 `通用-创建小说正文` 写入 `小说正文/`，本编排器对主平台仅执行门禁终检，不重复改写）；若 `Agents.md` 或其中的 `平台POV基线表` 章节不存在，提示用户创建后停止。'

---

# 通用-多平台输出编排

## 执行安保（硬性门禁）

### 阅读确认（强制）

**本文件不是摘要或参考提示，而是必须逐字执行的流程指令。**

在产生任何输出之前，必须先逐条输出以下确认。不输出确认就输出正文内容，一律视为流程违规：

```
[阅读确认]
- 本文件 SKILL.md → [已完整读取，完全理解全部硬规则与强制要求]
- references/多平台输出执行总流程与断点恢复.md → [已读取并理解]
- references/多平台输出门禁与相似度规则.md → [已读取并理解]
- references/多平台输出摘要与日志规范.md → [已读取并理解]
```

若项目根目录存在 `Agents.md` → 追加确认已完整读取（含 `平台POV基线表` 章节）。

### 执行器定位（硬性）

- **本 Skill 是"执行器"，不是"规划器"**：目标是把 15 步闭环真实跑完，而不是输出计划、平台列表或阶段汇报。
- **一气呵成**：一旦开始执行，必须一气跑完 A→E 五个阶段，中途不得暂停询问与任务无关或可由既有规则推断的问题。
- **禁止"等你说继续"式暂停**：除非命中硬性缺参（如章节路径无法解析、Agents.md 中缺少平台POV基线表），否则不得停下来等用户回复。
- **步进式输出**：每一步开始时输出 `[进度] 阶段 X / 步骤 N：当前动作描述`；在完成全部 15 步之前，不得输出"多平台输出完成"或最终摘要。

### 禁止违规的情形（硬性）

以下任一情况都构成违规，必须回炉或重新执行：

1. **禁止逐章"批量多章"并行** — 必须逐章独立执行，完成单章全部平台后再移下一章。
2. **禁止用脚本生成正文** — 脚本只用于门禁验证/字数统计/相似度检测，正文内容必须由 AI 模型生成。
3. **禁止模板句污染** — 不得出现"抽象自述+动词模板+口径名词"的机械句群或指定污染短语。
4. **禁止剪切视角锁定** — 已锁定的 `platformPovContract` 不得在连续章中自行更改人称。
5. **禁止跳过提纯或适配节点** — 不得跳过 `通用-提纯多平台母稿` 或 `通用-多平台小说适配`。
6. **禁止跳过推演直接落笔** — 每个"章节×平台"节点必须先生成平台化推演草图，再进入正文改写。
7. **禁止回炉扩大化** — 单一平台回炉不得把其他已通过平台一起拖回。
8. **禁止失范放行** — 字数/POV/相似度/质量任一门禁不达标，不得宣告完成。

### 语气规则（硬性）

以下为**不可协商的硬约束**：

- 不按本流程执行，不是"工作不到位"，而是**违规**。
- 不得跳过 references 文件的读取；不得"根据已有知识"代替实际读取。
- 不得裁剪 15 步闭环中的任何步骤。
- 不得跳过 `通用-提纯多平台母稿` 或 `通用-多平台小说适配` 节点。
- 不得把"看起来差不多了"当作已达标。
- 违反上述任一条的产出不得交付。

多平台输出不是把一章文本复制多份，而是一个带门禁、日志、相似度与平台路由的执行流水线。

## 核心红线（硬性约束，绝对不可违反）

### 红线 0：字数门禁（动态读取，优先项目级覆盖）

- 字数门禁不再使用全局硬编码值。字数目标按以下优先级确定（由高到低）：
  1. **项目级覆盖**：读取项目根目录 `Agents.md`，若该文件中有针对**具体平台**的字数要求（如 `起点：{ bodyCJK: 3000-5000, afterwordCJK: 200-300 }`），则以此为准。
  2. **主平台默认**：若 `Agents.md` 中未指定具体平台但设定了主输出平台的字数要求，则由主输出平台对应的 `通用-输出*版/SKILL.md` 中的"平台默认字数范围"确定。
  3. **目标平台默认**：读取本次目标平台对应的 `通用-输出*版/SKILL.md` 中的"平台默认字数范围"。
- 在任何平台分发开始前，必须先为**每个章节 × 每个平台**建立字数可行性判断；正文与 `## 作者有话说` 未达到该平台的字数目标时，建议先补足再进入平台正文写作阶段。
- 若源稿本身偏短，必须先调用 `通用-提纯多平台母稿` 后判断是否需要做源稿补强；若源稿补强后仍远低于目标平台的字数门槛，可停止该平台分支，记录 `blocked_word_count_insufficient`，不得用平台后处理"凑字数"。
- 字数不足的处理顺序必须是：**先补信息与场景 → 再补正文 → 再补作者有话说 → 最后才允许进入平台门禁与相似度终检**。禁止把字数不足留到平台分支里临时修补。
- 平台化草图阶段必须显式写明该平台的字数余量判断，字数目标来源（项目覆盖 / 平台默认）一并注明。
- 若任一平台版本在首次落盘后仍未达字数目标，建议回炉扩写，不得先保留"能跑门禁"的短稿再后补。

## 事故复盘回写（2026-05-11，强制执行）

- 已发生过违规行为：在子代理额度受限时，错误切换到本地脚本链路做正文改写与批量生成。
- 该行为本质上违反“红线 2”，并造成无效生成与 token 浪费；后续必须视为**一级流程事故**。
- 本条复盘不是说明性文字，而是执行约束：凡出现同类路径，一律判定为流程失败并中止。

### 红线 1：逐章单独执行（禁止批量处理多章）

- **每一章必须独立完整执行一遍完整的多平台输出闭环**（从提纯、适配、分平台改写、门禁验证、相似度终检）。
- **严禁所谓的"批量多章输出"、"并行多章处理"或"一次性铺开所有平台分支"**。
- 正确做法：处理第 1 章 → 完全完成第 1 章全部平台 → 移至第 2 章 → 完全完成第 2 章全部平台 → ……
- 错误做法：一次性对多章设置任务队列，或同时并行推进多个章节的平台分支。
- 违反此红线导致的任何内容质量问题、相似度混乱、门禁失效，全部由执行者负责。

### 红线 2：多平台版本必须由 AI 生成（禁止脚本垃圾字符，禁止批量模板）

- **绝对禁止使用脚本来生成随机字符、垃圾内容或无意义字符填充**。
- **绝对禁止使用批量替换规则、模板库或自动化工具来批量改写正文**。
- **每个平台的多平台版本内容必须由 AI 模型直接调用生成，保证高质量、高创意、符合平台风格**。
- **AI 生成的内容必须是原创、有逻辑、有文学质感的作品文本，不是字符垃圾或低质量替换**。
- **脚本的唯一用途是：门禁验证、字数统计、相似度检测、质量检查**。脚本不得用于内容生成。
- AI 生成完成后，必须进行人工复核（检查逻辑、一致性、出戏风险），但内容本身由 AI 负责生成。
- 违反此红线的输出（包括脚本垃圾、批量模板、低质量 AI 生成）不得交付，必须全部回炉重新调用 AI 生成。
- 当 AI 生成能力不可用（如子代理限额、模型不可用、调用失败）时，**唯一允许动作**是：写日志标记 `blocked_ai_unavailable` 并停止正文生产；绝对禁止改走任何脚本改写或模板替换兜底。

### 红线 3：模板句污染零容忍（新增硬红线）

- 绝对禁止在平台正文中出现“抽象自述 + 动词模板 + 口径名词”的机械句群（如“我这边…对齐/校准…，说到底…口径/日志…，只求…”）。
- 绝对禁止出现污染短语族：`对照项落在`、`先把同一句话拆碎`、`先把顺滑的解释拆开`、`只求能追溯`、`只求能复核`、`只求对得上`。
- 一旦命中上述模板句污染，必须判定为**硬失败**并回炉重写；不得以“字数达标”或“相似度达标”放行。
- 下列脚本不得进入正文生产链路：`scripts/append_cn_unique_monologue.ps1`、`scripts/append_cn_unique_narration.ps1`、`scripts/append_cn_unique_thirdperson.ps1`、`scripts/rephrase_cn_body.ps1`、`scripts/rephrase_en_body.ps1`、`scripts/cn_lexicon_profile_transform.ps1`。

### 红线 4：平台连续章视角锁定（新增硬红线）

- 对同一平台的连续章节输出，必须先锁定该平台的 `platformPovContract`，至少包含：`expected(first|second|third)`、`lang`、`baselineSource`、`switchPolicy`。
- `platformPovContract` 的默认来源优先级必须是：用户明确指定 > 该平台已完成前序章节 > 源稿既有视角链路 > 本批次该平台首个已通过章节。
- 一旦某平台已存在有效 POV 契约，后续连续章节必须继承；绝对禁止在没有显式理由与日志审批的情况下，把第 1–8 章的第三人称链路写到第 9–15 章突然变成第一人称，或反向漂移。
- 只有三类场景允许变更：源章本来就是视角切换章 / 多视角连续章；用户明确要求该平台改成人称迁移；历史平台链路本来就是另一套 POV 且本次只是续写。
- 任何未登记的 POV 变更都视为**硬失败**：必须回炉重写，并在日志中记为 `pov_switch_without_approval` 或 `pov_drift_detected`。

### 红线 5：字数目标不得后置（修订为软推荐）

- 不建议把"先落盘、再补字数"作为流程策略；这会让平台门禁、相似度门禁和 POV 门禁都建立在错误长度上。
- 不建议把短稿先分发到所有平台，再期待某个平台的作者有话说或平台后修补到位。
- 若当前章节在某平台上远低于该平台字数目标，可在日志中标记该平台分支为 `blocked_word_count_insufficient`，并考虑中止该平台分支后续分发。
- 字数目标是参考门槛，不是硬性阻断；它与 POV 契约门禁同级，但不达标不会自动阻断，需由审阅者判断是否继续。

## 继续读取的 references

命中本 Skill 时，除本文件外，**必须继续读取**：

- `references/多平台输出执行总流程与断点恢复.md`
- `references/多平台输出门禁与相似度规则.md`
- `references/多平台输出摘要与日志规范.md`
- `../../写作研究/网文留存模型.md` — 留存基线
- `../../写作研究/GEO小说项目核心参考.md`（**新增** — GEO 基础框架，支撑步骤 10-14 门禁中新增的 GEO 门禁），定义多平台分发阶段的留存门禁与平台留存策略映射

## 题材包装层路由规则

题材目录下的包装层 Skill（如 `都市悬疑-提纯多平台母稿`）是本 Skill 所调用的子 Skill 的题材特化扩展。调用规则：

- 在调用 `通用-提纯多平台母稿`、`通用-多平台小说适配` 或任一 `通用-输出{平台名}版` 之前，先检查当前项目题材目录下的 `.github/skills/` 中是否存在同名题材包装层
- 若存在：**先加载题材包装层 Skill**，再由其路由到通用 Skill 叠加题材规则
- 若不存在：直接调用通用 Skill，不报错，不阻断
- 本编排器不直接消费题材包装层；路由责任由被调用的子 Skill 承担

## 默认模型温度参考

本 Skill 作为编排器不直接调用模型，但将以下温度约束传递给被调用的下游子 Skill 执行：

| 子 Skill / 阶段 | 推荐温度 | 说明 |
|---|---|---|
| 通用-提纯多平台母稿（提纯阶段） | 0.40 | 信息保真为主，保持判断稳定 |
| 通用-提纯多平台母稿（提纯阶段） | 0.40 | 信息保真为主，保持判断稳定 |
| 通用-多平台小说适配（推演阶段） | 0.45 | 策略推演，适度约束 |
| 通用-输出{平台名}版（分平台改写） | 0.55–0.70 | 需要创造性与平台适配，中文英文共用 |
| 字数/POV/相似度门禁（终检） | — | 脚本检测，不调用模型 |

## 何时使用

- 用户要求把单章或连续多章输出到多个平台。
- 需要统一处理 `chapterPath / chapterPaths / inline source`、默认平台集合、日志续跑、门禁脚本与分语言相似度质检。
- 需要一个真正能落盘、能恢复、能批量滚动执行的多平台输出 SOP。

## 不适用情形

- 只想做平台差异推演、不落文件：优先使用 `通用-多平台小说适配`。
- 只改某一个平台版本：优先使用对应平台输出 Skill。
- 只写原始章节正文、不做平台派生稿：优先使用 `通用-章节创作闭环` 或 `通用-创建小说正文`。

## 常见触发词 / 用户说法速查

- 把这章分发到多个平台
- 批量跑多平台输出
- 帮我做多平台输出 SOP
- 这几章按平台批量落盘
- 带日志续跑多平台分发

## 多平台输出流程（15 步闭环强制）

命中本 Skill 时，必须按以下闭环执行，禁止裁剪关键步骤。每段标注角色视角，步骤末尾标注完成标记。

为降低执行负担，先把本闭环记成 5 段：**定位输入 → 建任务队列 → 提纯与适配 → 分平台落盘 → 门禁回炉与收口**。

### 阶段 A：输入定位（步骤 1–3）

**扮演角色：** 编排器 / 项目经理角色。只做路径解析与归一化，不代入任何平台创作或审阅视角。不加载 `.github/agents/小说作者.agent.md`。

| 步骤 | 动作 | 调用 skill / 脚本 | 完成标记 |
|------|------|------------------|---------|
| 1 | 接收任务，输入可以是 chapterPath / chapterPaths 或部/卷/章定位 | 无（编排器自执行） | 章节输入已归一化 |
| 2 | 若用户直接给文件路径则按给定路径处理；若给部/卷/章定位则映射到小说正文/下对应文件 | 无，自动在小说正文/下完成定位 | 章节路径已解析 |
| 3 | 当用户只给"第几部第几卷第几章"时不得反向要求用户手填路径，主动完成发现 | 无，主动完成发现 | 章节文件已确认 |

### 阶段 B：平台范围与任务队列（步骤 4–6）

**扮演角色：** 编排器 / 项目经理角色。读取平台配置、建立任务队列与 POV 建档，不进入正文改写。不加载 `.github/agents/小说作者.agent.md`。

| 步骤 | 动作 | 调用 skill / 脚本 | 完成标记 |
|------|------|------------------|---------|
| 4 | 平台参数解析：①用户指定 platforms 则按指定子集执行；②未指定时读取 Agents.md 中平台POV基线表章节；③不存在则提示创建并停止；④识别主输出平台（只做门禁终检不重复改写）；⑤非主平台写入 {平台名}/ 目录 | 读取 Agents.md | platformList 已确定；主输出平台：{name} |
| 5 | 建立每个源章节文件的正文上下文，形成可追溯的章节任务队列 | 无（编排器自执行） | 任务队列已建立 |
| 6 | 每章完成 POV 建档：判定源稿 POV 形态 → 为每个平台建立/继承 platformPovContract → 未获批不得自行改人称 | 可参考 通用-管理连续性冷热线 | platformPovContract 已锁定 |

### 阶段 C：母稿与分平台改写（步骤 7–9）

**扮演角色：**
- 步骤 7：小说作者角色（提纯视角）。参考 `.github/agents/小说作者.agent.md` 的作者立场，调用通用-提纯多平台母稿对源稿做信息稳、事件链稳、情绪主轴清的精修。
- 步骤 8：平台策略师角色。不做正文创作，只做平台差异推演。不加载 `.github/agents/小说作者.agent.md`。
- 步骤 9：小说作者角色（平台改写视角）。参考 `.github/agents/小说作者.agent.md` 的作者立场，逐一调用对应通用-输出{平台名}版（及对应的题材包装层），每切换一个平台就代入该平台的读者期待与风格约束。

| 步骤 | 动作 | 调用 skill / 脚本 | 完成标记 |
|------|------|------------------|---------|
| 7 | 对每个章节调用通用-提纯多平台母稿（及对应的题材包装层），得到可分发母稿。**不得跳过** | 通用-提纯多平台母稿（及对应的题材包装层） | 母稿已落盘 |
| 8 | 调用通用-多平台小说适配（及对应的题材包装层），获取平台差异矩阵 | 通用-多平台小说适配（及对应的题材包装层） | 平台差异矩阵已生成 |
| 9 | 按目标平台逐一调用对应通用-输出{平台名}版（及对应的题材包装层）。必须继承已锁定的 platformPovContract。每平台产物为独立 .md 文件，按平台目录落盘 | 对各平台逐一调用通用-输出{平台名}版（及对应的题材包装层） | 各平台版本已落盘 |

### 阶段 D：门禁、终检与回炉（步骤 10–14）—— 强制顺序执行卡

**扮演角色：** 质检员 / 审阅者角色（门禁终检视角）。完全退出创作视角，只做门禁检查与回炉调度。不因"感觉差不多了"降低标准。不加载 `.github/agents/小说作者.agent.md`。

**【强制门禁执行顺序】**
阶段 D 的 5 个步骤必须按以下顺序严格执行**每个"章节 × 平台"节点**，不得跳跃、合并或调序：

```
步骤 10（字数门禁）→ 通过 → 步骤 10（POV 门禁）→ 通过 → 
步骤 11（相似度终检）→ 通过 → 步骤 13（质量门禁）→ 通过 → 步骤 14（终判）
                     ↓ 失败                ↓ 失败               ↓
                  步骤 12（回炉）←──────────┘───────────────┘
                        ↓
                  回到步骤 10（重测）
```

| 步骤 | 动作 | 调用 skill / 脚本 | 强制完成前提 |
|------|------|------------------|-------------|
| 10 | **平台内门禁**：①先过字数门禁（**必须使用 count-chapter.ps1**，不得用 Len/NoWhitespaceLen/编辑器字符数或目测代替，正文门禁只看 BodyCJK/MeetsMinCJK/WithinRange，MeetsMinCJK 必须为 True，WithinRange 最好为 True）。字数通过后②再过 POV 门禁（pov_validate.py / run_pov_gate.ps1）。**字数门禁未通过不得进入 POV 门禁** | count-chapter.ps1、count-afterword.ps1、pov_validate.py | 字数门禁 BodyCJK/MeetsMinCJK 实测过关 + POV 门禁实测过关 |
| 11 | 所有目标平台通过平台内门禁后，统一进入**分语言相似度终检**：中文组内两两+中文各平台对源章阈值<0.20；英文组内两两阈值<0.20。**相似度终检未通过不得进入步骤 13** | chapter_similarity_check.ps1 / run_similarity_from_platform_config.ps1 | 中文组 {pass} + 英文组 {pass} |
| 12 | **回炉闸口**：步骤 10/11/13 中任一失败 → **必须**进入该平台自己的回炉循环，**不得扩大**到其他平台。回炉顺序固定：字数门禁 → POV 门禁 → 相似度门禁 → 质量门禁。**回炉后再顺序重测步骤 10→11→13** | 回炉时回到对应步骤的修改链路 | 该平台已执行回炉修改 |
| 13 | 每次相似度回炉后显式运行质量门禁（run_quality_gate.ps1 / scan_text_quality.ps1）。**禁止插入无意义字符或模板噪声压相似度**。**质量门禁未通过不得进入步骤 14**。<br>**留存门禁（新增）**：质量门禁通过后，增加留存风险自检。每个平台版本的正文检查"情绪刺激密度是否因改写而降低"——若改写后连续 300 字无情绪刺激，标记为该平台的留存风险，回炉到对应通用-输出{平台名}版重新改写。<br>**GEO 门禁（新增）**：留存门禁通过后，可选增加 GEO 自检——检查平台版正文是否包含 AI 可引用的结构化元数据（检查项：① 是否含作品信息块 ② 是否含平台标签 ③ 是否含发布年份标签）。此为可选门禁，不影响主流程完成，但若启用则标记 `[GEO门禁已执行]`。详见 `../../写作研究/GEO小说项目核心参考.md`。 | run_quality_gate.ps1、scan_text_quality.ps1 | 质量门禁已通过 + 留存风险自检通过 |
| 14 | **终判闸口**：若回炉降相似度后又导致字数/POV/质量任一门禁失效 → **必须**继续回到该平台分支回炉（步骤 12），直到四者同时达标。**四者未同时达标不得宣告该平台完成** | 循环执行步骤 10–13 对应子集 | 字数+POV+相似度+质量全达标 |

### 阶段 E：完成判定（步骤 15）—— 强制调用完整性 + IF/THEN 收口闸门

**扮演角色：** 编排器 / 项目经理角色。只做数据汇总、调用完整性审计与格式化输出。不加载 `.github/agents/小说作者.agent.md`。

**【强制完成前提】**
在进入步骤 15 之前，必须先完成以下三项审计。任一项不满足 → **不得宣告完成**，必须回到对应阶段补做：

| 审计项 | 检查内容 | 通过条件 |
|--------|---------|---------|
| 调用完整性审计 | 对比 `requiredCalledSkills` 与 `calledSkills`，识别 `missingCalledSkills` | `missingCalledSkills` 为空 |
| 门禁审计 | 每个"章节 × 平台"节点的字数/POV/相似度/质量四门禁是否全部过关 | 四门禁全部达标 |
| 日志审计 | 所有平台节点的门禁结果、POV 契约、回炉记录是否已写入日志 | 日志可续跑 |

**【强制 IF/THEN 收口闸门】**
```
IF missingCalledSkills 非空：
   → 你 MUST 回到对应平台分支补调缺失 Skill，不得输出完成摘要

IF 存在任一平台节点四门禁未同时达标：
   → 你 MUST 回到该平台分支继续回炉（步骤 12→10→11→13→14），不得输出完成摘要

IF 日志不可续跑（关键状态缺失）：
   → 你 MUST 补写日志后再进入步骤 15

IF 以上三项同时满足：
   → 允许输出完成摘要
   → status = completed
```

| 步骤 | 动作 | 调用 skill / 脚本 | 强制完成前提 |
|------|------|------------------|-------------|
| 15 | 执行调用完整性审计 + 门禁审计 + 日志审计 → 按 IF/THEN 收口闸门判定 → 满足条件时输出完成摘要 | 无（编排器自执行） | missingCalledSkills 为空 + 四门禁全达标 + 日志可续跑 |

## 默认执行顺序

1. 先判断源稿是否需要前置提纯；若有单平台腔、事件链松动或钩子失温，先调用通用-提纯多平台母稿（及对应的题材包装层）
2. 再做平台差异推演：通用-多平台小说适配（及对应的题材包装层）
3. 再按平台子集路由到对应通用-输出*版（及对应的题材包装层）
4. 每个平台写入后先显式运行字数门禁：正文与 ## 作者有话说 必须同时达标。字数参数优先级：①Agents.md 中该平台的字数指定 → ②该平台通用-输出*版/SKILL.md 的平台默认字数范围 → ③回退通用软参考。若只补测作者有话说，中文用 count-afterword.ps1，英文用 count-afterword-words.ps1
5. 在字数达标的前提下，再按已锁定的 platformPovContract 运行 POV 门禁
6. 最后执行分语言终检、日志收口与摘要输出

## 平台 POV 契约与连续性门禁（强制）

- 批量多章任务中，每个平台都必须先锁定一份 `platformPovContract`；不得让每一章在分平台改写时临时重新决定“这章用第一人称还是第三人称更顺手”。
- `platformPovContract` 至少要写清：`expected`、`lang`、`baselineSource`、`switchPolicy`；需要断点恢复时，还应补充 `inheritedFromChapterNo` 或等价来源。
- 若目标平台目录下已经存在同书、同分部 / 分卷的已完成前序章节，必须先读取最近一个已通过章节；必要时补看最近 2–3 章，确认该平台既有 POV 链路后再续写。
- 若目标平台此前没有历史链路，则允许用“本批次该平台首个已通过章节”建立契约；一旦建立，后续连续章节全部继承，直到命中合法切换条件。
- 只有三类场景允许切换：源章本来就是视角切换章 / 多视角连续章；用户明确要求该平台做人称迁移；历史平台链路本来就是另一套 POV，本次只是沿既有链路续写。
- 命中合法切换时，必须把 `switchApproved=true`、`switchReason`、`switchPlan` 写入日志；没有这些字段，就一律按未授权漂移处理。
- 第三人称链路若在正文区块里出现对话外 `我 / 你 / I / you` 等代词，或第一人称链路在正文区块里完全缺失第一人称锚点，都应优先视为失败；不得解释成“只是文风更灵活”。
- 视角切换章 / 多视角连续章不等于可以放弃契约：它们只是把契约从“全章单一 POV”升级成“按已登记切换方案执行”，仍然禁止临场随意换壳。

## 相似度门禁执行口径（强制）

- 中文组：必须覆盖“中文平台两两比较 + 每个中文平台对源章比较”，阈值 `< 0.20`（建议 `0.199`）。
- 英文组：必须覆盖“英文平台两两比较”，阈值 `< 0.20`（建议 `0.199`）。
- 可使用 `scripts/chapter_similarity_check.ps1` 直接对路径组进行计算，或使用 `scripts/run_similarity_from_platform_config.ps1` 基于平台配置执行；但最终报告必须明确区分中文组与英文组。
- 任一组存在超阈值 pair，不得放行，必须回炉并复检直到全部达标。

## 调用完整性门禁（强制）

- 每次执行都必须产出“调用审计记录”，至少包含：
	- `requiredCalledSkills`：本次任务应调用的 Skill 清单（按章节与平台展开）
	- `calledSkills`：实际调用到的 Skill 清单（含调用顺序）
	- `missingCalledSkills`：应调未调清单
- `requiredCalledSkills` 至少应包含：
	- 每个章节 1 次 `通用-提纯多平台母稿`
	- 每个章节 1 次 `通用-多平台小说适配`
	- 每个“章节 × 目标平台”1 次对应 `通用-输出*版`
- 只要 `missingCalledSkills` 非空，本次任务必须判定为未完成并继续回炉；不得进入“完成摘要”。

## 先推演后落笔（强制）

- 每个“章节 × 平台”节点，在真正写入平台正文前，都必须先形成一份**平台化推演草图**。
- 这份草图只服务执行，不得写进最终正文文件；其最低内容至少包括：
	- 原章主信息清单（极短要点）
	- 平台风格约束清单
	- 本平台当前 POV 契约（第一 / 第二 / 第三人称、叙述距离、是否允许切换）
	- 标题倾向与钩子倾向
	- 计划采用的降重动作（如结构重排、对白改写、承载方式替换、节奏改造）
	- 哪些信息必须保留，哪些表达必须换壳
- 禁止跳过推演直接落笔；也禁止先写一份中性底稿，再批量轻改成各平台版本。
- 推演可以通过顺序思考、结构草图、平台差异清单或等价的内部执行方式完成，但都必须满足“先锁平台风格，再进入正文改写”。

## 执行纪律（强制）

- 一旦开始执行，必须按“输入归一化 → 任务队列 → 平台化推演 → 分平台落盘 → 门禁回炉 → 分语言终检 → 摘要收口”的顺序一气跑完。
- 若源稿明显带重平台腔或关键事件 / 情绪主轴不稳，必须先插入“母稿提纯”节点，不得把问题原样复制到所有平台分支。
- 除非命中“无法解析 `chapterNo` / 无法稳定推断 `分部目录` 与 `分卷目录` / 用户只给正文且必要元数据缺失 / 真实执行错误导致下一步无法推进”这四类场景，否则禁止中途停下来等用户说“继续”。
- 若一次处理多章，必须先完成批量预检与任务队列，再按“章节为外层、平台为内层”滚动推进；不得把所有章节 × 平台分支一次性全部铺开。
- 默认并发上限必须保守：最多同时推进 2 个章节任务、每章最多 2 个平台分支、全局活跃平台分支总数不超过 4；一旦环境拥塞或日志冲突风险升高，必须自动降级。
- 断点恢复的最小复用单位必须是“章节 × 平台”节点；已写入且门禁完整通过的节点应直接跳过，不得整批重做。
- 同一平台连续章的 POV 一旦锁定，必须优先继承最近一个已通过节点；不得让不同章节各自“重新选择更顺手的人称”。
- 每个平台节点在进入相似度终检前，必须先通过“模板句污染清零检查”；若命中污染短语族，禁止进入相似度终检。
- 若命中“AI 生成能力不可用”场景，必须执行：`停止正文生产 -> 记录阻塞原因 -> 输出最小恢复动作`；不得继续“先脚本生成再补救”。

## 本层职责

- 统一承接多平台输出 SOP 的共性编排逻辑。
- 统一承接章节队列、并行边界、断点恢复、日志字段、门禁脚本、相似度规则与摘要模板。
- 统一锁定并维护各平台连续章节的 POV 契约，阻止未授权的人称漂移与叙述主体漂移。
- 统一要求“先平台化，再降相似度；先风格门禁，再相似度终检”。
- 统一要求“先锁平台风格，再做风格内降重”，禁止先写中性底稿再批量轻改分发。

## 平台正文命名规则（强制）

- 各平台派生正文文件名默认不带日期，沿用既有章节号、平台目录和路径映射规则命名。
- 日期只用于与这些平台正文配套的审阅报告、书评等派生产物，不用于多平台正文文件本体。
- 除非用户明确要求另存日期归档副本，否则不得把平台正文批量改成日期版文件名。

## 强制要求

- 默认必须落盘，不得只给聊天稿。
- 默认必须写执行日志，并支持从未完成日志续跑。
- 相似度只按语言内比较；禁止跨语言对比。
- 平台化风格必须先于降重，不允许先写中性底稿再轻改分发。
- 任一目标平台未通过门禁，不得宣称本次 SOP 完成。
- 日志字段、门禁报告路径、失败节点与下一步动作必须能直接支撑断点恢复；不得把关键状态只留在聊天输出里。
- 反注水、文本质量与风格一致性都是终检前置门禁；任一不通过，都必须先回到对应平台分支回炉。
- POV 连续性也是终检前置门禁；任一平台出现未授权的人称漂移，都必须先回到该平台分支修复，之后才允许进入终检。
- 标题门禁必须同时满足：不与源章同名、同章平台间不重名、不得跨章复用旧标题骨架只改编号。
- 任一平台分支不得只凭“看起来够长”或“作者有话说应该差不多”放行；正文与作者有话说字数必须通过脚本实测并写入日志字段。
- 命中本 Skill 时，`通用-提纯多平台母稿` 与 `通用-多平台小说适配` 都是必经节点；不得跳过。
- 章节定位必须兼容“路径输入”和“部/卷/章输入”两种模式；部/卷/章输入默认定位到 `小说正文/`。
- 默认平台集合必须从项目根目录 `Agents.md` 的 `平台POV基线表` 章节动态读取，不得把固定平台列表写死在执行器里；若 `Agents.md` 或其 `平台POV基线表` 章节不存在，必须提示用户创建后停止，不得继续执行。
- 反注水与无意义字符检查属于硬门禁；任一异常必须回炉，不得以“相似度已过线”为由放行。
- 流程停止条件必须满足：全部指定平台落盘 + 全部门禁通过 + 可续跑日志完整。
- 调用完整性属于硬门禁：`requiredCalledSkills` 与 `calledSkills` 必须对齐，且 `missingCalledSkills` 为空。
- POV 契约字段属于硬门禁：日志中必须能直接回答“这个平台当前应使用哪套 POV、继承自哪里、是否允许切换”；答不出来就视为不可恢复、不可放行。
- 模板句污染属于硬门禁：凡出现“抽象自述 + 动词模板 + 口径名词”句群或污染短语族，必须判定失败并回炉；不得作为“风格差异化”手段保留。
- token 使用纪律属于硬门禁：禁止用脚本批量改写正文去“节省调用”或“绕过限额”；该行为应直接记为违规，不得进入完成摘要。

## 完成检查

- 是否已读取 3 份 references
- 是否已建立单章 / 多章任务队列
- 是否已在平台分发前完成字数可行性判断，并对不足平台提前写入 `blocked_word_count_insufficient`
- 是否已为每章维护日志并记录平台门禁
- 是否已为每个平台节点显式运行 `scripts/platform_validate.ps1`，并把正文 / 作者有话说门禁结果写回日志
- 是否已为每个平台锁定 `platformPovContract`，并确认其继承来源或批准切换理由
- 是否已对每个平台节点执行 POV 门禁（或对视角切换章做了人工复核），并把结果写回日志
- 是否已完成分语言相似度终检
- 是否已按“中文平台两两 + 中文对源章、英文平台两两”完成 `< 0.20` 相似度门禁
- 是否已执行反注水与无意义字符质量门禁，并在失败时回炉
- 是否已确认每章每平台均为独立 `.md` 文件，且仅包含标题、正文与 `## 作者有话说`
- 是否已输出调用审计：`requiredCalledSkills`、`calledSkills`、`missingCalledSkills`
- 是否已确认 `missingCalledSkills` 为空（否则不得宣告完成）
- 是否只输出摘要而未泄露正文
- 是否已确认所有平台稿不存在污染短语族（如“对照项落在”“先把同一句话拆碎”“先把顺滑的解释拆开”“只求能追溯/复核/对得上”）
- 是否已确认不存在未授权的“前几章第三人称、后几章突然第一人称”式 POV 漂移
- 若执行中出现 AI 不可用，是否已按 `blocked_ai_unavailable` 中止并写入恢复指引（而不是脚本兜底生成）

