Files
ai/docs/work-sync/SPLUS_PHASE_2_IMPLEMENTATION_REPORT.md
T

5.9 KiB
Raw Blame History

S+ 内核 Phase 2 实施报告

日期:2026-07-15
范围:原著分析、改编圣经、分集计划的结构化写路径
工程状态:已部署,真实新项目内容验收待执行
付费 AI 调用:无
数据迁移:20260715143000_splus_production_contracts_v1

1. 本轮结论

Phase 2 的工程链路已经形成,但尚未宣称通过内容生产验收。

当前系统已经可以安全执行:

连续原文快照
-> 原著分析合同
-> 改编圣经合同
-> 分集计划合同
-> 三集连续性检查
-> 人工只放行其中一集

新链路不会覆盖旧 StoryBibleEpisode 或历史 Prompt。所有结构化结果均版本化保存,审核失败也保留为可诊断草稿。

2. 数据与状态

项目标记

Project 新增:

  • engine_version:数据库默认 legacy_v1;应用创建的普通新项目写入 splus_v1
  • production_lifecycle:记录来源准备、合同写入、确认、三集检查和单集放行状态。

直接提示词实验项目继续标记为 tool_direct_v1,不伪装成 S+ 正式生产项目。

迁移后数据库中原有 20 个项目全部为 legacy_v1,没有自动迁移、改写或删除历史项目。

新增持久化对象

  • ProductionSourceSnapshot:保存不可变原文、章节清单、内容哈希和版本。
  • ProductionContract:保存合同类型、schema 版本、父版本、输入哈希、来源引用、正文、质量结果和下游状态。
  • ProductionContractReview:保存 Reviewer 版本、轮次、问题清单、修复差异和评分。

当前迁移刚完成,三张新表均为 0 条记录;真实内容只会在用户明确创建新 S+ 项目后写入。

3. 唯一写路径

原著分析

  1. 从项目小说源选择最多 20 个章节。
  2. 章节号必须连续,单次正文最多 180,000 字。
  3. 固化不可变来源快照和逐章哈希。
  4. SourceAnalysisSpecV1 必须引用本次快照中的来源。
  5. 不允许在原著分析阶段提前写改编结论。

改编圣经

  1. 必须绑定一个已确认的原著分析版本。
  2. 改编决策必须记录操作、来源、原因、影响、连续性风险和批准状态。
  3. 未批准的改编决策不能被分集计划使用。
  4. 修改时创建新版本,不覆盖已确认版本。

分集计划

  1. 必须绑定一个已确认的改编圣经版本。
  2. 第 2 集以后要求上一集已确认。
  3. 每集必须包含开场钩子、目标、阻力、升级、高潮选择、不可逆变化和集尾钩子。
  4. 连续三集必须同属一个改编版本、集号连续,并严格继承上一集退出状态。
  5. 三集通过连续性检查后仍不会自动进入剧本;必须人工选择一集执行 release

4. Reviewer 与修复

  • Writer 负责输出完整结构化合同。
  • 确定性验证器负责字段、来源、批准状态和跨集状态硬门。
  • Reviewer 使用版本号记录,只输出问题与 StageReviewDeltaV1,不静默重写正文。
  • 失败结果保存为 draft + blocked,通过硬门的结果保存为 validated
  • 确认时重新执行审核;同一范围旧确认版本会被标记为 superseded

5. Prompt 构建

新增三个阶段的干净模板:

  • Source Analyst
  • Adaptation Showrunner
  • Episode Planner

公共模板与项目正文分离,运行时才注入来源快照、已确认父合同和上一集状态。请求预览可在付费调用前查看和复制;本轮没有在 UI 暴露一键付费生成入口。

6. API 与界面

新增 ProductionKernelModule 及接口,覆盖:

  • 创建/查询来源快照。
  • 保存、查询、评审和确认合同。
  • 预览阶段 Prompt。
  • 三集连续性检查。
  • 放行一个分集计划进入下一阶段。
  • 保留受控的阶段 Provider 调用能力,但本轮未触发。

用户端新增 SplusProductionPipeline.vue

  • 原著分析、改编圣经、分集计划三个阶段标签。
  • JSON 导入、确定性校验、版本列表和问题定位。
  • Prompt 预览与复制。
  • 评审、确认、三集检查和单集放行。

splus_v1 项目不再显示旧 StoryBible/旧分集写入口;历史项目仍走旧页面读取。旧 StoryBiblesServiceEpisodesService 的写方法也增加了后端守卫,不能靠直接调用 API 绕过界面。

7. 部署与验证

部署

  • 数据库和私有素材备份继续使用 Phase 0 已校验备份。
  • Prisma 迁移从 33 个增加到 34 个,并成功部署。
  • 后端已受控重启。
  • GET /api/health 返回 status: ok

自动验证

检查 结果
Phase 2 合同/Service 定向测试 13/13 通过
后端生产构建 通过
用户端生产构建 通过
Prisma schema 校验 通过
数据库迁移 34/34 已部署
后端全量测试 254 通过,34 失败,共 288 条

34 条失败与本轮开始前的既有失败面一致,主要是旧测试 mock 未补齐、旧质量断言和当前实现漂移。本轮没有批量改断言掩盖问题。

8. 尚未完成

  1. 尚未选择一部全新项目和连续故事段实际写入三阶段合同。
  2. 尚未产出并确认连续三集,也未执行“只放行一集”的真实内容验收。
  3. 尚未开放前端一键付费阶段生成。
  4. 尚未进入 SceneScriptSpecV1 场景剧本写路径。
  5. 旧角色、记忆等下游页面仍可见,后续需要按阶段状态进一步收口。
  6. 全仓 34 条历史测试失败仍需作为独立基线修复。

9. 进入 Phase 3 的条件

只有完成以下验收,才进入场景剧本:

  1. 新建一个 splus_v1 项目。
  2. 选取一个连续故事段并生成来源快照。
  3. 原著分析与改编圣经通过审核并确认。
  4. 连续三集分集计划通过状态继承检查。
  5. 人工只放行其中一集。
  6. 保存本次 Prompt、合同版本、Reviewer 问题和人工判断作为首个 Phase 2 样本。

在此之前不接视频生成,也不以“页面可操作”代替内容质量验收。