docs(beat): Beat 叙事信源迁移与职责重定义

- 引入 fiction_source 字段,叙事 SSOT 随阶段迁移 (short-fiction → flow → full-fiction → yarn)
- 模板与 README 增加信源说明与四阶段约定
- 火山-维修1 示范指向 Yarn 的骨架形态
- 决策记录归档讨论与 changelog:kb/decisions/2026-02-25-Beat职责重定义与叙事信源迁移.md

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-25 00:31:19 +08:00
co-authored by Cursor
parent 46c2c89de1
commit 5eb576777f
5 changed files with 102 additions and 9 deletions
+17 -7
View File
@@ -6,6 +6,7 @@ day: D02
order_in_day: 2
status: draft
dev_status: prototype
fiction_source: "aibis-dream/Assets/Resources/Yarn/Test_Huoshan/"
emotional_tone: 释放/振作
summary: 火山表达模块崩溃,堆积很多没说出口的话。效率审查司拦住导致紧张。帮助校准情绪处理器,让他自信起来。
player_feels: 「吓我一跳…还以为要一辈子这么说话」;放松、振作
@@ -17,7 +18,7 @@ reveals:
- 【火山】玩家得知爽约因被效率审查司拦住;销售模块滤波篡改、RAM堆积;治好结巴后表现优异自信
- 【效率审查司】玩家得知拦住火山;试点英理组改进效率
created: 2026-02-23
updated: 2026-02-23
updated: 2026-02-25
tags:
- beat
---
@@ -30,15 +31,24 @@ tags:
## Fiction
*不确定处用标记:`[#TBD: 说明]` `[#LogicHole: 问题]` `[#CharacterCheck: 角色名]`*
> 叙事信源已迁移至 Yarn`aibis-dream/Assets/Resources/Yarn/Test_Huoshan/`
> 以下为叙事骨架,完整对话与分支见 Yarn。
火山来诊室,避谈爽约,说需改进表达模块。说推销词时表达模块崩溃——堆积很多语句。告诉爽约原因:被效率审查司拦住,紧张下崩溃。被要求参加销售挑战,须尽快调整。医生帮其调整表达模块,提升性能
**Stage1 诊室开场**:火山满嘴笑话,发热异常,进入诊室
**Stage2 后脑检查**:检查表达/滤波器/逻辑/情绪模块,发现波形对不上——逻辑能锁定,情绪找不到。
**Stage3 滤波器深入**:步进查看滤波过程,发现异常 modify 把悲伤波形篡改为幽默;追溯到一次旧治疗记录;尝试调节 modify 强度失败。
**Stage4 表达模块 RAM**:打开 RAM 发现大量未处理 log,报错堆积导致表达模块闭锁。
**Stage5 诊室对话**:理解全貌后与火山谈话,达成共识——需要释放积压的真话。
**Stage6 后脑释放**:插线表达模块,释放 RAM,处理积压 log(粒子语言小游戏:从「我很害怕」到「我不想再继续逃了」递进)。
**Stage7-8 诊室结束**:火山说出真话,选择如何使用 modify,恢复自信。
---
## 变更日志
| 日期 | 变更内容 | 决策理由 |
|------|---------|---------|
| 2026-02-23 | 初建 | 火山bible、火山维修文档 |
| 2026-02-23 | 重构:player_knows→reveals,删叙事状态/Production | 模板统一 |
| 日期 | 变更内容 | 决策理由 | 来源 |
|------|---------|---------|------|
| 2026-02-23 | 初建 | 火山bible、火山维修文档 | |
| 2026-02-23 | 重构:player_knows→reveals,删叙事状态/Production | 模板统一 | |
| 2026-02-25 | fiction_source 迁移至 YarnFiction 改为骨架摘要 | Yarn (Test_Huoshan) 已是落实版本,Fiction 区不再做详细 SSOT | [[inbox/archived/火山新方案整理]] |
| 2026-02-25 | 讨论与决议归档 | 关键认识、Beat 职责重定义等对话存档于 [[kb/decisions/2026-02-25-Beat职责重定义与叙事信源迁移]] | 用户要求存档并补全 changelog |
@@ -0,0 +1,43 @@
---
date: 2026-02-25
status: 决议
来源: 用户与 Agent 讨论(设计文档与 beat 的 SSOT、Yarn 落实后的 Fiction 失真)
---
# Beat 职责重定义与叙事信源迁移
## 关键认识(讨论摘要)
- **Yarn 才是叙事的 ground truth**:一旦 beat 进入 prototype 或更后阶段,yarn 就是这个 beat 的实际叙事——玩家玩到的就是它。在 beat 里再维护一份 Fiction 副本 = 双源,违反 SSOT,且 Fiction 注定失真(没人会两边同步维护)。
- **设计文档的归属**:服务于某 beat 的工程文档(功能需求、设计优化、Yarn command 说明等)跟 Yarn 放一起是合理的;早期设计梗概进 inbox 归档即可,不必搬进 kb 做第二份权威。
## 建议:重定义 Beat 文件职责
Beat 文件**不要**和 yarn 争「谁写具体叙事」,而应做 **yarn 做不到的事**
| Beat 负责(yarn 做不到的) | Yarn / 工程文档负责(beat 不重复) |
|---------------------------|-----------------------------------|
| 设计意图:为什么存在这个 beat、想让玩家感受什么 | 具体对话、分支、流程 |
| reveals:本 beat 对角色/世界观揭示了什么 | 具体怎么揭示 |
| 情绪弧线(一两句) | 情绪的具体实现 |
| 状态追踪:dev_status、yarn 路径、关联角色/设定 | 波形/粒子等工程细节 |
| 决策记录(变更日志) | 功能需求文档、设计优化文档 |
**Fiction 区**:当信源在 yarn 时,只保留**叙事骨架**(几句话概括流程)+ **指向 yarn 的引用**;不在此维护与 yarn 重复的详细内容。
## 决议:SSOT 以 beat 为入口、信源随阶段迁移
- 叙事 SSOT 随阶段迁移:**short-fiction → flow → full-fiction → yarn**。Beat 文件始终是入口,用 `fiction_source` 指向**当前阶段的唯一信源**;Fiction 区做简单总结(骨架)或即信源本身(当 `fiction_source: self` 时)。
- 落地:`template/tpl-beat.md` 增加 `fiction_source` 字段;`template/README.md` 增加「Beat 叙事信源迁移」约定;示范 `kb/beats/火山-维修1.md` 改为指向 Yarn 的形态。
---
## 变更日志
| 日期 | 变更内容 | 决策理由 / 来源 |
|------|---------|-----------------|
| 2026-02-25 | 新增本决策记录,归档「关键认识」「重定义 beat 职责」讨论及决议 | 用户要求将对话存档并补全 changelog |
| 2026-02-25 | `template/tpl-beat.md`:增加 `fiction_source` 字段;Fiction 区增加信源说明折叠块 | 落实叙事信源迁移约定 |
| 2026-02-25 | `kb/template/tpl-beat.md`:与 template 源同步 | 修改模板后需同步至 kb/template |
| 2026-02-25 | `template/README.md`:增加「Beat 叙事信源迁移(fiction_source)」一节 | 文档化四阶段迁移与 Fiction 区写法 |
| 2026-02-25 | `kb/beats/火山-维修1.md``fiction_source` 指向 Test_HuoshanFiction 改为 Stage 骨架摘要;变更日志补来源列与本次迁移记录 | 示范 yarn 阶段 beat 形态 |
+8 -2
View File
@@ -6,10 +6,11 @@ day: "" # 留空则进入 outline 的 Backlog
order_in_day: 0
status: draft # draft | backlog | review | locked backlog=需存在但尚未落稿)
dev_status: fiction # fiction | playable | function | prototype | close
fiction_source: self # 叙事信源位置。self = 本文 Fiction 区即 SSOT;指向外部时填路径(如 Yarn 文件夹路径或 flow 文档链接)
emotional_tone: "" # 情绪基调,例:"压抑/解脱" "荒诞/温暖"
summary: "" # 一句话概述
player_feels: "" # 本 Beat 情绪落点
characters: [] # 出场角色与 kb/bible/角色 挂接)
characters: [] # 出场角色,用内联数组与 kb/bible/角色 挂接(例:[路斯, 佩佩],勿用多行列表,否则 Dataview 可能解析为链接导致角色页查不到
terms: [] # 涉及设定(与 kb/bible/设定 挂接)
reveals: [] # 本 Beat 对各实体的揭示,每项格式:【实体名】玩家得知...;例见佩佩-维修1
created: ""
@@ -25,6 +26,11 @@ tags: [beat]
## Fiction
> [!info]- 信源说明
> `fiction_source: self` → 本区是叙事 SSOT,直接在下方写作。
> `fiction_source: 外部路径` → 叙事 SSOT 已迁移,下方只保留**叙事骨架**(几句话概括流程),完整内容见 fiction_source 指向处。
> 阶段迁移路线:short-fiction → flow → full-fiction → yarn,详见 `template/README.md`。
*不确定处用标记:`[#TBD: 说明]` `[#LogicHole: 问题]` `[#CharacterCheck: 角色名]`*
{开始写作}
@@ -47,7 +53,7 @@ tags: [beat]
```dataview
TABLE author as "发起人", created as "日期", summary as "一句话"
FROM "proposals"
FROM "kb/proposals"
WHERE contains(targets, this.file.link) AND status = "open"
SORT created DESC
```