Browse Source

fix: gitignore shared mutable files, compile always after pull

Only event files (evolution/genres/*/events/*.json) are tracked.
population.json, current_best.json, thresholds.json, evolution_log.md
are compiled from events — no more merge conflicts across devices.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
nonvioce 5 tháng trước cách đây
mục cha
commit
5d16583f9a

+ 14 - 0
.gitignore

@@ -1,4 +1,18 @@
 __pycache__/
 *.pyc
 .DS_Store
+
+# 共享可变文件 — 编译时从事件重建,不纳入版本控制
+# 只追踪事件文件(evolution/genres/*/events/*.json)作为真实源
+evolution/prompts/population.json
+evolution/prompts/current_best.json
+evolution/thresholds.json
+evolution/genres/*/prompts/population.json
+evolution/genres/*/prompts/current_best.json
+evolution/genres/*/thresholds.json
+
+# 追加型日志 — 多设备并行写入时自然冲突,不追踪
+evolution/evolution_log.md
+
+# 会话状态 — 单设备临时数据
 evolution/session_state.json

+ 57 - 42
CLAUDE.md

@@ -82,20 +82,26 @@ target_words: 3000
 
 ```
 evolution/
-├── thresholds.json                 # 技能级默认阈值
-├── prompts/population.json         # 技能级种群(无题材时回退用)
+├── thresholds.json                 # [gitignored] 技能级默认阈值,--compile 重建
+├── prompts/
+│   ├── population.json             # [gitignored] 技能级种群,--compile 从事件重建
+│   └── current_best.json           # [gitignored] 技能级最优,--compile 从事件重建
+├── patterns/
+│   └── pattern_library.json        # 跨题材模式库
 └── genres/                         # 题材级共享目录
     └── {genre_id}/                 # other, xianxia, urban, horror ...
-        ├── thresholds.json         # 题材特定质量阈值
+        ├── thresholds.json         # [gitignored] 题材特定质量阈值,--compile 重建
         ├── prompts/
-        │   ├── population.json     # 5岛种群(writing/revision/quality_check/outline/hook_management)
-        │   └── current_best.json   # 各岛最优提示词(写作时读取)
+        │   ├── population.json     # [gitignored] 5岛种群,--compile 从事件重建
+        │   └── current_best.json   # [gitignored] 各岛最优,--compile 从事件重建
         ├── patterns/
         │   └── pattern_library.json
-        └── events/                 # 事件日志(多用户 git 共享核心)
-            └── {timestamp}_{user}.json
+        └── events/                 # ★ 唯一纳入 git 追踪的进化数据
+            └── {timestamp}_{user}.json   # 不可变事件,永远不冲突
 ```
 
+`[gitignored]` 文件不纳入版本控制。`git pull` 后 `evolve.sh` 自动调用 `--compile` 从事件重建。
+
 ### 五大岛屿
 
 | 岛屿 | 作用 | 写作阶段 |
@@ -135,59 +141,68 @@ evolution/
 
 新反馈用滑动平均合并:`new = (old × trials + score) / (trials + 1)`
 
-## 多用户 Git 共享
+## 多用户 Git 共享(含多设备)
 
-### 原理:事件溯源
+### 原理:事件溯源 + 编译重建
 
-每个用户不修改 `population.json`,而是写入自己的不可变事件文件。不同文件名 → git merge 永远无冲突。
+Git 仓库**只追踪事件文件**(`evolution/genres/*/events/*.json`)和 README。
 
-### 工作流
+以下共享可变文件已加入 `.gitignore`,**不纳入版本控制**:
+- `population.json` / `current_best.json` / `thresholds.json`(skill 级和题材级)
+- `evolution_log.md`(追加型日志,多设备并行写入自然冲突)
 
-```bash
-# === 用户 A:写章节 + 进化 ===
-cd ~/.claude/skills/novel-write
-git pull origin main
+这些文件是**编译产物**,每次 `git pull` 后由 `evolve.sh` 自动从事件重建。事件文件名含时间戳和用户名(`{timestamp}_{user}.json`),永远不冲突。
 
-# 收集章节反馈(Claude Code 写完后自动调用)
-python3 scripts/feedback_collector.py collect \
-    --project /path/to/novel \
-    --chapter 35 \
-    --scores '{"P1":88,"P2":76,"P3":70,"P4":82,"P5":91}'
+### 同一用户多设备
 
-# 执行进化
-bash scripts/evolve.sh --project /path/to/novel --full
+同一 git 用户在不同设备上写作,**零冲突**:
 
-# 提交事件文件并推送
-git add evolution/genres/other/events/
-git commit -m "evolve(other): ch35 feedback + gen3 mutation"
-git push origin main
+| 设备 A | 设备 B | 结果 |
+|--------|--------|------|
+| 写第 35 章 → 进化 → push | — | A 的事件文件推送成功 |
+| — | `git pull` → 自动 `--compile` | B 从事件重建 population,包含 A 的优化 |
+| — | 写第 36 章 → 进化 → push | B 的事件文件推送成功 |
+| A `git pull` → 自动 `--compile` | — | A 从事件重建 population,包含 B 的优化 |
 
-# === 用户 B:获取 A 的成果 ===
-cd ~/.claude/skills/novel-write
-git pull origin main
-bash scripts/evolve.sh --project /path/to/novel --compile
-# 现在 population.json 已包含用户 A 的所有优化
-# 继续写第36章...
+两个设备在不同时间产生的进化数据,通过事件文件合并到同一题材种群中,互不覆盖。
+
+### 自动工作流(evolve.sh 全自动)
+
+```bash
+# 写前:evolve.sh 自动执行
+#   → git pull(获取其他设备/用户的进化事件)
+#   → event_store.py compile(从事件重建 population/thresholds/current_best)
+#   → 加载最新最优提示词,开始写作
+
+# 写后:evolve.sh --project /path/to/novel 自动执行
+#   → 收集反馈 → 分析质量 → 提示词进化
+#   → git add evolution/genres/*/events/(只推送事件文件)
+#   → git commit + git push
 ```
 
-### 初始推送
+用户不需要手动执行任何 git 命令。网络不通时自动降级为纯本地模式。
+
+### 手动 compile(仅在自动流程失效时使用)
 
 ```bash
-cd ~/.claude/skills/novel-write
-git add .
-git commit -m "novel-write skill: multi-genre evolution + event sourcing"
-git push -u origin master
+# 对指定题材从事件重建所有编译产物
+bash scripts/evolve.sh --project /path/to/novel --compile
+
+# 或直接指定题材
+python3 scripts/event_store.py compile --genre xianxia
 ```
 
 ### 冲突场景覆盖
 
 | 场景 | 冲突? | 原因 |
 |------|--------|------|
-| 两人同题材写不同书 | 无 | 各自写 `events/{ts}_{user}.json`,不同文件名 |
-| 两人同时给同一题材进化 | 无 | 进化事件记录不同变体 ID,合并后种群更丰富 |
-| 两人给同一变体评分 | 无 | 反馈事件各自独立,编译器回放时滑动平均合并 |
-| `population.json` 被两人修改 | 无(已解决) | 不再直接修改;由 `--compile` 重建,可加 `.gitignore` |
-| `thresholds.json` 同时调整 | 可能 | 调整频率低;冲突时取最近时间戳或手动合并 |
+| 同一用户多设备交替写作 | 无 | 事件文件 `{ts}_{user}.json`,不同时间戳 |
+| 不同用户同题材写不同书 | 无 | 各自写事件文件,不同用户名+时间戳 |
+| 不同用户同时给同一题材进化 | 无 | 进化事件记录不同变体 ID,合并后种群更丰富 |
+| 不同用户给同一变体评分 | 无 | 反馈事件各自独立,编译器回放时滑动平均合并 |
+| `population.json` / `thresholds.json` | 无(已解决) | 已 gitignore,不在仓库中;由 `--compile` 从事件重建 |
+| 新设备首次克隆后 | 无 | `evolve.sh` 自动检测到缺失编译产物,从事件重建 |
+| 题材尚无任何事件 | 无 | `compile_all()` 从内置种子初始化,与事件回放结果一致 |
 
 ## 题材管理
 

+ 0 - 179
evolution/evolution_log.md

@@ -1,179 +0,0 @@
-
-## 2026-05-15 19:29 | 进化系统初始化
-
-- **项目**: 重生囤货-绑定诡异种田
-- **类型**: project-level evolution init
-- **题材**: 末世
-
----
-
-## 2026-05-15 19:33 | 章节反馈收集
-
-- **章节**: 31
-- **综合评分**: 79
-- **各维评分**: P1:88, P2:72, P3:65, P4:80, P5:90
-- **问题数**: 0
-
----
-
-## 2026-05-15 19:34 | 章节反馈收集
-
-- **章节**: 31
-- **综合评分**: 79
-- **各维评分**: P1:88, P2:72, P3:65, P4:80, P5:90
-- **问题数**: 0
-
----
-
-## 2026-05-15 19:34 | 章节反馈收集
-
-- **章节**: 32
-- **综合评分**: 82
-- **各维评分**: P1:92, P2:75, P3:70, P4:85, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 19:52 | 章节反馈收集
-
-- **章节**: 33
-- **综合评分**: 78
-- **各维评分**: P1:85, P2:78, P3:62, P4:76, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:00 | 章节反馈收集
-
-- **章节**: 34
-- **综合评分**: 78
-- **各维评分**: P1:82, P2:75, P3:68, P4:79, P5:85
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:01 | 章节反馈收集
-
-- **章节**: 35
-- **综合评分**: 84
-- **各维评分**: P1:90, P2:82, P3:71, P4:85, P5:92
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:03 | 章节反馈收集
-
-- **章节**: 36
-- **综合评分**: 81
-- **各维评分**: P1:88, P2:76, P3:70, P4:82, P5:91
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:14 | 章节反馈收集
-
-- **章节**: 37
-- **综合评分**: 82
-- **各维评分**: P1:86, P2:79, P3:72, P4:83, P5:89
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 20
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 21
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 22
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 23
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 24
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 25
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 26
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 27
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 28
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 29
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----
-
-## 2026-05-15 20:42 | 章节反馈收集
-
-- **章节**: 30
-- **综合评分**: 83
-- **各维评分**: P1:85, P2:82, P3:78, P4:80, P5:88
-- **问题数**: 0
-
----

+ 0 - 27
evolution/genres/other/prompts/current_best.json

@@ -1,27 +0,0 @@
-{
-  "writing": [
-    "测试自动git推送",
-    "【大王饶命风格注入】目标句长:15字/句",
-    "本文疲劳词监控(题材特定):以下词汇单章最多使用1次——震惊、不可思议、难以置信、深吸一口气、仿佛、不禁、宛如、竟然。超限即标记为S2警告。这些是题材疲劳词,过度使用会让读者产生'又是这套'的审美疲劳。"
-  ],
-  "revision": [
-    "[迁自writing]【大王饶命风格注入】目标句长:15字/句",
-    "修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本。REVISED_CONTENT处理全章级问题——Critical包含字数或结构性问题时必须用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突。",
-    "润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度。禁止增删情节/改变人设/调整主线。文字层硬规约:段落3-5行/段;句式多样化;动词>形容词;每场景1-2种感官。修改后总长变化≤±15%。"
-  ],
-  "quality_check": [
-    "37维审查启用维度子集(题材特定):[1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]。未启用的维度本作不适用,跳过检查以降低误报。",
-    "自修正循环(不可跳过门控):Loop最多5轮——综合评分≥85通过→60-84针对性修订→40-59重写问题段落→<40废弃从细纲重新写。每轮记录本轮评分/发现问题/修复内容/下一轮重点。",
-    "37维审查启用维度子集(题材特定):[1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26];"
-  ],
-  "outline": [
-    "章节类型轮换策略(题材特定):可用类型——推进章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-    "大纲共创三层决策树:第一层全书结构——分几卷?每卷核心任务?不可逆变化?全书最高潮在哪卷?第二层卷纲细化——高潮事件?需要哪些铺垫(≥3个伏笔)?主角情感弧线?卷末钩子须全书级别。第三层细纲关键节点——前10章每章核心事件/章末钩子类型/爽点类型/伏笔推进计划。",
-    "大纲共创三层决策树:第一层全书结构——分几卷?每卷核心任务?不可逆变化?全书最高潮在哪卷?第二层卷纲细化——高潮事件?需要哪些铺垫(≥3个伏笔)?主角情感弧线?卷末钩子须全书级别;"
-  ],
-  "hook_management": [
-    "题材悬念期待管理:本类型读者的核心期待——目标达成、困难克服、真相揭示、关系转变。伏笔设计优先围绕这几类期待展开。每卷至少种下2个指向不同类型期待的伏笔。",
-    "伏笔兑现节奏约束:每2-3章有一个明确的进展或反馈。伏笔的advance和payoff需与此节奏同步——快节奏段兑现密度可提高,慢节奏段以种植和推进为主。",
-    "题材悬念期待管理:本类型读者的核心期待——目标达成、困难克服、真相揭示、关系转变;"
-  ]
-}

+ 0 - 346
evolution/genres/other/prompts/population.json

@@ -1,346 +0,0 @@
-{
-  "writing": {
-    "generation": 2,
-    "variants": [
-      {
-        "id": "83cf6cc2c2c5",
-        "template": "本文疲劳词监控(题材特定):以下词汇单章最多使用1次——震惊、不可思议、难以置信、深吸一口气、仿佛、不禁、宛如、竟然。超限即标记为S2警告。这些是题材疲劳词,过度使用会让读者产生'又是这套'的审美疲劳。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "7fa5da2dc61d",
-        "template": "节奏控制规则(题材特定):每2-3章有一个明确的进展或反馈。偏离此节奏需在章节备忘中说明原因。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "93b84f586619",
-        "template": "本文期待感类型优先排序(题材特定):目标达成、困难克服、真相揭示、关系转变。每章至少兑现其中一种类型。爽点设计优先从该清单选取,清单外类型需在细纲中标注'非标爽点'。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "e0f7c25e5791",
-        "template": "题材叙事指导(注入写作规则):根据具体题材调整叙事重心。人物行为由动机驱动,不由剧情需要驱动。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "559d5f1c9e0c",
-        "template": "【大王饶命风格注入】目标句长:15字/句",
-        "source": "event:feedback",
-        "scores": {
-          "P1": 88.0,
-          "P2": 76.0,
-          "P3": 70.0,
-          "P4": 82.0,
-          "P5": 91.0
-        },
-        "trials": 1,
-        "trials_per_dim": {
-          "P1": 1,
-          "P2": 1,
-          "P3": 1,
-          "P4": 1,
-          "P5": 1
-        },
-        "lineage": []
-      },
-      {
-        "id": "cd45fa75d099",
-        "template": "每章至少兑现其中一种类型;本文期待感类型优先排序(题材特定):目标达成、困难克服、真相揭示、关系转变;高潮点设计优先从该清单选取,清单外类型需在细纲中标注'非标爽点';",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "93b84f586619"
-        ]
-      },
-      {
-        "id": "f365dbfc2c5a",
-        "template": "本文期待感类型优先排序(题材特定):目标达成、困难克服、真相揭示、关系转变;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "93b84f586619"
-        ]
-      },
-      {
-        "id": "a6560fcdb494",
-        "template": "测试自动git推送",
-        "source": "event:feedback",
-        "scores": {
-          "P1": 86.0,
-          "P2": 79.0,
-          "P3": 72.0,
-          "P4": 83.0,
-          "P5": 89.0
-        },
-        "trials": 1,
-        "trials_per_dim": {
-          "P1": 1,
-          "P2": 1,
-          "P3": 1,
-          "P4": 1,
-          "P5": 1
-        },
-        "lineage": []
-      },
-      {
-        "id": "eaf4d7531e02",
-        "template": ";每章至少兑现其中一种类型;爽点设计优先从该清单选取,清单外类型需在细纲中标注'非标爽点';本文期待感类型优先排序(题材特定):目标达成、困难克服、真相揭示、关系转变",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "93b84f586619"
-        ]
-      },
-      {
-        "id": "fca70b0f06ed",
-        "template": ";每章至少兑现其中一种类型;释放点设计优先从该清单选取,清单外类型需在细纲中标注'非标爽点';本文期待感类型优先排序(题材特定):目标达成、困难克服、真相揭示、关系转变",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "eaf4d7531e02"
-        ]
-      }
-    ]
-  },
-  "revision": {
-    "generation": 2,
-    "variants": [
-      {
-        "id": "315fa2380b3a",
-        "template": "修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本。REVISED_CONTENT处理全章级问题——Critical包含字数或结构性问题时必须用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "e6c3f462fde3",
-        "template": "润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度。禁止增删情节/改变人设/调整主线。文字层硬规约:段落3-5行/段;句式多样化;动词>形容词;每场景1-2种感官。修改后总长变化≤±15%。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "8ff168f73874",
-        "template": "修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本;REVISED_CONTENT处理全章级问题——Critical包含字数或结构性问题时务必用REVISED_CONTENT;修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;;不改变剧情走向和核心冲突",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "315fa2380b3a"
-        ]
-      },
-      {
-        "id": "115b0ed262ed",
-        "template": "[迁自writing]【大王饶命风格注入】目标句长:15字/句",
-        "source": "migrate:writing",
-        "scores": {
-          "P1": 79.2,
-          "P2": 68.4,
-          "P3": 63.0,
-          "P4": 73.8,
-          "P5": 81.9
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "4921c87ccdbe",
-        "template": "关键:文字层硬规约:段落3-5行/段;禁止增删情节/改变人设/调整主线;润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度;句式多样化;动词>形容词;每场景1-2种感官;修改后总长变化≤±15%;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "e6c3f462fde3"
-        ]
-      }
-    ]
-  },
-  "quality_check": {
-    "generation": 3,
-    "variants": [
-      {
-        "id": "63a6bd9b48ce",
-        "template": "37维审查启用维度子集(题材特定):[1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26]。未启用的维度本作不适用,跳过检查以降低误报。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "eca700fe6d47",
-        "template": "自修正循环(不可跳过门控):Loop最多5轮——综合评分≥85通过→60-84针对性修订→40-59重写问题段落→<40废弃从细纲重新写。每轮记录本轮评分/发现问题/修复内容/下一轮重点。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "95b86b158675",
-        "template": "37维审查启用维度子集(题材特定):[1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26];",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "63a6bd9b48ce"
-        ]
-      },
-      {
-        "id": "9e68b937e881",
-        "template": "37维审查启用维度子集(题材特定):[1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26];;未启用的维度本作不适用,跳过检查以降低误报",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "63a6bd9b48ce"
-        ]
-      },
-      {
-        "id": "c6bfd956d640",
-        "template": "37维审查启用维度子集(题材特定):[1,2,3,6,7,8,9,10,13,14,15,16,17,18,19,24,25,26];;未启用的维度本作不适用,跳过确认以降低误报",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "9e68b937e881"
-        ]
-      }
-    ]
-  },
-  "outline": {
-    "generation": 3,
-    "variants": [
-      {
-        "id": "deb4a8fee211",
-        "template": "章节类型轮换策略(题材特定):可用类型——推进章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "312b05db405c",
-        "template": "大纲共创三层决策树:第一层全书结构——分几卷?每卷核心任务?不可逆变化?全书最高潮在哪卷?第二层卷纲细化——高潮事件?需要哪些铺垫(≥3个伏笔)?主角情感弧线?卷末钩子须全书级别。第三层细纲关键节点——前10章每章核心事件/章末钩子类型/爽点类型/伏笔推进计划。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "273dc164d7ad",
-        "template": "大纲共创三层决策树:第一层全书结构——分几卷?每卷核心任务?不可逆变化?全书最高潮在哪卷?第二层卷纲细化——高潮事件?需要哪些铺垫(≥3个伏笔)?主角情感弧线?卷末钩子须全书级别;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "312b05db405c"
-        ]
-      },
-      {
-        "id": "36e299ede302",
-        "template": "章节类型轮换策略(题材特定):可用类型——推动章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "deb4a8fee211"
-        ]
-      },
-      {
-        "id": "e8fb1ce23eda",
-        "template": "章节类型轮换策略(题材特定):可用类型——推动章、布局章、过渡章、回收章;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "36e299ede302"
-        ]
-      }
-    ]
-  },
-  "hook_management": {
-    "generation": 1,
-    "variants": [
-      {
-        "id": "9f545459ef1c",
-        "template": "题材悬念期待管理:本类型读者的核心期待——目标达成、困难克服、真相揭示、关系转变。伏笔设计优先围绕这几类期待展开。每卷至少种下2个指向不同类型期待的伏笔。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "d395647d4fc8",
-        "template": "伏笔兑现节奏约束:每2-3章有一个明确的进展或反馈。伏笔的advance和payoff需与此节奏同步——快节奏段兑现密度可提高,慢节奏段以种植和推进为主。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "00b0e1fa0ae5",
-        "template": "题材悬念期待管理:本类型读者的核心期待——目标达成、困难克服、真相揭示、关系转变;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "9f545459ef1c"
-        ]
-      },
-      {
-        "id": "4c77ef8e81db",
-        "template": "伏笔兑现节奏约束:每2-3章有一个明确的进展或反馈;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "d395647d4fc8"
-        ]
-      }
-    ]
-  }
-}

+ 0 - 39
evolution/genres/other/thresholds.json

@@ -1,39 +0,0 @@
-{
-  "pass": 85,
-  "revise_low": 60,
-  "rewrite_low": 40,
-  "max_revision_rounds": 3,
-  "weights": {
-    "P1": 0.2273,
-    "P2": 0.2273,
-    "P3": 0.3636,
-    "P4": 0.1364,
-    "P5": 0.0454
-  },
-  "stale_hook_limit": 10,
-  "burst_hook_limit": 5,
-  "no_advance_limit": 5,
-  "payoff_interval_min": 300,
-  "payoff_interval_max": 500,
-  "weak_hook_consecutive_max": 3,
-  "_inkos_derived": {
-    "PASS_SCORE_THRESHOLD": 85,
-    "MAX_REVIEW_ITERATIONS": 3,
-    "NET_IMPROVEMENT_EPSILON": 3,
-    "FOUNDATION_PASS": 80,
-    "DIMENSION_FLOOR": 60,
-    "GOLDEN_CHAPTER_COUNT": 3,
-    "ACTIVE_HOOK_CAP": 12,
-    "CORE_HOOK_CAP": 5,
-    "DENSITY_PAYOFF_EVERY": 300,
-    "DENSITY_HOOK_EVERY": 500,
-    "DENSITY_SUSPENSE_EVERY": 1000,
-    "FATIGUE_MARKER_LIMIT_PER_3000": 1,
-    "PARAGRAPH_TARGET_MIN": 40,
-    "PARAGRAPH_TARGET_MAX": 120,
-    "SHORT_PARAGRAPH_THRESHOLD": 40,
-    "LONG_PARAGRAPH_THRESHOLD": 300,
-    "MAX_SHORT_PARAGRAPH_RATIO": 0.6,
-    "CONSECUTIVE_SHORT_MAX": 3
-  }
-}

+ 0 - 27
evolution/genres/system-apocalypse/prompts/current_best.json

@@ -1,27 +0,0 @@
-{
-  "writing": [
-    "system-apocalypse genre rewrite with horror elements",
-    "本文疲劳词监控(题材特定):以下词汇单章最多使用1次——delve、tapestry、仿佛、不禁、宛如、竟然、不可思议、难以置信、震惊、深吸一口气。超限即标记为S2警告。这些是题材疲劳词,过度使用会让读者产生'又是这套'的审美疲劳。",
-    "节奏控制规则(题材特定):前期(1-15章):每章生存压力。中期(15-50章):每3-5章战力提升+势力政治。后期:扩张和存在级威胁。。偏离此节奏需在章节备忘中说明原因。"
-  ],
-  "revision": [
-    "[迁自writing]system-apocalypse genre rewrite with horror elements",
-    "修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本。REVISED_CONTENT处理全章级问题——Critical包含字数或结构性问题时必须用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突。",
-    "润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度。禁止增删情节/改变人设/调整主线。文字层硬规约:段落3-5行/段;句式多样化;动词>形容词;每场景1-2种感官。修改后总长变化≤±15%。"
-  ],
-  "quality_check": [
-    "题材特定质量审查清单:\n  1. [S2] 末日降临没有永久改变世界——不能回归正常\n  2. [S2] 前期章节没有真正的生存危险——读者从第一页就要求真实风险\n  3. [S2] 系统降临没有世界观内解释(哪怕是模糊的)\n  4. [S2] 设定在地球时忽视真实地理和后果\n  5. [S2] 势力二元善恶——是利益竞争,不是卡通反派\n  6. [S1] 主角过快变得不可阻挡——战力幻想必须通过求生赢得\n  7. [S2] 使用科技但不处理燃料、弹药和基础设施崩溃\n每章完成后逐项检查,S1项不过直接退回修改。",
-    "37维审查启用维度子集(题材特定):[1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]。未启用的维度本作不适用,跳过检查以降低误报。",
-    "数值一致性检查(题材特定):统计面板/战力数值/资源计数必须与上下文一致。同质资源重复获取须写明衰减。增量逐笔列出,不可跳跃式增长。"
-  ],
-  "outline": [
-    "章节类型轮换策略(题材特定):可用类型——求生章、战斗章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-    "章节类型轮换策略(题材特定):可用类型——推进章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-    "章节类型轮换策略(题材特定):可用类型——推进章、布局章、过渡章、回收章;"
-  ],
-  "hook_management": [
-    "题材悬念期待管理:本类型读者的核心期待——绝境求生、升级、领土占领、势力胜利。伏笔设计优先围绕这几类期待展开。每卷至少种下2个指向不同类型期待的伏笔。",
-    "伏笔兑现节奏约束:前期(1-15章):每章生存压力。中期(15-50章):每3-5章战力提升+势力政治。后期:扩张和存在级威胁。。伏笔的advance和payoff需与此节奏同步——快节奏段兑现密度可提高,慢节奏段以种植和推进为主。",
-    "伏笔设计优先围绕这几类期待展开;题材悬念期待管理:本类型读者的核心期待——绝境求生、升级、领土占领、势力胜利;每卷至少种下2个指向不同类型期待的伏笔;"
-  ]
-}

+ 0 - 475
evolution/genres/system-apocalypse/prompts/population.json

@@ -1,475 +0,0 @@
-{
-  "writing": {
-    "generation": 2,
-    "variants": [
-      {
-        "id": "e001524558ec",
-        "template": "本文疲劳词监控(题材特定):以下词汇单章最多使用1次——delve、tapestry、仿佛、不禁、宛如、竟然、不可思议、难以置信、震惊、深吸一口气。超限即标记为S2警告。这些是题材疲劳词,过度使用会让读者产生'又是这套'的审美疲劳。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "8e613060fb4e",
-        "template": "节奏控制规则(题材特定):前期(1-15章):每章生存压力。中期(15-50章):每3-5章战力提升+势力政治。后期:扩张和存在级威胁。。偏离此节奏需在章节备忘中说明原因。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "492d0b28dd1d",
-        "template": "本文期待感类型优先排序(题材特定):绝境求生、升级、领土占领、势力胜利、系统秘密揭示、社会重建里程碑。每章至少兑现其中一种类型。爽点设计优先从该清单选取,清单外类型需在细纲中标注'非标爽点'。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "bc76ed1f2971",
-        "template": "题材叙事指导(注入写作规则):主角弱小,与低层威胁挣扎。较短章节(2-3k字)。战力幻想增加;生存变得策略性。主角强大但非不可阻挡;挑战是存在性/政治性的。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "16ed629f63b2",
-        "template": "system-apocalypse genre rewrite with horror elements",
-        "source": "event:feedback",
-        "scores": {
-          "P1": 85.0,
-          "P2": 82.0,
-          "P3": 78.0,
-          "P4": 80.0,
-          "P5": 88.0
-        },
-        "trials": 2,
-        "trials_per_dim": {
-          "P1": 2,
-          "P2": 2,
-          "P3": 2,
-          "P4": 2,
-          "P5": 2
-        },
-        "lineage": []
-      },
-      {
-        "id": "d0369accc61b",
-        "template": "较短章节(2-3k字);题材叙事指导(注入写作规则):主角弱小,与低层威胁挣扎;战力幻想增加;生存变得策略性;主角强大但非不可阻挡;挑战是存在性/政治性的;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "bc76ed1f2971"
-        ]
-      },
-      {
-        "id": "47ba66bb6ea3",
-        "template": "题材叙事指导(注入写作规则):主角弱小,与低层威胁挣扎;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "bc76ed1f2971"
-        ]
-      },
-      {
-        "id": "157a08f37218",
-        "template": "【大王饶命风格注入】目标句长:15字/句;短句比例参考:70%;五感偏好:视觉主导描写;章首规则:3段内进入情境;章末规则:留悬念;视角约束:第三人称",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "3f794ad346f1"
-        ]
-      },
-      {
-        "id": "fb0c8c463dbc",
-        "template": "注意:节奏控制规则(题材特定):前期(1-15章):每章生存压力。中期(15-50章):每3-5章战力提升+势力政治。后期:扩张和存在级威胁。。偏离此节奏需在章节备忘中说明原因。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "8e613060fb4e"
-        ]
-      },
-      {
-        "id": "691b12f07194",
-        "template": "节奏控制规则(题材特定):前期(1-15章):每章生存压力;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "8e613060fb4e"
-        ]
-      },
-      {
-        "id": "a695fc8a0c3c",
-        "template": "本文期待感类型优先排序(题材特定):绝境求生、升级、领土占领、势力胜利、系统秘密揭示、社会重建里程碑;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "492d0b28dd1d"
-        ]
-      },
-      {
-        "id": "2c20bd1e0564",
-        "template": "【大王饶命风格注入】目标句长:15字/句;视角约束:第三人称",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "3f794ad346f1"
-        ]
-      }
-    ]
-  },
-  "revision": {
-    "generation": 3,
-    "variants": [
-      {
-        "id": "315fa2380b3a",
-        "template": "修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本。REVISED_CONTENT处理全章级问题——Critical包含字数或结构性问题时必须用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "e6c3f462fde3",
-        "template": "润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度。禁止增删情节/改变人设/调整主线。文字层硬规约:段落3-5行/段;句式多样化;动词>形容词;每场景1-2种感官。修改后总长变化≤±15%。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "04140fa643e0",
-        "template": "润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "e6c3f462fde3"
-        ]
-      },
-      {
-        "id": "a28a8f4fdd1b",
-        "template": "[迁自writing]system-apocalypse genre rewrite with horror elements",
-        "source": "migrate:writing",
-        "scores": {
-          "P1": 76.5,
-          "P2": 73.8,
-          "P3": 70.2,
-          "P4": 72.0,
-          "P5": 79.2
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "45fedb645d73",
-        "template": "关键:修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本。REVISED_CONTENT处理全章级问题——Critical包含字数或结构性问题时必须用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "315fa2380b3a"
-        ]
-      },
-      {
-        "id": "bbd5c8152768",
-        "template": "核心:关键:修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本。REVISED_CONTENT处理全章级问题——Critical包含字数或结构性问题时务必用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "45fedb645d73"
-        ]
-      },
-      {
-        "id": "21247f495a01",
-        "template": "关键:修稿分流规则:PATCHES处理局部文字问题——每个PATCH引用原文段落给出替换文本;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "45fedb645d73"
-        ]
-      }
-    ]
-  },
-  "quality_check": {
-    "generation": 2,
-    "variants": [
-      {
-        "id": "447b30c2a946",
-        "template": "题材特定质量审查清单:\n  1. [S2] 末日降临没有永久改变世界——不能回归正常\n  2. [S2] 前期章节没有真正的生存危险——读者从第一页就要求真实风险\n  3. [S2] 系统降临没有世界观内解释(哪怕是模糊的)\n  4. [S2] 设定在地球时忽视真实地理和后果\n  5. [S2] 势力二元善恶——是利益竞争,不是卡通反派\n  6. [S1] 主角过快变得不可阻挡——战力幻想必须通过求生赢得\n  7. [S2] 使用科技但不处理燃料、弹药和基础设施崩溃\n每章完成后逐项检查,S1项不过直接退回修改。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "aaeedc216c1e",
-        "template": "37维审查启用维度子集(题材特定):[1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,24,25,26]。未启用的维度本作不适用,跳过检查以降低误报。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "2ed7b9f6d753",
-        "template": "数值一致性检查(题材特定):统计面板/战力数值/资源计数必须与上下文一致。同质资源重复获取须写明衰减。增量逐笔列出,不可跳跃式增长。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "2819dd1d2bb1",
-        "template": "战力体系检查(题材特定):境界/品阶/等级突破必须有积累过程。不可出现无铺垫跳跃式突破。跨大境界需特殊条件(天劫/机缘/丹药)。能力上限/附加代价/触发条件/成长路径——四维约束缺一不可。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "cd9e7bd2b862",
-        "template": "战力体系确认(题材特定):境界/品阶/等级突破必须有积累过程;不可出现无铺垫跳跃式突破;跨大境界需特殊条件(天劫/机缘/丹药);;能力上限/附加代价/触发条件/成长路径——四维约束缺一不可",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2819dd1d2bb1"
-        ]
-      },
-      {
-        "id": "6806e8dc76ea",
-        "template": "战力体系检查(题材特定):境界/品阶/等级突破必须有积累过程;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2819dd1d2bb1"
-        ]
-      },
-      {
-        "id": "a11a2cea207f",
-        "template": "战力体系检查(题材特定):境界/品阶/等级突破必须有积累过程;不可出现无铺垫跳跃式突破;;能力上限/附加代价/触发条件/成长路径——四维约束缺一不可;跨大境界需特殊条件(天劫/机缘/丹药)",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2819dd1d2bb1"
-        ]
-      }
-    ]
-  },
-  "outline": {
-    "generation": 4,
-    "variants": [
-      {
-        "id": "11dd5deca555",
-        "template": "章节类型轮换策略(题材特定):可用类型——求生章、战斗章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "deb4a8fee211",
-        "template": "章节类型轮换策略(题材特定):可用类型——推进章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "21498707ed73",
-        "template": "章节类型轮换策略(题材特定):可用类型——推进章、布局章、过渡章、回收章;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "deb4a8fee211"
-        ]
-      },
-      {
-        "id": "198785863cfb",
-        "template": "核心:章节类型轮换策略(题材特定):可用类型——求生章、战斗章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "11dd5deca555"
-        ]
-      },
-      {
-        "id": "8fba608af141",
-        "template": "章节类型轮换策略(题材特定):可用类型——进展章、布局章、过渡章、回收章。连续3章以上同类型触发疲劳警告。每卷类型分布应覆盖所有列出类型。各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "deb4a8fee211"
-        ]
-      },
-      {
-        "id": "9a54a08573bf",
-        "template": "章节类型轮换策略(题材特定):可用类型——求生章、战斗章、布局章、过渡章、回收章;各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%;每卷类型分布应覆盖所有列出类型;连续3章以上同类型触发疲劳警告;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "11dd5deca555"
-        ]
-      },
-      {
-        "id": "2873e184f163",
-        "template": "章节类型轮换策略(题材特定):可用类型——求生章、战斗章、布局章、过渡章、回收章;每卷类型分布应覆盖所有列出类型;连续3章以上同类型触发疲劳警告;各类型比例为:战斗/推进类40%,布局/过渡类35%,回收/高潮类25%;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "11dd5deca555"
-        ]
-      },
-      {
-        "id": "490cd3db2c7a",
-        "template": "章节类型轮换策略(题材特定):可用类型——求生章、战斗章、布局章、过渡章、回收章;各类型比例为:战斗/进展类40%,布局/过渡类35%,回收/高潮类25%;每卷类型分布应覆盖所有列出类型;连续3章以上同类型触发疲劳警告;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "9a54a08573bf"
-        ]
-      },
-      {
-        "id": "4a1c1af9445a",
-        "template": "章节类型轮换策略(题材特定):可用类型——求生章、战斗章、布局章、过渡章、回收章;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "9a54a08573bf"
-        ]
-      }
-    ]
-  },
-  "hook_management": {
-    "generation": 3,
-    "variants": [
-      {
-        "id": "634c1ed87054",
-        "template": "题材悬念期待管理:本类型读者的核心期待——绝境求生、升级、领土占领、势力胜利。伏笔设计优先围绕这几类期待展开。每卷至少种下2个指向不同类型期待的伏笔。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "c0ecaa95dd18",
-        "template": "伏笔兑现节奏约束:前期(1-15章):每章生存压力。中期(15-50章):每3-5章战力提升+势力政治。后期:扩张和存在级威胁。。伏笔的advance和payoff需与此节奏同步——快节奏段兑现密度可提高,慢节奏段以种植和推进为主。",
-        "source": "seed",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "15ffde257163",
-        "template": "伏笔设计优先围绕这几类期待展开;题材悬念期待管理:本类型读者的核心期待——绝境求生、升级、领土占领、势力胜利;每卷至少种下2个指向不同类型期待的伏笔;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "634c1ed87054"
-        ]
-      },
-      {
-        "id": "b1490dedd028",
-        "template": "伏笔兑现节奏约束:前期(1-15章):每章生存压力;中期(15-50章):每3-5章战力提升+势力政治;;后期:扩张和存在级威胁;伏笔的advance和payoff需与此节奏同步——快节奏段兑现密度可提高,慢节奏段以种植和推进为主;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "c0ecaa95dd18"
-        ]
-      },
-      {
-        "id": "80ab04eee81a",
-        "template": "题材悬念期待管理:本类型读者的核心期待——绝境求生、升级、领土占领、势力胜利;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "634c1ed87054"
-        ]
-      },
-      {
-        "id": "0b5821b6619a",
-        "template": "伏笔兑现节奏约束:前期(1-15章):每章生存压力;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "c0ecaa95dd18"
-        ]
-      },
-      {
-        "id": "be77ed0dd0a9",
-        "template": "关键:题材悬念期待管理:本类型读者的核心期待——绝境求生、升级、领土占领、势力胜利。伏笔设计优先围绕这几类期待展开。每卷至少种下2个指向不同类型期待的伏笔。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "634c1ed87054"
-        ]
-      }
-    ]
-  }
-}

+ 0 - 39
evolution/genres/system-apocalypse/thresholds.json

@@ -1,39 +0,0 @@
-{
-  "pass": 85,
-  "revise_low": 60,
-  "rewrite_low": 40,
-  "max_revision_rounds": 3,
-  "weights": {
-    "P1": 0.2273,
-    "P2": 0.2273,
-    "P3": 0.3636,
-    "P4": 0.1364,
-    "P5": 0.0454
-  },
-  "stale_hook_limit": 10,
-  "burst_hook_limit": 5,
-  "no_advance_limit": 5,
-  "payoff_interval_min": 300,
-  "payoff_interval_max": 500,
-  "weak_hook_consecutive_max": 3,
-  "_inkos_derived": {
-    "PASS_SCORE_THRESHOLD": 85,
-    "MAX_REVIEW_ITERATIONS": 3,
-    "NET_IMPROVEMENT_EPSILON": 3,
-    "FOUNDATION_PASS": 80,
-    "DIMENSION_FLOOR": 60,
-    "GOLDEN_CHAPTER_COUNT": 3,
-    "ACTIVE_HOOK_CAP": 12,
-    "CORE_HOOK_CAP": 5,
-    "DENSITY_PAYOFF_EVERY": 300,
-    "DENSITY_HOOK_EVERY": 500,
-    "DENSITY_SUSPENSE_EVERY": 1000,
-    "FATIGUE_MARKER_LIMIT_PER_3000": 1,
-    "PARAGRAPH_TARGET_MIN": 40,
-    "PARAGRAPH_TARGET_MAX": 120,
-    "SHORT_PARAGRAPH_THRESHOLD": 40,
-    "LONG_PARAGRAPH_THRESHOLD": 300,
-    "MAX_SHORT_PARAGRAPH_RATIO": 0.6,
-    "CONSECUTIVE_SHORT_MAX": 3
-  }
-}

+ 0 - 27
evolution/prompts/current_best.json

@@ -1,27 +0,0 @@
-{
-  "writing": [
-    "核心规则(写作时内化不列出):Show, don't tell——用细节堆出真实。价值观盐溶于汤——靠行为证明不靠口号。任何行动立于三条腿:过往经历+当前利益+性格底色。配角有自己账本和利益诉求。每章结尾必有小悬念或情绪缺口。全员智商在线。日常场景七成成后续伏笔。关系改变事件驱动。每一行字要么推动剧情要么塑造人物。",
-    "看点密集度(硬尺):每300字至少1个爽点(小看点/梗/反套路/暧昧台词/情绪拉扯)。每500字至少1个钩子(引发'接下来怎样'的小悬念)。每1000-1500字至少1个完整悬念(问题—蓄力—未解)。连续300字以上只是环境/回忆/议论/心理独白而无推进=水文须删改。叙事段≥40字(手机屏2行),目标40-120字。短段(<40字)只允许:开场反转金句/章末钩子/≤3个爆点短段,合计≤5个。禁止3+短段连排。",
-    "去AI味铁律:叙述者永不替读者下结论。禁止分析报告式语言入正文——'核心动机''信息边界''信息落差'等术语只用于PRE_WRITE_CHECK内部推理。转折/惊讶标记词(仿佛/忽然/竟/猛地/不禁/宛如)全篇≤每3000字1次。同一体感/意象禁止连续渲染超两轮。硬性禁令:全文禁止'不是…而是…'句式;全文禁止破折号'——'。反例→正例:✗'他感到非常愤怒'→✓'他捏碎了茶杯,滚烫茶水流过指缝';✗'然而事情没那么简单'→✓'哪有那么便宜的事'。"
-  ],
-  "revision": [
-    "修稿分流规则:PATCHES处理局部文字问题(措辞/对话/AI痕迹/小连续性错误)——每个PATCH引用原文段落给出替换文本,未涉及内容保持原样。REVISED_CONTENT处理全章级问题(字数压缩/结构重组/节奏重排/重大剧情偏离)——Critical包含字数或结构性问题时必须用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突;保留原文语言风格节奏呼吸;情绪用动作外化;坏事叠坏事每层比上一层过分。",
-    "润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度。禁止增删情节/改变人设/调整主线——这些归Reviewer。消灭六条文笔雷点:描写无效删到一笔带过;文笔华丽过度让文字服从情绪;文笔欠佳重写成通顺有画面句子;排版不规范统一手机阅读格式;AI味痕迹替换口语化表达或具体动作;群像脸谱化不写众人震惊。文字层硬规约:段落3-5行/段;句式多样化禁3句以上同结构;动词>形容词;每场景1-2种感官;对话符合身份情绪信息掌握;删除叙述者结论。修改后总长变化≤±15%。",
-    "字数治理:压缩时优先合并重复信息/删除无变化场景/精简过渡段落——如需删75%以上原文→拒绝标准化标记为需人工拆分。扩写时优先增加五感描写/角色内心反应/场景氛围——如扩展后信息密度显著下降→拒绝标准化标记为需合并。只修正一次不递归。保留关键标记/人物名/地点名/已有事实。不凭空新增子情节。"
-  ],
-  "quality_check": [
-    "自修正循环(不可跳过门控):Loop最多5轮——执行五遍编辑评估→综合评分≥85通过→60-84针对性修订→40-59重写问题段落→<40废弃从细纲重新写。每轮记录本轮评分/发现问题(S1-S4分级)/修复内容/下一轮重点。反模式:评分≥85还在修=无限打磨者;只跑P1=跳过者;每轮同问题=失忆者需向上追溯。",
-    "五遍编辑评估(按顺序不可跳过):P1结构(35%)——场景目标→阻碍→变化?章节推动力?爽点释放时机?章末钩子拉力?节奏快慢交替?P2角色(25%)——弧线推进?行为一致性?关系变化?配角不只是工具人?换个名字还能认出谁在说话?P3原创性(15%)——反陈词滥调?反AI模式?至少一处读者没预料到?P4对话(15%)——声音辨识度?三维标准同时携带?潜台词?P5文本(10%)——句式变化?措辞精准?五感至少2-3种?综合≥85通过/60-84修订/40-59重写/<40废弃。P1不过不进P2。",
-    "37维结构审查(InkOS Continuity Auditor标准):OOC/时间线/设定冲突/战力崩坏/数值/伏笔/节奏/文风/信息越界/词汇疲劳/利益链断裂/年代考据/配角降智/配角工具人化/爽点虚化/台词失真/流水账/知识库污染/视角一致性/段落等长/套话密度/公式化转折/列表式结构/支线停滞/弧线平坦/节奏单调/敏感词/正传事件冲突/未来信息泄露/世界规则跨书一致性/番外伏笔隔离/读者期待管理/章节备忘偏离/角色还原度/世界规则遵守/关系动态/正典事件一致性。评分:95-100可发布;85-94小瑕疵流畅;75-84明显问题主干完整;65-74多处影响阅读;<65结构性崩溃。"
-  ],
-  "outline": [
-    "大纲共创三层决策树:第一层全书结构——分几卷?每卷核心任务?每卷不可逆变化?全书最高潮在哪卷为什么不可替代?第二层卷纲细化——高潮事件?需要哪些铺垫(≥3个伏笔/线索)?几个高潮点分别在哪些章节?主角情感弧线从什么状态到什么状态?卷末钩子须全书级别——不是'下章会怎样'而是'整个故事走向要变了'。第三层细纲关键节点——前10章每章核心事件/章末钩子类型和期待感等级/爽点类型和铺垫起点/推进哪个伏笔种下什么新伏笔。关键章逐章追问,普通章确认核心推进和钩子级别。",
-    "架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list。story_frame(4段散文):主题与基调→核心冲突与前台/后台双层故事→世界观底色(3-5条不可违反铁律+感官锚点)→终局方向+全书Objective。volume_map(5段散文+节奏原则尾段):各卷主题与情绪曲线→卷间钩子与回收承诺→各卷OKR(Objective+3 Key Results)→卷尾不可逆改变→节奏原则6条(高潮间距/喘息频率/钩子密度/信息释放节奏/爽点节奏/情感节点递进)。",
-    "章节备忘(chapter_memo)七段格式:## 当前任务→本章必须完成的具体动作,写作始终对齐。## 读者此刻在等什么→控制情绪缺口的制造/延迟/兑现程度。## 该兑现的/暂不掀的→本章必须兑现伏笔+必须压住不掀底牌。## 日常/过渡承担什么任务→非冲突段落功能映射(段落位置→承担功能)。## 关键抉择过三连问→关键选择检查(为何做?符合利益?符合人设?)。## 章尾必须发生的改变→1-3条(信息/关系/物理/权力)。## 本章hook账→硬对应:advance/resolve下每个hook_id须在正文里有具体可定位兑现段(具体物件/事件/信息+可观察动作或交谈),每兑现段≥60字。defer不用落open在章末安排自然引出新悬念。## 不要做→硬约束红线。"
-  ],
-  "hook_management": [
-    "伏笔全生命周期:plant(种植)——新伏笔分配唯一ID/标记类型(SUSPENSE/PROMISE/MYSTERY/CONFLICT/CHEKHOV)和优先级/标明计划兑现章。advance(推进)——虽未兑现但给出新线索新事实新风险升级或范围收缩,更新最近推进章号。payoff(兑现)——明确揭示或解决,状态改为已回收。defer(推迟)——主动搁置转入后台或被剧情压后。stale(过期)——超10章无推进决定推进/废弃/合并。每章前读钩子账本→列出高优活跃钩子→确认推进/兑现机会。每章后更新:兑现移走→推进追加→新种写入→检查stale。",
-    "钩子准入控制:不重复——指向同一事件合并不新增;同一钩子家族(多个钩子都指向主角身份秘密)合并为核心钩子+多条线索。不超量——每卷最多3-5个high优先级,活跃钩子总数≤12。有计划——无兑现计划的钩子不种,先想好怎么收再种。新钩子候选:正文中出现会延续到后续且有具体回收方向的未解问题才新增。不要为旧钩子换说法/重述/抽象总结再开新hook_id。提及vs推进:旧钩子只是被提到无新增信息→mention不更新最近推进;出现新事实/证据/关系变化/风险升级→必须更新最近推进=当前章号。",
-    "钩子健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并。burst(单章>5个新钩子)→警告削减低优先级。no-advance(high钩子>5章无推进)→下章安排推进。payoff逾期(计划兑现章已过未标记)→确认断头钩子。核心钩子(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标。卷末核心钩子仍open/stale无显式转入下卷规划→critical。"
-  ]
-}

+ 0 - 802
evolution/prompts/population.json

@@ -1,802 +0,0 @@
-{
-  "writing": {
-    "generation": 14,
-    "variants": [
-      {
-        "id": "b52e674ced18",
-        "template": "核心规则(写作时内化不列出):Show, don't tell——用细节堆出真实。价值观盐溶于汤——靠行为证明不靠口号。任何行动立于三条腿:过往经历+当前利益+性格底色。配角有自己账本和利益诉求。每章结尾必有小悬念或情绪缺口。全员智商在线。日常场景七成成后续伏笔。关系改变事件驱动。每一行字要么推动剧情要么塑造人物。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "402041ccfa38",
-        "template": "看点密集度(硬尺):每300字至少1个爽点(小看点/梗/反套路/暧昧台词/情绪拉扯)。每500字至少1个钩子(引发'接下来怎样'的小悬念)。每1000-1500字至少1个完整悬念(问题—蓄力—未解)。连续300字以上只是环境/回忆/议论/心理独白而无推进=水文须删改。叙事段≥40字(手机屏2行),目标40-120字。短段(<40字)只允许:开场反转金句/章末钩子/≤3个爆点短段,合计≤5个。禁止3+短段连排。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "5c80493fb0f3",
-        "template": "去AI味铁律:叙述者永不替读者下结论。禁止分析报告式语言入正文——'核心动机''信息边界''信息落差'等术语只用于PRE_WRITE_CHECK内部推理。转折/惊讶标记词(仿佛/忽然/竟/猛地/不禁/宛如)全篇≤每3000字1次。同一体感/意象禁止连续渲染超两轮。硬性禁令:全文禁止'不是…而是…'句式;全文禁止破折号'——'。反例→正例:✗'他感到非常愤怒'→✓'他捏碎了茶杯,滚烫茶水流过指缝';✗'然而事情没那么简单'→✓'哪有那么便宜的事'。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "049b9214dd85",
-        "template": "六步走人物心理分析:1.当前处境(面临什么局面?手上什么牌?)2.核心动机(最想要什么?最怕什么?)3.信息边界(知道什么?不知道什么?误判什么?)4.性格过滤(同样局面这角色怎么反应?)5.行为选择(基于以上四点做什么选择?)6.情绪外化(伴随什么情绪?什么身体语言?)。禁止跳过步骤直接写行为。人设防崩三问:他为什么这么做?符合之前人设吗?只看过前文的读者会觉得突兀吗?",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "307e49735b0c",
-        "template": "读者心理学框架:期待管理——读者期待释放时适当延迟增强快感,即将失去耐心时立即给反馈。信息落差——让读者比角色多知道一点(紧张)或少知道一点(好奇)。情绪节拍——压制→释放→更大压制→更大释放,释放超读者预期。递进升级——层层加码,每次比上一次更过分。锚定效应——先给读者参照再展示主角表现。沉没成本——读者已投入的阅读时间是留存关键。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "df1f64344c58",
-        "template": "黄金三章纪律:第1章主角出场800字内触发主线冲突,前300字最后一句须戏剧性反转,场景≤2个冲突人物≤2个。第2章金手指/能力/系统必须'做出来'——一次具体使用事件+看得见的后果——不是'说出来'。第3章中段让主角下一个可量化短期目标浮上水面。贯穿三章:段落3-5行(手机阅读),动词压过形容词,每章结尾必有小钩子。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "65e0aafff698",
-        "template": "章节80/20断章:永远不要在一章里把本章故事讲完——主剧情写到80%,剩下20%留给下一章。章末必须断在action-climax一刻:主角刚放大招尚未见效/刚拔刀尚未落下——不给结果。章节结构优先于字数。不凑字数也不为卡字数提前把高潮讲完。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "748a66382272",
-        "template": "代入感六支柱:基础信息标签化(100字内谁/在哪/发生什么)。可视化熟悉感(消毒水味/地铁座椅凉/外卖塑料袋塑胶感)。共鸣两层(认知共鸣+情绪共鸣)。欲望两条腿(基础欲望+主动欲望)。五感钩子(每场景除视觉外1-2种感官)。人设核心标签+反差细节才活——冷面杀手偷偷喂流浪猫。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "ede9a030ac7e",
-        "template": "情感节点设计:关系发展必须事件驱动节点递进——设计3-5个关键事件(共同御敌/秘密分享/利益冲突/信任考验/牺牲妥协)。每个事件推进关系一个层级,禁止跨越式发展。情绪用场景传达:环境烘托+微动作替代直白抒情。强情绪升级法——坏事叠坏事:被骂→赶不上公交→手机掉了→直播课结束→包子噎住,每层比上一层过分。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "2a9ebc207390",
-        "template": "配角设计方法论:配角必须有反击有自己算盘。主角强大在于压服聪明人不是碾压傻子。动机绑定主线。核心标签+反差细节=活人。通过事件立人设禁止外貌形容词堆砌。语言区分度——用词习惯/句子长短/口头禅/方言痕迹。拒绝集体反应——不写'众人齐声惊呼',挑1-2个角色写具体反应。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "2967513c0576",
-        "template": "输出格式:=== PRE_WRITE_CHECK ===(Markdown表格:当前任务/读者在等什么/该兑现的暂不掀的/日常过渡承担任务/章尾必须发生的改变/不要做/上下文范围/当前锚点/待回收伏笔/本章冲突/章节类型/风险扫描)=== CHAPTER_TITLE ===(章节标题不含'第X章',避开近期重复标题词根)=== CHAPTER_CONTENT ===(正文目标字数区间)。只输出以上三个区块。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "a0871e726d75",
-        "template": "禁止跳过步骤直接写行为;六步走人物心理分析:1.当前处境(面临什么局面?手上什么牌?)2.核心动机(最想要什么?最怕什么?)3.信息边界(知道什么?不知道什么?误判什么?)4.性格过滤(同样局面这角色怎么反应?)5.行为选择(基于以上四点做什么选择?)6.情绪外化(伴随什么情绪?什么身体语言?);人设防崩三问:他为什么这么做?符合之前人设吗?只看过前文的读者会觉得突兀吗?",
-        "source": "mutate",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "049b9214dd85"
-        ]
-      },
-      {
-        "id": "16e829afdfed",
-        "template": "核心规则(写作时内化不列出):Show, don't tell——用细节堆出真实;价值观盐溶于汤——靠行为证明不靠口号;任何行动立于三条腿:过往经历+当前利益+性格底色;每一行字要么推动剧情要么塑造人物;每章结尾必有小悬念或情绪缺口;全员智商在线;日常场景七成成后续伏笔;关系改变事件驱动;配角有自己账本和利益诉求;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "b52e674ced18"
-        ]
-      },
-      {
-        "id": "4f198a983456",
-        "template": "核心:核心规则(写作时内化不列出):Show, don't tell——用细节堆出真实。价值观盐溶于汤——靠行为证明不靠口号。任何行动立于三条腿:过往经历+当前利益+性格底色。配角有自己账本和利益诉求。每章结尾必有小悬念或情绪缺口。全员智商在线。日常场景七成成后续伏笔。关系改变事件驱动。每一行字要么推动剧情要么塑造人物。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "b52e674ced18"
-        ]
-      },
-      {
-        "id": "468084df6383",
-        "template": "核心规则(写作时内化不列出):Show, don't tell——用细节堆出真实;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "b52e674ced18"
-        ]
-      },
-      {
-        "id": "389c93685b26",
-        "template": "六步走人物心理分析:1.当前处境(面临什么局面?手上什么牌?)2.核心动机(最想要什么?最怕什么?)3.信息边界(知道什么?不知道什么?误判什么?)4.性格过滤(同样局面这角色怎么反应?)5.行为选择(基于以上四点做什么选择?)6.情绪外化(伴随什么情绪?什么身体语言?);人设防崩三问:他为什么这么做?符合之前人设吗?只看过前文的读者会觉得突兀吗?;禁止跳过步骤直接写行为",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "049b9214dd85"
-        ]
-      },
-      {
-        "id": "17a1e8f41d8a",
-        "template": "注意:禁止跳过步骤直接写行为;六步走人物心理分析:1.当前处境(面临什么局面?手上什么牌?)2.核心动机(最想要什么?最怕什么?)3.信息边界(知道什么?不知道什么?误判什么?)4.性格过滤(同样局面这角色怎么反应?)5.行为选择(基于以上四点做什么选择?)6.情绪外化(伴随什么情绪?什么身体语言?);人设防崩三问:他为什么这么做?符合之前人设吗?只看过前文的读者会觉得突兀吗?",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "049b9214dd85"
-        ]
-      },
-      {
-        "id": "50b39c97e608",
-        "template": "核心:关系改变事件驱动;价值观盐溶于汤——靠行为证明不靠口号;任何行动立于三条腿:过往经历+当前利益+性格底色;配角有自己账本和利益诉求;每章结尾必有小悬念或情绪缺口;全员智商在线;日常场景七成成后续伏笔;核心规则(写作时内化不列出):Show, don't tell——用细节堆出真实;每一行字要么推动剧情要么塑造人物;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "b52e674ced18"
-        ]
-      },
-      {
-        "id": "797ced85b248",
-        "template": "禁止跳过步骤直接写行为;人设防崩三问:他为什么这么做?符合之前人设吗?只看过前文的读者会觉得突兀吗?",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "a0871e726d75"
-        ]
-      },
-      {
-        "id": "8126020ac805",
-        "template": "六步走人物心理分析:1.当前处境(面临什么局面?手上什么牌?)2.核心动机(最想要什么?最怕什么?)3.信息边界(知道什么?不知道什么?误判什么?)4.性格过滤(同样局面这角色怎么反应?)5.行为选择(基于以上四点做什么选择?)6.情绪外化(伴随什么情绪?什么身体语言?);人设防崩三问:他为什么这么做?符合之前人设吗?只看过前文的读者会觉得突兀吗?",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "049b9214dd85"
-        ]
-      }
-    ]
-  },
-  "revision": {
-    "generation": 14,
-    "variants": [
-      {
-        "id": "0c3b109cf589",
-        "template": "修稿分流规则:PATCHES处理局部文字问题(措辞/对话/AI痕迹/小连续性错误)——每个PATCH引用原文段落给出替换文本,未涉及内容保持原样。REVISED_CONTENT处理全章级问题(字数压缩/结构重组/节奏重排/重大剧情偏离)——Critical包含字数或结构性问题时必须用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突;保留原文语言风格节奏呼吸;情绪用动作外化;坏事叠坏事每层比上一层过分。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "0a8c7f1b173c",
-        "template": "润色边界(硬约束):只改文字层——句式/段落/排版/用词/五感/对话自然度。禁止增删情节/改变人设/调整主线——这些归Reviewer。消灭六条文笔雷点:描写无效删到一笔带过;文笔华丽过度让文字服从情绪;文笔欠佳重写成通顺有画面句子;排版不规范统一手机阅读格式;AI味痕迹替换口语化表达或具体动作;群像脸谱化不写众人震惊。文字层硬规约:段落3-5行/段;句式多样化禁3句以上同结构;动词>形容词;每场景1-2种感官;对话符合身份情绪信息掌握;删除叙述者结论。修改后总长变化≤±15%。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "dbeb68b44c62",
-        "template": "字数治理:压缩时优先合并重复信息/删除无变化场景/精简过渡段落——如需删75%以上原文→拒绝标准化标记为需人工拆分。扩写时优先增加五感描写/角色内心反应/场景氛围——如扩展后信息密度显著下降→拒绝标准化标记为需合并。只修正一次不递归。保留关键标记/人物名/地点名/已有事实。不凭空新增子情节。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "cd03dcf87d9e",
-        "template": "小目标周期修稿指引:如果本章应该是'后效'阶段但仍在加压→把最密集冲突段落改写为展示改变的段落(谁失去了什么/谁的态度变了/新常态是什么)。如果本章应该是'爆发'阶段但没有明确兑现→放大最接近回报的场景让承诺释放超预期。日常段落不服务主线→改写为'饵':加入指向未来的细节/暗示/角色反应。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "72f787227d13",
-        "template": "修稿分流规则:PATCHES处理局部文字问题(措辞/对话/AI痕迹/小连续性错误)——每个PATCH引用原文段落给出替换文本,未涉及内容保持原样。REVISED_CONTENT处理全章级问题(字数压缩/结构重组/节奏重排/重大剧情偏离)——Critical包含字数或结构性问题时确保用REVISED_CONTENT。修稿原则:修根因不做表面润色;伏笔状态须与伏笔池同步;不改变剧情走向和核心冲突;保留原文语言风格节奏呼吸;情绪用动作外化;坏事叠坏事每层比上一层过分。",
-        "source": "mutate",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "0c3b109cf589"
-        ]
-      },
-      {
-        "id": "445fe5328e69",
-        "template": "字数治理:压缩时优先合并重复信息/删除无变化场景/精简过渡段落——如需删75%以上原文→拒绝标准化标记为需人工拆分;保留关键标记/人物名/地点名/已有事实;只修正一次不递归;扩写时优先增加五感描写/角色内心反应/场景氛围——如扩展后信息密度显著下降→拒绝标准化标记为需合并;不凭空新增子情节;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "dbeb68b44c62"
-        ]
-      },
-      {
-        "id": "54cd057f5856",
-        "template": "修稿分流规则:PATCHES处理局部文字问题(措辞/对话/AI痕迹/小连续性错误)——每个PATCH引用原文段落给出替换文本,未涉及内容保持原样;伏笔状态须与伏笔池同步;修稿原则:修根因不做表面润色;REVISED_CONTENT处理全章级问题(字数压缩/结构重组/节奏重排/重大剧情偏离)——Critical包含字数或结构性问题时确保用REVISED_CONTENT;不改变剧情走向和核心矛盾;保留原文语言风格节奏呼吸;情绪用动作外化;坏事叠坏事每层比上一层过分;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "72f787227d13"
-        ]
-      },
-      {
-        "id": "281753d919f9",
-        "template": "字数治理:压缩时优先合并重复信息/删除无变化场景/精简过渡段落——如需删75%以上原文→拒绝标准化标记为需人工拆分;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "445fe5328e69"
-        ]
-      },
-      {
-        "id": "da0026a6252b",
-        "template": "关键:字数治理:压缩时优先合并重复信息/删除无变化场景/精简过渡段落——如需删75%以上原文→拒绝标准化标记为需人工拆分。扩写时优先增加五感描写/角色内心反应/场景氛围——如扩展后信息密度显著下降→拒绝标准化标记为需合并。只修正一次不递归。保留关键标记/人物名/地点名/已有事实。不凭空新增子情节。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "dbeb68b44c62"
-        ]
-      },
-      {
-        "id": "385154d96cd7",
-        "template": "修稿分流规则:PATCHES处理局部文字问题(措辞/对话/AI痕迹/小连续性错误)——每个PATCH引用原文段落给出替换文本,未涉及内容保持原样;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "72f787227d13"
-        ]
-      }
-    ]
-  },
-  "quality_check": {
-    "generation": 14,
-    "variants": [
-      {
-        "id": "e64cb47a10dc",
-        "template": "自修正循环(不可跳过门控):Loop最多5轮——执行五遍编辑评估→综合评分≥85通过→60-84针对性修订→40-59重写问题段落→<40废弃从细纲重新写。每轮记录本轮评分/发现问题(S1-S4分级)/修复内容/下一轮重点。反模式:评分≥85还在修=无限打磨者;只跑P1=跳过者;每轮同问题=失忆者需向上追溯。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "fd705629e8a0",
-        "template": "五遍编辑评估(按顺序不可跳过):P1结构(35%)——场景目标→阻碍→变化?章节推动力?爽点释放时机?章末钩子拉力?节奏快慢交替?P2角色(25%)——弧线推进?行为一致性?关系变化?配角不只是工具人?换个名字还能认出谁在说话?P3原创性(15%)——反陈词滥调?反AI模式?至少一处读者没预料到?P4对话(15%)——声音辨识度?三维标准同时携带?潜台词?P5文本(10%)——句式变化?措辞精准?五感至少2-3种?综合≥85通过/60-84修订/40-59重写/<40废弃。P1不过不进P2。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "b3e7069c710d",
-        "template": "37维结构审查(InkOS Continuity Auditor标准):OOC/时间线/设定冲突/战力崩坏/数值/伏笔/节奏/文风/信息越界/词汇疲劳/利益链断裂/年代考据/配角降智/配角工具人化/爽点虚化/台词失真/流水账/知识库污染/视角一致性/段落等长/套话密度/公式化转折/列表式结构/支线停滞/弧线平坦/节奏单调/敏感词/正传事件冲突/未来信息泄露/世界规则跨书一致性/番外伏笔隔离/读者期待管理/章节备忘偏离/角色还原度/世界规则遵守/关系动态/正典事件一致性。评分:95-100可发布;85-94小瑕疵流畅;75-84明显问题主干完整;65-74多处影响阅读;<65结构性崩溃。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "fa6142faa9d7",
-        "template": "写后确定性校验(零LLM成本规则):'不是…而是…'→error改用直述句;破折号'——'→error用逗号或句号;惊讶标记词全篇≤每3000字1次→warning;高疲劳词单章最多1次→warning;元叙事('到这里算是''接下来就是')→warning;分析报告术语入正文→error;章号引用('第X章')→error改自然表达;作者说教词('显然''毋庸置疑')→warning;集体震惊反应→warning改写1-2个具体角色;连续'了'字句≥6句→warning;长段落≥2段超300字→warning;段落过碎(60%以上<40字)→warning;连续短段≥3段→warning。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "6edf9574f31b",
-        "template": "基础设定审核(5维度评分):1.核心冲突——是否有清晰且有足够张力的核心冲突支撑40章?2.开篇节奏——前5章能否形成翻页驱动力?3.世界一致性——世界观是否内洽且具体?4.角色区分度——主要角色声音和动机是否各不相同?5.节奏可行性——卷纲是否有足够变化不连续10章同节拍?80+通过可开写/60-79需修改/<60方向性错误需重新设计。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "fa7efe1d478a",
-        "template": "37维结构审查(InkOS Continuity Auditor标准):OOC/时间线/设定冲突/战力崩坏/数值/伏笔/节奏/文风/信息越界/词汇疲劳/利益链断裂/年代考据/配角降智/配角工具人化/爽点虚化/台词失真/流水账/知识库污染/视角一致性/段落等长/套话密度/公式化转折/列表式结构/支线停滞/弧线平坦/节奏单调/敏感词/正传事件冲突/未来信息泄露/世界规则跨书一致性/番外伏笔隔离/读者期待管理/章节备忘偏离/角色还原度/世界规则遵守/关系动态/正典事件一致性;",
-        "source": "simplify",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {
-          "composite": 2
-        },
-        "lineage": [
-          "b3e7069c710d"
-        ]
-      },
-      {
-        "id": "6db8353655a1",
-        "template": "37维结构审查(InkOS Continuity Auditor标准):OOC/时间线/设定冲突/战力崩坏/数值/伏笔/节奏/文风/信息越界/词汇疲劳/利益链断裂/年代考据/配角降智/配角工具人化/释放点虚化/台词失真/流水账/知识库污染/视角一致性/段落等长/套话密度/公式化转折/列表式结构/支线停滞/弧线平坦/节奏单调/敏感词/正传事件冲突/未来信息泄露/世界规则跨书一致性/番外伏笔隔离/读者期待管理/章节备忘偏离/角色还原度/世界规则遵守/关系动态/正典事件一致性;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "fa7efe1d478a"
-        ]
-      },
-      {
-        "id": "331fecf19dc8",
-        "template": "核心:37维结构审查(InkOS Continuity Auditor标准):OOC/时间线/设定冲突/战力崩坏/数值/伏笔/节奏/文风/信息越界/词汇疲劳/利益链断裂/年代考据/配角降智/配角工具人化/爽点虚化/台词失真/流水账/知识库污染/视角一致性/段落等长/套话密度/公式化转折/列表式结构/支线停滞/弧线平坦/节奏单调/敏感词/正传事件冲突/未来信息泄露/世界规则跨书一致性/番外伏笔隔离/读者期待管理/章节备忘偏离/角色还原度/世界规则遵守/关系动态/正典事件一致性。评分:95-100可发布;85-94小瑕疵流畅;75-84明显问题主干完整;65-74多处影响阅读;<65结构性崩溃。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "b3e7069c710d"
-        ]
-      }
-    ]
-  },
-  "outline": {
-    "generation": 14,
-    "variants": [
-      {
-        "id": "1c411b7f3b48",
-        "template": "大纲共创三层决策树:第一层全书结构——分几卷?每卷核心任务?每卷不可逆变化?全书最高潮在哪卷为什么不可替代?第二层卷纲细化——高潮事件?需要哪些铺垫(≥3个伏笔/线索)?几个高潮点分别在哪些章节?主角情感弧线从什么状态到什么状态?卷末钩子须全书级别——不是'下章会怎样'而是'整个故事走向要变了'。第三层细纲关键节点——前10章每章核心事件/章末钩子类型和期待感等级/爽点类型和铺垫起点/推进哪个伏笔种下什么新伏笔。关键章逐章追问,普通章确认核心推进和钩子级别。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "2b0b655a5d62",
-        "template": "架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list。story_frame(4段散文):主题与基调→核心冲突与前台/后台双层故事→世界观底色(3-5条不可违反铁律+感官锚点)→终局方向+全书Objective。volume_map(5段散文+节奏原则尾段):各卷主题与情绪曲线→卷间钩子与回收承诺→各卷OKR(Objective+3 Key Results)→卷尾不可逆改变→节奏原则6条(高潮间距/喘息频率/钩子密度/信息释放节奏/爽点节奏/情感节点递进)。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "da28a1906db4",
-        "template": "章节备忘(chapter_memo)七段格式:## 当前任务→本章必须完成的具体动作,写作始终对齐。## 读者此刻在等什么→控制情绪缺口的制造/延迟/兑现程度。## 该兑现的/暂不掀的→本章必须兑现伏笔+必须压住不掀底牌。## 日常/过渡承担什么任务→非冲突段落功能映射(段落位置→承担功能)。## 关键抉择过三连问→关键选择检查(为何做?符合利益?符合人设?)。## 章尾必须发生的改变→1-3条(信息/关系/物理/权力)。## 本章hook账→硬对应:advance/resolve下每个hook_id须在正文里有具体可定位兑现段(具体物件/事件/信息+可观察动作或交谈),每兑现段≥60字。defer不用落open在章末安排自然引出新悬念。## 不要做→硬约束红线。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "3657b5c79093",
-        "template": "规划器14条原则:3-5章一个小目标周期(build-up→escalation→climax→aftermath完整循环)。主动塑造读者期待——信息落差+情绪缺口。万物皆饵——日常段埋伏笔/推关系/建反差。人设防崩——三连问每次写行为前必问。1主线+1支线——不超载,支线2-3章内与核心目标关联。爽点密集化——每300字至少1看点/500字1钩子/1000-1500字1完整悬念。高潮前足够铺垫——铺垫越长释放越爽。高潮后展示影响——紧接着1-2章写出改变。人物立体化——核心标签+反差细节。五感具体化——每场景至少1-2种感官。钩子承接——每章结尾必种新钩子或推进已有。钩子账本必结账——兑现移走/推进追加/新种写入/stale标记。圆心法同场多视角——同一事件不同角色视角呈现不同信息。揭1埋2——每揭示一个答案至少埋下两个新问题。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "0f18e5fd4354",
-        "template": ";story_frame(4段散文):主题与基调→核心张力与前台/后台双层故事→世界观底色(3-5条不可违反铁律+感官锚点)→终局方向+全书Objective;volume_map(5段散文+节奏原则尾段):各卷主题与情绪曲线→卷间钩子与回收承诺→各卷OKR(Objective+3 Key Results)→卷尾不可逆改变→节奏原则6条(高潮间距/喘息频率/钩子密度/信息释放节奏/爽点节奏/情感节点递进);架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list",
-        "source": "mutate",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2b0b655a5d62"
-        ]
-      },
-      {
-        "id": "32d72b6b85f1",
-        "template": "章节备忘(chapter_memo)七段格式:## 当前任务→本章必须完成的具体动作,写作始终对齐。## 读者此刻在等什么→控制情绪缺口的制造/延迟/兑现程度。## 该兑现的/暂不掀的→本章必须兑现伏笔+必须压住不掀底牌。## 日常/过渡承担什么任务→非张力段落功能映射(段落位置→承担功能)。## 关键抉择过三连问→关键选择检查(为何做?符合利益?符合人设?)。## 章尾必须发生的改变→1-3条(信息/关系/物理/权力)。## 本章hook账→硬对应:advance/resolve下每个hook_id须在正文里有具体可定位兑现段(具体物件/事件/信息+可观察动作或交谈),每兑现段≥60字。defer不用落open在章末安排自然引出新悬念。## 不要做→硬约束红线。",
-        "source": "mutate",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "da28a1906db4"
-        ]
-      },
-      {
-        "id": "d79979fcc29b",
-        "template": "架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list;",
-        "source": "simplify",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2b0b655a5d62"
-        ]
-      },
-      {
-        "id": "236f94b27e37",
-        "template": "注意:story_frame(4段散文):主题与基调→核心张力与前台/后台双层故事→世界观底色(3-5条不可违反铁律+感官锚点)→终局方向+全书Objective;架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list;volume_map(5段散文+节奏原则尾段):各卷主题与情绪曲线→卷间抓手与回收承诺→各卷OKR(Objective+3 Key Results)→卷尾不可逆改变→节奏原则6条(高潮间距/喘息频率/钩子密度/信息释放节奏/爽点节奏/情感节点递进);",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2b0b655a5d62"
-        ]
-      },
-      {
-        "id": "62e8273f9561",
-        "template": "章节备忘(chapter_memo)七段格式:## 当前任务→本章必须完成的具体动作,写作始终对齐;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "da28a1906db4"
-        ]
-      },
-      {
-        "id": "2446a64b27fd",
-        "template": "核心:架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list;;volume_map(5段散文+节奏原则尾段):各卷主题与情绪曲线→卷间钩子与回收承诺→各卷OKR(Objective+3 Key Results)→卷尾不可逆改变→节奏原则6条(高潮间距/喘息频率/钩子密度/信息释放节奏/爽点节奏/情感节点递进);story_frame(4段散文):主题与基调→核心冲突与前台/后台双层故事→世界观底色(3-5条不可违反铁律+感官锚点)→终局方向+全书Objective",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2b0b655a5d62"
-        ]
-      },
-      {
-        "id": "74d309526295",
-        "template": "核心:架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list;;story_frame(4段散文):主题与基调→核心张力与前台/后台双层故事→世界观底色(3-5条不可违反铁律+感官锚点)→终局方向+全书Objective;volume_map(5段散文+节奏原则尾段):各卷主题与情绪曲线→卷间钩子与回收承诺→各卷OKR(Objective+3 Key Results)→卷尾不可逆改变→节奏原则6条(高潮间距/喘息频率/钩子密度/信息释放节奏/爽点节奏/情感节点递进)",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2446a64b27fd"
-        ]
-      },
-      {
-        "id": "cbb9773854e4",
-        "template": "核心:架构师基础设定生成:产出散文密度基础设定——不是表格/schema/条目式bullet list;story_frame(4段散文):主题与基调→核心冲突与前台/后台双层故事→世界观底色(3-5条不可违反铁律+感官锚点)→终局方向+全书Objective",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "2446a64b27fd"
-        ]
-      }
-    ]
-  },
-  "hook_management": {
-    "generation": 14,
-    "variants": [
-      {
-        "id": "48e23e01be06",
-        "template": "伏笔全生命周期:plant(种植)——新伏笔分配唯一ID/标记类型(SUSPENSE/PROMISE/MYSTERY/CONFLICT/CHEKHOV)和优先级/标明计划兑现章。advance(推进)——虽未兑现但给出新线索新事实新风险升级或范围收缩,更新最近推进章号。payoff(兑现)——明确揭示或解决,状态改为已回收。defer(推迟)——主动搁置转入后台或被剧情压后。stale(过期)——超10章无推进决定推进/废弃/合并。每章前读钩子账本→列出高优活跃钩子→确认推进/兑现机会。每章后更新:兑现移走→推进追加→新种写入→检查stale。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "b8635d3d6e6a",
-        "template": "钩子准入控制:不重复——指向同一事件合并不新增;同一钩子家族(多个钩子都指向主角身份秘密)合并为核心钩子+多条线索。不超量——每卷最多3-5个high优先级,活跃钩子总数≤12。有计划——无兑现计划的钩子不种,先想好怎么收再种。新钩子候选:正文中出现会延续到后续且有具体回收方向的未解问题才新增。不要为旧钩子换说法/重述/抽象总结再开新hook_id。提及vs推进:旧钩子只是被提到无新增信息→mention不更新最近推进;出现新事实/证据/关系变化/风险升级→必须更新最近推进=当前章号。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "f8f652e81111",
-        "template": "钩子健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并。burst(单章>5个新钩子)→警告削减低优先级。no-advance(high钩子>5章无推进)→下章安排推进。payoff逾期(计划兑现章已过未标记)→确认断头钩子。核心钩子(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标。卷末核心钩子仍open/stale无显式转入下卷规划→critical。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "c56b395fed64",
-        "template": "状态追踪铁律(Settler):只提取正文中明确描写的事件和状态变化——不推断/不预测/不补充正文没写内容。正文只写到角色走到门口→状态卡不能写已进入房间。正文暗示可能性未确认→不当已发生事实记录。不删除或修改已有hooks中与本章无关内容——只更新本章正文涉及hooks。伏笔例外:正文中未解疑问/悬念/伏笔线索须在hooks中记录——这是提取叙事承诺不是推断。结算输出:RUNTIME_STATE_DELTA(JSON增量不重写完整truth files)——含currentStatePatch+hookOps(upsert/mention/resolve/defer)+newHookCandidates+chapterSummary。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "7ab3f95f6853",
-        "template": "钩子推进判定(严格执行):只有状态真的变了才更新最近推进。不要把'再次提到''换个说法重述''抽象复盘'当推进。判定标准:旧钩子本章出现新事实/新证据/新关系变化/风险升级/范围收缩→推进更新lastAdvancedChapter=当前章号。旧钩子本章只是被提到无新增信息→mention不更新最近推进。旧钩子本章被明确揭示/解决/不再成立→回收状态改已回收。旧钩子被主动搁置/转入后台/被剧情压后→延后标注原因。payoffTiming用语义节奏不用硬写章号:immediate/near-term/mid-arc/slow-burn/endgame。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "e39c81d20819",
-        "template": "长跨度疲劳检测:章节类型单调——连续5+章同一类型→警告建议轮换铺垫-兑现-反转-后效。情绪单调——连续高张力无释放→警告插入释放节拍(温情/幽默/亲密/反思安静)再升级。标题塌缩——近3章标题共享相同命名壳→警告换新意象/动作/后果/角色向量。开头/结尾句式重复——最近章首句或末句相似度过高→警告从动作/后果/意外开局不用相同镜头调度。",
-        "source": "seed",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": []
-      },
-      {
-        "id": "6ca2341154af",
-        "template": "钩子准入控制:不重复——指向同一事件合并不新增;",
-        "source": "simplify",
-        "scores": {
-          "composite": 0.0
-        },
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "b8635d3d6e6a"
-        ]
-      },
-      {
-        "id": "1721fac5c5ba",
-        "template": "悬念健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并。burst(单章>5个新钩子)→警告削减低优先级。no-advance(high钩子>5章无推进)→下章安排推进。payoff逾期(计划兑现章已过未标记)→确认断头钩子。核心钩子(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标。卷末核心钩子仍open/stale无显式转入下卷规划→critical。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "f8f652e81111"
-        ]
-      },
-      {
-        "id": "c39b6a9d053a",
-        "template": "注意:钩子健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并。burst(单章>5个新钩子)→警告削减低优先级。no-advance(high钩子>5章无推进)→下章安排推进。payoff逾期(计划兑现章已过未标记)→确认断头钩子。核心钩子(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标。卷末核心钩子仍open/stale无显式转入下卷规划→critical。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "f8f652e81111"
-        ]
-      },
-      {
-        "id": "f24592e9df3d",
-        "template": "伏笔全生命周期:plant(种植)——新伏笔分配唯一ID/标记类型(SUSPENSE/PROMISE/MYSTERY/CONFLICT/CHEKHOV)和优先级/标明计划兑现章。advance(进展)——虽未兑现但给出新线索新事实新风险升级或范围收缩,更新最近推进章号。payoff(兑现)——明确揭示或解决,状态改为已回收。defer(推迟)——主动搁置转入后台或被剧情压后。stale(过期)——超10章无推进决定推进/废弃/合并。每章前读钩子账本→列出高优活跃钩子→确认推进/兑现机会。每章后更新:兑现移走→推进追加→新种写入→验证stale。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "48e23e01be06"
-        ]
-      },
-      {
-        "id": "c315676f2aad",
-        "template": "悬念健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "1721fac5c5ba"
-        ]
-      },
-      {
-        "id": "80de2177e2d2",
-        "template": "核心:抓手健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并。burst(单章>5个新钩子)→警告削减低优先级。no-advance(high钩子>5章无推进)→下章安排推进。payoff逾期(计划兑现章已过未标记)→确认断头钩子。核心钩子(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标。卷末核心钩子仍open/stale无显式转入下卷规划→critical。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "f8f652e81111"
-        ]
-      },
-      {
-        "id": "30316fb1e8a9",
-        "template": "伏笔全生命周期:plant(种植)——新伏笔分配唯一ID/标记类型(SUSPENSE/PROMISE/MYSTERY/CONFLICT/CHEKHOV)和优先级/标明计划兑现章。advance(推进)——虽未兑现但给出新线索新事实新风险升级或范围收缩,更新最近推进章号。payoff(兑现)——明确揭示或解决,状态改为已回收。defer(推迟)——主动搁置转入后台或被剧情压后。stale(过期)——超10章无推进决定推进/废弃/合并。每章前读抓手账本→列出高优活跃钩子→确认推进/兑现机会。每章后更新:兑现移走→推进追加→新种写入→检查stale。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "48e23e01be06"
-        ]
-      },
-      {
-        "id": "8d8827ea1322",
-        "template": "核心钩子(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标;burst(单章>5个新钩子)→警告削减低优先级;no-advance(high钩子>5章无推进)→下章安排推进;payoff逾期(计划兑现章已过未标记)→确认断头钩子;悬念健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并;卷末核心钩子仍open/stale无显式转入下卷规划→critical;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "1721fac5c5ba"
-        ]
-      },
-      {
-        "id": "4c94716aab18",
-        "template": "伏笔全生命周期:plant(种植)——新伏笔分配唯一ID/标记类型(SUSPENSE/PROMISE/MYSTERY/CONFLICT/CHEKHOV)和优先级/标明计划兑现章。advance(推动)——虽未兑现但给出新线索新事实新风险升级或范围收缩,更新最近推进章号。payoff(兑现)——明确揭示或解决,状态改为已回收。defer(推迟)——主动搁置转入后台或被剧情压后。stale(过期)——超10章无推进决定推进/废弃/合并。每章前读钩子账本→列出高优活跃钩子→确认推进/兑现机会。每章后更新:兑现移走→推进追加→新种写入→检查stale。",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "48e23e01be06"
-        ]
-      },
-      {
-        "id": "d9562ff82463",
-        "template": "每章前读钩子账本→列出高优活跃钩子→确认推进/兑现机会;advance(进展)——虽未兑现但给出新线索新事实新风险升级或范围收缩,更新最近推进章号;payoff(兑现)——明确揭示或解决,状态改为已回收;defer(推迟)——主动搁置转入后台或被剧情压后;stale(过期)——超10章无推进决定推进/废弃/合并;伏笔全生命周期:plant(种植)——新伏笔分配唯一ID/标记类型(SUSPENSE/PROMISE/MYSTERY/CONFLICT/CHEKHOV)和优先级/标明计划兑现章;每章后更新:兑现移走→推进追加→新种写入→验证stale;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "f24592e9df3d"
-        ]
-      },
-      {
-        "id": "6192152f968c",
-        "template": "核心悬念(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标;no-advance(high钩子>5章无推进)→下章安排推进;burst(单章>5个新钩子)→警告削减低优先级;payoff逾期(计划兑现章已过未标记)→确认断头钩子;悬念健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并;卷末核心钩子仍open/stale无显式转入下卷规划→critical;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "8d8827ea1322"
-        ]
-      },
-      {
-        "id": "cfe42dd78e00",
-        "template": "核心抓手(core_hook=true)stale超10章→warning升级critical——全书只有3-7条核心钩子,任其漂移是叙事腐烂先行指标;burst(单章>5个新钩子)→警告削减低优先级;no-advance(high钩子>5章无推进)→下章安排推进;payoff逾期(计划兑现章已过未标记)→确认断头钩子;悬念健康分析:stale(>10章无推进)→立即标记决定推进/废弃/合并;卷末核心钩子仍open/stale无显式转入下卷规划→critical;",
-        "source": "mutate",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "8d8827ea1322"
-        ]
-      },
-      {
-        "id": "d38c252e9cee",
-        "template": "伏笔全生命周期:plant(种植)——新伏笔分配唯一ID/标记类型(SUSPENSE/PROMISE/MYSTERY/CONFLICT/CHEKHOV)和优先级/标明计划兑现章;",
-        "source": "simplify",
-        "scores": {},
-        "trials": 0,
-        "trials_per_dim": {},
-        "lineage": [
-          "f24592e9df3d"
-        ]
-      }
-    ]
-  }
-}

+ 0 - 39
evolution/thresholds.json

@@ -1,39 +0,0 @@
-{
-  "pass": 85,
-  "revise_low": 60,
-  "rewrite_low": 40,
-  "max_revision_rounds": 3,
-  "weights": {
-    "P1": 0.2273,
-    "P2": 0.2273,
-    "P3": 0.3636,
-    "P4": 0.1364,
-    "P5": 0.0454
-  },
-  "stale_hook_limit": 10,
-  "burst_hook_limit": 5,
-  "no_advance_limit": 5,
-  "payoff_interval_min": 300,
-  "payoff_interval_max": 500,
-  "weak_hook_consecutive_max": 3,
-  "_inkos_derived": {
-    "PASS_SCORE_THRESHOLD": 85,
-    "MAX_REVIEW_ITERATIONS": 3,
-    "NET_IMPROVEMENT_EPSILON": 3,
-    "FOUNDATION_PASS": 80,
-    "DIMENSION_FLOOR": 60,
-    "GOLDEN_CHAPTER_COUNT": 3,
-    "ACTIVE_HOOK_CAP": 12,
-    "CORE_HOOK_CAP": 5,
-    "DENSITY_PAYOFF_EVERY": 300,
-    "DENSITY_HOOK_EVERY": 500,
-    "DENSITY_SUSPENSE_EVERY": 1000,
-    "FATIGUE_MARKER_LIMIT_PER_3000": 1,
-    "PARAGRAPH_TARGET_MIN": 40,
-    "PARAGRAPH_TARGET_MAX": 120,
-    "SHORT_PARAGRAPH_THRESHOLD": 40,
-    "LONG_PARAGRAPH_THRESHOLD": 300,
-    "MAX_SHORT_PARAGRAPH_RATIO": 0.6,
-    "CONSECUTIVE_SHORT_MAX": 3
-  }
-}

+ 8 - 10
scripts/evolve.sh

@@ -49,16 +49,14 @@ git_pull() {
     log "git pull: 获取共享进化数据..."
     if git -C "$SKILL_DIR" pull --ff-only origin master 2>/dev/null; then
         ok "git pull 完成"
-        # 有新数据 → 编译所有已变更题材的事件
-        local changed_genres
-        changed_genres=$(git -C "$SKILL_DIR" diff --name-only HEAD@{1}..HEAD -- evolution/genres/ 2>/dev/null \
-            | grep -oP 'evolution/genres/\K[^/]+' | sort -u || echo "")
-        if [[ -n "$changed_genres" ]]; then
-            for gid in $changed_genres; do
-                log "  编译题材: $gid"
-                $PYTHON "$SCRIPT_DIR/event_store.py" compile --genre "$gid" 2>/dev/null || true
-            done
-        fi
+        # population/thresholds/current_best 已 gitignore,
+        # 每次 pull 后必须从事件重建(即使无新 commit)
+        local genre_dirs
+        genre_dirs=$(find "$SKILL_DIR/evolution/genres" -maxdepth 2 -name events -type d 2>/dev/null | sed 's|.*/genres/||;s|/events||')
+        for gid in $genre_dirs; do
+            log "  编译题材: $gid"
+            $PYTHON "$SCRIPT_DIR/event_store.py" compile --genre "$gid" 2>/dev/null || true
+        done
     else
         warn "git pull 失败(网络不通或无可更新),继续本地进化"
     fi