feat: #1970 hflip 按 atom_clip ai_tags.has_text 放开 + 修复 develop migration 双头 #1985

Merged
xiaoxia merged 2 commits from feat/1970-hflip-ai-tags into develop 2026-09-19 02:04:00 +08:00
Owner

改动

1. hflip 字幕检测放开(承接 PR #1981 的 has_text)

  • RenderAdapter._resolve_clip_has_text:按非 audio 源片段顺序批量查 atom_clip.ai_tags仅当 ai_tags 为 dict 且 has_text 显式为 false 时标记无文字;atom_clip_id 缺失 / 标签未生成 / has_text 为 true/null/非布尔 / DB 查询失败 → 一律保守(有文字,不翻转)
  • UnifiedRenderService 新增 clip_has_text 入参;None 维持 P1 全保守语义(内存直渲/旧任务行为不变)
  • 纯函数层 build_micro_transform_plan 已有的 50% 概率门控不变

2. 修复 develop migration 双头

  • develop 当前同时存在 081_add_gpu_lipsync(GPU PR)与 081_atom_clip_ai_tags(#1981),两者 down_revision 都指向 080,alembic 双头
  • 之前的修复提交 9af73dcd 只新增了 082 文件但漏删旧 081 文件(且 PR #1982 分支头异常不含该提交)
  • 本 PR 删除 081_atom_clip_ai_tags.py,其内容已由链入 081(gpu) 的 082_atom_clip_ai_tags.py 承载;alembic heads 恢复单 head:080 → 081_add_gpu_lipsync → 082_atom_clip_ai_tags

测试

  • 新增 test_1970_hflip_ai_tags.py(19 个):None 全保守 / 显式 false 可翻转 / true 不翻转 / 混合顺序对齐 / 列表缺位保守 / 可复现 / 适配器解析(audio 排除、重复 id、查不到记录、查询异常回退 None)
  • 全量单测 15819 passed, 28 skipped
  • check_migration_chain.py / check_migration_naming.py 通过,alembic 单 head 确认

关联

  • 取代 #1982(该 PR 分支头 8a310b8a 不含 migration 修复,建议关闭)
  • 配套 PR:#1981(AI 标签)已合入 develop
## 改动 ### 1. hflip 字幕检测放开(承接 PR #1981 的 has_text) - `RenderAdapter._resolve_clip_has_text`:按非 audio 源片段顺序批量查 `atom_clip.ai_tags`,**仅当 ai_tags 为 dict 且 has_text 显式为 false** 时标记无文字;atom_clip_id 缺失 / 标签未生成 / has_text 为 true/null/非布尔 / DB 查询失败 → 一律保守(有文字,不翻转) - `UnifiedRenderService` 新增 `clip_has_text` 入参;None 维持 P1 全保守语义(内存直渲/旧任务行为不变) - 纯函数层 `build_micro_transform_plan` 已有的 50% 概率门控不变 ### 2. 修复 develop migration 双头 - develop 当前同时存在 `081_add_gpu_lipsync`(GPU PR)与 `081_atom_clip_ai_tags`(#1981),两者 down_revision 都指向 080,alembic 双头 - 之前的修复提交 9af73dcd 只新增了 082 文件但漏删旧 081 文件(且 PR #1982 分支头异常不含该提交) - 本 PR 删除 `081_atom_clip_ai_tags.py`,其内容已由链入 081(gpu) 的 `082_atom_clip_ai_tags.py` 承载;`alembic heads` 恢复单 head:080 → 081_add_gpu_lipsync → 082_atom_clip_ai_tags ## 测试 - 新增 `test_1970_hflip_ai_tags.py`(19 个):None 全保守 / 显式 false 可翻转 / true 不翻转 / 混合顺序对齐 / 列表缺位保守 / 可复现 / 适配器解析(audio 排除、重复 id、查不到记录、查询异常回退 None) - 全量单测 **15819 passed, 28 skipped** - `check_migration_chain.py` / `check_migration_naming.py` 通过,alembic 单 head 确认 ## 关联 - 取代 #1982(该 PR 分支头 8a310b8a 不含 migration 修复,建议关闭) - 配套 PR:#1981(AI 标签)已合入 develop
xiaoxia added 1 commit 2026-09-19 01:09:33 +08:00
feat: #1970 hflip 按 atom_clip ai_tags.has_text 放开 + 清理重复 081 migration
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m44s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m37s
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m34s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 26s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m39s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m7s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 4m43s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m58s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 11m18s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m37s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
fbd89b4089
- render_adapter 按非 audio 源片段顺序批量查 atom_clip.ai_tags,
  仅 has_text 显式 false 标记无文字,其余(未打标签/true/null/查询失败)保守不翻转
- UnifiedRenderService 新增 clip_has_text 注入,None 维持 P1 全保守语义
- 删除残留 081_atom_clip_ai_tags.py(与 GPU PR 的 081 撞号,内容已由 082 承载),
  develop alembic 恢复单 head:080→081_add_gpu_lipsync→082_atom_clip_ai_tags
- 新增 19 个测试(纯函数混合标记/服务门控/适配器解析/失败回退),全量 15819 passed

🚀 预览环境已部署

项目 详情
PR号 #1985
预览链接 https://pr-1985.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1985 | | 预览链接 | [https://pr-1985.preview.xiaoxiajianji.com](https://pr-1985.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot added 1 commit 2026-09-19 01:15:46 +08:00
style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m36s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m10s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m9s
AI Code Review / AI Code Review (pull_request) Successful in 9m6s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m57s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m58s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m3s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m14s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 7m5s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 9m56s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 9m58s
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 42s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 1m49s
eb2b009b33
xiaoxia merged commit d3e4d6a07d into develop 2026-09-19 02:04:00 +08:00

🗑️ 预览环境已清理

PR #1985 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1985 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.