Parcourir la source

docs: spec 修订——story-repo 0.6 + 多宿主 v3.2(按 PRD 1.0 §10)

story-repo 0.5 → 0.6(全文重写):
- 术语表全文贯彻;「承诺」拆三类条目(伏笔/悬念/感情线),声明制替代硬门检
- 条目编号中文全称;自动模式按批次定稿(定稿永远归作者,新增叠加视图)
- 新增工作目录层(books.jsonl/唯一启动点/指路 AGENTS.md)、建书态、
  导出命令、精准读取接口、灵感池;时间线按卷;Node ≥ 22
- 决策记录补 0.5→0.6 表(16-24),逐条指向 PRD ADR

多宿主 v3.1 → v3.2:
- §8 安装器重写(工作目录布局/强制项目级/update 哈希追踪)
- §5.5 SessionStart 注入 books.jsonl 上下文;§5.8 AGENTS.md 公约数层;
  §5.9 模板条件块(Trellis 模式);§5.2 放弃插件市场;术语同步
lingfengQAQ il y a 1 semaine
Parent
commit
4ffc66286b

+ 1 - 0
.trellis/tasks/06-12-v7-spec-revision/check.jsonl

@@ -0,0 +1 @@
+{"_example": "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. Put spec/research files only — no code paths. Run `python3 .trellis/scripts/get_context.py --mode packages` to list available specs. Delete this line once real entries are added."}

+ 4 - 0
.trellis/tasks/06-12-v7-spec-revision/implement.jsonl

@@ -0,0 +1,4 @@
+{"file": "docs/architecture/v7-prd.md", "reason": "需求真源——§10 修订指令清单 + §8 术语表 + §3 系统形态"}
+{"file": "docs/architecture/story-repo-spec-2026-06-10.md", "reason": "修订对象 0.5 → 0.6"}
+{"file": "docs/architecture/multi-agent-adaptation-spec-2026-06-05.md", "reason": "修订对象 v3.1 → v3.2"}
+{"file": ".trellis/tasks/archive/2026-06/06-11-v7-prd-webnovel-writer/prd.md", "reason": "27 条 ADR 决策过程,指令有歧义时回查"}

+ 30 - 0
.trellis/tasks/06-12-v7-spec-revision/prd.md

@@ -0,0 +1,30 @@
+# v7 spec 修订:story-repo 0.6 + 多宿主 v3.2
+
+> 需求真源:`docs/architecture/v7-prd.md` §10(spec 修订指令清单,作者已确认 1.0)
+> 本任务是执行性任务:把 PRD 的 18 条下行指令落进两份 spec,不引入 PRD 之外的新设计。
+
+## Goal
+
+- `story-repo-spec-2026-06-10.md` 0.5 → 0.6:13 条指令(PRD §10.1)
+- `multi-agent-adaptation-spec-2026-06-05.md` v3.1 → v3.2:5 条指令(PRD §10.2)
+
+## Requirements
+
+- PRD §10.1 / §10.2 逐条落实;术语表(PRD §8)全文贯彻。
+- 决策记录补 0.5→0.6 / v3.1→v3.2 表,逐条指向 PRD ADR。
+- 开放问题就地敲定并在交付报告中向作者标明:O2 开关名(候选:自动确认细纲 / 连写批次大小)、O3 灵感池落点(候选:`大纲/灵感池.md`)、O4 精准读取接口初版清单。
+
+## Acceptance Criteria
+
+- [ ] 两份 spec 无任何 PRD §8 废止术语残留(作者可见域)
+- [ ] PRD §10 的 18 条指令每条可在 spec 中找到对应落点
+- [ ] 决策记录表完整
+
+## Definition of Done
+
+- PR 进 v7 分支,作者 review 合并
+
+## Out of Scope
+
+- 实施计划与代码(spec 定稿后另立任务)
+- RFC 裁剪(独立任务)

+ 26 - 0
.trellis/tasks/06-12-v7-spec-revision/task.json

@@ -0,0 +1,26 @@
+{
+  "id": "v7-spec-revision",
+  "name": "v7-spec-revision",
+  "title": "v7 spec 修订:story-repo 0.6 + 多宿主 v3.2",
+  "description": "",
+  "status": "in_progress",
+  "dev_type": null,
+  "scope": null,
+  "package": null,
+  "priority": "P2",
+  "creator": "claude",
+  "assignee": "claude",
+  "createdAt": "2026-06-12",
+  "completedAt": null,
+  "branch": null,
+  "base_branch": "v7",
+  "worktree_path": null,
+  "commit": null,
+  "pr_url": null,
+  "subtasks": [],
+  "children": [],
+  "parent": null,
+  "relatedFiles": [],
+  "notes": "",
+  "meta": {}
+}

+ 71 - 50
docs/architecture/multi-agent-adaptation-spec-2026-06-05.md

@@ -1,9 +1,9 @@
 # Webnovel Writer 多宿主与多智能体适配 Spec
 
