实现八阶段写章流程里「执行体 = 脚本」的部分,使一章能全程脚本、零 AI 调用地从细纲走到定稿:备料 → 机检 → 原子定稿。为 M4(AI 写稿/两审)和 M3(状态机编排)提供确定性的脚本地基。
上游法律文本:story-repo-spec §7(工作区/细纲)、§8(八阶段流程)、§8.1(自动模式,本任务不实现)。架构原则见 v7-implementation-plan §1.5(脚本只做能数的,AI 不碰文件,状态机不判业务)。
八阶段中属于 M2(脚本执行体)的步骤:1 的脚本部分 / 3 / 5 / 8(第 2/7 步是作者,第 1 拟提案/4 写稿/6 两审是 AI=M4)。
工作区/细纲.md 四段固定(全书近况/本章提案/本章要写到的事/备选)。定稿/正文/(front matter 写章档案 + 条目变动);设定/ 变更(位置/状态/境界/持有/信息差/名册/时间线追加);三类条目文件更新(front matter + 履历追加);摘要/章摘要/;工作区清空。commit message 约定 ch(152): 标题 + 条目:/设定: 行(ASCII 前缀是机器协议)。M1 已就绪可复用:41 精准读取接口 + Storage Adapter 读端口;run(args,options,ctx) 命令契约;.cache 重建器;解析/防呆序列化库。Writer 端口仍是占位(ChapterWriter/ThreadLedgerWriter 抛「M2 实现」)。
现有空壳模块(M0 占位,待 M2 填真):v7/src/prep/、v7/src/mechanical-check/、v7/src/finalize/。
工作区/本章写作材料.md(默认精准片段).cache 删光可全量重建出一致结果(不破坏 M1 不变量 2)D2 机检 MVP 深度:做 7 个确定性可计数项——字数、禁词/禁句式、本章内复读(简单 n-gram)、新专名比对名册、front matter 格式完整性、条目文件变动(只查形式)、信息差关键词候选。统计项(跨章高频意象统计、句式体检)推到 M3+ 体检(与 M1 已 defer 的文体指纹提取重叠,避免重复造轮子);M2 机检框架预留扩展点。
D3 定稿原子性(design §4):git commit 为原子单元;写工作树→git add→commit→最后清工作区;commit 前中断则 git restore 丢半成品、工作区原样,不存在半章入档。
D4 Writer 端口(design §3):延续 M1 小端口——Chapter/ThreadLedger 做真 + 新增 Entity/Timeline/Secret/Summary 共 6 端口;原子性在 finalize 编排,不在 Writer 层。