zizi 0e3964da2c W00 固定工作树、资料与数据边界:新版设计文档树、改造计划与验证清单基线;工作树资料与数据边界。
按 R2 串行阶段整理提交;包内文件为该阶段交付(含后续小增量),状态以工作包清单为准。
2026-09-10 19:25:40 +08:00

25 KiB
Raw Blame History

后端-S04-元数据:文件合同

本页从目标文件清单投影,共 36 个目标条目。测试用例的具体规格在独立用例清单;文件和目标合同不代表实现或验收已完成。

返回目录 · 完整项目树 · 用例重写

本部分文件树

agent-example/
└── src/
    └── muse/
        └── 元数据/
            ├── __init__.py  # Python 包身份
            ├── 内置导入.py  # 内置种子幂等登记,保护已存在绑定和扩展
            ├── 内置结构/
            │   ├── chapter.yaml  # chapter 内置结构种子与用途声明
            │   ├── character.yaml  # character 内置结构种子与用途声明
            │   ├── character_relation.yaml  # character_relation 内置结构种子与用途声明
            │   ├── combat.yaml  # combat 内置结构种子与用途声明
            │   ├── craft.yaml  # craft 内置结构种子与用途声明
            │   ├── emotion.yaml  # emotion 内置结构种子与用途声明
            │   ├── event.yaml  # event 内置结构种子与用途声明
            │   ├── faction.yaml  # faction 内置结构种子与用途声明
            │   ├── fine_outline.yaml  # fine_outline 内置结构种子与用途声明
            │   ├── generation_context.yaml  # generation_context 内置结构种子与用途声明
            │   ├── item.yaml  # item 内置结构种子与用途声明
            │   ├── location.yaml  # location 内置结构种子与用途声明
            │   ├── narrative_state.yaml  # narrative_state 内置结构种子与用途声明
            │   ├── novel_work.yaml  # novel_work 内置结构种子与用途声明
            │   ├── outline.yaml  # outline 内置结构种子与用途声明
            │   ├── pacing.yaml  # pacing 内置结构种子与用途声明
            │   ├── power_system.yaml  # power_system 内置结构种子与用途声明
            │   ├── reference_work.yaml  # reference_work 内置结构种子与用途声明
            │   ├── scene.yaml  # scene 内置结构种子与用途声明
            │   ├── scene_pattern.yaml  # scene_pattern 内置结构种子与用途声明
            │   ├── style.yaml  # style 内置结构种子与用途声明
            │   ├── trope.yaml  # trope 内置结构种子与用途声明
            │   ├── work_core.yaml  # work_core 内置结构种子与用途声明
            │   ├── world.yaml  # world 内置结构种子与用途声明
            │   └── 公共字段.yaml  # 共享内容属性及受保护骨架的元描述
            ├── 变更影响.py  # 兼容分类、受影响实例及升级要求
            ├── 字段投影.py  # 展示、编辑、检索、导出和 AI 用途
            ├── 字段校验.py  # 类型、必填、枚举、嵌套和引用结构
            ├── 存储.py  # 元数据所属记录的 SQL 与版本读写
            ├── 扩展合成.py  # 基础结构和只增不改的作品扩展
            ├── 接口.py  # 元数据公开用例和可导入合同
            ├── 模型.py  # 元数据稳定对象、外壳及内部状态
            ├── 类型登记.py  # 类型、粒度、业务归属和生命周期族
            └── 结构版本.py  # 不可变结构发布、启用及固定读取

逐文件合同

src/muse/元数据/接口.py

  • 归属与种类:S04;源码。
  • 意图:让调用方通过稳定用例操作元数据,隐藏模块内部组织。
  • 职责:元数据公开用例和可导入合同。
  • 边界:唯一跨模块表面;导出输入输出合同,不暴露私有 SQL 或任意处理器。
  • 目标:HTTP、CLI 和编排对相同用例得到一致验证、失败与结果。
  • 合同依据:业务公开接口。

src/muse/元数据/模型.py

  • 归属与种类:S04;源码。
  • 意图:把元数据的稳定数据骨架与执行实现分开。
  • 职责:元数据稳定对象、外壳及内部状态。
  • 边界:纯模型和状态合同;不联网或写库,不把题材属性写死为类字段。
  • 目标:稳定外壳可校验,动态内容携带结构绑定并在所属校验链验证。
  • 合同依据:稳定模型。

src/muse/元数据/存储.py

  • 归属与种类:S04;源码。
  • 意图:将元数据的数据访问与版本写入局限在本模块。
  • 职责:元数据所属记录的 SQL 与版本读写。
  • 边界:只操作本模块记录并使用调用方事务;不跨 owner 写表或调用模型。
  • 目标:版本读写及回滚可验证,不产生第二个独立事务结果。
  • 合同依据:模块存储。

src/muse/元数据/类型登记.py

  • 归属与种类:S04;源码。
  • 意图:支持新内容类型而不复制生命周期实现。
  • 职责:类型、粒度、业务归属和生命周期族。
  • 边界:只选择已登记实例族;类型不能指定任意模块、表或执行代码。
  • 目标:新类型可进入同一编辑、抽取、确认、查询和导出链。
  • 合同依据:专属业务职责。

src/muse/元数据/结构版本.py

src/muse/元数据/扩展合成.py

  • 归属与种类:S04;源码。
  • 意图:让作品增加题材属性而不破坏基础结构。
  • 职责:基础结构和只增不改的作品扩展。
  • 边界:按固定版本只增不改;不覆盖系统字段和基础权限。
  • 目标:有效结构与哈希可重复生成,冲突扩展被拒绝。
  • 合同依据:专属业务职责。

