89 lines
6.9 KiB
Markdown
89 lines
6.9 KiB
Markdown
<!-- 导航元信息: {"内容描述": "B05 正文写作", "使用场景": "设计、实现或评审对应主题", "使用要求": "与阅读指南的主题权威分工一致"} -->
|
||
# B05 正文写作
|
||
|
||
## 通用选段写作授权
|
||
|
||
扩写、压缩、润色和重写使用作者明确圈选的正文版本、段落ID、哈希、Unicode码点范围和逐字原文。每次目的分别为expand/compress/polish/rewrite,附作者指示;保护区也绑定确切原文,自动任务不得与其重叠。重复字面片段按身份及码点区分,源文稿、范围或保护依据不符时不创建任务。
|
||
|
||
B05拥有选段定位和重放,B06复用受控模型修订链、声音保护及保真检查。通用选段没有诊断ID,输出使用selection_id;机器味路径仍要求真实诊断和已批准finding_id。两类任务都只产生候选,范围外不变。压缩/润色机械保真不能代替语义连续性判断;重写目的也不自动改规划或确认故事事实。
|
||
|
||
原`生成正文`入口只处理new_chapter。先前声明的expand_scene/edit_selection缺少确切圈选且输出整章,不能用来修改既有正文;现由上述选段授权入口承接,旧入口明确拒绝,不以整章生成冒充选段保护。
|
||
|
||
选段授权链路可携带参考改写扩展:作者从方法检索中挑选的参考版本作为授权输入进入冻结材料,合同见[B06 参考改写](B06-审校修订.md)。B05 仍拥有选段定位、重放与保真;参考材料不改变选区边界,范围外不变的约束继续成立。
|
||
|
||
## 分支与合并来源
|
||
|
||
分支从作者点名的已保存正文版本创建,固定源文稿/版本/哈希;新分支有独立正文指针,创建、保存及回退均不派发主线章后抽取。主分支保存及采纳仍按既有事务登记章后任务。
|
||
|
||
合并只回到该分支的直接来源文稿。作者从共同基线到分支当前版本的差异中点名选择;服务器与目标当前版本做三方重放。不相交修改可以组合,相同修改只计一次,重叠或同位插入冲突拒绝并保留两边;不自动推测冲突意图。合并产生基于目标当前版本的新待审候选,不直接覆盖正文。
|
||
|
||
合并来源绑定与候选版本同事务保存,后续编辑/部分选择版本沿用绑定。候选采纳同时复检目标正文、分支当前来源及目录,任一版本变化需重新合并和审阅;源分支不因合并删除。回退继续产生新正文版本,保留中间历史。`V0031__正文分支来源.sql`只追加分支来源和合并候选来源,不另建正文权威。
|
||
|
||
## 职责与对象
|
||
|
||
正文工作版本、段落、写作目标、候选、分支和作者保存。
|
||
|
||
实例归属以[总体架构](../总体架构.md)为准;结构、状态和公开外壳分别引用数据模型与接口契约。
|
||
|
||
## 公开接口
|
||
|
||
| 用例 | 输入责任 | 输出与后果 |
|
||
|------|----------|------------|
|
||
| read_document | 章节与分支 | 正文及当前版本 |
|
||
| save_manual | 目标基线、文档、命令身份 | 新正文版本及保存回执 |
|
||
| create_writing_task | 粒度、目的、选区、保护区和来源 | 冻结写作任务 |
|
||
| edit_candidate | 候选基线及修改 | 新候选版本和重检要求 |
|
||
| adopt_candidate | 被审候选、依赖和批准清单 | 原子提交回执 |
|
||
| merge_or_restore | 分支或历史版本及当前基线 | 待审合并候选或新人工版本 |
|
||
|
||
所有接口在本模块的接口.py 暴露。输入输出类型由同一公开表面导出,外部不导入私有模型或 SQL。
|
||
|
||
## 内部职责
|
||
|
||
| 文件 | 职责 |
|
||
|------|------|
|
||
| 接口.py | 正文写作公开用例和可导入合同 |
|
||
| 模型.py | 正文写作稳定对象、外壳及内部状态 |
|
||
| 存储.py | 正文写作所属记录的 SQL 与版本读写 |
|
||
| 正文格式.py | 稳定段落、受限结构、可见文本与哈希 |
|
||
| 人工保存.py | 人工编辑、版本、历史和修改影响 |
|
||
| 写作任务.py | 不同粒度和修改目的的任务合同 |
|
||
| 选段编辑.py | 字符位置、保护区及确定性修改应用 |
|
||
| 候选版本.py | 候选保存、编辑、部分采纳和重检 |
|
||
| 版本分支.py | 分支、快照、差异、合并及回退 |
|
||
| 正式提交.py | 正文类型化确认与已批准关联变更 |
|
||
| 提示词/生成正文.md | 无工具写作模板 |
|
||
| 提示词/修改选段.md | 按授权范围修改模板 |
|
||
|
||
完整路径及运行模板见[目标文件清单](../项目目录与文件职责.md)。逐文件意图、边界与目标见[文件合同](../文件设计/后端-B05-正文写作.md)。
|
||
|
||
## 写作粒度边界
|
||
|
||
领域合同保留 `new_chapter`、`expand_scene`、`edit_selection` 三种粒度。当前正文生成编排及 HTTP/CLI 新生成请求仅接受 `new_chapter`;其余粒度不是该生成入口已接通的能力。已发布的 `expand_scene` 合同允许已有基线且无选区,`edit_selection` 必须明确选区;不以本次文档修正改变兼容输入。选段修订仍走其独立授权入口。
|
||
|
||
## 实现约束
|
||
|
||
- 正文格式、哈希和码点位置由专门协议定义。允许手写、生成、扩写、压缩、润色和明确结构改写。
|
||
- 两阶段写手的业务目标由本模块形成,步骤编排由编排层执行;模型没有正式写入能力。
|
||
- 人工保存不依赖模型评分;自动修改必须限制范围,修改候选后重新检查。
|
||
- 正文当前指针、作者决定、归因和派生任务与批准事实共同提交。
|
||
|
||
## 协作与失败
|
||
|
||
作者也可以把自行整理的改稿保存为待比较候选。该入口保留基线与版本,经作者认证后写入B05候选记录;不改当前正文。人工候选只执行正文格式与依赖校验,不声称经过模型质量检查。模型产生的候选由写作任务携带实际来源、输出与检查证据接入,不能借用人工入口取得模型执行凭证。
|
||
|
||
候选全文编辑或按段选取差异都会追加候选版本,重新计算哈希和确定性检查;旧审阅不沿用。差异组由服务端基于固定正文和候选结构生成,部分选择保留未选内容的原段落。审阅返回其绑定版本的正文与候选,提交仍核对当前版本。采纳通过S01与人工保存使用同一个B05正文参与者;拒绝、暂缓只更新作者决定,即使候选基线已陈旧仍允许明确弃用。批准事实与章后任务的联合采纳遵守 S01 原子提交与章后流程合同。
|
||
|
||
依赖 B01 的可用规划、B09 的固定上下文、B06 的适用检查、S01 的提交保护;B02 参与已批准事实写入。
|
||
|
||
版本冲突保留输入;源变、缺证据或审阅不匹配阻止采纳;章后失败独立呈现。
|
||
|
||
## 验收行为
|
||
|
||
- 作者审稿期间正文修改后拒绝旧候选。
|
||
- 部分采纳产生新版本和重检。
|
||
- 相同命令重放同回执。
|
||
- 支线不推进主分支事实。
|
||
|
||
验收入口和替换条件见[迁移与验收](../迁移与验收.md);这些条目是目标行为,不是已通过测试的声明。
|