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

136 lines
14 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.

# 迁移与验收
本文定义主体替换的顺序、资产承接和退出判据。设计落盘不触发实施、正式数据迁移、旧库删除或部署。
具体文件范围以[现有文件处置](现有文件处置.md)及其[逐项清单](现有文件处置清单.json)为准,包含旧路径、源内容基线、替代位置、保留行为和验收入口。下列增改删编号用于解释迁移主题,不代替逐文件清单,也不授权按目录通配删除。实施前源哈希或运行引用发生变化时,必须重新核对该条承接关系。
测试以[独立用例](验证设计/测试用例重写.md)为重写单位,允许拆分、合并及有理由退役;旧测试文件只作来源索引。数据转换分别遵守[旧知识记录分流](数据模型/旧知识记录分流.md)与[原文证据生命周期](接口契约/原文证据生命周期.md),不能用路径映射或行数相等证明语义承接。
## 增改删清单
### 新增
| 编号 | 新增项 | 具体落点与意义 |
|------|--------|----------------|
| A01 | 可安装应用包与唯一启动装配 | `pyproject.toml`、`src/muse/启动.py`,统一依赖与资源发现 |
| A02 | 类型化业务命令与查询接口 | 接入/模块公开接口;HTTP、CLI、Skill 共用行为 |
| A03 | 统一正式变更机制 | 必需审阅身份、CAS、幂等、依赖复检、回执和派生登记 |
| A04 | 持久化任务执行 | 步骤、租约、检查点、取消、恢复、事件重连与预算 |
| A05 | 完整任务范围与依赖模型 | 预组装、工具、回放、采纳共用可检验范围 |
| A06 | 新版独立数据模型与迁移层 | 承接旧 PG/SQLite 内容,退出主仓列结构的长期捆绑 |
| A07 | 正文结构及选段协议 | 段落身份、中文位置口径、编辑往返、保护范围 |
| A08 | 来源及派生影响索引 | 正文、事实、规划、方法、报告和投影的版本依赖 |
| A09 | 作者工作台与服务端查询视图 | 承接 StoryForge 交互、任务状态与统一写入 |
| A10 | 可恢复的数据演进与验证入口 | 升级、备份、隔离恢复、数据对账及全旅程验证 |
| A11 | 元数据能力在新版的完整承接 | S04 类型与字段、结构版本、作品扩展、动态表单、用途投影和升级检查;不是新造第二套实例库 |
### 修改 / 重写
| 编号 | 现有对象 | 新形态 |
|------|----------|--------|
| R01 | `framework/`、`runtime/`、分散 LLM 脚本 | 保留协议与适配代码,收进运行和基础设施职责;不让业务直接构造 Pi |
| R02 | `muse/flow/dispatch.py` | 任务执行、治理、证据分别内聚,编排只组合公开接口 |
| R03 | `produce_next_chapter.py` | 通用写作任务,生产与评测分开配置,按明确规则选择必要步骤 |
| R04 | `write_canonical.py` 与各决策 HTTP 入口 | 完整正文提交用例,共用强制合同,各入口行为一致 |
| R05 | 规划与知识确认 | 从“翻状态”改为“重验版本、依赖、结构和明确作者选择后提交” |
| R06 | `read_tools.py` 与检索组装 | 输入范围不可放宽,记录真实读取与来源版本 |
| R07 | 拆书/抽取 `upgrade.py` | 拆为输入分窗、提取、别名/关系归并、持久化、恢复与维护,保留原有互斥和补偿行为 |
| R08 | 去味脚本群 | 保留纯规则与 patch,重写入口、报告持久化、任务/经验接线 |
| R09 | 经验的 PG/SQLite 两路 | 统一提案、实验、目标变更、启用与退役 |
| R10 | 现有表与 JSON 字段口径 | 稳定业务骨架与动态内容分开;S04 维护类型、字段及结构版本,业务模块拥有实例;旧字段和别名显式映射 |
| R11 | 原只读看板与分散表单 | 新工作台 + 只读审计查询,独立保留只读职责但不保留多份页面实现 |
| R12 | Skill 实现与目录 | 方法/操作清晰,代码包独立,清单单源生成 |
| R13 | 测试清单与门禁 | 依赖显式、离线默认禁外部连接、行为反例覆盖所有实际入口 |
| R14 | 文档事实源 | 按架构/领域/数据/契约归位;现状、目标、历史与个人草稿清楚区分 |
### 替换完成后删除或退出
| 编号 | 删除 / 退出对象 | 为什么 | 必需承接条件 |
|------|-----------------|--------|--------------|
| D01 | 跨 Skill 的 `sys.path`、父目录猜测与裸文件名导入 | 依赖受物理路径和导入顺序影响 | 任意 cwd 的安装包入口与独立调用通过 |
| D02 | 作品/章节专用生产门锚、从回放配置读生产设置 | 生产无法泛化且混用评测条件 | 多作品通用链与明确内容门合同通过;样本移入评测 |
| D03 | SQLite 重复运行/经验/审查写入口及向量镜像逻辑 | 形成两套状态、确认语义和恢复路径 | 数据逐类迁移、仅本地数据保留、历史映射可查、旧写入关闭 |
| D04 | 旧 `web/app.py`、重复看板模板和候选/lesson 表单路由 | 工作台覆盖后重复维护 | 同一操作的新 UI/CLI/HTTP 行为及审计查询验收 |
| D05 | Skill 内复制的 SQL、模型重试、预算、raw 写入辅助脚本 | 同一保护在多处漂移 | 共用实现及其真实调用路径覆盖 |
| D06 | 不再需要的主仓租户、管理、市场列依赖及重复平台治理实现 | 精简单用户不需要的平台机制,保留元数据能力 | 类型、字段、结构版本、动态表单及用途投影由 S04 和各消费模块完整承接;M01—M08 通过,历史映射可查 |
| D07 | StoryForge 的 Dexie 正式库、独立 AI 调度与浏览器采纳链 | 与新版权威重复 | 这些部分不迁入;必要交互与规则由新主体承接 |
| D08 | 榜单“最近一次 run”效果归因 | 时间接近不证明因果 | 真实榜单快照与稿件/反馈版本关联替代 |
| D09 | 只改经验状态但显示“改进已生效”的路径 | 状态无法证明目标已修改且被消费 | 目标 diff/版本、实验、启用与消费记录齐全 |
| D10 | 运行期读取评测夹具或配置的依赖 | 生产与评测相互污染 | 公共合同放代码,条件与材料保持隔离 |
| D11 | 源码中连接凭据与隐式正式库默认连接 | 配置不能审计且测试容易误触运行数据 | 受控持久配置、无值示例、测试配置强制独立;实施时核查既有凭据并处理 |
| D12 | 仅验证文件形状、字符串和固定完成数量的旧测试 | 重构易误报且不能保护业务 | 对应行为测试承接;安全、事务、恢复反例保留 |
| D13 | 被新文档承接的重复 SoT 正文及失效链接 | 多套现行规则互相覆盖 | 权威文档与上下级目录同步,历史用途已标明 |
| D14 | 无调用方的空适配器、无实际场景的通用插件骨架 | 增加理解成本而无可观察能力 | 依赖扫描与功能覆盖确认;有对照测试用途的实现移入相应验证目录 |
删除对象是被替代实现。正文、原文、历史候选、审查理由、事实、方法、声音、偏好和有效测试不会因改名或换存储丢失。旧库和备份在迁移与回退验证前保留。
## 功能承接
| 功能组 | 新增的业务语义 | 保留并完善的基础 |
|--------|----------------|------------------|
| 创作管理 | 多作品入口、状态与计划、逐步探索页面、近期滚动规划 | 现有阶段 0 方法、规划结构与书/章责任区分 |
| 故事世界 | 图谱、时间线、人物成长、知情范围、设定使用与修改影响交互 | 现有实体、关系、事实、伏笔与抽取能力 |
| 扫榜与资料 | 真实榜单快照、选题依据、通用研究资料、私人素材与冲突来源 | 参考书导入、拆解、分窗、来源、范式抽取 |
| 正文共创 | 完整编辑器、手写保存、自动保存、候选比较、选段和部分采纳 | 两阶段写手、候选、质量检查与正式写入保护 |
| 上下文 | 混合检索、实际材料展示、统一范围校验、全部读取留档 | 已有冻结、active/绑定过滤及范式版本引用 |
| 审校去味 | 报告长期保留、版本陈旧、问题单、长文覆盖、有限返修与误杀反馈 | 声音、诊断、授权范围、patch、保真和原文胜出 |
| 作者经验 | 跨书偏好、冲突撤回、完整方法启用与效果追踪 | lesson 观察、修改对、方法案例与已有评测合同 |
| 交付连载 | 全书定稿、四类文稿导出、存稿、发布版本及读者反馈 | 现有文本、备份、记录和作者决定基础 |
| 运行数据 | 任务恢复、断线重连、迁移恢复、查询导航和完整数据带走 | 现有事件、raw、回执、预算和角色策略 |
功能广度通过现有十个模块扩大。短篇缩短规划粒度与任务步骤;节点视图编辑同一套规划依赖;二者不新增第二个写作引擎、正文权威或候选状态机。
## 实施顺序与退出条件
具体执行排程以[完整改造计划](改造计划/总计划.md)及[工作包清单](改造计划/工作包清单.json)为准。32 个工作包分别定义依赖、文件范围、功能与逐例测试安排、验收和回退;[分配索引](改造计划/分配索引.md)可查询每个目标与旧路径的归属。
完整终态一次定义,代码按可验收旅程替换。旧实现退出仍须满足本文件与逐项处置的内容/数据条件;计划不授权批量删目录。活跃旧写路径在唯一写入切换后退出,测试按用例判定,W31 进行最终对账。
“两部作品各连续两章”是去掉样本依赖的最低工程证据,不是文学质量、多题材效果或规模性能证明。实施顺序不缩小全部 129 项功能范围。
### 数据迁移及切换
1. 对旧 PG、SQLite、受控 raw/参考文件及私人草稿分别建清单,记录快照与内容校验和;不按表名相似就合并记录。
2. 在新 schema 或隔离库导入,保存旧系统、旧类型、旧 ID 到新 ID 的映射。PG 正式版本不被 SQLite review 覆盖;SQLite 独有的审查/反馈/经验必须迁入对应历史对象。
3. 逐类核对正文、原文、类型与字段、结构版本和投影策略、关系、候选、决策、raw、绑定、任务和实验;孤儿引用或无法解释的冲突进入差异报告,不能静默丢弃。
4. 初次批量导入后,在切换窗口停止旧写入口,迁入增量并核对;启用新版唯一写入,旧系统作为只读回查或保留快照。
5. 回退必须包含切换后产生的新数据。若未实现反向迁移,就明确只能在新版尚未接受新写入的窗口快速回退;不能承诺切回旧程序自然保住新增稿件。
6. 只有新旧数据对账、完整恢复和关键旅程通过后,才退出旧写代码;物理删除旧库另按保留与恢复要求处理。
## 验证合同
| 验证面 | 必须保护的行为 |
|--------|----------------|
| 包与依赖 | 安装产物能在无 `.git`、任意 cwd 中启动;移动 Skill 不影响业务;导入不连接网络/数据库 |
| 模块职责 | 接入不直写正文;模块不导入他模块私有存储;模型工具不能调用正式提交;生产不读取评测配置 |
| 数据提交 | 过期 revision、源变化、改候选、同命令异参数拒绝;重复请求回同回执;批准增量失败整包回滚 |
| 分支与快照 | 分支不改主分支事实;合并重验当前版本;跨章快照固定清单,回滚后新增内容和历史证据仍可查 |
| 上下文 | 其他作品、目标答案、未来章、未确认内容、撤回来源在预组装/探索/回放均受约束 |
| 任务运行 | 断流无完成信号、结构错误、预算耗尽、取消、重启、租约过期、迟到结果与未知调用结果 |
| 章后处理 | 正文成功而抽取失败仍可见;重试不重复;旧 revision 不覆盖新投影;事实须另行确认 |
| 中文编辑 | 输入法组合、表情/组合字符、引号/空行、选段与往返;断网和快速切章不丢稿、不错章 |
| 拆书与方法 | 原文到结论有版本定位;分窗失败续跑;别名冲突不误合并;绑定改变使旧候选失效 |
| 审校与去味 | 报告来源漂移、长文覆盖、保护区、数字/引文、声音/视角、不应修改的反例和原文胜出 |
| 作者经验 | 推断偏好待确认、局部要求不全局化、撤回停止新消费、改进启用必须有目标与验证 |
| 元数据演进 | 新类型贯通、只增不改、结构/投影/数据版本竞争、必填升级、历史读取、字段用途及备份往返 |
| 数据演进 | 升级、旧数据映射、完整备份与恢复、切换后新数据的回退条件 |
| 产品旅程 | 新 UI 和 CLI 调用真后端、隔离 PG;另做真实模型与宿主验证,明确与替身测试的区别 |
单元测试默认拒绝网络和数据库访问;集成测试只能使用显式隔离数据库与凭据;真实模型验收单独运行并记录成本。代码库各正式入口均要覆盖,不能只测试底层函数而漏掉作者实际点击的路径。
架构检查尽量用导入依赖和可观察行为,不以大文件行数、存在某个函数名或文档包含某个词替代正确性。有效的原子提交、范围拒绝、恢复和保真反例必须承接;仅复述旧实现结构的测试随实现替换退出。
## 旧结构资产的特别处理
原设计的 23 个基础类型、独立 fine_outline 合同、库内激活结构和作品扩展分别盘点。文件种子与库内版本不一致时记录差异,不用文件覆盖运行事实,也不将旧平台表结构照搬为新版设计。
字段 key、别名、原文位置、结构与实例版本都保存映射。旧 scene/Block 到新场景与正文段落的映射需保真核对;来源中的章号转稳定章节 ID 时保留旧顺序。保留字段级 AI 用途、演变历程与未来成长计划的区别。
## 证据级别
每项能力分别记录设计覆盖、实现入口、自动化验证和真实使用证据。离线规则测试、隔离 PG 集成、浏览器真后端旅程、真实模型及恢复演练各自有实际结果。设计文件数量、目录存在或功能矩阵已填不能提升成实现完成。
文学改进另需固定条件实验和作者或独立读者判断,不能由两部作品的工程旅程替代。研究材料记录的 56、40 或其他历史测试数量只属于对应参考代码与日期。