|
|
@@ -1,8 +1,9 @@
|
|
|
-# Story Repo 格式规格(v7 草案 0.4 · 已冻结)
|
|
|
+# Story Repo 格式规格(v7 草案 0.5 · 已冻结)
|
|
|
|
|
|
-> 状态:0.4。相对 0.3 的变更:伞目录「定稿/」改名「定稿/」(作者拍板,贴作者心智:草稿在工作区,验收后入定稿)。相对 0.2 的变更:废除大一统 YAML 数据文件,承诺与信息差改为"每条一个 Markdown + 平铺 front matter"(§4.3、§5);新增防呆方言(§2.2)、修复卡(§10 第 0 态)、"对话即编辑器"不变量(§1.9)。决策记录见 §14。
|
|
|
-> 来源:2026-06-10「最正确架构」讨论 + 绞杀式收敛计划 Phase 0。
|
|
|
+> 状态: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 基线)承接。
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -67,7 +68,7 @@
|
|
|
|
|
|
中文路径的编码税通过以下硬约束消化,不靠运气:
|
|
|
|
|
|
-- 一切文件 IO 显式 `encoding='utf-8'`;脚本与子进程入口统一注入 `PYTHONUTF8=1`;禁止依赖系统 locale。
|
|
|
+- **脚本运行时统一 Node**(零依赖:装任何 agent CLI 的用户必有 Node;无 Python、无 pip、无 .env,根治 v6 安装类 issue #90/#103/#69)。一切文件 IO 显式 UTF-8(Node 默认即是),禁止依赖系统 locale。
|
|
|
- 仓库初始化时设置 `git config core.quotepath false`(git log 里中文路径可读)。
|
|
|
- 文件排序一律靠零填充数字前缀(`0152-`、`第05卷`、`P-031`),不依赖中文字典序。
|
|
|
- 实体引用一律用**正名**(中文),别名经名册(§4.5)解析;不引入 ASCII 实体 id。
|
|
|
@@ -98,6 +99,9 @@ spec_version: "7.0"
|
|
|
高承诺最大搁置章数: 10 # 超过亮"节奏债"
|
|
|
连续弱钩上限: 3
|
|
|
关键章稿数: 3 # 卷首/转折/高潮章 best-of-N
|
|
|
+自动拍板: false # true 时决策卡默认采纳提案,跳过停顿点 2(§8.1)
|
|
|
+自动验收: false # true 时机检+镜头评审过线即 settle,验收卡攒批事后审(§8.1)
|
|
|
+连写体检周期: 8 # 自动模式下的体检加密周期;手动模式仍为每 50 章(§9)
|
|
|
```
|
|
|
|
|
|
## 4. 定稿/
|
|
|
@@ -248,6 +252,8 @@ append-only 的 Markdown 表,settle 时追加一行。**在场列可空**:
|
|
|
---
|
|
|
## 铁律
|
|
|
…
|
|
|
+## 反和解(按题材配浓度)
|
|
|
+反派恶意落到实处、冲突升级到底、禁说教式和解、禁主角圣母——AI 对齐训练的和解倾向对爽文是毒药,事后审查修不了,只能随上下文包前置反制(§8 第 3 步)。初始化时按题材模板写入,作者可调浓度。
|
|
|
## 节奏偏好
|
|
|
…
|
|
|
## 来自否决的规则
|
|
|
@@ -291,9 +297,9 @@ B 方案:本章纯感情线过渡,P-031 推到下章(代价:节奏债 +1
|
|
|
|---|------|--------|----------|
|
|
|
| 1 | brief | 脚本读盘面 | 生成 `工作区/决策卡.md` |
|
|
|
| 2 | 拍板 | **作者** | 决策卡的合同段固化 |
|
|
|
-| 3 | pack | 脚本 | 组装 `工作区/上下文包.md`:盘面+合同+事实切片+信息差边界+近章结尾+反复读清单+风格锚点 |
|
|
|
+| 3 | pack | 脚本 | 组装 `工作区/上下文包.md`:盘面+合同+事实切片+信息差边界+近章结尾+反复读清单+风格锚点+反和解规则(§6.1) |
|
|
|
| 4 | 渲染 | 模型(干净上下文) | `工作区/草稿-*.md`;关键章 best-of-N |
|
|
|
-| 5 | 机检 | 脚本 | 合同断言比对、泄密扫描(信息差)、禁词/复读、新专名比对名册、字数。**不过关直接打回第 4 步,不打扰作者** |
|
|
|
+| 5 | 机检 | 脚本 | 合同断言比对、泄密扫描(信息差)、禁词/复读、新专名比对名册、字数、跨章高频意象统计("空气仿佛凝固"全书 47 次这类)、句式体检(句长方差/段落长度分布/高频句式开头)。**不过关直接打回第 4 步,不打扰作者** |
|
|
|
| 6 | 镜头评审 | 模型 ×3(各自新鲜上下文) | 读者镜头(爽不爽/哪段想划走)、编辑镜头(结构与商业性)、事实镜头(只解释机检结果)→ `工作区/评审报告/` |
|
|
|
| 7 | 验收 | **作者** | 验收卡 = 草稿 + 三句话评审 + 待确认新专名 + **章摘要(扫一眼,可改)**。动作:接受 / 改完接受 / 打回 |
|
|
|
| 8 | settle | 脚本,**原子** | 见下 |
|
|
|
@@ -309,10 +315,24 @@ ch(152): 北境的雪
|
|
|
设定: 林晚.位置=北境雪原; 信息差+S-021
|
|
|
```
|
|
|
|
|
|
+### 8.1 自动模式(连写)
|
|
|
+
|
|
|
+**全自动 ≠ 无控制,是控制上移到大纲层**:作者逐卷拍板卷纲,一次确认管几十章。状态机(§10)与八阶段零改动,仅两个作者停顿点变为可跳过开关(存 `book.yaml`):
|
|
|
+
|
|
|
+- `自动拍板: true` → 第 2 步默认采纳决策卡提案。**承诺结转豁免在自动模式下不可用**——豁免是作者品味决策(§5),模型不能自行豁免,需要豁免的章必须人工拍板。
|
|
|
+- `自动验收: true` → 第 7 步机检与镜头评审过线即 settle;验收卡(含章摘要)攒批留档,作者事后批量补审,发现问题走 retcon(§9)。
|
|
|
+
|
|
|
+**质量漂移防线**(无人值守下错误自我强化,必须加密体检):
|
|
|
+
|
|
|
+- 连写中体检周期从 50 章加密到 `连写体检周期`(默认 8 章)。
|
|
|
+- **停止条件**(命中即停,转人工):写满指定章数 / 体检不过线 / 卷纲耗尽。**绝不让模型裸奔编纲**——卷纲是自动模式的控制边界,耗尽即停等作者复盘。
|
|
|
+
|
|
|
+交互式与全自动是同一根滑杆的两端,一套实现:两个开关全关 = 0.4 的逐章交互流程,行为完全不变。
|
|
|
+
|
|
|
## 9. 中环、外环与例外事务
|
|
|
|
|
|
- **卷复盘** `vol(05): 复盘与下卷规划`:承诺审计(本卷开/收/过期清单)→ `记忆/卷摘要/` → 与作者对谈产出 `大纲/卷纲/第06卷.md` → 顺手做伏笔机会扫描(模型提 3-5 个"本卷可埋、N 卷后响"候选,必须引用总纲的具体远期节点,作者勾选后生成承诺文件)。
|
|
|
-- **体检**(每 50 章自动):文体指纹 vs 文体基线区间的漂移报告 + 承诺坏账 + 时间线孤儿 → 报告进工作区,不入册;作者决定回拉或更新基线。
|
|
|
+- **体检**(手动模式每 50 章;连写中按 `连写体检周期` 加密,默认 8 章,不过线即停连写):文体指纹 vs 文体基线区间的漂移报告 + 承诺坏账 + 时间线孤儿 → 报告进工作区,不入册;作者决定回拉或更新基线。
|
|
|
- **retcon**:`retcon(87): 修正大长老境界设定`——显式事务,允许改定稿,要求 commit message 写明原因,设定/承诺同步,审计留痕。
|
|
|
- **手改检测**:每次启动 `git status` 发现定稿/大纲有未结转的手改 → 决策卡问一句"结转吗",确认后 `fix(设定): …` 入册。**系统适应作者,不报错。**
|
|
|
- **分支未来**:作者想试另一条线 → `git branch what-if/xxx`,各推演 3 章纲要,读完 merge 或删分支。
|
|
|
@@ -358,7 +378,7 @@ ch(152): 北境的雪
|
|
|
- ❌ 常驻服务(Dashboard 改为按需静态简报,只读 story repo)
|
|
|
- ❌ 自建提交链 / projection_log / scratchpad
|
|
|
- ❌ 模型自由评"文笔好坏"(镜头职责里明确排除)
|
|
|
-- ❌ 全自动无人值守模式
|
|
|
+- ❌ 模型裸奔编纲(连写的硬停止条件:卷纲耗尽即停,§8.1)
|
|
|
|
|
|
## 14. 决策记录
|
|
|
|
|
|
@@ -386,3 +406,15 @@ ch(152): 北境的雪
|
|
|
| # | 问题 | 决定 | 决策人 | 理由 |
|
|
|
|---|------|------|--------|------|
|
|
|
| 10 | 「正典」译名生硬 | 伞目录改名「定稿/」,结构不变(备选项:顶层拉平、「正史」) | 作者 | 贴作者心智:草稿在工作区,验收后入定稿 |
|
|
|
+
|
|
|
+### 0.4 → 0.5(起因:另一线差异意见,`story-repo-spec-feedback-2026-06-11.md`)
|
|
|
+
|
|
|
+| # | 问题 | 决定 | 决策人 | 理由 |
|
|
|
+|---|------|------|--------|------|
|
|
|
+| 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(采纳反馈线建议) | 对齐副作用事后修不了,只能写前反制 |
|
|
|
+
|
|
|
+**落地备忘**(不进格式法律文本,实现时别丢):题材平台预设(番茄/起点节奏差异)、许可证 MIT/Apache-2.0、AI 味承诺口径("读者不出戏",不承诺过检测器)。
|