前置:已读 spec §6.1(文风铁律)/§7(工作区)/§8(八阶段)、v7-implementation-plan §1.5、M2 prd/design。 落点
v7/src/{prep,mechanical-check,finalize,storage/adapters}与v7/test/。 本机:cd v7 && PYTHONUTF8=1 node --test;零依赖铁律延续;命令走 M1run(args,options,ctx)契约。 工作方式:不开子代理;TDD(先红后绿);诚实分期 commit。
P0 fixture + Writer 端口(finalize 的地基)
↓
P1 全书近况组装 + 备料(用 M1 读端口)
↓
P2 机检 7 项(用 文风铁律 + readers)
↓
P3 定稿原子编排 + 原子性/出口测试
↓
P4 CLI 接口 wire + 全量 AC 复核
文风/文风铁律.md(front matter 禁词/禁句式/口癖 + ## 铁律/反和解/节奏偏好),工作区/{细纲.md,草稿-A.md,审稿.md}(伪造,含章摘要定稿版)v7/.gitignore 确认含 工作区/(已有 .cache/)writeChapter(num,title,frontMatter,body) → 定稿/正文/NNNN-标题.md,front matter 走 serializeFrontMatter(防呆、保留未知字段)updateThread(id,updates) front matter 改 + appendHistory(id,entry) ## 履历 追加updateCharacter(name,updates) 角色卡 front matter + upsertRosterRow(row) 名册行appendRow(volumeNum,row) 时间线表格追加write(id,frontMatter,content) 信息差writeChapterSummary(num,text) 定稿/摘要/章摘要/NNNN.mdstorage/index.js 导出新 Writer;test/storage/adapters/*Writer.test.js 各正例(写出走防呆、保留未知字段、临时仓库验证)验证 P0:node --test test/storage/adapters/ 全绿
提交 P0:feat(v7): M2 P0——Writer 端口真实现(6 端口)+ 文风/工作区 fixture
src/prep/book-status.js:assembleBookStatus(ctx) 复用 report-overdue-threads/weak-hook-streak/book-stats + list-volumes → {结构化, markdown}src/prep/index.js:prepareChapterMaterials(ctx,{chapterNum}) 组装八组件,写 工作区/本章写作材料.mdtest/prep/:book-status 断言四指标;prepareChapterMaterials 断言材料文件含八组件锚点 + 精准片段验证 P1:node --test test/prep/ 全绿
提交 P1:feat(v7): M2 P1——全书近况组装 + 备料(prepareChapterMaterials)
src/mechanical-check/index.js:mechanicalCheck(ctx,{chapterNum,draftPath}) → {ok,pass,issues,candidates},checks 注册表(预留统计项扩展点)test/mechanical-check/:每项正例+反例(越界/命中禁词/禁句式/复读超阈/缺字段/新专名进候选/信息差候选)验证 P2:node --test test/mechanical-check/ 全绿
提交 P2:feat(v7): M2 P2——机检 7 项可计数(统计项留 M3+ 体检)
src/finalize/git.js:薄封装 node:child_process git(add/commit/restore/log/status),错误转中文src/finalize/index.js:finalizeChapter(ctx,{...}) 四步编排(校验→写工作树→git commit→清工作区);commit message ch(NNN): 标题 + 条目/设定行test/finalize/:
git log 含 ch(NNN):.cache 重建一致(不变量 2)验证 P3:node --test test/finalize/ 全绿(含原子性注入)
提交 P3:feat(v7): M2 P3——定稿原子 commit + 断电安全(出口达成)
src/commands/prepare-chapter.js、mechanical-check.js、finalize-chapter.js:run 契约薄封装上述 Use Case,bin 可跑test/commands/ 三命令冒烟node --test 绿;过 prd Acceptance(细纲→定稿零 AI 跑通 / 断电注入 / 缓存可重建)提交 P4:feat(v7): M2 P4——写章流程 CLI 接口 + AC 复核
git restore v7/ 对应子目录重建后状态(2026-06-27,全量
node --test172 绿):
.cache 全量重建一致(test/finalize 不变量 2 用例)