book-format.md 2.0 KB

书仓格式与修改边界

此文概述贡献代码时必须保留的公共契约。解析与写入实现位于 packages/core/src,测试中的合成夹具是可执行示例。

文件真源

书仓通常包含 构想、作品契约、大纲、世界书、定稿、账本、本书记忆 和 草稿区。工作范围内的 书房 保存跨书素材。书 id 来自作品契约,不能凭目录展示名替代。

卷目录形如 卷01,章号全书连续,文件中的章号使用既有四位编号规则。不能把“本卷最大章号”当作本卷章数,也不能把窗口耗尽当作整卷完成。

结构化 Markdown 的 frontmatter、版本、模块标题、引用路径和哈希由对应解析器处理。草稿/候选不是已确认设计,定稿不是聊天里的一句“完成”。恢复进度从当前文件推导,不额外维护一套会话状态账。

写入约束

  • 所有输入路径均是受校验的仓内相对路径;拒绝盘符、路径逃逸、保留名和不受信任链接。
  • 候选与普通文档修改复用原生观察和精确写入授权;并发修改使旧观察失效。
  • 多文件定稿/沉淀保留事务边界,失败可恢复,不能拆成若干无保护覆盖。
  • 作者批准绑定本次操作。取消、拒绝或迟到答复不能授权写入。
  • 定稿、构想快照和其他冻结工件不通过普通编辑直接覆盖;影响已定稿内容的变更走已有补偿流程。
  • 成功后可核对文件、账本及 Git 提交;提交失败不得重复升版或重写相同正文。

检索与派生数据

索引、缓存和材料包具有来源与新鲜度要求,不能代替正文、确认规划或账本。模型、维度、指令或原文变化后应按各自契约失效;模型服务失败时显式降级,不伪造增强效果。

兼容性

修改字段、路径、确认状态或格式版本时,附旧数据夹具、迁移/回退说明和验证。预览期也不能把不兼容数据变化藏在普通 patch 中。v6/v7 旧书不属于已验证的自动迁移输入。