每个模板:1.0 ↔ 2.0、生产 ↔ 测试,到底是不是一回事。源数据=2.0 库 workflow_revisions 实查 + 1.0 ep-sweet-leaf 注册快照(2026-06-16)。
kamila_hook 和 kamila_hook_test 这样的成对模板全都存在,且 12/12 对在 1.0 里内容就已不同。这个“生产/测试分开”是从 1.0 继承的,不是 2.0 迁移搞出来的。generic_ffmpeg_rendi 的 test 和生产逻辑一致(路由克隆)。其余每一对,_test 和生产都不同——我们这轮 RC-1..7 全跑在 _test 上,所以对那 6 个,验的是测试版、不等于验了生产版。_test = 上游团队(MB / Mai)的自测 lane,他们历来在 _test 上迭代新功能 / 修 bug,生产版往往滞后。这是 1.0 时代就有的运作方式,2.0 只是把这套结构原样搬过来了。所以“迁移过来就已经不一样”——对,是这样。| 生产模板 | 1.0 生产 sha | 2.0 生产 sha/rev | 2.0==1.0? | 2.0 测试 sha/rev | 生产 vs 测试 | 本轮验证 |
|---|---|---|---|---|---|---|
digital_human_omnihuman_mai |
c7ac2840d791 r2 |
c7ac2840d791 r2 | 一致 | 4e7f90fc7a93 r4 | 31行/实质23 | RC-6 DH(跑 digital_human_omnihuman_mai_test v4) |
generic_ffmpeg_rendi |
d5d324814863 r6 |
d5d324814863 r6 | 一致 | 98fd69411b37 r1 | 路由克隆(逻辑一致) | RC-5 VE(跑 generic_ffmpeg_rendi_test v1) |
kamila_hook |
e67e3df74835 r6 |
29ecaace0969 r20 | 改过 | dad1220171a7 r20 | 40行/实质33 | RC-7 KAMILA(跑 kamila_hook_test v20) |
material_board_creative |
c8e1510e0e48 r36 |
56b95ed4fae4 r37 | 改过 | cc49feffc3db r101 | 37行/实质35 | 早前 MB 联调验过(非本轮真画布) |
material_board_creative_ue_bridge |
b1e2edd242d7 r15 |
7296b7b09b03 r16 | 改过 | 6fa146ddfad8 r56 | 9行/实质6 | 早前 MB 联调验过(非本轮真画布) |
material_board_daily_crawl |
a1e4976036c2 r13 |
a142e361d7c8 r14 | 改过 | f3f261dfc0ba r15 | 13行/实质8 | 早前 MB 联调验过(非本轮真画布) |
material_board_delivery |
dd9cb995d71b r29 |
65e7902720fc r30 | 改过 | 6b69aaf71465 r102 | 9行/实质6 | 早前 MB 联调验过(非本轮真画布) |
material_board_preview_research |
3768f1c5d004 r14 |
3768f1c5d004 r14 | 一致 | 3fba29d05d70 r7 | 15行/实质9 | 早前 MB 联调验过(非本轮真画布) |
video_pip_compose_mai |
3914415b3d68 r2 |
3914415b3d68 r2 | 一致 | b1b67abeea47 r3 | 28行/实质19 | RC-3 PIP(跑 video_pip_compose_mai_test v3) |
video_reframe_any |
dffaf61610a3 r29 |
1f82a5d721c2 r30 | 改过 | cd4144b601bf r11 | 229行/实质224 | RC-1 reframe(跑 video_reframe_any_test v11) |
voiceover_align |
60623c330f67 r12 |
c02e46f7bea3 r13 | 改过 | a2bcdcbdc70e r10 | 20行/实质9 | RC-4 VA(跑 voiceover_align_test v10) |
voiceover_digital_human_pip_subtitle_mai |
b07d337a747e r6 |
b07d337a747e r6 | 一致 | 3e03bd1fe524 r44 | 39行/实质20 | RC-2 combo(跑 voiceover_digital_human_pip_subtitle_mai_test v44) |
subtitle_burn_in |
9c89ac6532d7 r4 |
fdb8587be356 r5 | 改过 | — | — | 本轮未单独验 |
digital_human_omnihuman |
cb59ac8ed8c1 r3 |
cb59ac8ed8c1 r3 | 一致 | — | — | 本轮未单独验 |
video_pip_compose |
a417fc401bea r4 |
a417fc401bea r4 | 一致 | — | — | 本轮未单独验 |
“2.0==1.0” = 2.0 生产模板内容是否与 1.0 快照字节一致。“生产 vs 测试” = 同在 2.0 里,生产名模板和 _test 的内容差多少行(实质=去掉纯改名后的真差异)。
看起来"7 个生产模板和 1.0 不一致"会吓人,但逐个查作者/时间/提交说明后,没有一个是来路不明的偷改,分三类:
| 生产模板 | 谁改的 / 何时 | 改动性质 | 判定 |
|---|---|---|---|
kamila_hook r20 | 上游 kamila-cc 经 external_api · 06-18 | 真·新版本(上游团队自己推的) | 跟迁移无关;上游迭代 |
material_board_creative r37..._ue_bridge r16..._daily_crawl r14material_board_delivery r30 | codex-2.0-mb-rebuild · 06-20 | 提交说明=v7 skill rename reference only=只改技能名引用 | 非行为改动;MB 重建的改名 |
video_reframe_any r30 | codex-mai-2.0-restore · 06-20 | canonical_output_upload_parser | 迁移声明的清理(上传解析) |
voiceover_align r13 | codex-mai-2.0-restore · 06-20 | remove_runtime_pip_install_pydub | 迁移声明的清理(去运行时装包) |
这些生产模板历史上跑过几百次(material_board_daily_crawl 累计 done 583、video_reframe_any 434、voiceover_align 303…),看着很成熟。但那都是在旧修订上跑的。我查了「当前修订(也就是真翻生产时会上的那串字节)上到底有没有成功任务」:
| 生产模板 | 当前修订 | 当前修订上的任务 | 历史(老修订) |
|---|---|---|---|
kamila_hook | v20 | done 7(但不是 RC 真画布那批) | 累计 done 21 |
material_board_daily_crawl | v14 | failed 14、done 0(=那 14 条 401) | 老 v12 done 231…累计 583 |
material_board_creative | v37 | 无任务 | 老 v14 done 128…累计 413 |
material_board_creative_ue_bridge | v16 | 无任务 | 老 v2 done 20…累计 62 |
material_board_delivery | v30 | 无任务 | 老 v12 done 115…累计 402 |
video_reframe_any | v30 | 无任务 | 老 v27 done 210…累计 434 |
voiceover_align | v13 | 无任务 | 老 v12 done 150…累计 303 |
test 队列,它优先解析到 canary 运行时 = v0.2.12(rev12 / 0b85c99b)。但真实业务队列用的是 active 运行时 = v0.2.0(ee98f108)。我第一手查 runtime_profiles 表确认:v0.2.0=active、v0.2.12=canary。所以连"我们验过的运行时"都不是生产在用的那个——上生产还得决定要不要把 canary rev12 提为 active(rev12 带的字体/透明解码/Node CLI 修复才会生效)。"没验证"不等于"危险"。我把每个改过的生产当前版,跟它上一个有绿任务的修订逐行 diff,看改动性质:
| 生产模板 | 当前版 vs 上一绿版 改了啥 | 判定 |
|---|---|---|
material_board_creative..._ue_bridge · ..._daily_crawl · material_board_delivery | 只 4 行:技能引用 material-board-pipeline-v7-test → material-board-pipeline-v7 | 基本安全:本就该指 prod 技能。prod 技能已存在(非悬空)。 小尾巴:prod 技能只 1 个修订、test 技能 5 个,技能层内容也得对一下 |
voiceover_align | 1 行:删掉运行时 pip install pydub | 基本安全:迁移卫生(依赖该在镜像里)。确认镜像有 pydub 即可 |
video_reframe_any | 69 行:删的是一段冗长的"上传输出怎么解析"警告 prose(canonical_output_upload_parser)。上传逻辑本身没动——仍 output_upload: r2、仍解析 output.url(5 处) | 内容安全:只删了冗余警告、解析逻辑还在。 唯一缺口=当前版 v30 零任务=没真跑过,补 1 个 smoke 即可 |
kamila_hook | 96 行:48 行 description/title + 48 行同内容中→英翻译 + 加 1 个技能绑定(mai-platform-delivery)。管线(board→seedance→rendi)没变 | 良性:是翻译+加技能、不是逻辑重写。而且 v20 已有 7 次成功(kamila-cc 06-18 自跑)=已被运行过 |
digital_human_omnihuman_mai 已分叉 忠实1.0digital_human_omnihuman_mai_test v4)
别名环境test (生产) · test (测试)
generic_ffmpeg_rendi 路由克隆 忠实1.0generic_ffmpeg_rendi_test v1)
别名环境test (生产) · test (测试)
kamila_hook 已分叉 2.0改过kamila_hook_test v20)
别名环境test (生产) · test (测试)
material_board_creative 已分叉 2.0改过material_board_creative_ue_bridge 已分叉 2.0改过material_board_daily_crawl 已分叉 2.0改过material_board_delivery 已分叉 2.0改过material_board_preview_research 已分叉 忠实1.0video_pip_compose_mai 已分叉 忠实1.0video_pip_compose_mai_test v3)
别名环境test (生产) · test (测试)
video_reframe_any 已分叉 2.0改过video_reframe_any_test v11)
别名环境test (生产) · test (测试)
voiceover_align 已分叉 2.0改过voiceover_align_test v10)
别名环境test (生产) · test (测试)
voiceover_digital_human_pip_subtitle_mai 已分叉 忠实1.0voiceover_digital_human_pip_subtitle_mai_test v44)
别名环境test (生产) · test (测试)
subtitle_burn_in 无test 2.0改过digital_human_omnihuman 无test 忠实1.0video_pip_compose 无test 忠实1.0不是“切一下”。按顺序,9 步,全是 owner 拍板的活:
_test 验过的行为回灌生产名模板。别假设 _test 成功 = 生产名验证。_test 的,给生产名模板建/批一个含该行为的修订,并真验。environment=prod 的不可变快照。现 restore 脚本只能建 test、且代码里主动拒绝 prod 别名(restore_mai_2_0.py 写死 test)——所以这是另一条没建的路。ee98(v0.2.0) 还是把 canary rev12(0.2.12) 提为 active。要 rev12 的字体/透明/Node CLI 修复,就得把 canary 提为 active——光 test 队列不算生产。_test、走 prod 别名、active 运行时 digest、队列 / host、产物 / 画布 / 回调。_test lane 的逻辑 + 运行时 / 画布机制是通的;它没有证明生产名模板、也没建任何生产路由。本页全程只查不改,没动 DB / 生产 / magi3 / 1.0。