- 引入 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>
3.0 KiB
3.0 KiB
date, status, 来源
| date | status | 来源 |
|---|---|---|
| 2026-02-25 | 决议 | 用户与 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_Huoshan;Fiction 改为 Stage 骨架摘要;变更日志补来源列与本次迁移记录 |
示范 yarn 阶段 beat 形态 |