# S+ 内核 Phase 0-1 实施报告 > 日期:2026-07-15 > 范围:保护基线、Prompt 去污染、生产合同与硬门 > 付费 AI 调用:无 > 数据迁移:无 > 生产服务重启:无 ## 1. 本轮完成 ### 保护基线 - 数据库完整逻辑备份:`/www/wwwroot/ai-backups/20260715-splus-phase0/database.sql` - 私有素材归档:`/www/wwwroot/ai-backups/20260715-splus-phase0/storage-private.tar` - 校验文件:`/www/wwwroot/ai-backups/20260715-splus-phase0/SHA256SUMS` - 数据库约 90MB,私有素材约 4.7GB。 - 两份备份均通过 SHA-256 回读校验。 ### 生产内核 新增 `backend/src/production-kernel/`: ```text contracts/production-contracts.ts validators/production-contract-validators.ts prompts/prompt-rule-registry.ts prompts/prompt-contamination.ts fixtures/neutral-production-fixtures.ts production-kernel.spec.ts legacy-behavior-guard.spec.ts index.ts ``` 已定义: - `SourceAnalysisSpecV1` - `AdaptationBibleSpecV1` - `EpisodePlanSpecV1` - `SceneScriptSpecV1` - `ShotExecutionSpecV1` - `StageQualityResultV1` - `ShotQcDeltaV1` - `PromptRuleCandidateV1` 硬门已覆盖: - 来源与事实引用; - 改编决策账本; - 开场钩子时间线与本集兑现; - 分集目标、阻力、高潮选择和不可逆变化; - 场景目标、人物策略、阻力、转折和结果; - 中文台词时长预算; - 镜头资产、表演、运镜、声音和验收条件; - 参考图数量与职责; - 首尾帧同空间轴线和运动方向; - 非首镜连续性接力。 ### 去劣取优 - 建立版本化 Prompt 规则注册表,当前批准 22 条公共/题材规则,另保留 1 条废弃规则作为防回归标记。 - 历史规则已按 global、genre、provider、project 分级。 - 公共规则可按 stage、genre、provider 条件激活。 - 脚本分镜和分集 Prompt 已接入规则注册表。 - 新增污染扫描,阻断项目专名、内部数据库 ID、临时 URL 和嵌入素材编号进入公共规则。 - 脚本与分集公共链路已清除本轮命中的历史项目人物、地点和终局专名。 - 终局质量检查已从特定故事关键词改为通用的冲突结果、主角选择、状态变化和余波。 - 镜头目标数量不再增删已确认剧情点。 - 删除自动“导演补拍节奏点”。 - 删除按说话人自动拆分对白素材的后处理行为。 - 无法从已确认剧本提取可追溯动作/台词/反应时,直接阻断,不再生成一套都市会议室兜底剧情。 详细规则见 `PROMPT_RULE_AUDIT_V1.md`。 ## 2. 验证结果 | 检查 | 结果 | | --- | --- | | 后端生产构建 | 通过 | | 新内核合同/硬门测试 | 7/7 通过 | | 公共污染与旧行为守卫 | 2/2 通过 | | 保持真实镜头数的脚本回归测试 | 1/1 通过 | | 全仓后端测试 | 248 通过,34 失败,共 282 条 | | 备份 SHA-256 回读 | 通过 | | `git diff --check` | 通过 | 全仓失败没有在本轮伪装修复。主要仍是: - Prisma 新字段/新查询加入后旧 mock 未补齐; - 旧分集样本不满足当前制作蓝图和闭环质量门; - Provider 成本展示文案断言仍是旧格式; - Live Action 的旧参考图预检、BGM/SFX 和导演计划断言漂移。 审计基线为 238 通过、35 失败;本轮新增测试后为 248 通过、34 失败。 ## 3. Schema 影响 本轮没有修改 Prisma schema,也没有执行数据库迁移。 原因:当前工作区已有大量未提交迁移与测试 mock 漂移;先完成可独立验证的合同、验证器和规则清理,避免在同一批次叠加持久化风险。 Phase 2 前需要评审并落库: - 项目 `engine_version` 与生命周期; - 五级合同的版本、状态、输入哈希、来源和质量结果; - Prompt 规则候选、A/B 证据、审核与回滚版本; - Provider 编译请求快照和参考图职责; - 结构化 QC Delta。 现有 `ProjectPipelineConfig.video_engine_version` 与角色/图片 Prompt 版本字段可复用,但不能替代完整生产合同版本。 ## 4. 尚未清理的隔离区 以下旧服务仍存在项目专属分支,暂不允许成为 `splus_v1` 公共规则来源: - `characters/characters.service.ts` - `images/images.service.ts` - `live-action/live-action.service.ts` - `live-action/prompt-builder.service.ts` 下一轮必须逐段判断哪些属于历史项目读取兼容、哪些是公共生成逻辑,不能批量替换。 ## 5. 未解决风险 1. 新合同尚未落库,也尚未成为新项目唯一写路径。 2. 公共脚本 Service 仍是大文件,旧 Prompt 文本与新规则并存;本轮只先切断确定有害行为。 3. Provider Compiler 和能力档案未实现,模型时长、参考图数量和音频能力仍由旧链路判断。 4. 污染扫描已实现并保护公共规则,但还没有覆盖所有 Prompt 生成入口。 5. 全仓类型检查仍被旧测试 fixture 类型漂移阻断;生产构建可以通过。 6. 没有浏览器 E2E,也没有真实 Provider A/B;本阶段按要求未产生付费调用。 ## 6. Phase 2 建议 下一阶段只推进“原著分析 -> 改编圣经 -> 分集计划”三段: 1. 评审生产合同持久化 schema。 2. 为新项目建立 `splus_v1` 唯一写入口,旧项目只读。 3. 实现 Source Analyst、Adaptation Showrunner、Episode Planner 的阶段请求与 Reviewer Delta。 4. 用三个中性样本验证事实引用、改编决策、钩子兑现和跨集状态。 5. 只批准其中一集进入 SceneScript,暂不接真实视频生成。 进入 Phase 2 前,建议先单独处理测试 mock 基线,避免新合同测试与历史失败混在一起。