src/muse/元数据/字段校验.py

src/muse/元数据/字段投影.py

src/muse/元数据/变更影响.py

  • 归属与种类:S04;源码。
  • 意图:在结构升级前识别不兼容数据和消费方。
  • 职责:兼容分类、受影响实例及升级要求。
  • 边界:分析结构与实例引用的影响;不自动填造新事实或改值。
  • 目标:新增必填、更改类型和撤回用途有明确受影响对象。
  • 合同依据:专属业务职责。

src/muse/元数据/内置导入.py

  • 归属与种类:S04;源码。
  • 意图:提供可重复安装的结构种子而不覆盖作者配置。
  • 职责:内置种子幂等登记,保护已存在绑定和扩展。
  • 边界:幂等登记固定种子版本;不在启动时自动激活新定义。
  • 目标:重复导入不重复版本,已有绑定和扩展保持可核对。
  • 合同依据:专属业务职责。
  • 非测试旧文件承接:muse/authority/evidence/skills/访问数据库/scripts/seed_schemas.py。

src/muse/元数据/内置结构/novel_work.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 novel_work 结构的可审发布输入。
  • 职责:novel_work 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/novel_work.yaml。

src/muse/元数据/内置结构/chapter.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 chapter 结构的可审发布输入。
  • 职责:chapter 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/chapter.yaml。

src/muse/元数据/内置结构/scene.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 scene 结构的可审发布输入。
  • 职责:scene 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/scene.yaml。

src/muse/元数据/内置结构/work_core.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 work_core 结构的可审发布输入。
  • 职责:work_core 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/work_core.yaml。

src/muse/元数据/内置结构/outline.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 outline 结构的可审发布输入。
  • 职责:outline 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/outline.yaml。

src/muse/元数据/内置结构/narrative_state.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 narrative_state 结构的可审发布输入。
  • 职责:narrative_state 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/narrative_state.yaml。

src/muse/元数据/内置结构/world.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 world 结构的可审发布输入。
  • 职责:world 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/world.yaml。

src/muse/元数据/内置结构/location.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 location 结构的可审发布输入。
  • 职责:location 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/location.yaml。

src/muse/元数据/内置结构/faction.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 faction 结构的可审发布输入。
  • 职责:faction 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/faction.yaml。

src/muse/元数据/内置结构/power_system.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 power_system 结构的可审发布输入。
  • 职责:power_system 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/power_system.yaml。

src/muse/元数据/内置结构/item.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 item 结构的可审发布输入。
  • 职责:item 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/item.yaml。

src/muse/元数据/内置结构/event.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 event 结构的可审发布输入。
  • 职责:event 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/event.yaml。

src/muse/元数据/内置结构/character.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 character 结构的可审发布输入。
  • 职责:character 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/character.yaml。

src/muse/元数据/内置结构/character_relation.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 character_relation 结构的可审发布输入。
  • 职责:character_relation 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/character_relation.yaml。

src/muse/元数据/内置结构/style.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 style 结构的可审发布输入。
  • 职责:style 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/style.yaml。

src/muse/元数据/内置结构/pacing.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 pacing 结构的可审发布输入。
  • 职责:pacing 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/pacing.yaml。

src/muse/元数据/内置结构/craft.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 craft 结构的可审发布输入。
  • 职责:craft 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/craft.yaml。

src/muse/元数据/内置结构/combat.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 combat 结构的可审发布输入。
  • 职责:combat 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/combat.yaml。

src/muse/元数据/内置结构/emotion.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 emotion 结构的可审发布输入。
  • 职责:emotion 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/emotion.yaml。

src/muse/元数据/内置结构/scene_pattern.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 scene_pattern 结构的可审发布输入。
  • 职责:scene_pattern 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/scene_pattern.yaml。

src/muse/元数据/内置结构/trope.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 trope 结构的可审发布输入。
  • 职责:trope 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/trope.yaml。

src/muse/元数据/内置结构/reference_work.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 reference_work 结构的可审发布输入。
  • 职责:reference_work 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/reference_work.yaml。

src/muse/元数据/内置结构/generation_context.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 generation_context 结构的可审发布输入。
  • 职责:generation_context 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/generation_context.yaml。

src/muse/元数据/内置结构/fine_outline.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 fine_outline 结构的可审发布输入。
  • 职责:fine_outline 内置结构种子与用途声明。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。
  • 非测试旧文件承接:muse/content/meta/schemas/fine_outline.yaml。

src/muse/元数据/内置结构/公共字段.yaml

  • 归属与种类:S04;运行资源。
  • 意图:保存 公共字段 结构的可审发布输入。
  • 职责:共享内容属性及受保护骨架的元描述。
  • 边界:种子不是当前库内生效定义;不覆盖作者扩展,不用元数据改系统身份。
  • 目标:字段、别名、用途与结构版本可导入核对,旧实例仍可解释。
  • 合同依据:结构种子。

src/muse/元数据/__init__.py

  • 归属与种类:工程;源码。
  • 意图:明确安装包和模块的导入身份。
  • 职责:Python 包身份。
  • 边界:只声明包及必要公开导出;不读取运行数据、连接网络或启动任务。
  • 目标:正常安装后可从任意 cwd 导入,导入无运行副作用。
  • 合同依据:Python 包身份。