5.6 KiB
5.6 KiB
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/:
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
已定义:
SourceAnalysisSpecV1AdaptationBibleSpecV1EpisodePlanSpecV1SceneScriptSpecV1ShotExecutionSpecV1StageQualityResultV1ShotQcDeltaV1PromptRuleCandidateV1
硬门已覆盖:
- 来源与事实引用;
- 改编决策账本;
- 开场钩子时间线与本集兑现;
- 分集目标、阻力、高潮选择和不可逆变化;
- 场景目标、人物策略、阻力、转折和结果;
- 中文台词时长预算;
- 镜头资产、表演、运镜、声音和验收条件;
- 参考图数量与职责;
- 首尾帧同空间轴线和运动方向;
- 非首镜连续性接力。
去劣取优
- 建立版本化 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.tsimages/images.service.tslive-action/live-action.service.tslive-action/prompt-builder.service.ts
下一轮必须逐段判断哪些属于历史项目读取兼容、哪些是公共生成逻辑,不能批量替换。
5. 未解决风险
- 新合同尚未落库,也尚未成为新项目唯一写路径。
- 公共脚本 Service 仍是大文件,旧 Prompt 文本与新规则并存;本轮只先切断确定有害行为。
- Provider Compiler 和能力档案未实现,模型时长、参考图数量和音频能力仍由旧链路判断。
- 污染扫描已实现并保护公共规则,但还没有覆盖所有 Prompt 生成入口。
- 全仓类型检查仍被旧测试 fixture 类型漂移阻断;生产构建可以通过。
- 没有浏览器 E2E,也没有真实 Provider A/B;本阶段按要求未产生付费调用。
6. Phase 2 建议
下一阶段只推进“原著分析 -> 改编圣经 -> 分集计划”三段:
- 评审生产合同持久化 schema。
- 为新项目建立
splus_v1唯一写入口,旧项目只读。 - 实现 Source Analyst、Adaptation Showrunner、Episode Planner 的阶段请求与 Reviewer Delta。
- 用三个中性样本验证事实引用、改编决策、钩子兑现和跨集状态。
- 只批准其中一集进入 SceneScript,暂不接真实视频生成。
进入 Phase 2 前,建议先单独处理测试 mock 基线,避免新合同测试与历史失败混在一起。