来源:2026-07-02 设计边界回顾(作者逐项确认)。文档侧裁决已由
07-02-v7-boundary-doc-backfill落进 spec 0.9 / PRD 1.1 / multi-agent v3.5 / 实施计划 0.3(commit871c448)——本任务以 spec 0.9 为依据改代码。 定位:M5 安装器的前置(实施计划 0.3 §0 已登记)。deep review 的判断同样适用:"否则 M5 安装器接一个跑不通的循环"。
消除"格式法律文本 ↔ 参考实现"漂移中该改代码的一侧(3 项),修复状态机三个判定边界 bug(含收卷声明制落地),补齐机检/备料/ReviewInput 三处缺料。九项全部对齐 spec 0.9。
大纲/第NN卷.md → 大纲/卷纲/第NN卷.md。涉及 OutlineReader(读取与 listVolumes 正则)、persist.js(persistCreateBook/persistVolumeReview)、测试 fixtures、相关测试。定稿/摘要/卷摘要/NN.md → 第NN卷.md(与时间线、卷纲同形态)。谁知道/读者知道 → 知情人/读者已知(spec §4.3)。涉及 rebuilder.js、SecretWriter/SecretReader 及注释、fixtures、机检测试。无存量用户数据,直接切换、不做旧字段兼容读取。maxChapter % 卷规模 === 0 改为"最新定稿章 front matter 收卷: 是"。链路:chapters 缓存表加收卷列(重建器填充;缓存可删重建,无迁移问题)→ detectors/状态机改判定 → 序 6 细纲 DTO 的期望产物文案补"可含收卷提议(依据卷纲进度与卷规模参考值)"。% 体检周期 === 0 改"距上次体检 ≥ 体检周期";上次体检章号存 .cache(丢失重测无害,符合派生物语义)。必须配最小体检执行点,否则新语义下序 5 自第 50 章起每次启动命中、主循环卡死:新增 health-check 脚本命令(零 token),汇总既有报表(悬了太久、条目活跃率、连续弱钩)落 工作区/体检报告.md 并记录上次体检章号;文体统计项标注"随 M5.5"。detectParseFailures 按 spec 清单补扫 book.yaml、文风/文风铁律.md front matter、定稿/设定/名册.md 表、定稿/设定/时间线/ 表;解析失败进序 0 修复确认,不再静默降级为默认值。hasUnfinishedWork 把 细纲.md、本章写作材料.md 计入(对齐 spec 续跑映射表),已确认细纲不再被序 6 覆盖。threads 表存在("埋下"相反:要求 ID 不存在);②生命周期动词与条目当前状态兼容(推进/回收/揭晓等要求状态=进行)。查表即可,不判语义。roles/事实审查.md 输入清单同步补"相关条目(含拟变动与近期履历)"。边界说明:含证据引用的"拟履历行"起草与核对随 M5 F1 接线(save-review/finalize 通道),不在本任务。v7/scripts/),dist 生成物不提交。谁知道/读者知道;卷摘要写出 第NN卷.md。fixtures 同步。收卷: 是 → 重建缓存 → next 判序 4 卷复盘;不带收卷的第 40/80 章 → 不触发卷复盘(旧整除行为消失)。.cache 删除后重测不报错。next 返回序 0 修复确认;不再出现"静默用默认值"路径。next 返回序 3(续跑),细纲文件未被改写。node --test 绿;「删光 .cache 全量重建」用例绿;drift check + validator 绿。next --json/review-input/save-review/persist-*/finalize 命令)→ M5(实施计划 0.3 已列清单)。