- 删除 数据库/旧库迁移 工具树、旧库迁移用例与旧库样本夹具;摘除 Makefile/pyproject/ruff/pyright 与 PYTHONPATH 引用,同步 README/AGENTS/设计文档与索引、分片工具 - 清空业务数据改按 种子表 登记过滤:未知 schema 与新增运行时表默认清空,迁移账本/索引代次单例/原文命名空间/结构种子保留;迁移新增种子表漏登记由新单测机械拦截 - 共享库复用前兜底清空,防上例强杀残留;例间只清数据不删表,个案探针表须自带 DROP TABLE IF EXISTS(规则与迁移用例同步) - 底座生命周期单测由 15 例精简为 5 例(保留清理、未封存模板、失败清理相关用例),其余 11 例随本批移除
58 KiB
58 KiB
功能覆盖矩阵
功能定义只在目标系统完整功能清单维护。下表记录 129 项功能的牵头模块、目标入口、规格和测试去向,不代表相应代码已经实现。本表保留功能—规格—测试映射,测试身份以 tests/用例清单.json 为准;映射或文件存在不能替代功能验证。
| 功能 | 名称 | 牵头模块 | 目标代码入口 | 功能规格 | 目标测试 |
|---|---|---|---|---|---|
| F01.01 | 作品定位 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_人工创作HTTP.py::test_HTTP创建作品到保存中文正文并拒绝伪身份__aa1301;tests/集成/test_作品与人工正文.py::test_创建动态作品档案经S01且同命令不重复__aa1101 |
| F01.02 | 作品档案 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_作品与人工正文.py::test_创建动态作品档案经S01且同命令不重复__aa1101;tests/集成/test_作品与人工正文.py::test_档案读取当前绑定而不沿用上次写值结构__aa1105 |
| F01.03 | 创作计划 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_规划候选与确认.py::test_人工规划候选经明确审阅后形成正式版本__ad1301;tests/集成/test_规划候选与确认.py::test_规划HTTP候选与CLI决定共享版本回执__ad1302 |
| F01.04 | 真实进度 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_正文候选与作者决定.py::test_创作进度只从真实版本候选和任务读取__aa1206 |
| F02.01 | 灵感收集 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/单元/test_探索交接与规划.py::test_私人稿保存原话且并发冲突不覆盖__ad1001;web/tests/旅程/探索草稿.spec.ts |
| F02.02 | 资料导入 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_资料导入与版本.py::test_导入去重与版本链__17a01a;tests/集成/test_资料导入与版本.py::test_证据读取与哈希校验__17a02b |
| F02.03 | 素材整理 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_资料导入与版本.py::test_清理候选对照且原文不变__17a04d;tests/单元/test_分章切窗与实体归并.py::test_切窗覆盖与无重叠__18a01a;tests/单元/test_分章切窗与实体归并.py::test_同型别名带证据合并__18a05e;tests/单元/test_分章切窗与实体归并.py::test_同名异型歧义不误并__18a04d |
| F02.04 | 资料研究 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_参考分析权威.py::test_相同输入的不同运行分别持久化完整分析__214010 |
| F02.05 | 作品拆解 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_抽取版本与补偿.py::test_批量原子登记与版本身份__18b03c;tests/集成/test_抽取版本与补偿.py::test_来源前进旧版本结论保留且新拆书指向新版本__18b05e |
| F02.06 | 榜单数据获取 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_榜单与清理.py::test_采集成功失败与观察差异__17b01e;tests/集成/test_榜单与清理.py::test_未登记榜单拒绝采集__17b02f |
| F02.07 | 榜单观察快照 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_榜单与清理.py::test_采集成功失败与观察差异__17b01e |
| F02.08 | 样本比较与选题 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/单元/test_分章切窗与实体归并.py::test_样本比较是观察陈述__18a06f |
| F02.09 | 选书交接 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_参考分析权威.py::test_相同输入的不同运行分别持久化完整分析__214010 |
| F02.10 | 拆书任务控制 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_抽取版本与补偿.py::test_失败窗口断点续跑只补缺失窗__18b04d;tests/集成/test_同作品抽取互斥.py::test_失败任务释放范围可重建__18b02b |
| F02.11 | 原文与分析对照 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | web/tests/旅程/资料对照.spec.ts;tests/集成/test_资料导入与版本.py::test_证据读取与哈希校验__17a02b |
| F02.12 | 分析版本管理 | B03 资料研究 | src/muse/资料研究/接口.py | P03-资料研究与方法复用 | tests/集成/test_抽取版本与补偿.py::test_来源前进旧版本结论保留且新拆书指向新版本__18b05e;tests/集成/test_资料导入与版本.py::test_导入去重与版本链__17a01a |
| F03.01 | 从局部开始 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/单元/test_探索交接与规划.py::test_局部展开的最终稿不设编号和篇幅门__61c0a6;tests/单元/test_探索交接与规划.py::test_不同探索稿可展开不同子集__8eed6e |
| F03.02 | 逐步发展 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/单元/test_探索交接与规划.py::test_探索不先查最终格式且检查不产生正式内容__ad1002 |
| F03.03 | 局部比较 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/单元/test_探索交接与规划.py::test_不同探索稿可展开不同子集__8eed6e |
| F03.04 | 决策记忆 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/单元/test_探索交接与规划.py::test_选定输入不能自报确认时间或缺失稿件__ad1004;tests/集成/test_探索选定与规划.py::test_不同方向同时交接只推进一个选定版本__ad1203 |
| F03.05 | 正式交接 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_探索选定与规划.py::test_选定稿冻结来源且重复请求回原回执__ad1201;tests/集成/test_探索选定与规划.py::test_作者实际选定经HTTP与CLI回查来源__bfcbc2;tests/集成/test_探索选定与规划.py::test_选定失败完整回滚且私人稿保留__ad1202 |
| F04.01 | 世界资料 | B02 故事世界 | src/muse/故事世界/接口.py | P08-元数据扩展与结构升级 | tests/集成/test_世界实体表单.py::test_新类型经真实浏览器保存确认刷新再编辑__29e104;tests/集成/test_世界实体表单.py::test_实体保存HTTP接收完整具名载荷且只建立候选__29e103 |
| F04.02 | 规则与代价 | B02 故事世界 | src/muse/故事世界/接口.py | P08-元数据扩展与结构升级 | tests/单元/test_规则节奏与伏笔.py::test_规则卡校验重复例外条件与读回__cb8b0c、tests/单元/test_规则节奏与伏笔.py::test_规则卡空批与坏类别精确失败__4f0cda、tests/单元/test_规则节奏与伏笔.py::test_规则卡内容经实体提案形状保存__365f8a |
| F04.03 | 实体关联 | B02 故事世界 | src/muse/故事世界/接口.py | P08-元数据扩展与结构升级 | tests/集成/test_世界维护与影响.py::test_关系端点解析为本书对象__19b02f;tests/集成/test_故事事实确认与时点.py::test_关系端点和正文引文必须真实__ac1008;tests/集成/test_故事事实确认与时点.py::test_关系确认同时保护端点的正文依据__ac1009 |
| F04.04 | 设定修订 | B02 故事世界 | src/muse/故事世界/接口.py | P08-元数据扩展与结构升级 | tests/集成/test_世界维护与影响.py::test_修订影响只标记不撤回独立确认__19a03c;tests/集成/test_世界维护与影响.py::test_实体轨迹版本追查与旧版本保留__19a02b;tests/集成/test_世界维护与影响.py::test_章序变化影响列出叙事位置事实__19a04d |
| F04.05 | 设定使用追踪 | B02 故事世界 | src/muse/故事世界/接口.py | P08-元数据扩展与结构升级 | tests/集成/test_世界维护与影响.py::test_实体轨迹版本追查与旧版本保留__19a02b;tests/集成/test_世界维护与影响.py::test_章序变化影响列出叙事位置事实__19a04d |
| F05.01 | 人物建构 | B02 故事世界 | src/muse/故事世界/接口.py | P01-作品创建与连续写作 | tests/集成/test_世界实体表单.py::test_动态类型实际投影到提案审阅确认及编辑__29e101;tests/集成/test_世界实体表单.py::test_跨作品实体表单及旧投影写入拒绝__29e102 |
| F05.02 | 关系发展 | B02 故事世界 | src/muse/故事世界/接口.py | P01-作品创建与连续写作 | tests/集成/test_世界维护与影响.py::test_关系端点解析为本书对象__19b02f;tests/集成/test_故事事实确认与时点.py::test_关系端点和正文引文必须真实__ac1008 |
| F05.03 | 人物弧线 | B02 故事世界 | src/muse/故事世界/接口.py | P01-作品创建与连续写作 | tests/集成/test_世界维护与影响.py::test_人物弧线计划与已发生分开__19b01e |
| F05.04 | 人物声音 | B02 故事世界 | src/muse/故事世界/接口.py | P01-作品创建与连续写作 | tests/集成/test_审校报告与案例持久化.py::test_声音缺依据或重复人物归属不能创建提案__22c002;tests/集成/test_审校报告与案例持久化.py::test_声音提案口癖必须来自真实样张__ab52c9;tests/集成/test_审校报告与案例持久化.py::test_声音保护表达必须来自真实样张__30b543 |
| F05.05 | 视角设计 | B02 故事世界 | src/muse/故事世界/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文投影读取.py::test_时点事实按冻结系统版本与视角收窄返回__b09203 |
| F06.01 | 全书结构 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_规划候选与确认.py::test_同一目录承接卷章场景且移动保持身份__ad1310;tests/集成/test_规划候选与确认.py::test_卷章场景采用动态结构且章入口共用身份__ad1311 |
| F06.02 | 多层规划 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/单元/test_探索交接与规划.py::test_细纲技能引用结构为字段权威__aaae60;tests/单元/test_探索交接与规划.py::test_细纲必填字段齐全且缺一拒绝__759215;tests/单元/test_探索交接与规划.py::test_细纲推荐字段缺失不拦类型错误拒__0766da |
| F06.03 | 章节任务 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_规划候选与确认.py::test_细纲两种实体形式都核对真实本书引用__ad1305;tests/集成/test_两阶段写手.py::test_任意合法章位生成模型候选并落独立检查报告__b41e29 |
| F06.04 | 场景设计 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/单元/test_探索交接与规划.py::test_空节和裸占位拒绝而明确未知允许__64d9e4;tests/单元/test_探索交接与规划.py::test_最终稿缺标题或标题过深拒绝__1d35b4 |
| F06.05 | 节奏安排 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/单元/test_规则节奏与伏笔.py::test_节奏标注校验非法类别与缺失标注__cd21a9、tests/单元/test_规则节奏与伏笔.py::test_节奏分布对照题材档位列偏差__fc17cf、tests/单元/test_规则节奏与伏笔.py::test_题材档位自定义调整与非法区间__a1b1ec |
| F06.06 | 规划调整 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_规划候选与确认.py::test_规划候选编辑追加版本且旧审阅失效__ad1306;tests/集成/test_规划候选与确认.py::test_陈旧规划审阅不能覆盖新版本但可重新拒绝__ad1303 |
| F06.07 | 滚动细化 | B01 作品规划 | src/muse/作品规划/接口.py | P01-作品创建与连续写作 | tests/集成/test_规划候选与确认.py::test_规划关联按类型归属解析且不构成依据环__ad1307;tests/集成/test_规划候选与确认.py::test_细纲必需字段撤回用途后不能用于写作__ad1308 |
| F07.01 | 截至某章的事实 | B02 故事世界 | src/muse/故事世界/接口.py | P05-章后处理与事实复核 | tests/集成/test_故事事实确认与时点.py::test_叙事时点与系统确认截止分开__ac1002;tests/集成/test_故事事实确认与时点.py::test_后文披露早期事件和角色猜测分别查询__ac1003 |
| F07.02 | 人物动态状态 | B02 故事世界 | src/muse/故事世界/接口.py | P05-章后处理与事实复核 | tests/集成/test_故事事实确认与时点.py::test_角色获知时点独立于事件生效__ac1015;tests/集成/test_故事事实确认与时点.py::test_历史事实按保存结构解释并应用当前策略__ac1014 |
| F07.03 | 时间与因果 | B02 故事世界 | src/muse/故事世界/接口.py | P05-章后处理与事实复核 | tests/集成/test_故事事实确认与时点.py::test_叙事时点与系统确认截止分开__ac1002;tests/单元/test_事实时点与有效性.py::test_each_delta_type_has_working_contract__d0e17d |
| F07.04 | 伏笔与承诺 | B02 故事世界 | src/muse/故事世界/接口.py | P05-章后处理与事实复核 | tests/单元/test_规则节奏与伏笔.py::test_伏笔登记校验种类ID章节与窗口__c03dfd、tests/单元/test_规则节奏与伏笔.py::test_伏笔状态机拒绝非法转移与过早推进__325b88、tests/单元/test_规则节奏与伏笔.py::test_伏笔总览分组并标逾期未兑现__0ff84c |
| F07.05 | 章后状态增量 | B02 故事世界 | src/muse/故事世界/接口.py | P05-章后处理与事实复核 | tests/集成/test_章后失败与重建.py::test_两作品各连续两章派生确认事实并按时点消费__16c01a;tests/集成/test_章后失败与重建.py::test_抽取失败后正文可用且恢复重试完成__16c02b;tests/集成/test_章后失败与重建.py::test_编辑后旧版本派生被拒绝且按新版本重建__16c03c |
| F07.06 | 连续性纠错 | B02 故事世界 | src/muse/故事世界/接口.py | P05-章后处理与事实复核 | tests/集成/test_完整文学审校.py::test_正文漂移不改历史报告但标当前失效且隔离作者__227004;tests/集成/test_世界维护与影响.py::test_章序变化影响列出叙事位置事实__19a04d |
| F08.01 | 本次写作准备 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文投影读取.py::test_目标章不在截止之后紧邻或无细纲拒绝授权__b09206;tests/单元/test_上下文范围与预算.py::test_必读优先且可选按原顺序整项加入__1c4a9e |
| F08.02 | 历史证据检索 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文历史正文.py::test_历史正文经真实任务读取留痕并进入材料预算__b09101;tests/集成/test_上下文历史正文.py::test_正文工具按原文码点返回片段与用途__b09102 |
| F08.03 | 写法与样例选取 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/单元/test_声音与规则合同.py::test_额外样例只从已确认案例投影__6b7751;tests/单元/test_方法检索空结果.py::test_无命中检索保留明确原因和索引身份__e0a672 |
| F08.04 | 优先级与预算 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/单元/test_上下文范围与预算.py::test_必读整体超预算拒绝__c9e51f;tests/单元/test_上下文范围与预算.py::test_可选空白与超预算分别给出省略原因__4f8ab2;tests/单元/test_上下文范围与预算.py::test_中文与emoji按utf8字节计数含分隔符__5d1c47 |
| F08.05 | 时间与状态边界 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文投影读取.py::test_时点事实按冻结系统版本与视角收窄返回__b09203;tests/集成/test_上下文投影读取.py::test_细纲或事实漂移后拒绝沿用原任务__b09204 |
| F08.06 | 上下文留档 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文快照消费.py::test_完整链路冻结回读一致且任务可追溯__b09311;tests/集成/test_上下文快照消费.py::test_装配输入变化产生新快照且不改写旧快照__b09313;tests/单元/test_上下文快照哈希.py::test_同载荷同哈希且键序无关__b09301 |
| F08.07 | 混合检索 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文投影读取.py::test_细纲与事实经真实任务读取留痕并进入预算__b09201;tests/单元/test_方法版本与绑定.py::test_rrf融合两路排名__20a03c |
| F09.01 | 多粒度写作 | B05 正文写作 | src/muse/正文写作/接口.py | P02-选段修订与回退 | tests/集成/test_两阶段写手.py::test_任意合法章位生成模型候选并落独立检查报告__b41e29;tests/集成/test_通用选段改写.py::test_四类改写只重放确切选段并保留空白样式与保护区__235001 |
| F09.02 | 创作空间 | B05 正文写作 | src/muse/正文写作/接口.py | P02-选段修订与回退 | tests/集成/test_受控修订候选.py::test_伪发现和越范围修订不产生候选__231002;tests/集成/test_通用选段改写.py::test_失效或受保护选段发起前拒绝且不留任务__235002 |
| F09.03 | 写作协作 | B05 正文写作 | src/muse/正文写作/接口.py | P02-选段修订与回退 | tests/集成/test_正文候选与作者决定.py::test_候选部分选择追加版本重新审阅且采纳同一回执__aa1201;tests/集成/test_正文候选与作者决定.py::test_网页创建审阅暂缓再由CLI按同版本采纳__aa1205;tests/单元/test_分支三方合并.py::test_部分选择只合并该项且目标独立修改保持__233001 |
| F09.04 | 流式与中断 | B05 正文写作 | src/muse/正文写作/接口.py | P02-选段修订与回退 | tests/集成/test_两阶段写手.py::test_无终态断流可定位且重开后任务与事件仍可找回__e6f317;tests/集成/test_两阶段写手.py::test_必需检查失败不能采纳且保留失败候选证据__d52a8e |
| F09.05 | 分阶段生成 | B05 正文写作 | src/muse/正文写作/接口.py | P02-选段修订与回退 | tests/集成/test_两阶段写手.py::test_任意合法章位生成模型候选并落独立检查报告__b41e29;tests/集成/test_两阶段写手.py::test_跨作品与无细纲章位拒绝发起__c73d0f;tests/集成/test_持久返修会话.py::test_首轮关联真实任务候选且没有作者重试不创建下一轮__236001 |
| F09.06 | 范围保护 | B05 正文写作 | src/muse/正文写作/接口.py | P02-选段修订与回退 | tests/集成/test_通用选段改写.py::test_失效或受保护选段发起前拒绝且不留任务__235002;tests/集成/test_通用选段改写.py::test_四类改写只重放确切选段并保留空白样式与保护区__235001;tests/单元/test_修订保真与停止.py::test_未经批准的范围外变化失败__230007 |
| F09.07 | 稿件保存与编辑保真 | B05 正文写作 | src/muse/正文写作/接口.py | P02-选段修订与回退 | tests/集成/test_作品与人工正文.py::test_人工正文保存重开与回退保留中文和历史__aa1103;tests/集成/test_作品与人工正文.py::test_大段中文引号换行与反斜杠经CLI和PG往返__125b0c;tests/单元/test_修订保真与停止.py::test_重复原句依段落身份定位且范围外格式保持__230001 |
| F10.01 | 基础有效性 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/单元/test_审校覆盖.py::test_核心覆盖全部码点且上下文不重复计数__22a001;tests/单元/test_审校覆盖.py::test_旧依据与坏片段不能构造完整覆盖__22a002 |
| F10.02 | 连续性审查 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/集成/test_完整文学审校.py::test_全文零命中仍有真实版本化报告和逐片证据__227001;tests/集成/test_完整文学审校.py::test_正文漂移不改历史报告但标当前失效且隔离作者__227004 |
| F10.03 | 创作质量审读 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/集成/test_完整文学审校.py::test_审校真实方法消费绑定逐片调用且预算省略不消费__229005;tests/集成/test_完整文学审校.py::test_候选全文审校不先采纳且修改后旧报告过期__229006 |
| F10.04 | 具名问题单 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/集成/test_完整文学审校.py::test_后片坏引文失败仍展示前片和未审尾部__227002;tests/集成/test_审校报告与案例持久化.py::test_全文报告由实际逐片回执持久化并经CLI原样读回__22c005 |
| F10.05 | 返修追踪 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/集成/test_持久返修会话.py::test_首轮关联真实任务候选且没有作者重试不创建下一轮__236001;tests/集成/test_持久返修会话.py::test_达到上限后停止且不能以新命令重试__236006;tests/集成/test_返修会话接入.py::test_作者HTTP创建返修与CLI读回选择重放同一会话__236011 |
| F10.06 | 检查边界 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/单元/test_审校覆盖.py::test_分片参数显式有界且不吞原文__22a003;tests/端到端/test_诊断入口与只读边界.py::test_真实服务观察报告读回及正文不变__241005 |
| F11.01 | 建立声音基线 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/单元/test_声音与规则合同.py::test_声音画像保持确定性__3bba02;tests/单元/test_声音与规则合同.py::test_声音草案公开采样规模和未知项__5efcd5;tests/单元/test_声音与规则合同.py::test_完整声音候选经合同通过可提供确认__f1f4ce |
| F11.02 | 写前预防 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/端到端/test_改进验证与版本启用.py::test_预防材料装配完成只留观察不自动启用__f30e89;tests/集成/test_写手声音消费.py::test_实际写作请求含真实声音及版本且不能错放材料__22d001 |
| F11.03 | 精确诊断 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/单元/test_机器味诊断合同.py::test_候选预览全文对白与有意表达不误判__228003;tests/单元/test_机器味诊断合同.py::test_指纹覆盖所有内容而非只看版本号__228005;tests/集成/test_规则库与诊断.py::test_正式零命中与候选预览真实报告及过期__229002 |
| F11.04 | 功能判断 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/单元/test_声音与规则合同.py::test_情态与新增时间数字不能通过保真门__dbe298;tests/单元/test_声音与规则合同.py::test_无确认声音不能变成文学通过__ccc984 |
| F11.05 | 最小编辑 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/集成/test_通用选段改写.py::test_四类改写只重放确切选段并保留空白样式与保护区__235001;tests/单元/test_修订保真与停止.py::test_非删除替换不能悄悄丢数值时间情态或新增引文__230009 |
| F11.06 | 改后保真 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/单元/test_修订保真与停止.py::test_未经批准的范围外变化失败__230007;tests/单元/test_修订保真与停止.py::test_数字时间情态引文变化不能用润色掩盖__230004;tests/单元/test_修订保真与停止.py::test_全局数字守恒也不能抵消逐选段篡改__230005 |
| F11.07 | 停止与回退 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/单元/test_修订保真与停止.py::test_停止条件不由质量分数抵消__230008;tests/集成/test_持久返修会话.py::test_硬门失败关闭并保留真实拒绝结果__236009 |
| F11.08 | 案例回流 | B06 审校修订 | src/muse/审校修订/接口.py | P04-声音诊断与受控修订 | tests/集成/test_案例采集与复核.py::test_四类跨书确认案例才能提出可追溯候选__240009;tests/集成/test_案例采集与复核.py::test_确认需真实审阅且撤回不改历史__240005;tests/端到端/test_改进验证与版本启用.py::test_机器味案例批次落库保留64位运行身份__3b729b |
| F12.01 | 全书回看 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_全书回看与跨章修订.py::test_全书跨章候选原子保存且单章采纳不批准其他章__27c001 |
| F12.02 | 跨章修订 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_全书回看与跨章修订.py::test_全书跨章候选原子保存且单章采纳不批准其他章__27c001;tests/集成/test_全书回看与跨章修订.py::test_末章依据不符不留下前章候选且例外不能跨版本沿用__27c002 |
| F12.03 | 文字校对 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/单元/test_修订保真与停止.py::test_非删除替换不能悄悄丢数值时间情态或新增引文__230009;tests/单元/test_交付格式.py::test_同一清单哈希不能掩盖成品顺序缺章段落或材料变化__27d004;tests/单元/test_交付格式.py::test_EPUB真实mimetype包关系目录与spine一致__27d010 |
| F12.04 | 定稿版本 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_定稿与导出.py::test_完整目录冻结后编辑不改变原定稿且重放唯一__27a001;tests/集成/test_定稿与导出.py::test_明确历史选择仍保护当前指针且不同作者拒绝__27a002 |
| F12.05 | 文稿输出 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/单元/test_交付格式.py::test_四格式可见正文重读保留段落与Unicode__27d001;tests/单元/test_交付格式.py::test_DOCX真实页面与文本节点满足阅读结构__27d009;tests/单元/test_交付格式.py::test_EPUB真实mimetype包关系目录与spine一致__27d010 |
| F12.06 | 交付材料 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_定稿与导出.py::test_真实任务四格式导出不修改正文且恢复不重发已存格式__27a003;tests/集成/test_交付作者入口.py::test_CLI仓外定稿与HTTP导出推进下载真实文件__27e001 |
| F13.01 | 连载计划 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_连载与版本反馈.py::test_计划日期不充当发布且前置章需要实际证据__27b001 |
| F13.02 | 发布版本对应 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_连载与版本反馈.py::test_修订发布产生新记录而旧反馈仍指向原稿__27b003 |
| F13.03 | 反馈归集 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_连载与版本反馈.py::test_HTTP从全书回看定稿到发布反馈真实读回__27b004;tests/集成/test_作者偏好与反馈.py::test_反馈保留确切原版本且不能冒充候选采纳__26a001 |
| F13.04 | 反馈辨析 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_连载与版本反馈.py::test_反馈未关联不猜近期版本且调整只形成请求__27b002 |
| F13.05 | 调整与复盘 | B08 交付连载 | src/muse/交付连载/接口.py | P07-定稿交付与恢复 | tests/集成/test_连载与版本反馈.py::test_反馈未关联不猜近期版本且调整只形成请求__27b002;tests/集成/test_作者长期观察.py::test_不同改进版本的长期观察不混算也不启用目标__26d002 |
| F14.01 | 候选与正式内容分离 | S01 正式变更 | src/muse/正式变更/接口.py | P02-选段修订与回退 | tests/集成/test_幂等与审阅版本.py::test_同命令重放同回执且章后任务不重复__16b011;tests/集成/test_正式变更事务.py::test_审阅不是批准且提交回执幂等__a91001 |
| F14.02 | 多种决策动作 | S01 正式变更 | src/muse/正式变更/接口.py | P02-选段修订与回退 | tests/集成/test_正式变更事务.py::test_检查未过仍可拒绝或暂缓且不改正文__a91005;tests/集成/test_正文候选与作者决定.py::test_正文改变阻止采纳但作者仍可拒绝陈旧候选__aa1202 |
| F14.03 | 分别确认 | S01 正式变更 | src/muse/正式变更/接口.py | P02-选段修订与回退 | tests/端到端/test_改进验证与版本启用.py::test_接受正文候选只留决定反馈不自动登记胜例__9fc9e5;tests/集成/test_作者偏好与反馈.py::test_审阅后偏好变化拒绝旧批准和旧修改__26a004 |
| F14.04 | 版本与差异 | S01 正式变更 | src/muse/正式变更/接口.py | P02-选段修订与回退 | tests/集成/test_候选状态与并发.py::test_正文编辑后旧候选采纳拒绝但明确弃用允许__16d024;tests/集成/test_候选状态与并发.py::test_并发采纳唯一成功且正文版本唯一__16d035 |
| F14.05 | 陈旧结果隔离 | S01 正式变更 | src/muse/正式变更/接口.py | P02-选段修订与回退 | tests/集成/test_候选状态与并发.py::test_候选哈希不匹配采纳拒绝__16d013;tests/集成/test_正式变更事务.py::test_来源改变拒绝旧审阅且零业务写入__a91004 |
| F14.06 | 修改影响追踪 | S01 正式变更 | src/muse/正式变更/接口.py | P02-选段修订与回退 | tests/集成/test_正式变更事务.py::test_预览返回具体影响而不记录批准或写入__a91008;tests/集成/test_世界维护与影响.py::test_修订影响只标记不撤回独立确认__19a03c |
| F15.01 | 输入记录 | S02 任务运行 | src/muse/任务运行/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文快照消费.py::test_完整链路冻结回读一致且任务可追溯__b09311;tests/集成/test_受控模型调用.py::test_同尝试两个相同回复各自保留调用证据__a62005 |
| F15.02 | 执行记录 | S02 任务运行 | src/muse/任务运行/接口.py | P01-作品创建与连续写作 | tests/集成/test_受控模型调用.py::test_受控模型流同时保存终态证据费用且拒绝重发__a62001;tests/集成/test_受控模型调用.py::test_有限角色会话贯通真实工具与逐回合账本__a62006 |
| F15.03 | 产物记录 | S02 任务运行 | src/muse/任务运行/接口.py | P01-作品创建与连续写作 | tests/集成/test_两阶段写手.py::test_任意合法章位生成模型候选并落独立检查报告__b41e29;tests/集成/test_受控模型调用.py::test_临时模型原文遵守租约且普通证据不保留字节__a82110 |
| F15.04 | 内容追源 | B09 上下文 | src/muse/上下文/接口.py | P01-作品创建与连续写作 | tests/集成/test_运行观察与来源.py::test_运行观察保留身份原话背景并拒绝非法输入__15c187;tests/集成/test_运行观察与来源.py::test_实际冻结步骤留具名观察不冒充模型消费__ee1c05;tests/集成/test_运行观察与来源.py::test_拆书具名观察读取B03真实分析而非自造run标签__ee5f4f |
| F15.05 | 审计视图 | S02 任务运行 | src/muse/任务运行/接口.py | P01-作品创建与连续写作 | tests/集成/test_运行观察接入.py::test_真实CLI及HTTP按原任务用途保存观察且读取不重发__26e101;tests/集成/test_运行观察接入.py::test_任务页真实执行观察保存刷新且运行本身不变__26e102;tests/集成/test_系统管理与版本保护.py::test_交付跨作品引用数据库拒绝且任务盘点按用途隔离__28b004 |
| F15.06 | 可重查与回放 | S02 任务运行 | src/muse/任务运行/接口.py | P01-作品创建与连续写作 | tests/集成/test_上下文回放与复检.py::test_回放与首读逐项一致且不再留痕__b7e0c1;tests/集成/test_上下文回放与复检.py::test_核对依赖输出锁定依据与变化项__b7e0c5;tests/集成/test_任务租约与恢复.py::test_未知调用先对账并复用可靠输出__a51006 |
| F16.01 | 任务状态 | S02 任务运行 | src/muse/任务运行/接口.py | P05-章后处理与事实复核 | tests/集成/test_任务租约与恢复.py::test_任务列表按作者作品及用途隔离__a5100c;tests/集成/test_任务租约与恢复.py::test_任务步骤按冻结流程顺序显示__a5100d;tests/集成/test_任务租约与恢复.py::test_失败如实保留且停止领取不丢状态__a51008 |
| F16.02 | 暂停与恢复 | S02 任务运行 | src/muse/任务运行/接口.py | P05-章后处理与事实复核 | tests/集成/test_任务租约与恢复.py::test_暂停恢复重验且检查点持久保留__a51005;tests/集成/test_任务租约与恢复.py::test_执行器续租并在停止后不领取新步骤__a5100e |
| F16.03 | 重试与重复保护 | S02 任务运行 | src/muse/任务运行/接口.py | P05-章后处理与事实复核 | tests/集成/test_任务租约与恢复.py::test_未知调用先对账并复用可靠输出__a51006;tests/集成/test_任务租约与恢复.py::test_控制命令重放不重复事件且异参数拒绝__a5100b;tests/集成/test_任务租约与迟到结果.py::test_写路径运行事件可修订重跑且幂等__4f1507 |
| F16.04 | 正式内容保护 | S01 正式变更 | src/muse/正式变更/接口.py | P05-章后处理与事实复核 | tests/集成/test_正式提交原子性.py::test_章后登记失败回滚整个正文提交__16a01e;tests/集成/test_正式提交原子性.py::test_采纳候选与派生登记原子可见__16a02f |
| F16.05 | 派生数据重建 | S02 任务运行 | src/muse/任务运行/接口.py | P05-章后处理与事实复核 | tests/集成/test_章后失败与重建.py::test_编辑后旧版本派生被拒绝且按新版本重建__16c03c;tests/集成/test_章后失败与重建.py::test_重建幂等不重复事实提案__16c04d |
| F16.06 | 预算与停止条件 | S02 任务运行 | src/muse/任务运行/接口.py | P05-章后处理与事实复核 | tests/集成/test_预算预留与结算.py::test_并发预留共享窗口且不超额__a61001;tests/集成/test_预算预留与结算.py::test_未知成本跨窗口仍阻止后续调用直至对账__a61003;tests/集成/test_预算预留与结算.py::test_超单次成本先保存事实并关闭任务预算__a61006 |
| F17.01 | 分类沉淀 | B04 知识方法 | src/muse/知识方法/接口.py | P03-资料研究与方法复用 | tests/集成/test_运行观察与来源.py::test_成功运行只保存观察且不能在数据库升格__8baea0;tests/单元/test_方法版本与绑定.py::test_状态迁移表封闭__20a05e |
| F17.02 | 证据化知识卡 | B04 知识方法 | src/muse/知识方法/接口.py | P03-资料研究与方法复用 | tests/单元/test_方法版本与绑定.py::test_渲染材料含上限与反例__20a04d;tests/单元/test_方法检索空结果.py::test_无命中检索保留明确原因和索引身份__e0a672 |
| F17.03 | 双向采集 | B04 知识方法 | src/muse/知识方法/接口.py | P03-资料研究与方法复用 | tests/集成/test_运行观察与来源.py::test_成功运行只保存观察且不能在数据库升格__8baea0;tests/集成/test_参考分析权威.py::test_相同输入的不同运行分别持久化完整分析__214010 |
| F17.04 | 确认与整理 | B04 知识方法 | src/muse/知识方法/接口.py | P03-资料研究与方法复用 | tests/集成/test_案例采集与复核.py::test_确认需真实审阅且撤回不改历史__240005;tests/集成/test_受控规划方法消费.py::test_首次规划使用本书目录且不借用其他作品__20c03c |
| F17.05 | 实际消费 | B04 知识方法 | src/muse/知识方法/接口.py | P03-资料研究与方法复用 | tests/集成/test_受控规划方法消费.py::test_规划真实方法消费且只产出候选__20c01a;tests/集成/test_受控规划方法消费.py::test_初次复检后停用仍在发送事务被拦__20c05e;tests/集成/test_受控规划方法消费.py::test_交付后停用仍记历史消费但不推进候选与恢复__20c07a |
| F17.06 | 作用域与淘汰 | B04 知识方法 | src/muse/知识方法/接口.py | P03-资料研究与方法复用 | tests/集成/test_受控规划方法消费.py::test_同快照不同合法调用分别留痕且缺派发依据拒绝登记__20c08b;tests/集成/test_受控规划方法消费.py::test_错误角色配置不留孤儿规划任务__20c02b |
| F18.01 | 反馈成对保留 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/集成/test_作者偏好与反馈.py::test_反馈保留确切原版本且不能冒充候选采纳__26a001 |
| F18.02 | 偏好作用域 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/集成/test_作者偏好与反馈.py::test_显式范围冲突须点名旧版本而非自动覆盖__26a003;tests/集成/test_作者偏好与反馈.py::test_单次要求不被登记为作者长期偏好__26a006 |
| F18.03 | 改进提案 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/集成/test_规则改进与回执.py::test_固定规则验证到B06启停消费及原回执恢复__26d101;tests/集成/test_规则改进与回执.py::test_异版他作者与空反馈不产生规则改进行动__26d102;tests/集成/test_具体改进与回执.py::test_无真实反馈或异目标不能登记改进实验__26c002 |
| F18.04 | 验证后启用 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/端到端/test_改进验证与版本启用.py::test_启用改进必须精确目标与作者审阅__0f3902;tests/端到端/test_改进验证与版本启用.py::test_停用后旧凭据不能重新启用__c4f7f6;tests/集成/test_具体改进与回执.py::test_具体改进实际评测与owner回执中断恢复__26c001 |
| F18.05 | 版本与退役 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/端到端/test_改进验证与版本启用.py::test_规则激活需评审凭据且候选保持__922777;tests/集成/test_规则启用接入.py::test_规则验证真实CLI到默认HTTP审阅启停及读回__25d104 |
| F18.06 | 长期效果观察 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/集成/test_作者长期观察.py::test_观察未知指标不填零且自报不认证因果__26d001;tests/集成/test_作者长期观察.py::test_不同改进版本的长期观察不混算也不启用目标__26d002 |
| F18.07 | 偏好捕获与确认 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/集成/test_作者偏好与反馈.py::test_推断偏好待作者审阅确认且撤回保留历史__26a002;tests/集成/test_偏好实际消费.py::test_HTTP反馈到偏好审阅与撤回真实读回__26b003 |
| F18.08 | 偏好冲突与撤回 | B07 作者经验 | src/muse/作者经验/接口.py | P06-经验验证与启用 | tests/集成/test_作者偏好与反馈.py::test_审阅后偏好变化拒绝旧批准和旧修改__26a004;tests/集成/test_作者偏好与反馈.py::test_偏好及反馈拒绝异作者及评测用途__26a005 |
| F19.01 | 分层评价 | B10 效果评测 | src/muse/效果评测/接口.py | P06-经验验证与启用 | tests/单元/test_评测比较与启用判据.py::test_小均差不能掩盖最大偏差且边界严格__29fb4b;tests/单元/test_评测比较与启用判据.py::test_来源标签多不等于独立组多且桥接按连通分量合并__25e00a |
| F19.02 | 正反与边界样例 | B10 效果评测 | src/muse/效果评测/接口.py | P06-经验验证与启用 | tests/单元/test_声音与规则合同.py::test_内置规则候选逐条具备四类反向可查例证__3accff;tests/单元/test_声音与规则合同.py::test_规则缺回归例证时拒绝候选合同__de273e |
| F19.03 | 成对比较 | B10 效果评测 | src/muse/效果评测/接口.py | P06-经验验证与启用 | tests/集成/test_评测执行与失败收敛.py::test_双评委反向文本且独立任务调用无共享报告__aee3df;tests/集成/test_返修独立比较.py::test_确切返修候选只经双盲评委比较并以只读证明返回B06__239001 |
| F19.04 | 固定条件对照 | B10 效果评测 | src/muse/效果评测/接口.py | P06-经验验证与启用 | tests/集成/test_ABC正文回放.py::test_三臂实际生成只消费本臂资料且独立比较保留主AC__258001;tests/集成/test_评测执行与失败收敛.py::test_真实生成按运行表且比较依赖独立盲化表__256001 |
| F19.05 | 变更回归 | B10 效果评测 | src/muse/效果评测/接口.py | P06-经验验证与启用 | tests/集成/test_评测混淆观察.py::test_实际报告五类观察及版本均绑定原条件__25f601;tests/单元/test_评测数据集.py::test_样本顺序不改变数据集身份及封存哈希__252005 |
| F19.06 | 有用的结果指标 | B10 效果评测 | src/muse/效果评测/接口.py | P06-经验验证与启用 | tests/集成/test_评测完整报告.py::test_未知成本与未开始比较不能报告为零或平局__254002;tests/集成/test_评测完整报告.py::test_完整分母与分组失败保留且恢复计入全部费用__254001 |
| F19.07 | 评测隔离 | B10 效果评测 | src/muse/效果评测/接口.py | P06-经验验证与启用 | tests/集成/test_生产评测权限隔离.py::test_生产不能读取答案或评测数据且评测不能修改封存__251001;tests/集成/test_生产评测权限隔离.py::test_实验冻结实际配置与全分割且模型输入无答案映射__251004;tests/集成/test_任务租约与恢复.py::test_生产评测任务使用独立权限与实例__a51009 |
| F20.01 | 创作工作台 | S03 工作台与系统管理 | web/src/功能/ | P07-定稿交付与恢复 | web/tests/旅程/人工创作.spec.ts;web/tests/旅程/生成对话.spec.ts;web/tests/旅程/任务材料.spec.ts;tests/集成/test_人工创作HTTP.py::test_HTTP创建作品到保存中文正文并拒绝伪身份__aa1301 |
| F20.02 | 检索与导航 | S03 工作台与系统管理 | web/src/功能/ | P07-定稿交付与恢复 | tests/集成/test_上下文投影读取.py::test_细纲与事实经真实任务读取留痕并进入预算__b09201;web/tests/交互/选区定位.test.ts;tests/单元/test_方法检索空结果.py::test_无命中检索保留明确原因和索引身份__e0a672 |
| F20.03 | 完整数据带走 | S03 工作台与系统管理 | web/src/功能/ | P07-定稿交付与恢复 | tests/端到端/test_交付归档与恢复.py::test_两作品浏览器下载后恢复决定原文并续跑原交付__29d001;tests/集成/test_数据维护与恢复.py::test_认证备份目录核对下载不依赖可用源库并拒绝坏份__29b009 ;web/tests/旅程/备份恢复.spec.ts |
| F20.04 | 备份与恢复 | S03 工作台与系统管理 | web/src/功能/ | P07-定稿交付与恢复 | tests/集成/test_数据维护与恢复.py::test_维护CLI断源恢复真实候选正文与排队交付任务__29b008;tests/集成/test_维护任务恢复.py::test_备份核对计划跨装配继续且冻结目录与命令范围__29c001;web/tests/旅程/备份恢复.spec.ts |
| F20.05 | 模型与宿主替换 | S02 任务运行 | src/muse/任务运行/接口.py | P07-定稿交付与恢复 | tests/集成/test_受控模型调用.py::test_任务绑定配置装配真实传输且不随新版本切换__a62007;tests/集成/test_受控模型调用.py::test_CLI保存查看配置草案保留引用且不自动启用__a62008;tests/单元/test_预算与配置.py::test_配置凭据只保留引用且调用参数不可藏入明文__a60002 |
| F20.06 | 能力扩展 | S02 任务运行 | src/muse/任务运行/接口.py | P07-定稿交付与恢复 | tests/单元/test_流程登记与保护.py::test_未知处理器与保护绕行拒绝__a50001;tests/单元/test_流程登记与保护.py::test_流程依赖环与不兼容槽位拒绝__a50002;tests/集成/test_受控模型调用.py::test_有限角色会话贯通真实工具与逐回合账本__a62006 ;web/tests/旅程/方法库.spec.ts;web/tests/旅程/方法启用.spec.ts;web/tests/旅程/规则启用.spec.ts;web/tests/旅程/规则改进.spec.ts |
| F20.07 | 数据与调用控制 | S03 工作台与系统管理 | web/src/功能/ | P07-定稿交付与恢复 | tests/集成/test_系统管理与版本保护.py::test_系统页核实际代码资源版本且配置草案不启用__28b001;tests/集成/test_系统管理与版本保护.py::test_未知数据库版本或校验和漂移拒绝HTTP写入保留只读核对__28b002;tests/集成/test_预算预留与结算.py::test_配置验证启用与任务冻结版本互不覆盖__a61009 ;web/tests/旅程/系统管理.spec.ts;web/tests/旅程/任务预算与推进.spec.ts |
元数据支撑合同
M01—M08 的业务定义以元数据与结构演进为准,适用于上述多个功能,不新增或重排产品编号。
| 合同 | 牵头与协作 | 规格 | 目标测试 |
|---|---|---|---|
| M01 | S04、B02、B03、B09、S03 | P08 | tests/端到端/test_元数据扩展与版本升级.py |
| M02 | S04、B02、B03、S03 | P08 | tests/集成/test_新增类型完整消费.py |
| M03 | S04、S01、S02 | P08 | tests/架构/test_元数据不能跨模块写值.py |
| M04 | S04、S01、S03 | P08 | tests/契约/test_动态结构投影与版本.py |
| M05 | S04、业务实例维护者 | P08 | tests/契约/test_动态结构投影与版本.py |
| M06 | S04、B09、B08、S03 | P08 | tests/集成/test_字段投影收紧.py |
| M07 | S04、数据维护、各实例维护者 | P08 | tests/集成/test_数据维护与恢复.py |
| M08 | S04、S01、B05 | P08 | tests/集成/test_结构切换与内容提交.py |
覆盖使用要求
目标路径必须存在于目标文件清单。实施登记分别记录当前实现、自动化结果和真实使用证据,不对研究快照或本表填写完成比例。S03 的界面测试还需结合 web/tests/旅程 验证真实按钮;S02 的真实模型验证明确模型、宿主与调用成本。