zizi f76c3cd04a docs(架构): 归档R2历史留痕并清理过程计划与实施分期标签
- 归档并收敛 R2 历史留痕至 docs/实现回顾/R2改造历史留痕.md,删除已退出生命周期的改造计划、旧文件处置及验证过程文档
- 现行测试用例身份收敛至 tests/用例清单.json(1358条扁平登记),适配 conftest、索引维护与测试执行验证
- 清理源码、配置、SQL迁移头、测试夹具及规则文档中的 Wxx 实施分期标签与过时过程描述
- 同步重新打包构建资源清单,通过全量离线测试、模块边界、类型检查与索引双向强核验
2026-09-16 19:09:14 +08:00

161 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 后端-B02-故事世界:文件合同
本页从[目标文件清单](../目标文件清单.json)投影,共 12 个目标条目。测试身份与行为合同在现行用例清单;文件和目标合同不代表实现或验收已完成。
[返回目录](目录.md) · [完整项目树](../项目目录与文件职责.md) · [现行用例清单](../../../../tests/用例清单.json)
## 本部分文件树
```text
agent-example/
└── src/
└── muse/
└── 故事世界/
├── __init__.py # Python 包身份
├── 世界设定.py # 地点、物品、组织、规则及代价
├── 事实提案.py # 抽取增量、真实引用校验及确认参与者
├── 人物关系.py # 人物、关系、弧线、视角与说话特征
├── 存储.py # 故事世界所属记录的 SQL 与版本读写
├── 接口.py # 故事世界公开用例和可导入合同
├── 提示词/
│ └── 抽取章节事实.md # 按有效结构抽取事实提案
├── 时点查询.py # 叙事时点、读者和角色知情范围
├── 来源有效性.py # 当前证据有效性与复核需求
├── 模型.py # 故事世界稳定对象、外壳及内部状态
├── 设定修订.py # 动态实例保存、版本与影响
└── 连续性.py # 事件、动态状态、因果、伏笔与承诺
```
## 逐文件合同
<a id="file-8ef889bf8a920e9d"></a>
### `src/muse/故事世界/接口.py`
- 归属与种类:B02;源码。
- 意图:让调用方通过稳定用例操作故事世界,隐藏模块内部组织。
- 职责:故事世界公开用例和可导入合同。
- 边界:唯一跨模块表面;导出输入输出合同,不暴露私有 SQL 或任意处理器。
- 目标:HTTP、CLI 和编排对相同用例得到一致验证、失败与结果。
- 合同依据:业务公开接口。
<a id="file-8ef6d48d7f885e75"></a>
### `src/muse/故事世界/模型.py`
- 归属与种类:B02;源码。
- 意图:把故事世界的稳定数据骨架与执行实现分开。
- 职责:故事世界稳定对象、外壳及内部状态。
- 边界:纯模型和状态合同;不联网或写库,不把题材属性写死为类字段。
- 目标:稳定外壳可校验,动态内容携带结构绑定并在所属校验链验证。
- 合同依据:稳定模型。
<a id="file-619496ad4b96094b"></a>
### `src/muse/故事世界/存储.py`
- 归属与种类:B02;源码。
- 意图:将故事世界的数据访问与版本写入局限在本模块。
- 职责:故事世界所属记录的 SQL 与版本读写。
- 边界:只操作本模块记录并使用调用方事务;不跨 owner 写表或调用模型。
- 目标:版本读写及回滚可验证,不产生第二个独立事务结果。
- 合同依据:模块存储。
<a id="file-ecc7d0b99417c539"></a>
### `src/muse/故事世界/世界设定.py`
- 归属与种类:B02;源码。
- 意图:统一世界实体的维护,容纳不同题材。
- 职责:地点、物品、组织、规则及代价。
- 边界:只维护本书世界实例;不把资料和公共方法直接转为事实。
- 目标:沿用已登记生命周期的新类型可编辑、校验、确认和引用。
- 合同依据:专属业务职责。
<a id="file-3d828f812a49cabf"></a>
### `src/muse/故事世界/人物关系.py`
- 归属与种类:B02;源码。
- 意图:维护可演进的人物、关系、视角与弧线。
- 职责:人物、关系、弧线、视角与说话特征。
- 边界:人物属于故事世界;角色智能体配置归 S02,声音样张基线归 B06。
- 目标:人物与关系可按来源和版本追查,人物计划与已发生状态分开。
- 合同依据:专属业务职责。
<a id="file-aeb343124866f262"></a>
### `src/muse/故事世界/事实提案.py`
- 归属与种类:B02;源码。
- 意图:把抽取结果与作者确认的事实分开。
- 职责:抽取增量、真实引用校验及确认参与者。
- 边界:只按允许结构形成增量;真实引用由 B02 检查,批准包使用共同事务。
- 目标:无批准不转正,任何已批准关联增量失败都使整包回滚。
- 合同依据:专属业务职责。
<a id="file-2871108d08a23131"></a>
### `src/muse/故事世界/时点查询.py`
- 归属与种类:B02;源码。
- 意图:防止未来资料和后来确认的知识倒灌历史任务。
- 职责:叙事时点、读者和角色知情范围。
- 边界:只读指定叙事位置和系统版本内可用事实;不改变确认状态。
- 目标:读者、角色和规划的知情集合可区分并有来源。
- 合同依据:专属业务职责。
<a id="file-d5010c9b94e45410"></a>
### `src/muse/故事世界/连续性.py`
- 归属与种类:B02;源码。
- 意图:让状态、事件、因果和伏笔具有可追查关系。
- 职责:事件、动态状态、因果、伏笔与承诺。
- 边界:维护故事语义及其版本;不把模型评分当事实、不直接写正文。
- 目标:状态变化有依据,承诺的提出、推进和兑现不会混淆。
- 合同依据:专属业务职责。
<a id="file-9f0b6c78f4b11678"></a>
### `src/muse/故事世界/来源有效性.py`
- 归属与种类:B02;源码。
- 意图:在读取时阻断已失去依据的现行事实。
- 职责:当前证据有效性与复核需求。
- 边界:只判断当前依据与用途;不删除历史,不等待异步标签才失效。
- 目标:唯一依据变化立即停止当前消费,独立或其他有效依据保留。
- 合同依据:专属业务职责。
<a id="file-d26963ca0b8927ab"></a>
### `src/muse/故事世界/设定修订.py`
- 归属与种类:B02;源码。
- 意图:让作者修改设定时能评估传播影响。
- 职责:动态实例保存、版本与影响。
- 边界:只修改 B02 实例;动态值经 S04,正式变更经 S01。
- 目标:结构、数据和来源冲突可拒绝,已使用位置可定位。
- 合同依据:专属业务职责。
<a id="file-5b278ad01ea8fbbc"></a>
### `src/muse/故事世界/提示词/抽取章节事实.md`
- 归属与种类:B02;源码。
- 意图:为故事世界的“抽取章节事实”任务提供可版本化表达。
- 职责:按有效结构抽取事实提案。
- 边界:仅定义本任务提示;角色身份、字段结构、权限和预算从各自权威装配。
- 目标:模板可随发布包加载且记录哈希,不含固定作品内容或测试答案。
- 合同依据:业务提示资源。
<a id="file-9a9a8479730f6776"></a>
### `src/muse/故事世界/__init__.py`
- 归属与种类:工程;源码。
- 意图:明确安装包和模块的导入身份。
- 职责:Python 包身份。
- 边界:只声明包及必要公开导出;不读取运行数据、连接网络或启动任务。
- 目标:正常安装后可从任意 cwd 导入,导入无运行副作用。
- 合同依据:Python 包身份。