# 公共拟稿与核收流程

本文件是随 `skill-family-docs` 四宿主投影分发的公共写作流程。调用方读取本文件后，用同技能分发的 `scripts/expression-outbound.mjs` 调用安装者选定的 OpenAI 兼容服务拟稿。配置合同见同目录 `expression-service-config.md`。本流程不另建技能、阶段状态、runner、验证器或模型平台，也不强制绑定具体模型。

宿主负责组织材料、审核大纲、顺序核收各节和全文；模型只产出候选。脚本退出 0 只表示候选已写入指定仓外路径，不等于语义通过，也不等于接受正文。只读审校可以定位事实、理解和表达问题，但不调用模型改稿，也不据此宣称拟稿流程已完成。

本流程不依赖调用方站点的页面身份、导航、正文格式或写回路径。那些边界由调用方入口自行执行。外发材料范围服从调用方已经获得授权的材料边界；凭据绝不进入文稿、上下文或日志。

## 先读全文，明确读者与事实

看完本次文稿及直接事实来源。记录懂主题的编辑角色、目标读者及允许的前置知识、读完要完成的判断或动作，再清点章节、事实、条件、例外、限制强度、数字单位、引用、代码、图表与操作步骤。

区分可调整的自然语言与必须保留的机器身份。普通标题、首段和短句可以改写；版本来源、命令、配置字段、状态、链接、稳定标识和已有稳定锚点必须逐项核对。不得把不同入口互相替换，也不能只数命令或改字数量。材料不足时补齐事实或缩短内容，不用占位段落填满。本地源版本不等于已发布或可安装版本；版本仍从调用方已声明的来源取得。

选一条主要使用场景，沿同一路径讲清适用条件、必要输入、操作入口、预期结果和失败恢复。架构解释只补完成任务或定位故障需要的职责、流向和限制依据。命令全集放参考，任务说明在真正需要时才引入。判断读者行为没有变化且原文仍符合目标时保留原文，并说明核对依据。

## 先审核大纲，再顺序拟稿

通过同一个脚本和 `--context` 提供写作任务，不另建阶段状态或配置文件体系。首次请求的 `--input` 是完整且已纠正失效事实的材料；上下文说明角色、读者、阅读任务、用户裁决，以及“只生成大纲”的范围。要求候选大纲说明读者问题、各节目的、材料去向、先后依赖和图表位置。

宿主比较大纲与全文，纠正遗漏、无依据扩展、条件弱化和错误先后关系，另存审核大纲。先把用户最新裁决落实到材料和大纲，再拟正文；不一边保留旧规则，一边用附加提示掩盖冲突。已有且仍获认可的大纲可以沿用，不无故另起。

按完整问题或小节顺序调用。每次 `--input` 只提供当前完整语义单元及必要事实上下文；`--context` 包含角色、读者、阅读任务、审核大纲、当前写作范围、用户裁决和已核对接受的前文。第一节写明没有前文。短文传全部接受前文；长文传上一节全文和更早内容的覆盖摘要，补回本节依赖的定义。前文用于衔接，不能替代当前事实来源；待审候选不能作为下一节前文。不要按固定字数、锚点或表格前后机械切段，也不要并行生成相互依赖的各节。

## 接受每节，再通读全文

每节拟稿后，对照原材料和候选集中核对事实与因果、条件与例外、限制强度、数字单位、版本和入口身份、引用来源、角色与对象归属、图表、代码、链接和稳定锚点。再检查首次定义、段间衔接、重复和表格中的长论证。

有明确问题时，在当前材料和 `--context` 中给出集中意见，经同一个脚本另产候选，或由宿主作有依据的最小校订。连续两次同类错误时停止原样重试，先检查大纲、材料范围和最新裁决是否冲突。保留原稿、每次候选和接受稿，说明校订依据；脚本成功只表示候选已产生，不等于语义通过。候选与原文相同或判断无需改写时，核对是否确已符合任务，再决定保留原文，不强行制造修改。

只把接受稿顺序拼接。通读全文，核对原事实覆盖、图文关系、代码、引用和导航；检查分节是否造成重复、指代断开、定义过晚或结论扩大。逐图核对标签、箭头、分组、案例身份及正文挂接位置。图源缺失或图内信息不能识别时，记录具体缺口，不能以文件存在冒充图文核对。无变化图示保留时说明信息核对与无需调整的理由。

让声明的目标读者沿主要场景冷读，只给目标材料和已声明前提。记录不知道输入什么、找不到入口、条件不明或无法判断结果的具体卡点并修正。确定性检测通过只表示没有命中硬禁，不能代替事实、冷读或图文核对。

## 外发前说明与材料边界

首次外发前向用户说明：文稿与写作上下文将发送到其配置的 endpoint，本流程不承诺该服务的留存或训练策略。提示由宿主完成，脚本没有交互能力；已有授权不逐次重复确认。凭据不进入文稿或上下文。

发送范围服从调用方已经获得授权的材料边界。调用方入口可以追加更严的筛选；本公共流程不把某一入口的公开材料限制扩成所有消费者的限制。

## 完成与失败边界

当配置缺失、服务调用失败或候选未被接受时，原稿必须保留，明确报告“表达优化未完成”，并说明具体原因：配置缺失项、实际失败原因或未接受理由，同时提供恢复入口。不得静默改用旧宿主表达流程，也不得将起草、刷新或整篇重写误报为完成。

交付时分别说明“外发表达步骤状态”与“宿主表达检查状态”：

- 外发表达步骤状态由脚本实际返回状态决定；
- 宿主表达检查状态应涵盖大纲审核、各节核收、全文语义核对、冷读、图文关系与硬禁项检查的实际范围。

候选已产出但未接受，整体仍未完成。只读审校仅按实际审阅范围报告，不伪称执行了拟稿流程。已核对且无需改写的部分可保留，完成依据为是否符合读者任务与事实，而非采纳数量。