-> 日期:2026-06-05(v3 修订:2026-06-11;v3.1:同日,hook 语义 deny → ask,依据 #113,见 §5.5
-> 状态:草案 v3.1
-> 基线:**v7 story repo**(`story-repo-spec-2026-06-10.md` 0.5 冻结稿)。v2 的基线是 v6.1.0 Python runtime,该架构已被 v7 推翻;本版继承 v2 的元层纪律,重写全部基座层。
-> 来源:v2(基于 PR #110 review 重写)+ 2026-06 多平台调研核验 + `story-repo-spec-feedback-2026-06-11.md` §二.3
+> 日期:2026-06-05(v3 修订:2026-06-11;v3.1:同日,hook 语义 deny → ask,依据 #113;v3.2:2026-06-12,按 PRD 1.0 §10.2 修订——安装器重写为工作目录布局、AGENTS.md 公约数层、SessionStart 注入、模板条件块、放弃插件市场
+> 状态:草案 v3.2
+> 基线:**v7 story repo**(`story-repo-spec-2026-06-10.md` 0.6)+ **PRD**(`v7-prd.md` 1.0,产品法律文本,冲突时以 PRD 为准)。v2 的基线是 v6.1.0 Python runtime,该架构已被 v7 推翻;本版继承 v2 的元层纪律,重写全部基座层。
+> 来源:v2(基于 PR #110 review 重写)+ 2026-06 多平台调研核验 + Trellis 多宿主机制调研(2026-06-11)+ PRD 1.0
 > 定位:把 v7 的格式层(story repo)原封不动地暴露给多个 agent 宿主——格式平台无关,本 spec 只管入口怎么落、角色怎么生成、安装怎么零门槛、支持等级怎么诚实。
 
 ---
@@ -18,9 +18,9 @@
 | §9.3 降级诚实条款 | **继承** | 不允许声称调用了不存在的 subagent(§5.4) |
 | §5.5 UTF-8 First | **继承,换 Node 口径** | 脚本统一 Node,默认 UTF-8;CI 保留 Windows 中文路径全链路(§5.6) |
 | §5.1 "Runtime 是唯一业务真源" | **反转** | 真源是 story repo(markdown + git),脚本只是确定性工具层(§5.1) |
-| §8.3 写章硬要求(write-gate/chapter-commit/projection) | **删除** | 随 v6 架构作废;v7 的跨宿主硬要求只剩一条:事实变更必须经事务 commit(§5.1) |
+| §8.3 写章硬要求(write-gate/chapter-commit/projection) | **删除** | 随 v6 架构作废;v7 的跨宿主硬要求只剩一条:事实变更必须经流程 commit(§5.1) |
 | §2 当前基线(8 Skill / 4 Agent / hooks / runtime CLI / doctor / Dashboard) | **删除** | 全部是 v6 形态;v7 是单入口状态机 + Node 脚本 |
-| §11 doctor / project-status 双状态入口 | **删除** | v7 状态入口 = 盘面状态机(story repo spec §10),解析失败走修复卡,不需要平行的 doctor 体系 |
+| §11 doctor / project-status 双状态入口 | **删除** | v7 状态入口 = 启动序列与状态机(story repo spec §10),解析失败走修复确认,不需要平行的 doctor 体系 |
 
 ---
 
@@ -63,15 +63,15 @@ Codex 跑 GPT、Cursor 什么模型都有。"流程薄 + 脚本确定性"不是
 ### 3.2 具体目标
 
 1. 状态机单入口落成标准 SKILL.md,在所有支持 SKILL.md 的宿主上可发现、可执行。
-2. 角色(三镜头评审等)单源定义,构建时生成 Claude / Gemini / Codex 三平台壳。
-3. 所有宿主复用同一套 Node 脚本(机检、settle、盘面、体检),零业务逻辑复制。
+2. 角色(三审:读者审/编辑审/设定校对)单源定义,构建时生成各平台壳。
+3. 所有宿主复用同一套 Node 脚本(机检、定稿、全书近况、体检),零业务逻辑复制。
 4. `npx` 安装器一条命令完成环境检测与 skills 分发(根治 v6 #90/#103/#69 安装类 issue)。
 5. 每个宿主的支持状态可验证:support.md + smoke + 分级 registry,不承诺未核验的能力。
 6. 宿主不支持 subagent / hook 时有明确降级模式,输出如实声明。
 
 ## 4. 非目标
 
-- 不为任何宿主复制或改写章事务八阶段逻辑。
+- 不为任何宿主复制或改写章流程八阶段逻辑。
 - 不把格式层(story repo spec)的任何内容绑定到宿主能力上。
 - 不维护手写的"宿主能力矩阵"。
 - 不承诺未经官方文档核验和本地 smoke 的宿主支持。
@@ -89,18 +89,18 @@ Skill、agent、hook、安装器全部只是入口或调度层。真正修改项
 ```text
 任意宿主入口(SKILL.md / 命令 / 对话)
-盘面状态机(story repo spec §10)
+启动序列与状态机(story repo spec §10)
-章事务八阶段(story repo spec §8)
+写章流程八阶段(story repo spec §8)
-settle / retcon / fix 原子 commit → story repo
+定稿 / 吃书 / 补登 原子 commit → story repo
 ```
 
-**跨宿主唯一硬要求**:事实变更必须经事务 commit 入 git,任何宿主不得绕过 settle 直写 `定稿/` 与 `大纲/承诺/`。v2 §8.3 的 write-gate/chapter-commit/projection 硬要求随 v6 架构作废,不替换、不变形保留。
+**跨宿主唯一硬要求**:事实变更必须经流程 commit 入 git,任何宿主不得绕过定稿流程直写 `定稿/` 与 `大纲/伏笔|悬念|感情线/`。v2 §8.3 的 write-gate/chapter-commit/projection 硬要求随 v6 架构作废,不替换、不变形保留。
 
-### 5.2 Claude Code 是第一宿主
+### 5.2 Claude Code 是第一宿主,但分发只走 npx
 
-`.claude-plugin/plugin.json`、`skills/`、`agents/`、`hooks/` 保持官方 plugin-dev 结构;Claude Code 的安装与使用体验是其他宿主的对照基准
+Claude Code 的使用体验是其他宿主的对照基准。**插件市场渠道放弃**(市场版停在 v6 并指引新装法):v7 所有宿主统一 `npx webnovel-writer init` 安装到工作目录(§8)——一套渠道一套支持口径。`.claude-plugin/` 结构仅作为 v6 遗留保留在 master 分支,v7 不再维护
 
 ### 5.3 Skills 层零适配,靠精简而不是靠转换
 
@@ -110,26 +110,38 @@ settle / retcon / fix 原子 commit → story repo
 
 ### 5.4 Subagent 只做增强,不做依赖
 
-- 三镜头评审(story repo spec §8 第 6 步)在支持 subagent 的宿主上用独立 subagent 保证"各自新鲜上下文"。
-- 不支持的宿主降级:主 agent 按同一份镜头任务书顺序执行三镜头,输出必须明确声明"未调用 subagent,使用兼容模式"。
-- **降级诚实条款(继承 v2)**:不允许声称调用了不存在的能力;机检与 settle 是脚本,不参与降级。
+- 三审(story repo spec §8 第 6 步:读者审/编辑审/设定校对)在支持 subagent 的宿主上用独立 subagent 保证"各自新鲜上下文"。
+- 不支持的宿主降级:主 agent 按同一份三审任务书顺序执行,输出必须明确声明"未调用 subagent,使用兼容模式"。
+- **降级诚实条款(继承 v2)**:不允许声称调用了不存在的能力;机检与定稿是脚本,不参与降级。
 
 ### 5.5 Hook 只是 Claude Code 上的自动兜底
 
-- SessionStart 自动报盘面、PreToolUse 提醒直写 `定稿/`——都只是把显式脚本调用自动化
-- **Hook 语义是 ask,不是 deny**:PreToolUse 检测到直写 `定稿/` 或 `大纲/承诺/` 时提醒"这是定稿区,确认直写还是走事务?",确认后放行;事后由手改检测(story repo spec §9)提议 fix 结转兜底。deny 式 hook 无法区分"绕过 settle 破坏一致性"和"替作者批量修数据",被拦的往往是后者——v6 的 state.json guard 即此教训(#113,已于 73447d7 放开)。这与 story repo spec 不变量 1("检测手改并提议结转,永不报错拒绝")和"可靠性来自自愈,不来自门禁"原则自洽。
-- 任何关键能力不得只存在于 hook 中;无 hook 宿主由状态机入口(每次启动先跑盘面与手改检测)补足,行为等价。
+- **SessionStart 注入**:读工作目录 `.webnovel/books.jsonl`,注入"当前在写哪本、共几本书、全书近况入口";再读当前书状态报全书近况。无 hook 宿主由状态机入口启动时读同一文件,行为等价
+- **Hook 语义是 ask,不是 deny**:PreToolUse 检测到直写 `定稿/` 或 `大纲/伏笔|悬念|感情线/` 时提醒"这是定稿区,确认直写还是走写章流程?",确认后放行;事后由手改检测(story repo spec §9)提议补登兜底。deny 式 hook 无法区分"绕过定稿破坏一致性"和"替作者批量修数据",被拦的往往是后者——v6 的 state.json guard 即此教训(#113,已于 73447d7 放开)。这与 story repo spec 不变量 1("检测手改并提议补登,永不报错拒绝")和"可靠性来自自愈,不来自门禁"原则自洽。
+- 任何关键能力不得只存在于 hook 中;无 hook 宿主由状态机入口(每次启动先跑全书近况与手改检测)补足,行为等价。
 
 ### 5.6 零依赖与 UTF-8 First(Node 口径)
 
 - 脚本统一 Node:装任何 agent CLI 的用户必有 Node;无 Python、无 pip、无 .env。
 - 一切文件 IO 显式 UTF-8 无 BOM,`.gitattributes` 锁 LF;不用 .bat/.sh。
-- CI 保留 Windows 中文路径全链路测试(建库→写章→结转→重建缓存,story repo spec §2.1)。
+- CI 保留 Windows 中文路径全链路测试(建库→写章→定稿→重建缓存,story repo spec §2.2)。
 
 ### 5.7 不相信手写矩阵(继承 v2 §5.4)
 
 宿主能力变化快,spec 不记"某宿主现在支持什么"的口头事实;一切支持声明由 `support.md` + smoke 支撑(§7)。
 
+### 5.8 AGENTS.md 是最大公约数层
+
+- **工作目录根部**放 `AGENTS.md`(开放标准,30+ 工具自动读取):说明这是 webnovel-writer 工作目录、入口怎么进、脚本在哪——任何平台哪怕什么都不支持,至少能从这里找到入口。
+- 用 `<!-- WEBNOVEL:START -->` / `<!-- WEBNOVEL:END -->` 标记块管理:块内允许 update 覆写,块外用户内容保留。
+- **书仓库根部**的指路 `AGENTS.md`(story repo spec §2.1)由建书/迁移生成:误在书目录启动或单独 clone 时指引回工作目录。
+
+### 5.9 共享模板 + 平台条件块(Trellis 模式)
+
+- skills/命令文本单源维护,模板里用平台上下文变量(命令引用语法、路径差异)与条件块(有无 subagent / 有无 hook)。
+- **降级路径在安装时编译进生成物,不靠运行时判断**:没有 subagent 的平台,生成出来的 skill 正文就是顺序执行版(含兼容模式声明,§5.4)。
+- 平台能力声明只留模板渲染真正需要的最小布尔集(如 agentCapable / hasHooks),不维护大能力矩阵(§5.7)。
+
 ---
 
 ## 6. 目标架构
@@ -137,34 +149,33 @@ settle / retcon / fix 原子 commit → story repo
 ### 6.1 仓库结构(宿主适配相关部分)
 
 ```text
-webnovel-writer/
-├── .claude-plugin/plugin.json     # Claude Code 第一宿主 manifest
-├── skills/                        # 单源 SKILL.md,开放标准,拷贝即分发
-│   └── <v7 实现阶段定名>/          # 状态机单入口 + /migrate;清单由 v7 实现定,本 spec 只定承载方式
+webnovel-writer/(插件仓库)
+├── skills/                        # 单源 SKILL.md 模板(含平台条件块,§5.9),开放标准
+│   └── <v7 实现阶段定名>/          # 状态机单入口 + /migrate;清单由 v7 实现定
 ├── roles/                         # 角色单源定义(markdown + frontmatter)
-│   ├── 读者镜头.md
-│   ├── 编辑镜头.md
-│   └── 事实镜头.md
-├── agents/                        # 生成物:Claude Code 壳(提交,过 drift check)
+│   ├── 读者审.md
+│   ├── 编辑审.md
+│   └── 设定校对.md
 ├── adapters/
 │   ├── registry.json              # 宿主注册表 + 支持分级(§7.1)
 │   └── <host>/support.md          # 每宿主核验记录(§7.2)
-├── scripts/                       # Node,确定性工具层:机检/settle/盘面/体检/生成器
+├── scripts/                       # Node ≥22,确定性工具层:机检/定稿/全书近况/体检/生成器
 │   └── build-host-shells.mjs      # roles/ + skills/ → 各平台产物;--check 即 drift check
 ├── installer/                     # npx 安装器源码(§8)
-└── dist/<host>/                   # 非 Claude 生成包,不提交
+└── dist/<host>/                   # 生成包,不提交
 ```
 
 ### 6.2 真源与生成物
 
 | 类型 | 路径 | 真源 | 提交 |
 |---|---|---:|---:|
-| Skill 源 | `skills/*/SKILL.md` | 是 | 是 |
+| Skill 源(含条件块模板) | `skills/*/SKILL.md` | 是 | 是 |
 | 角色源 | `roles/*.md` | 是 | 是 |
 | Node 脚本与生成器 | `scripts/` | 是 | 是 |
 | 宿主注册表与核验记录 | `adapters/` | 是 | 是 |
-| Claude Code 壳 | `agents/`、`hooks/` | 否(生成物) | 是,过 drift check |
-| 其他宿主壳 | `dist/<host>/` | 否 | 否 |
+| 各宿主壳与编译后 skill | `dist/<host>/` → 安装到用户工作目录 | 否(生成物) | 否 |
+
+所有宿主壳一律由生成器产出、安装器分发到用户工作目录;插件仓库不再提交任何生成物(v3.1 及之前"Claude Code 壳提交 + drift check"的做法随插件市场渠道一起废止,drift check 改为 CI 中对比生成器输出的确定性)。
 
 ### 6.3 生成器
 
@@ -207,24 +218,33 @@ node scripts/build-host-shells.mjs --check     # drift check,CI 必跑
 
 ---
 
-## 8. 安装与分发
+## 8. 安装与分发(npx 单渠道,强制项目级)
+
+分发只走 `npx webnovel-writer init` / `update`(插件市场放弃,§5.2)。**强制安装到工作目录(项目级),不支持用户级**——所有用户目录结构一字不差,可诊断性优先于灵活性(v6 安装类 issue #90/#103/#69 半数根源是"装哪了/读的哪份"歧义)。
+
+### 8.1 init
+
+1. **检测环境**:Node ≥ 22(不足时人话提示升级);识别已安装的 agent CLI(按 registry 顺序探测)。
+2. **生成工作目录布局**(story repo spec §2.0):`AGENTS.md`(公约数层,标记块)、`.webnovel/`(Node 脚本、角色定义、模板哈希清单、`books.jsonl`)、检测到的各平台壳(`.claude/`、`.codex/` 等,由生成器按 §5.9 条件块编译)。
+3. **输出报告**:装到了哪、各宿主支持等级、降级说明、下一步(打开 agent CLI 说"开始写书")。
+
+### 8.2 update
 
-`npx` 安装器(解决 v6 #90/#103/#69):
+- **模板哈希追踪**:安装时记录每个生成文件的哈希;update 时哈希未变的文件直接更新,用户改过的文件提示并跳过(不静默覆盖)。
+- `AGENTS.md` 只更新标记块内内容,块外用户内容保留(§5.8)。
 
-1. 检测环境:识别已安装的 agent CLI(按 registry 顺序探测 `.claude|.codex|.cursor|.gemini` 等目录与命令)。
-2. 拷贝 skills 到对应宿主的 skills 路径;一级宿主同时生成 agent 壳。
-3. 输出报告:装到了哪、该宿主支持等级、降级说明、下一步(打开 agent CLI 说"开始写书")。
+### 8.3 边界
 
-安装器不装 Node 之外的任何运行时、不改用户全局配置、不联网下载业务逻辑。
+安装器不装 Node 之外的任何运行时、不改用户全局配置、不联网下载业务逻辑、不把工作目录变成 git 仓库(书各自是 git 仓库)。
 
 ---
 
 ## 9. 验证与 CI
 
-- **drift check**:`build-host-shells.mjs --check`,提交的生成物(`agents/` 等)与源不一致即红
+- **drift check**:`build-host-shells.mjs --check`,验证生成器输出确定性(同输入必同输出),CI 必跑
 - **package validator**:registry schema、逐宿主 support.md 存在性、smoke 命令声明、生成物无本机绝对路径、skill description 长度(Codex 8k 预算)。
-- **行为 smoke**(每个一级宿主):discover(skill 可发现)→ 建库 → 盘面 → 写一章全事务 → 删 `.cache/` 重建。Windows 中文路径全链路必测。
-- **降级验收**:至少一个无 subagent 环境跑通三镜头兼容模式,且输出含兼容模式声明。
+- **行为 smoke**(每个一级宿主):discover(skill 可发现)→ npx init → 建书 → 全书近况 → 写一章全流程(细纲→定稿)→ 删 `.cache/` 重建。Windows 中文路径全链路必测。
+- **降级验收**:至少一个无 subagent 环境跑通三兼容模式,且输出含兼容模式声明。
 
 ---
 
@@ -247,20 +267,21 @@ node scripts/build-host-shells.mjs --check     # drift check,CI 必跑
 |---|---|
 | 宿主能力描述过期 | support.md 核验日期纪律;无核验不进一二级 |
 | 角色壳三平台漂移 | 单源 `roles/` + 生成器,禁止手改生成物,drift check 兜底 |
-| 弱模型宿主上流程失守 | 机检与 settle 全是脚本;模型只做渲染与镜头评审 |
+| 弱模型宿主上流程失守 | 机检与定稿全是脚本;模型只做写稿与三审 |
 | Codex skill 预算超限 | validator 检查 description 长度 |
 | 降级模式被冒充 | 降级诚实条款进行为 smoke 验收 |
 | Windows 中文路径 | Node 默认 UTF-8 + CI 全链路测试 |
 
 ## 12. 验收清单
 
-- [ ] story repo 是唯一真源:任何宿主无绕过 settle 的写路径。
+- [ ] story repo 是唯一真源:任何宿主无绕过定稿流程的写路径。
 - [ ] 状态机入口 SKILL.md 在 Claude Code 与 Codex 上可发现、可执行。
-- [ ] `roles/` 单源,三平台壳全部由生成器产出,drift check 进 CI。
-- [ ] npx 安装器在 Windows 中文环境一条命令完成分发。
+- [ ] `roles/` 单源,全部宿主壳由生成器产出,drift check 进 CI。
+- [ ] npx 安装器在 Windows 中文环境一条命令完成工作目录布局(含 AGENTS.md、books.jsonl、平台壳)。
+- [ ] update 哈希追踪:改过的文件不被静默覆盖。
 - [ ] registry 三级分级,一级宿主有 support.md + 过 smoke。
-- [ ] 无 subagent 宿主跑通兼容模式且如实声明。
-- [ ] hook 缺席的宿主核心流程行为等价。
+- [ ] 无 subagent 宿主跑通三审兼容模式且如实声明。
+- [ ] hook 缺席的宿主核心流程行为等价(含 books.jsonl 上下文注入的等价路径)
 
 ## 13. 简短结论
 

+ 250 - 185
docs/architecture/story-repo-spec-2026-06-10.md

@@ -1,92 +1,123 @@
-# Story Repo 格式规格(v7 草案 0.5 · 已冻结
+# Story Repo 格式规格(v7 草案 0.6
 
-> 状态:0.5。相对 0.4 的变更(吸收另一线差异意见,见 `story-repo-spec-feedback-2026-06-11.md`):连写/自动模式入规(§8.1,撤销原 §13 对全自动的禁令);脚本运行时定为 Node(§2.1);机检扩充两项零 token 检查(§8 第 5 步);反和解规则入风格宪法(§6.1)。相对 0.3 的变更:伞目录「正典/」改名「定稿/」(作者拍板,贴作者心智:草稿在工作区,验收后入定稿)。相对 0.2 的变更:废除大一统 YAML 数据文件,承诺与信息差改为"每条一个 Markdown + 平铺 front matter"(§4.3、§5);新增防呆方言(§2.2)、修复卡(§10 第 0 态)、"对话即编辑器"不变量(§1.9)。决策记录见 §14
-> 来源:2026-06-10「最正确架构」讨论 + 绞杀式收敛计划 Phase 0 + 2026-06-11 另一线差异意见对齐
-> 地位:本规格是 v7 的法律文本。代码是格式的派生物——任何实现与本规格冲突时,改实现或改规格,不允许"代码里悄悄多存一份"。
-> 范围:本规格管**格式层**(story repo 里有什么、长什么样、怎么变更),平台无关。宿主适配(SKILL.md 入口、subagent 壳、安装器)由 `multi-agent-adaptation-spec-2026-06-05.md`(v3,已反转到 v7 基线)承接。
+> 状态:0.6。相对 0.5 的变更:按 **PRD 1.0**(`v7-prd.md` §10.1 修订指令,作者已逐项确认)全面修订——术语表全文贯彻(§14 决策记录 16-24)、「承诺」大一统拆为三类条目(伏笔/悬念/感情线)、自动模式改按批次定稿(定稿永远归作者)、新增工作目录层与启动点限制、Node ≥ 22、新增导出命令与精准读取接口
+> 来源:2026-06-10「最正确架构」讨论 + PRD 1.0(2026-06-12 定稿)
+> 地位:`v7-prd.md` 是产品法律文本,本规格是**格式法律文本**——两者冲突时以 PRD 为准并修订本规格。代码是格式的派生物:任何实现与本规格冲突时,改实现或改规格,不允许"代码里悄悄多存一份"。
+> 范围:本规格管**格式层**(工作目录与 story repo 里有什么、长什么样、怎么变更),平台无关。宿主适配(SKILL.md 入口、subagent 壳、安装器)由 `multi-agent-adaptation-spec-2026-06-05.md`(v3.2)承接。
 
 ---
 
 ## 0. 一句话
 
-一本书 = 一个 git 仓库。`定稿/` 存已接受的事实与正文,`大纲/` 存作者意图与承诺,`文风/` 存品味,`工作区/` 存棘轮之前的一切。接受一章 = 一次原子 commit。除一个可随时删除的缓存外,不存在任何持久派生物。
+一本书 = 一个 git 仓库。`定稿/` 存已审稿通过的事实与正文,`大纲/` 存作者意图与三类线索条目(伏笔/悬念/感情线),`文风/` 存品味,`工作区/` 存还没定稿的一切。定稿一章 = 一次原子 git commit。除一个可随时删除的缓存外,不存在任何持久派生物。
 
 ## 1. 设计不变量(法律条款)
 
-1. **文件即真相**:全部状态是人可读、敢手改的 Markdown/YAML。系统检测手改并提议结转,永不报错拒绝。
-2. **派生物可丢弃**:删光 `.cache/` 后,系统从源文件全量重建,所有查询照常回答。这是 CI 验收项。
-3. **定稿只增不改**:已接受章节的事实不可逆改。错别字修正例外;真要改设定走显式 retcon 事务(§9)。
-4. **结转原子性**:章事务的 settle 要么完成一次 commit,要么工作区原样保留,没有中间态。
-5. **写评分离**:渲染与评审必须在不同上下文中进行;机检先于模型评审。
-6. **升级原则**:脚本 < 模型 < 作者。能数的不让模型估,能模型判的不打扰作者;作者的界面单位是决策卡,不是命令。
-7. **不在 VCS 里再造 VCS**:版本、审计、分支、回溯一律用 git,不自建提交链。
-8. **容错读取**:解析任何源文件遇到未知字段,必须保留并原样写回。开源使用者会扩展格式,工具不得丢数据。
-9. **对话即编辑器**:任何结构化数据的修改都可以用一句自然语言完成("把 P-031 弃了,理由是改走暗线")。作者无须学习任何文件格式;手改文件永远只是逃生门。
+1. **文件即真相**:全部状态是人可读、敢手改的中文 Markdown/YAML。系统检测手改并提议补登,永不报错拒绝。
+2. **派生物可丢弃**:删光 `.cache/` 后,系统从源文件全量重建,所有查询照常回答。这是 CI 验收项。`books.jsonl` 的书单部分同理可由目录扫描重建。
+3. **定稿只增不改**:已定稿章节的事实不可逆改。错别字修正例外;真要改设定走显式吃书(§9)。
+4. **定稿原子性**:写章流程的定稿要么完成一次 commit,要么工作区原样保留,没有中间态。
+5. **定稿权归作者**:系统没有任何不经作者确认就写入 `定稿/` 的路径。自动模式只是把确认粒度从逐章变为按批次(§8.1)。
+6. **写评分离**:写稿与评审必须在不同上下文中进行;机检先于 AI 评审。
+7. **升级原则**:脚本 < 模型 < 作者。**脚本能做的归脚本,做不到的归 AI 语义判断,必须分清楚;禁止用正则硬凑语义判断**。能数的不让模型估,能模型判的不打扰作者。
+8. **git 隐身铁律**:作者永远不需要亲手敲 git 命令——真需要 git 操作时由 AI 代为运行;任何 git 异常都有人话修复流程(§10)。版本、审计、分支、回溯一律用 git,不自建提交链。
+9. **容错读取**:解析任何源文件遇到未知字段,必须保留并原样写回。开源使用者会扩展格式,工具不得丢数据。
+10. **对话即编辑器**:任何结构化数据的修改都可以用一句自然语言完成("把伏笔-031 放弃了,理由是改走暗线")。作者无须学习任何文件格式;手改文件永远只是逃生门。
+11. **精准读取**:每类数据文件都有"精准读到所需一段"的脚本命令(§11.1);AI 非必要不整文件读取,写作材料默认用精准片段。
+12. **作者界面零机器味**:作者可见的目录、文件名、字段、文案遵守 PRD §8 术语表与命名四原则;财务/工程/数据库隐喻与自造精简词禁止出现。
 
 ## 2. 目录总览(全中文)
 
-使用者全部是中文网文作者,**目录结构、文件名、作者可见的字段名一律中文**。ASCII 只保留给机器协议:条目编号(P-031、S-021)、commit 前缀(ch/vol/retcon/fix)、`spec_version`、技术文件(`book.yaml`、`.gitignore`、`.cache/`)。
+### 2.0 工作目录层(安装布局)
+
+```text
+工作目录/                      ← AI 工具唯一的启动位置;本身不是 git 仓库
+├── AGENTS.md                  # 公约数层:没装插件的 AI 也能看懂这里是什么、入口在哪
+├── .claude/  .codex/ …        # 各平台壳(安装时按检测到的环境生成)
+├── .webnovel/                 # 插件本体:Node 脚本、角色定义、版本与模板哈希清单
+│   └── books.jsonl            # 书目录登记:每行一本书(书名/目录/是否当前在写/最后打开)
+├── 我的第一本书/               # 书仓库(独立 git 仓库,见 §2.1)
+└── 我的第二本书/               # 多本书共用一套安装
+```
+
+- **只支持从工作目录启动**:各宿主只在启动目录自动加载 skills/配置,在书目录启动插件不会加载。脚本启动时校验当前目录含 `.webnovel/`,否则人话提示"请从工作目录启动"。
+- **当前书与书单由 `books.jsonl` 解析**(机器域文件,作者不手编):换书 = 作者一句话让 AI 改登记;登记缺失/损坏 → 扫描含 `book.yaml` 的子目录重建书单,"当前在写"标记请作者选一次。
+- 宿主有 SessionStart hook 的(Claude Code),启动自动注入"当前在写哪本/共几本书/全书近况入口";无 hook 宿主由状态机入口读同一文件,行为等价。
+- 安装、升级(模板哈希追踪)、平台壳生成由多宿主 spec §8 承接。
+
+### 2.1 书仓库目录
+
+使用者全部是中文网文作者,**目录结构、文件名、作者可见的字段名一律中文**。ASCII 只保留给机器协议:commit 前缀(ch/vol/retcon/fix)、`spec_version`、技术文件(`book.yaml`、`.gitignore`、`.cache/`、`AGENTS.md`)。条目编号用**中文全称前缀**:伏笔-031、悬念-008、感情线-012、信息差-021——编号是作者天天要念的,必须是人话且不过度压缩。
 
 ```text
 <书名>/
 ├── .git/
 ├── .gitignore                 # 至少含 .cache/ 与 工作区/
+├── AGENTS.md                  # 指路文件(建书时自动生成):误在书目录启动 AI 工具或
+│                              #   单独 clone 时,指引"回上一层工作目录启动 / npx 重建"
 ├── book.yaml                  # 全书配置(§3)
-├── 定稿/                       # ── 棘轮之后 ──
+├── 定稿/                       # ── 审稿通过后的一切,只进不改 ──
 │   ├── 正文/
 │   │   └── 0152-北境的雪.md    # 章节 + front matter(§4.1)
 │   ├── 设定/
 │   │   ├── 角色/
 │   │   │   └── 林晚.md         # 角色卡(§4.2)
 │   │   ├── 信息差/
-│   │   │   └── S-021-灭门真凶.md  # 信息差,每条一文件(§4.3)
+│   │   │   └── 信息差-021-灭门真凶.md   # 每条一文件(§4.3)
 │   │   ├── 世界观.md           # 世界规则、力量体系
-│   │   ├── 时间线.md           # append-only 表(§4.4)
+│   │   ├── 时间线/
+│   │   │   └── 第05卷.md       # 按卷拆分的 append-only 表(§4.4)
 │   │   └── 名册.md             # 实体名册:正名/别名/首现章(§4.5)
-│   └── 记忆/
-│       ├── 章摘要/0152.md      # settle 时入册(§4.6)
+│   └── 摘要/
+│       ├── 章摘要/0152.md      # 定稿时写入(§4.6)
 │       └── 卷摘要/第05卷.md    # 卷复盘时生成
-├── 大纲/                       # ── 作者意图,可变 ──
-│   ├── 总纲.md                 # 主题、金手指、结局承诺
+├── 大纲/                       # ── 作者意图,随时可改 ──
+│   ├── 总纲.md                 # 主题、金手指、结局
 │   ├── 卷纲/
-│   │   └── 第05卷.md
-│   └── 承诺/
-│       └── P-031-灭门真凶.md   # 承诺,每条一文件(§5)
+│   │   └── 第05卷.md           # 主线/支线的推进写在这里,不另设条目
+│   ├── 灵感池.md               # 偏离大纲的素材与未用的好点子(§7)
+│   ├── 伏笔/
+│   │   └── 伏笔-031-灭门真凶.md  # 三类线索条目,每条一文件(§5)
+│   ├── 悬念/
+│   │   └── 悬念-008-神秘老者身份.md
+│   └── 感情线/
+│       └── 感情线-012-林晚主线.md
 ├── 文风/                       # ── 品味库 ──
-│   ├── 风格宪法.md             # (§6.1)
-│   └── 金句库/                 # 自动收割(§6.2)
-├── 工作区/                     # ── 棘轮之前,默认不入 git ──
-│   ├── 决策卡.md               # (§7)
-│   ├── 上下文包.md             # 本次渲染的上下文包,留档供审计
-│   ├── 草稿-A.md               # best-of-N 时 A/B/C
-│   └── 评审报告/               # 机检与镜头评审输出
+│   ├── 文风铁律.md             # (§6.1)
+│   └── 金句库/                 # 7.0 手动放入;自动收割见 §6.2 附录(7.x)
+├── 工作区/                     # ── 还没定稿的一切,默认不入 git ──
+│   ├── 细纲.md                 # (§7)
+│   ├── 本章写作材料.md          # 本次写稿的材料包,留档供核查
+│   ├── 草稿-A.md               # 关键章多稿时 A/B/C
+│   ├── 审稿.md                 # 草稿+三审意见+待确认新人名+章摘要(§8 第 7 步)
+│   ├── 评审报告/               # 机检与三审原始输出
+│   ├── 待定稿/                 # 自动模式的批次暂存(§8.1):每章一个子目录
+│   └── 导出/                   # 干净正文导出落点(§4.7),不进 git
 └── .cache/                     # 唯一允许的派生缓存(§11)
     └── index.db
 ```
 
-### 2.1 中文路径的工程约束(规范性,CI 强制)
-
-中文路径的编码税通过以下硬约束消化,不靠运气:
+### 2.2 中文路径的工程约束(规范性,CI 强制)
 
-- **脚本运行时统一 Node**(零依赖:装任何 agent CLI 的用户必有 Node;无 Python、无 pip、无 .env,根治 v6 安装类 issue #90/#103/#69)。一切文件 IO 显式 UTF-8(Node 默认即是),禁止依赖系统 locale。
+- **脚本运行时统一 Node ≥ 22**(零第三方依赖:`.cache/index.db` 用内置 `node:sqlite`;装任何 agent CLI 的用户必有 Node;无 Python、无 pip、无 .env)。安装器检测 Node 版本,不足时人话提示升级。一切文件 IO 显式 UTF-8(Node 默认即是),禁止依赖系统 locale。
 - 仓库初始化时设置 `git config core.quotepath false`(git log 里中文路径可读)。
-- 文件排序一律靠零填充数字前缀(`0152-`、`第05卷`、`P-031`),不依赖中文字典序。
-- 实体引用一律用**正名**(中文),别名经名册(§4.5)解析;不引入 ASCII 实体 id
-- CI 必须包含 Windows 上中文路径的全链路测试(建库→写章→结转→重建缓存)。
+- 文件排序一律靠零填充数字前缀(`0152-`、`第05卷`、`伏笔-031`),不依赖中文字典序。
+- 实体引用一律用**正名**(中文),别名经名册(§4.5)解析。
+- CI 必须包含 Windows 上中文路径的全链路测试(建库→写章→定稿→重建缓存)。
 
-### 2.2 防呆方言(系统写出格式的规范性约束)
+### 2.3 防呆方言(系统写出格式的规范性约束)
 
-非程序员作者手改 YAML 的三大手滑是全角标点、缩进、类型惊喜。系统写出的一切结构化内容必须遵守以下方言——作者照着系统写的样子改,就不容易错
+非程序员作者手改 YAML 的三大手滑是全角标点、缩进、类型惊喜。系统写出的一切结构化内容必须遵守以下方言:
 
 - **一律平铺**:front matter 与 `book.yaml` 禁止嵌套映射,字段全部顶层。
-- **列表一律块格式**(一行一条 `- 晚晚`),禁止行内 `[a, b]`——块格式天然免疫全角逗号
-- **危险值加引号**:写出时凡可能被 YAML 误判类型的字符串(纯数字形、true/false/yes/no/是/否 形)自动加引号。
+- **列表一律块格式**(一行一条 `- 晚晚`),禁止行内 `[a, b]`。
+- **危险值加引号**:写出时凡可能被 YAML 误判类型的字符串自动加引号。
 - 缩进统一两空格;编码 UTF-8 无 BOM。
-- 多条记录**永远每条一个文件**,禁止大一统数据文件——改坏一条只废一条,且自由文本归 Markdown 正文(全角标点随便用),front matter 只承载少量平铺短字段。
+- 多条记录**永远每条一个文件**,禁止大一统数据文件;自由文本归 Markdown 正文,front matter 只承载少量平铺短字段。
 
 ## 3. book.yaml
 
-全仓库唯一的纯 YAML 文件:低频、平铺、十行以内
+全仓库唯一的纯 YAML 文件:低频、平铺。
 
 ```yaml
 spec_version: "7.0"
@@ -96,21 +127,22 @@ spec_version: "7.0"
 卷规模: 40                 # 参考值,不是硬约束
 文体基线起: 1              # 文体指纹基线章区间,作者可改
 文体基线止: 30
-高承诺最大搁置章数: 10     # 超过亮"节奏债"
+伏笔悬了太久章数: 10       # 超过亮"悬了太久"提醒(提醒不是错误)
+悬念悬了太久章数: 10
+感情线悬了太久章数: 30
 连续弱钩上限: 3
 关键章稿数: 3              # 卷首/转折/高潮章 best-of-N
-自动拍板: false            # true 时决策卡默认采纳提案,跳过停顿点 2(§8.1)
-自动验收: false            # true 时机检+镜头评审过线即 settle,验收卡攒批事后审(§8.1)
-连写体检周期: 8            # 自动模式下的体检加密周期;手动模式仍为每 50 章(§9)
+自动确认细纲: false        # true 时细纲默认采纳提案,跳过停顿点 2(§8.1)
+连写批次大小: 8            # 自动模式一个批次的章数,也是连写体检周期(§8.1)
 ```
 
 ## 4. 定稿/
 
-草稿在工作区,验收后入定稿——目录名即心智模型。
+草稿在工作区,审稿通过后入定稿——目录名即心智模型。
 
 ### 4.1 章节文件 `定稿/正文/NNNN-标题.md`
 
-文件名:四位零填充章号 + 短横 + 标题。front matter 携带本章合同与结转摘要——**章节自带自己的验收记录**,审计不依赖外部表。本文件仅由 settle 写出(作者改的是正文,不是 front matter)。
+文件名:四位零填充章号 + 短横 + 标题。front matter 携带本章档案——**章节自带自己的审稿记录**,核查不依赖外部表。本文件仅由定稿步骤写出(作者改的是正文,不是 front matter)。
 
 ```markdown
 ---
@@ -120,16 +152,20 @@ spec_version: "7.0"
 视角: 林晚
 书内时间: 大历1023年冬月初三    # 自由文本,全书格式一致
 字数: 3120
-开启承诺:
-  - P-058
-推进承诺:
-  - P-031
-  - P-007
-兑付承诺:
-  - P-019
-合同:                           # 接受时点的合同断言(已验收)
+章定位: 推进                    # 推进|过渡|日常(细纲声明,§7)
+钩子: 危机钩-强                 # 结尾钩子类型与强弱(章属性)
+情绪定位: 压抑                  # 压抑|铺垫|小爽|大爽|转折(章属性)
+伏笔:
+  - 埋下 伏笔-058
+  - 推进 伏笔-031
+  - 回收 伏笔-019
+悬念:
+  - 推进 悬念-008
+感情线:
+  - 推进 感情线-012
+本章要写到的事:                 # 确认细纲时点的清单(已经三审核对)
   - 林晚得知灭门真相的第一条实证
-  - P-058 开启:神秘老者来历
+  - 伏笔-058 埋下:神秘老者来历
   - 结尾强钩:玄阶令牌现世
 ---
 正文……
@@ -137,7 +173,7 @@ spec_version: "7.0"
 
 ### 4.2 角色卡 `定稿/设定/角色/<正名>.md`
 
-front matter 是机检消费的结构化字段(平铺、块列表);正文是自由设定文本。
+front matter 是机检消费的结构化字段(平铺、块列表);正文是自由设定文本。客观事实(境界/位置/持有/状态)由定稿步骤增量更新——这是"客观事实记账"的落点。
 
 ```markdown
 ---
@@ -155,13 +191,15 @@ front matter 是机检消费的结构化字段(平铺、块列表);正文
 ---
 ## 设定
 …自由文本…
+## 典型对话
+…该角色的原话样本(语气 few-shot 用,7.x 语气体检的数据源)…
 ## 关系
 …自由文本,重要关系变化也应反映在时间线…
 ```
 
-### 4.3 信息差 `定稿/设定/信息差/<编号>-<短题>.md`
+### 4.3 信息差 `定稿/设定/信息差/信息差-NNN-<短题>.md`
 
-不追踪"每个角色知道哪些事件",只登记**值得管理的信息差**,每条一个文件。泄密机检 = 扫描角色对白/内心戏,比对其不知道的信息差关键词;废笔机检 = 向读者复述"读者已知"的信息。群像戏的"谁在场"需求由时间线的在场列(§4.4)补足,不另建机制
+不追踪"每个角色知道哪些事件",只登记**值得管理的信息差**,每条一个文件。机检的泄密扫描只产出**候选清单**(角色对白/内心戏命中其不知道的信息差关键词),是否真泄密由三审的设定校对判断,不拦截流程。"装逼打脸蓄积了多少章"是信息差的派生报表(§11),不另建机制。群像戏的"谁在场"由时间线在场列(§4.4)补足
 
 ```markdown
 ---
@@ -170,7 +208,7 @@ front matter 是机检消费的结构化字段(平铺、块列表);正文
   - 神秘老者
 读者已知: false
 登记章: 87
-关键词:                   # 泄密扫描用
+关键词:                   # 泄密扫描出候选
   - 大长老
   - 灭门
   - 血书
@@ -179,9 +217,9 @@ front matter 是机检消费的结构化字段(平铺、块列表);正文
 灭门真凶是大长老。当年血案的执行者是其门下死士。
 ```
 
-### 4.4 时间线 `定稿/设定/时间线.md`
+### 4.4 时间线 `定稿/设定/时间线/第NN卷.md`
 
-append-only 的 Markdown 表,settle 时追加一行。**在场列可空**:日常章不用填,群像戏、密谋戏建议填——它是后续查"谁见过什么"的唯一数据源
+**按卷拆分**的 append-only Markdown 表,定稿时向当前卷文件追加一行。写作材料默认只带当前卷+上一卷;跨卷查询走 `.cache`(§11.1)。**在场列可空**:日常章不用填,群像戏、密谋戏建议填。
 
 ```markdown
 | 章 | 书内时间 | 一句话事件 | 在场 |
@@ -191,54 +229,67 @@ append-only 的 Markdown 表,settle 时追加一行。**在场列可空**:
 
 ### 4.5 实体名册 `定稿/设定/名册.md`
 
-防"同人异名/同名异人"。表:`| 正名 | 别名 | 类型 | 首现章 |`。机检在 settle 时比对正文新专名与名册,未登记的专名列入验收卡请作者确认(新实体 or 笔误)。
+防"同人异名/同名异人"。表:`| 正名 | 别名 | 类型 | 首现章 |`。机检在定稿前比对正文新专名与名册,未登记的专名进审稿单请作者确认(新实体 or 笔误)。
 
-### 4.6 记忆层 `定稿/记忆/`
+### 4.6 摘要层 `定稿/摘要/`
 
-- `章摘要/NNNN.md`:≤200 字,settle 前由模型生成、**放进验收卡供作者扫一眼**(可顺手改),随事务入册
-- `卷摘要/第NN卷.md`:≤500 字,卷复盘时生成:主线推进、关系变化、未兑付承诺清单。
+- `章摘要/NNNN.md`:≤200 字,定稿前由模型生成、**放进审稿单供作者扫一眼**(可顺手改),随定稿入档
+- `卷摘要/第NN卷.md`:≤500 字,卷复盘时生成:主线推进、关系变化、未收尾条目清单。
 - 更长程的"全书骨架"是**派生物**:由卷摘要按需拼接压缩,不落盘。
 
-## 5. 承诺 `大纲/承诺/`(每条一文件
+### 4.7 干净导出(零 token 脚本
 
-系统的心脏。伏笔、悬念、感情线、爽点预期、立旗统一为"对读者的承诺"。文件名 `P-031-灭门真凶.md`(编号-短题);front matter 只有六个平铺短字段,描述、兑付计划、履历全部是 Markdown 正文——作者爱怎么写怎么写。
+一键导出去掉 front matter 的纯正文,支持单章 / 章范围 / 全书,落点 `工作区/导出/`(不进 git)。作者发布到平台(起点/番茄)本来就需要纯文本——发布与"正文文件无机器味"两个需求一个脚本解决。
+
+## 5. 三类线索条目(`大纲/伏笔|悬念|感情线/`,每条一文件)
+
+系统的心脏。**有"开启→推进→收尾"生命周期的才设条目**;三类共用同一套引擎(文件格式、履历、"悬了太久"提醒、定稿写入;机器内部状态同构 open/advance/resolve/drop),作者界面按类型用各自的名字和动词:
+
+| 类型 | 编号 | 生命周期动词 | "悬了太久"默认 |
+|---|---|---|---|
+| 伏笔 | 伏笔-031 | 埋下 → 推进 → 回收 / 放弃 | 10 章(book.yaml 可改) |
+| 悬念 | 悬念-008 | 设下 → 推进 → 揭晓 / 放弃 | 10 章 |
+| 感情线 | 感情线-012 | 开启 → 推进 → 修成正果 / 无疾而终 | 30 章 |
+
+**不设条目的,各归各位**:爽点是知识层(v6 追读力分类、爽点与节奏知识库、题材模板平移继承,喂给细纲与三审,§8);钩子与情绪定位是章属性(§4.1);主线/支线的推进写在总纲/卷纲正文里;冲突、立旗不设类。
+
+文件名 `伏笔-031-灭门真凶.md`(全称编号-短题);front matter 平铺短字段,描述、收尾计划、履历全是 Markdown 正文:
 
 ```markdown
 ---
-类型: 悬念                # 伏笔|悬念|冲突|关系线|立旗|爽点铺垫
 强度: 高                  # 高|中|低
-状态: 进行                # 进行|已兑付|已弃置
+状态: 进行                # 进行|已收尾|已放弃
 开启章: 12
-兑付期限: 第7卷           # 卷号或章号;强度为"高"时必填
+预计收尾: 第7卷           # 卷号或章号;强度"高"时必填
 最后推进章: 152
 ---
 ## 描述
 灭门真凶的身份。
 
-## 兑付计划
-第七卷宗门大会当众揭穿。开时必填,防悬空。
+## 收尾计划
+第七卷宗门大会当众揭穿。开新条目时必填,防悬空。
 
 ## 履历
-- 第12章:开启
-- 第87章:推进——血书线索现世
-- 第152章:推进——林晚取得实证
+- 第12章:埋下
+- 第87章:推进——血书线索现世(见本章中段"血书残页"一节)
+- 第152章:推进——林晚取得实证(见本章结尾对峙段)
 ```
 
-**结转规则(脚本执行,机检级)**:
+**条目规则(声明制)**:
 
-- 每章 settle 必须 touch(开启/推进/兑付)至少一条承诺,否则打回。**豁免权在决策卡**:作者拍板 brief 时可勾"本章豁免承诺结转"(理由必填,如纯番外);模型不能自行豁免
-- settle 对承诺文件的写入 = 更新 front matter(状态/最后推进章)+ 在履历追加一行
-- 开新承诺必须有兑付计划;强度"高"必须有兑付期限
-- 节奏债 = 强度"高"且 `当前章 − 最后推进章 > 高承诺最大搁置章数`,亮黄灯进决策卡
-- 弃置必须在履历中留原因行(作者决定弃坑也要留痕)。
-- 账本级视图(到期清单、节奏债、统计)由 `.cache/` 与盘面提供,**不维护任何汇总文件**。
-- 派生指标(不另建机制):卡点强度 = 章尾未兑付承诺的强度;追读风险 = 节奏债数量 + 连续弱钩计数。
+- **不设"每章必须推进条目"的硬门检**。细纲声明本章定位(推进章/过渡章/日常章,§7)——过渡章合法,消除模型造假账的动机
+- **履历行必须引用章内证据**(一句话指明出处),三审的设定校对核对引用是否属实——这是防假推进的真正防线
+- 开新条目必须写收尾计划;强度"高"必须填预计收尾
+- "悬了太久"= `当前章 − 最后推进章` 超过该类型阈值,在全书近况里亮提醒。**提醒不是错误**:有些伏笔收不了可以接受,系统不逼作者填所有坑
+- 放弃必须在履历留原因行(弃线也要留痕)。
+- 汇总视图(到期清单、悬了太久、活跃率统计)由 `.cache/` 与全书近况提供,**不维护任何汇总文件**。
+- 派生指标(不另建机制):章尾力度 = 结尾未收尾条目的强度;追读风险 = 悬了太久数量 + 连续弱钩计数。
 
 ## 6. 文风/
 
-### 6.1 风格宪法 `文风/风格宪法.md`
+### 6.1 文风铁律 `文风/文风铁律.md`
 
-系统对作者品味的全部认知,作者可审可改。front matter 为机器消费部分(块列表;口癖按"角色:词条"平铺为列表行,不嵌套):
+系统对作者品味的全部认知,作者可审可改。front matter 为机器消费部分(块列表;口癖按"角色:词条"平铺,不嵌套):
 
 ```markdown
 ---
@@ -253,168 +304,182 @@ append-only 的 Markdown 表,settle 时追加一行。**在场列可空**:
 ## 铁律
 ## 反和解(按题材配浓度)
-反派恶意落到实处、冲突升级到底、禁说教式和解、禁主角圣母——AI 对齐训练的和解倾向对爽文是毒药,事后审查修不了,只能随上下文包前置反制(§8 第 3 步)。初始化时按题材模板写入,作者可调浓度。
+反派恶意落到实处、冲突升级到底、禁说教式和解、禁主角圣母——AI 对齐训练的和解倾向对爽文是毒药,事后审查修不了,只能随写作材料前置反制(§8 第 3 步)。建书时按题材模板写入,作者可调浓度。
 ## 节奏偏好
 ## 来自否决的规则
 - 不要用天气开篇(出处:第 89/103/121 章三次否决)
 ```
 
-规则入走"三次同类否决→系统提议→作者确认"的流程,每条带出处。
+规则入铁律走"三次同类否决→系统提议→作者确认"的流程,每条带出处。
 
 ### 6.2 金句库 `文风/金句库/`
 
-settle 时若 `diff(模型草稿, 作者终稿)` 超阈值(默认:单段改动 > 30%),自动把"作者改后段落 + 场景标签"存为样本。渲染同类场景时作为 few-shot 注入。按场景分文件:`战斗.md`、`对白.md`、`情感.md`……每文件保留最近 20 条,旧的轮换归档。
+**7.0 范围**:目录与手动放入——作者把得意段落放进按场景分的文件(`战斗.md`、`对白.md`、`情感.md`……),写同类场景时作为 few-shot 注入。
+
+**附录(7.x,自动收割,本节为预留设计不在 7.0 实现)**:自动判定只产生**候选**(作者改写且字数相近才候选,净删减不算);作者在对话中夸某段("那儿写得不错")也触发候选;最终入库一律经作者审核(审稿时顺手勾选)——品味决策不交给阈值。每文件保留最近 20 条,旧的轮换归档。
 
-## 7. 工作区/ 与决策卡
+## 7. 工作区/ 与细纲
 
-工作区默认整体 gitignored——棘轮之前的一切允许丢失;合同的最终归宿是章节 front matter(§4.1)。**想保留草稿史的使用者删掉 `.gitignore` 里那一行即可**:settle 照常清空工作区,系统行为不变,历史由 git 自然留下。这是规范性要求——实现不得假设工作区未被 git 跟踪
+工作区默认整体 gitignored——定稿前的一切允许丢失;"本章要写到的事"的最终归宿是章节 front matter(§4.1)。**想保留草稿史的使用者删掉 `.gitignore` 里那一行即可**,系统行为不变(实现不得假设工作区未被 git 跟踪)
 
-`决策卡.md` 是作者唯一需要看的界面,固定四段:
+`工作区/细纲.md` 是写每一章前作者唯一需要看的文件,固定四段:
 
 ```markdown
-# 决策卡:第 152 章
-## 盘面(脚本生成)
+# 第 152 章细纲
+## 全书近况(脚本生成)
 - 位置:第 5 卷 24/40 章
-- 节奏债:P-031(高,12 章未推进
+- 悬了太久:伏笔-031(高,12 章未动
 - 连续弱钩:2 章
-## 提案
-推进 P-031(林晚取得实证)、顺手开 P-058、结尾玄阶令牌现世卡章
-## 合同(拍板即生效)
+## 本章提案
+本章定位:推进章。推进伏笔-031(林晚取得实证)、顺手埋下伏笔-058、结尾玄阶令牌现世收钩
+## 本章要写到的事(确认即生效)
 - [ ] 林晚得知灭门真相的第一条实证
-- [ ] P-058 开启:神秘老者来历
+- [ ] 伏笔-058 埋下:神秘老者来历
 - [ ] 结尾强钩
 ## 备选
-B 方案:本章纯感情线过渡,P-031 推到下章(代价:节奏债 +1)
-(如需豁免承诺结转,在此注明理由)
+B 方案:本章纯感情线过渡(定位改"过渡章"),伏笔-031 推到下章(代价:悬了太久 +1)
 ```
 
-作者动作只有三种:采纳 / 改卡 / 选备选。改卡 = 直接编辑此文件,或一句话让系统改(不变量 9)。
+作者动作只有三种:点头 / 改 / 选备选。改 = 直接编辑此文件,或一句话让系统改(不变量 10)。
 
-## 8. 章事务(内环)
+**大纲偏离是决策点不是 bug**:写稿偏离细纲/卷纲时,细纲下一章给三选——拉回 / 改纲 / 存进 `大纲/灵感池.md`(偏离素材与未用的好点子都归这里,卷复盘时翻一遍)。
+
+## 8. 写章流程(内环,八阶段)
 
 | # | 阶段 | 执行体 | 文件效果 |
 |---|------|--------|----------|
-| 1 | brief | 脚本读盘面 | 生成 `工作区/决策卡.md` |
-| 2 | 拍板 | **作者** | 决策卡的合同段固化 |
-| 3 | pack | 脚本 | 组装 `工作区/上下文包.md`:盘面+合同+事实切片+信息差边界+近章结尾+反复读清单+风格锚点+反和解规则(§6.1) |
-| 4 | 渲染 | 模型(干净上下文) | `工作区/草稿-*.md`;关键章 best-of-N |
-| 5 | 机检 | 脚本 | 合同断言比对、泄密扫描(信息差)、禁词/复读、新专名比对名册、字数、跨章高频意象统计("空气仿佛凝固"全书 47 次这类)、句式体检(句长方差/段落长度分布/高频句式开头)。**不过关直接打回第 4 步,不打扰作者** |
-| 6 | 镜头评审 | 模型 ×3(各自新鲜上下文) | 读者镜头(爽不爽/哪段想划走)、编辑镜头(结构与商业性)、事实镜头(只解释机检结果)→ `工作区/评审报告/` |
-| 7 | 验收 | **作者** | 验收卡 = 草稿 + 三句话评审 + 待确认新专名 + **章摘要(扫一眼,可改)**。动作:接受 / 改完接受 / 打回 |
-| 8 | settle | 脚本,**原子** | 见下 |
+| 1 | 起草细纲 | 脚本读全书近况 + AI 拟提案 | 生成 `工作区/细纲.md`,含本章定位声明(§7) |
+| 2 | 确认细纲 | **作者** | 细纲的"要写到的事"固化(`自动确认细纲: true` 时默认采纳提案,跳过停顿) |
+| 3 | 备料 | 脚本 | 组装 `工作区/本章写作材料.md`:全书近况+要写到的事+事实切片+信息差边界+近章结尾+反复读清单+文风锚点+反和解规则。**默认精准片段**(当前卷+上一卷时间线、按编号取条目、按需取正文段,§11.1) |
+| 4 | 写稿 | AI(干净上下文) | `工作区/草稿-*.md`;关键章 best-of-N |
+| 5 | 机检 | 脚本(零 token) | **只做可计数项**:字数、禁词/禁句式、复读检测、跨章高频意象统计("空气仿佛凝固"全书 47 次这类)、句式体检(句长方差/段落长度分布/高频句式开头)、新专名比对名册、front matter 格式完整性、条目文件是否变动(只查形式不判内容)、信息差关键词命中(**只出候选清单,不拦截**)。不过关直接打回第 4 步,不打扰作者 |
+| 6 | 三审 | AI ×3(各自新鲜上下文) | **读者审**(爽不爽/哪段想划走,用追读力知识库的标准)、**编辑审**(结构与商业性)、**设定校对**(语义判断都在这里:①"要写到的事"逐条核对正文写没写到;②机检泄密候选是否真泄密;③条目履历引用的章内证据是否属实)→ `工作区/评审报告/` |
+| 7 | 审稿 | **作者** | `工作区/审稿.md` = 草稿 + 三句话审意见 + 待确认新专名 + 章摘要(扫一眼可改)。动作:接受 / 改完接受 / 打回。手动模式逐章审;自动模式按批次审(§8.1)。**定稿永远需要作者敲定**(不变量 5) |
+| 8 | 定稿 | 脚本,**原子** | 见下 |
 
-**settle 的一次 commit 包含**:草稿 → `定稿/正文/`(front matter 写入合同与承诺结转);`设定/` 变更(位置/状态/境界/持有/信息差/名册/时间线);涉及的 `大纲/承诺/` 文件结转(front matter 更新 + 履历追加);`记忆/章摘要/`(验收卡定稿版);`文风/金句库/` 收割(如触发);工作区清空。
+**定稿的一次 commit 包含**:草稿 → `定稿/正文/`(front matter 写入章档案与条目变动);`设定/` 变更(位置/状态/境界/持有/信息差/名册/时间线追加);涉及的三类条目文件更新(front matter + 履历追加);`摘要/章摘要/`(审稿单定稿版);工作区清空。
 
 **commit message 约定**(前缀 ASCII 是机器协议,便于 `git log --grep`):
 
 ```text
 ch(152): 北境的雪
 
-承诺: +P-058 ~P-031 ~P-007 $P-019     # + 开启 ~ 推进 $ 兑付
-设定: 林晚.位置=北境雪原; 信息差+S-021
+条目: +伏笔-058 ~伏笔-031 ~感情线-012 $伏笔-019     # + 开启 ~ 推进 $ 收尾
+设定: 林晚.位置=北境雪原; 信息差+信息差-021
 ```
 
-### 8.1 自动模式(连写)
-
-**全自动 ≠ 无控制,是控制上移到大纲层**:作者逐卷拍板卷纲,一次确认管几十章。状态机(§10)与八阶段零改动,仅两个作者停顿点变为可跳过开关(存 `book.yaml`):
+### 8.1 自动模式(连写,按批次定稿)
 
-- `自动拍板: true` → 第 2 步默认采纳决策卡提案。**承诺结转豁免在自动模式下不可用**——豁免是作者品味决策(§5),模型不能自行豁免,需要豁免的章必须人工拍板。
-- `自动验收: true` → 第 7 步机检与镜头评审过线即 settle;验收卡(含章摘要)攒批留档,作者事后批量补审,发现问题走 retcon(§9)。
+**全自动 ≠ 无控制,是控制上移到大纲层**:作者逐卷确认卷纲,一次确认管几十章。**自动模式与手动模式的差异只是确认粒度:逐章 vs 按批次**——状态机与八阶段零改动,没有"自动定稿"。
 
-**质量漂移防线**(无人值守下错误自我强化,必须加密体检):
+- `自动确认细纲: true` → 第 2 步默认采纳细纲提案(提案必须含定位声明)。
+- **批次运行**:连写 `连写批次大小`(默认 8)章。每章走完 1-6 步后**不定稿**,草稿、审稿单、预登记数据存入 `工作区/待定稿/NNNN-标题/`。
+- **叠加视图**(规范性要求):写批内后续章时,备料脚本组装"`定稿/` + 待定稿批次预登记"的叠加视图——批内前章的设定变更、条目推进、时间线行在工作区就位,定稿时原样转正。
+- **停止条件**(命中即停转人工):批次写满 / 体检不过线 / 卷纲耗尽(**绝不让模型裸奔编纲**)/ 连续 3 章(可配)无条目变动。
+- **批量审稿与定稿**:批次结束 → 体检 → 作者过一遍攒下的审稿单(整批接受 / 改某几章 / 从某章起打回重写)→ 作者敲定后**逐章按序定稿**(原子性按章保留)→ 下一批次。批内错误未定稿,直接改,影响最多波及一个批次。
+- 整批不要 → "回到第 N 章"(§9);已发布后才发现的错误 → 影响分析 + 顺势圆(§9)。
 
-- 连写中体检周期从 50 章加密到 `连写体检周期`(默认 8 章)。
-- **停止条件**(命中即停,转人工):写满指定章数 / 体检不过线 / 卷纲耗尽。**绝不让模型裸奔编纲**——卷纲是自动模式的控制边界,耗尽即停等作者复盘。
+两个开关全关 = 逐章交互流程,行为完全不变。
 
-交互式与全自动是同一根滑杆的两端,一套实现:两个开关全关 = 0.4 的逐章交互流程,行为完全不变。
+## 9. 中环、外环与例外流程
 
-## 9. 中环、外环与例外事务
+- **卷复盘** `vol(05): 复盘与下卷规划`:三类条目清账(本卷开/收/悬了太久清单)→ `摘要/卷摘要/` → 翻一遍灵感池 → 与作者对谈产出 `大纲/卷纲/第06卷.md` → 顺手做伏笔机会扫描(模型提 3-5 个"本卷可埋、N 卷后响"候选,必须引用总纲的具体远期节点,作者勾选后生成条目文件)。
+- **体检**(手动模式每 50 章;连写中每批次一次):文体指纹 vs 基线区间的漂移报告 + 条目活跃率与悬了太久清单 + 时间线孤儿 → 报告进工作区,不入档;作者决定回拉或更新基线。
+- **吃书**(作者界面叫吃书,commit 前缀仍 retcon):`retcon(87): 修正大长老境界设定`——显式流程,允许改定稿,要求 commit message 写明原因,设定/条目同步,留痕可查。
+- **影响分析**(脚本):改设定/吃书前,grep 正文+条目履历+时间线,列出"哪些章建立在这个事实上",分已发布/未发布两清单。未发布 → 直接改或吃书;**已发布 → 顺势圆**(生成向后兼容错误的圆设定方案——"已发布不可改"是网文铁律,顺势圆是主路径)。
+- **"回到第 N 章"**(人话命令):git 回滚的包装,自动模式跑废了一键回到批次起点或任意已定稿章。执行前展示影响范围,作者确认。
+- **手改检测**:每次启动发现定稿/大纲有未登记的手改 → 细纲前问一句"补登吗",确认后 `fix(设定): …` 入档。**系统适应作者,不报错。**
+- **分支试写**:作者想试另一条线 → AI 代为开 git 分支(如 `what-if/林晚黑化`),各推演 3 章纲要,读完合并或丢弃——作者全程不碰 git 命令(不变量 8)。
 
-- **卷复盘** `vol(05): 复盘与下卷规划`:承诺审计(本卷开/收/过期清单)→ `记忆/卷摘要/` → 与作者对谈产出 `大纲/卷纲/第06卷.md` → 顺手做伏笔机会扫描(模型提 3-5 个"本卷可埋、N 卷后响"候选,必须引用总纲的具体远期节点,作者勾选后生成承诺文件)。
-- **体检**(手动模式每 50 章;连写中按 `连写体检周期` 加密,默认 8 章,不过线即停连写):文体指纹 vs 文体基线区间的漂移报告 + 承诺坏账 + 时间线孤儿 → 报告进工作区,不入册;作者决定回拉或更新基线。
-- **retcon**:`retcon(87): 修正大长老境界设定`——显式事务,允许改定稿,要求 commit message 写明原因,设定/承诺同步,审计留痕。
-- **手改检测**:每次启动 `git status` 发现定稿/大纲有未结转的手改 → 决策卡问一句"结转吗",确认后 `fix(设定): …` 入册。**系统适应作者,不报错。**
-- **分支未来**:作者想试另一条线 → `git branch what-if/xxx`,各推演 3 章纲要,读完 merge 或删分支。
+## 10. 启动序列与状态机(单入口)
 
-## 10. 盘面状态机(单入口)
+**第 0 步之前先跑 git 健康检查**:半提交、合并冲突、锁文件、.git 损坏、网盘冲突副本("xxx (1).md")——每种配自动修复或人话指引,**作者永远不直面 git 报错**(不变量 8)。
 
-系统启动时按序判定,命中即停:
+然后按序判定,命中即停:
 
 | 序 | 条件 | 下一步 |
 |----|------|--------|
-| 0 | 任一源文件解析失败 | **修复卡**:定位到行、展示上下文、模型提议保留意图的修复、作者确认。全角冒号/逗号出现在结构位置(键后、列表分隔)属确定性错误,可直接预修复后只报不问。**永不带堆栈崩溃** |
-| 1 | 定稿/大纲有未结转手改 | 提议 fix 结转 |
-| 2 | 工作区有未完成事务 | 从中断的阶段继续 |
-| 3 | 刚结的章是卷末章 | 卷复盘 |
-| 4 | 章号到达体检周期 | 体检卡 |
-| 5 | 其余 | 新章 brief(内环第 1 步) |
+| 0 | 任一源文件解析失败 | **修复确认**:定位到行、展示上下文、AI 提议保留意图的修复、作者确认。全角冒号/逗号出现在结构位置属确定性错误,直接预修复后只报不问。**永不带堆栈崩溃** |
+| 1 | 工作目录无任何书 / 当前书不存在 | **建书引导**:问答式生成 book.yaml、总纲、第一卷卷纲,生成书仓库(含指路 AGENTS.md),登记进 `books.jsonl` |
+| 2 | 定稿/大纲有未登记手改 | 提议 fix 补登 |
+| 3 | 工作区有未完成流程(含待定稿批次) | 从中断的阶段继续 |
+| 4 | 刚定稿的章是卷末章 | 卷复盘 |
+| 5 | 章号到达体检周期 | 体检 |
+| 6 | 其余 | 起草新章细纲(内环第 1 步) |
 
-8 个命令全部内化为以上状态的阶段。作者只需要一个入口和"继续"。
+v6 的 8 个命令全部内化为以上状态。作者只需要一个入口和"继续"。
 
 ## 11. 派生缓存 `.cache/index.db`
 
-唯一允许的持久派生物,gitignored,任何时刻可删。首查重建,重建器只读 定稿/大纲/文风 源文件。表(机器域,表名英文):`chapters`(front matter 展开)、`promises`、`secrets`、`entities`(名册)、`fingerprints`(文体指纹历史)。**重建器即格式的参考实现**——能完整重建,说明格式自洽。
+唯一允许的持久派生物(`node:sqlite`),gitignored,任何时刻可删。首查重建,重建器只读 定稿/大纲/文风 源文件。表(机器域,表名英文):`chapters`(front matter 展开,含章定位/钩子/情绪定位)、`threads`(三类条目统一存放,类型为列)、`secrets`(信息差,含"读者已知"与蓄积章数)、`entities`(名册)、`fingerprints`(文体指纹历史)。**重建器即格式的参考实现**——能完整重建,说明格式自洽。
+
+### 11.1 精准读取接口(不变量 11 的落地)
+
+每类源文件配"定位读取"脚本命令,AI 默认用它们取片段、不整文件读取。初版清单(实现可扩充,不可削减):
+
+| 目标 | 示例 |
+|---|---|
+| 条目 | 读伏笔-031 的履历 / 读感情线-012 的当前状态与收尾计划 |
+| 大纲 | 读第 5 卷卷纲的指定小节 / 读总纲的结局段 |
+| 正文 | 读 0152 章结尾 500 字 / 读 0148-0152 章的章摘要 |
+| 时间线 | 读当前卷+上一卷 / 按"在场含某人"过滤 |
+| 设定 | 读林晚角色卡的 front matter / 读世界观的指定小节 |
+| 全文检索 | 查"玄阶令牌"在全书的出现章与上下文(Grep 正文——正文本身就是无损数据库) |
+| 报表 | 悬了太久清单 / 信息差蓄积报表("读者还不知道主角底牌已 23 章") |
+
+写作材料组装(§8 第 3 步)默认只用以上接口取片段。
 
 ## 12. 迁移映射(v6 → v7,一次性脚本)
 
+迁移引导首先处理**市场版插件卸载 + npx 重装**(v7 不再走插件市场),然后:
+
 | v6 | v7 |
 |----|----|
-| `正文/` | `定稿/正文/`(补 front matter,合同字段标"迁移") |
+| `正文/` | `定稿/正文/`(补 front matter,"要写到的事"标"迁移") |
 | `设定集/` | `定稿/设定/`(角色卡补 front matter) |
 | `大纲/`(总纲、卷纲) | `大纲/总纲.md`、`大纲/卷纲/` |
-| plot_threads / foreshadowing / chase_debt / reading_power | 逐条生成 `大纲/承诺/` 文件 |
+| foreshadowing | `大纲/伏笔/` 逐条成文件 |
+| plot_threads | 并入卷纲正文(不设条目) |
+| chase_debt / reading_power | 知识层与章属性(不设条目) |
 | `.webnovel/state.json` | 一次性展开进 `定稿/设定/` |
-| `summaries/` | `定稿/记忆/` |
-| project_memory patterns / scratchpad | `文风/风格宪法.md`(人工过一遍再入宪) |
-| `.story-system/` 提交链 | 迁移时压成一个初始 commit,原目录只读归档 |
-| index.db / vectors.db / projection_log | 删除(index 进 `.cache/` 重建;向量为可选插件) |
+| `summaries/` | `定稿/摘要/` |
+| project_memory patterns / scratchpad | `文风/文风铁律.md`(人工过一遍再入) |
+| references(题材模板/追读力/爽点节奏) | 知识层平移继承 |
+| `.story-system/` 提交链 | 压成初始 commit,原目录只读归档 |
+| index.db / vectors.db / projection_log | 删除(缓存重建;向量为可选插件) |
+
+迁移不丢任何一个字;失败可整体回退。
 
 ## 13. 不做清单
 
 - ❌ 大一统 YAML 数据文件(多条记录一律每条一个 Markdown 文件)
 - ❌ 事件日志表与逐事件 witnesses 投影(被 信息差/ + 时间线在场列 取代)
 - ❌ 持久向量库(语义检索 = 可选插件,永不做事实召回主路径)
-- ❌ 常驻服务(Dashboard 改为按需静态简报,只读 story repo
+- ❌ 常驻服务(浏览级信息 = 按需静态简报:零 token 脚本渲染单文件 HTML,只读 story repo,7.x
 - ❌ 自建提交链 / projection_log / scratchpad
-- ❌ 模型自由评"文笔好坏"(镜头职责里明确排除)
-- ❌ 模型裸奔编纲(连写的硬停止条件:卷纲耗尽即停,§8.1)
+- ❌ 模型自由评"文笔好坏"(三审职责里明确排除)
+- ❌ 模型裸奔编纲(连写硬停止条件:卷纲耗尽即停,§8.1)
+- ❌ 不经作者确认写入 `定稿/` 的任何路径(不变量 5)
 
 ## 14. 决策记录
 
-### 0.1 → 0.2
-
-| # | 问题 | 决定 | 决策人 | 理由 |
-|---|------|------|--------|------|
-| 1 | 目录语言 | 全中文目录 + 全中文作者可见字段;机器协议保留 ASCII | 作者 | 使用者全是中文网文作者;编码税以 §2.1 硬约束消化 |
-| 2 | 工作区入 git? | 默认不入;删 `.gitignore` 一行即可选入,实现必须兼容两种状态 | Claude | 默认保持"棘轮前可弃"的简洁,复杂需求一行开关满足 |
-| 3 | 信息差简化够用? | 保持轻量登记;时间线加可选"在场"列覆盖群像需求 | Claude | 一列数据 vs 一套事件投影机制,成本差两个量级 |
-| 4 | 章摘要谁拍板 | 进验收卡供作者扫一眼、可改,随事务入册 | 作者 | 摘要是长程记忆的源头,错一条污染后面几百章 |
-| 5 | 每章必须结转承诺 | 保持硬机检;豁免权在决策卡、归作者、理由必填 | Claude | 规则要硬才有意义,但豁免是品味决策,归人不归模型 |
-
-### 0.2 → 0.3(起因:作者质疑"YAML 是否方便作者修改")
-
-| # | 问题 | 决定 | 决策人 | 理由 |
-|---|------|------|--------|------|
-| 6 | 大一统 YAML 对非程序员不安全 | 承诺与信息差拆为"每条一个 Markdown + 平铺 front matter";全仓库唯一纯 YAML 是 book.yaml | 作者提出,Claude 设计 | 全角标点/缩进/类型三类手滑;爆炸半径从全账本缩到单条;自由文本回归正文 |
-| 7 | 手滑预防 | 防呆方言(§2.2):一律平铺、块列表、危险值加引号 | Claude | 作者照系统写出的样子改,不容易错 |
-| 8 | 手滑兜底 | 解析失败出修复卡(§10 第 0 态),不崩溃;全角标点结构性错误确定性预修复 | Claude | 系统里永远有 LLM 在场,这是普通软件没有的兜底 |
-| 9 | 根治路径 | "对话即编辑器"入宪(不变量 9) | Claude | 作者从头到尾不需要学 YAML |
-
-### 0.3 → 0.4
+### 0.1 → 0.5
 
-| # | 问题 | 决定 | 决策人 | 理由 |
-|---|------|------|--------|------|
-| 10 | 「正典」译名生硬 | 伞目录改名「定稿/」,结构不变(备选项:顶层拉平、「正史」) | 作者 | 贴作者心智:草稿在工作区,验收后入定稿 |
+历史决策 1-15 见 git 历史中的 0.5 版(要点:全中文目录;工作区默认不入 git;信息差轻量登记;章摘要作者过目;每条一文件 + 防呆方言 + 修复确认;「正典」→「定稿」;自动模式入规;运行时 Node;多宿主分层留白;机检扩充;反和解入律)。其中"每章必须结转承诺 + 豁免"已被 0.6 的声明制取代(见 16-18)。
 
-### 0.4 → 0.5(起因:另一线差异意见,`story-repo-spec-feedback-2026-06-11.md`
+### 0.5 → 0.6(依据:PRD 1.0 §10.1,作者 2026-06-11/12 逐项拍板)
 
-| # | 问题 | 决定 | 决策人 | 理由 |
-|---|------|------|--------|------|
-| 11 | §13 禁全自动 vs 已确认需求(v6 #79 连写) | 撤销禁令,连写入规为 §8.1:状态机零改动,拍板/验收变可跳过开关,体检加密到 8 章,停止条件硬兜底 | 作者(采纳反馈线方案) | 全自动 ≠ 无控制,是控制上移到大纲层;原禁令真正想禁的是"模型裸奔编纲",已单列入 §13 |
-| 12 | §2.1 `PYTHONUTF8=1` 暗示 Python,与零依赖冲突 | 脚本运行时统一 Node | 作者(另一线已定) | 装 agent CLI 必有 Node 且默认 UTF-8;v6 安装类 issue(#90/#103/#69)根源是 Python+pip 门槛 |
-| 13 | 多宿主层缺席是留白还是遗漏 | 分层留白:本规格只管格式层、平台无关;宿主适配由 `multi-agent-adaptation-spec-2026-06-05.md` v3 承接(真源反转到 story repo) | 作者 | 决策卡=文件界面天然可移植,格式法律文本不该绑宿主 |
-| 14 | 机检覆盖面 | 内环第 5 步扩充:跨章高频意象统计、句式体检(零 token 脚本) | Claude(采纳反馈线建议) | 格式不动,纯机检项扩充;AI 味是分布问题,禁词表只够第一层 |
-| 15 | AI 和解倾向毒害爽文 | 反和解规则入风格宪法标准段(§6.1),随上下文包前置注入 | Claude(采纳反馈线建议) | 对齐副作用事后修不了,只能写前反制 |
+| # | 变更 | 落点 | PRD 依据 |
+|---|------|------|---------|
+| 16 | 术语表全文贯彻(定稿动词/写章流程/全书近况/本章写作材料/本章要写到的事/三审/文风铁律/细纲/审稿/修复确认/吃书/摘要/悬了太久;"卡"与"棘轮"退场) | 全文 | §8 术语表、ADR 术语-1/2 |
+| 17 | 「承诺」大一统拆为三类条目:伏笔/悬念/感情线,统一引擎分类型目录;爽点归知识层、钩子归章属性、主线支线归卷纲 | §5、§2.1、§4.1 | ADR 账本-1 |
+| 18 | "每章必须推进"硬门检 + 豁免机制 → **声明制**(细纲声明章定位;履历须引用章内证据) | §5、§7 | ADR 机制-2 |
+| 19 | 条目编号中文全称(伏笔-031/信息差-021),"编号保留 ASCII"废止 | §2.1、§5 | ADR 术语-3 |
+| 20 | 自动模式重写:**删除自动验收,定稿永远归作者**;按批次审稿与定稿;叠加视图;停止条件 +"连续 3 章无条目变动" | §8.1、不变量 5、§3 | ADR 机制-6 |
+| 21 | 机检/三审职责重划:机检只做可计数项(含高频意象/句式体检),"要写到的事"核对与泄密判断移给设定校对(机检只出候选) | §8 第 5/6 步 | ADR 机制-1 |
+| 22 | git 隐身铁律入宪 + 启动前 git 健康检查 + 影响分析/顺势圆/"回到第 N 章" | 不变量 8、§9、§10 | ADR 机制-3/4 |
+| 23 | 新增工作目录层:工作目录 ⊃ 书目录、唯一启动点、`books.jsonl` 登记 + hook 注入、书仓库指路 AGENTS.md;Node ≥ 22(node:sqlite) | §2.0、§2.2 | ADR 安装-1/2/3、技术-1 |
+| 24 | 时间线按卷拆分;`记忆/`→`摘要/`;新增导出命令、灵感池、精准读取接口、建书态;金句库自动收割移 7.x 附录 | §4.4/4.6/4.7、§6.2、§7、§10、§11.1 | ADR 格式-1/2/3、机制-5、原则-1、范围-1/2 |
 
-**落地备忘**(不进格式法律文本,实现时别丢):题材平台预设(番茄/起点节奏差异)、许可证 MIT/Apache-2.0、AI 味承诺口径("读者不出戏",不承诺过检测器)。
+**落地备忘**(不进格式法律文本,实现时别丢):题材平台预设(番茄/起点节奏差异)、许可证 MIT/Apache-2.0、AI 味承诺口径("读者不出戏",不承诺过检测器)、每章 AI 调用次数预算上限(实现时定数)。