Commit Graph

19 Commits

Author SHA1 Message Date
xiaoxia cb4f076119 fix(generation): #2028 awaiting_cover 预览可见 + clips/from-assets 零时长容错(rebase on #2030)
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 2s
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 API 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 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 / Frontend Lint (pull_request) Successful in 1m44s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m47s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m19s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m31s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m53s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 3m54s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 4m2s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 5m5s
AI Code Review / AI Code Review (pull_request) Successful in 5m16s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m39s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 8m35s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m51s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 13m29s
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 / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m54s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 33s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m7s
- 后端 _get_task_video_url:DB 查不到 GeneratedVideo 时回退读 task.extra_meta.rendered_output.file_url,封面生成不再 404
- 后端 results:awaiting_cover 且无 DB 记录时,从 extra_meta 合成 preview-{task_id} 响应
- 后端 finalize 服务:支持 custom_title 自定义标题,幂等分支也更新名称
- 后端 clips/from-assets:asset=None 或 duration≤0 跳过;score_asset/scene_points 异常兜底不阻断;全素材无效返友好 400「素材尚未完成分析,请稍后重试」
- 前端轮询:pollSingleTask 把 awaiting_cover 视为可预览终态;BatchTaskState.status 加 awaiting_cover;7 处 completed 过滤加 OR awaiting_cover
- 前端 finalize:单步调 finalizeGeneration(custom_title 透传),不再先 confirm 再 finalize;响应字段补全 project_id/name/file_size/duration/thumbnail_url/width/height/fps
- 单测 11 个新增/更新,本地全过
2026-09-24 17:48:05 +08:00
saas-backend 8237d170a5 feat(#1899,#1900): clip_count 参数 + 模板管理 API 冗余清理
[skip ci-format-check]

#1899 clip_count 参数透传(from-assets 端点)
- ClipsFromAssetsRequest 新增 clip_count: Optional[int] (1-10) 字段
- 保留旧字段 required_clips_count 兼容:未传 clip_count 时回退旧字段(超 10 截断);两者都未传时默认 3 段
- 按 clip_count 创建 N 个片段,大于模板 segment 数时按顺序循环复用 segment 配置
- 每个片段时长在对应 segment 的 duration_min/duration_max 之间随机取值,保持原有轮询分配逻辑

#1900 模板管理 API 清理(前端 PR#1911 my-templates/editing-planner 下线)
- 保留 GET /templates 列表端点(生成页自动选模板使用)
- 删除 HTTP 端点:GET/POST/PUT/PATCH/DELETE /templates/{id}、POST copy、GET usage、
  POST toggle-favorite、POST validate、GET/POST/DELETE /categories、GET /tags/list
- 保留内部默认模板兜底 _get_or_create_default_template_id 及 CreateTemplateUseCase
- 删除对应 response_model 中不再使用的类(Copy/Update/Validate/Category/Usage/Favorite 等)
- 清理测试:删除集成测试 test_template_categories_api.py,更新 3 个单测适配新 clip_count 语义

DB:未涉及 schema 变更(models 本就无 is_favorite/usage_count 等列),跳过 migration。
新增 scripts/cleanup_e2e_test_data.sql 供运维在 staging DB 手动清理 e2e-gen-*/asset-create_* 账号残留模板数据。

单测:15128 passed, 28 skipped(全量 tests/unit/)
2026-09-15 07:32:06 +08:00
xiaoxia 7766ba1479 fix(#1774): 模板不存在明确返回404并收敛双表异常降级逻辑 (#1779)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 30s
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 206h53m51s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 206h53m52s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 206h53m55s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 206h53m55s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 206h53m55s
CI/CD Pipeline / PR Build Web Image (push) Failing after 206h53m55s
CI/CD Pipeline / Frontend Lint (push) Failing after 206h53m56s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 206h54m2s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 206h54m2s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 207h28m33s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 207h28m36s
CI/CD Pipeline / Validate - Security (pull_request) Failing after 207h28m36s
CI/CD Pipeline / PR Build API Image (push) Failing after 207h28m37s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 00:30:08 +08:00
xiaoxia 2c5600cfc9 feat: 素材选取评分注入随机噪声,降低成片查重率 (#1620)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 6s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m30s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m58s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 35s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 5m49s
CI/CD Pipeline / Validate - Style (push) Successful in 6m35s
CI/CD Pipeline / Integration Tests (push) Successful in 6m37s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m58s
CI/CD Pipeline / Validate - Security (push) Successful in 8m18s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m53s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m33s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m35s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m6s
CI/CD Pipeline / Unit Tests (push) Successful in 14m24s
CI/CD Pipeline / Production Browser E2E (push) Failing after 349h30m4s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 349h40m28s
CI/CD Pipeline / Canary Release to Production (push) Failing after 349h30m5s
CI/CD Pipeline / Deploy Production (push) Failing after 349h30m5s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 349h44m27s
CI/CD Pipeline / CI Gate (push) Failing after 349h30m6s
CI/CD Pipeline / PR Build Web Image (push) Failing after 349h44m30s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 349h30m6s
CI/CD Pipeline / PR Build API Image (push) Failing after 349h44m30s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 349h44m34s
CI/CD Pipeline / Build Production Web Image (push) Failing after 349h30m6s
CI/CD Pipeline / Build Production API Image (push) Failing after 349h30m6s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 350h14m47s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 350h18m48s
CI/CD Pipeline / Frontend Lint (push) Failing after 350h18m50s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-02 01:40:34 +08:00
saas-backend-agent 827d8aafe5 feat: 素材分配顺序随机打乱 + MediaKit SceneChange智能选帧
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
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m26s
AI Code Review / AI Code Review (pull_request) Failing after 5m45s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Has been cancelled
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Check push changed paths (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m46s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m35s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m13s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Waiting to run
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m53s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 6m0s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 7m27s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 7m47s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 6m38s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 16m35s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 29m28s
CI/CD Pipeline / CI Gate (pull_request) Failing after 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 353h34m22s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 353h34m23s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 353h34m24s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 353h34m24s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 353h56m16s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 353h56m18s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 353h56m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 353h59m58s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 354h0m11s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 354h3m8s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 354h0m11s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 354h3m10s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 354h0m13s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 354h1m54s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 354h1m56s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 354h1m58s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 354h7m43s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 354h8m41s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 354h8m43s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 354h37m24s
1. 素材分配顺序随机打乱
   - segments 处理顺序通过 random.shuffle 随机化
   - clips_data 最终按原始 segment order 排序返回
   - 打乱的是分配顺序,不影响播放顺序

2. MediaKit SceneChange 智能选帧
   - mediakit_client.py 新增 detect_scene_changes 方法
   - SceneChange 优先,失败降级到 TimeInterval(5秒间隔)
   - 后台任务 _update_mediakit_recommendations_async 改用 SceneChange
   - 各片段优先从不同镜头段选取起始时间
   - analyze_videos 保留为 fallback
   - 所有降级路径:MediaKit不可用/SceneChange失败 → 保持随机start_time

3. 测试
   - 新增 tests/unit/test_scene_change_shuffle.py (12个测试用例)
   - 更新 test_editor_clips_random_start.py 适配 shuffle 逻辑
   - 全部 108 个相关测试通过
   - ruff check 通过
2026-09-01 21:16:51 +08:00
xiaoxia 9d5ae7a5bc feat: 素材选取路径接入 smart_match 评分,让用过降权真正生效 (#1615)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 6s
CI/CD Pipeline / Validate - Style (push) Has been cancelled
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Failing after 354h47m39s
CI/CD Pipeline / PR Build API Image (push) Failing after 354h47m41s
CI/CD Pipeline / Frontend Lint (push) Failing after 354h47m41s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 354h47m43s
CI/CD Pipeline / PR Build Web Image (push) Failing after 355h21m57s
feat: 素材选取路径接入 smart_match 评分,让用过降权真正生效 (#1615)
2026-09-01 20:37:25 +08:00
xiaoxia 4aeb1d5b66 fix(render): 修复生成视频时长短于模板要求时长 (#1614)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Validate - Style (push) Successful in 2m41s
CI/CD Pipeline / Integration Tests (push) Successful in 3m46s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m32s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m35s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m27s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 6m31s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 9m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 4m10s
CI/CD Pipeline / Unit Tests (push) Successful in 17m43s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m28s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m4s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 6m2s
CI/CD Pipeline / Validate - Security (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 355h7m15s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 355h7m17s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 355h18m16s
CI/CD Pipeline / PR Build API Image (push) Failing after 355h18m16s
CI/CD Pipeline / Frontend Lint (push) Failing after 355h18m16s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 355h20m46s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 355h41m35s
CI/CD Pipeline / PR Build Web Image (push) Failing after 355h52m34s
fix(render): 修复生成视频时长短于模板要求时长 (#1614)
2026-09-01 20:00:12 +08:00
xiaoxia a0c14db33c feat(asset-dedup): 素材去重机制6项优化 — 调参+警告+贪心分配 (#1611)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m44s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m15s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 36s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 5m41s
CI/CD Pipeline / Validate - Style (push) Successful in 5m55s
CI/CD Pipeline / Integration Tests (push) Successful in 6m6s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m51s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 9m18s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m45s
CI/CD Pipeline / Validate - Security (push) Successful in 10m34s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m36s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m13s
CI/CD Pipeline / Unit Tests (push) Failing after 14m3s
CI/CD Pipeline / Production Browser E2E (push) Failing after 357h30m25s
CI/CD Pipeline / Deploy Production (push) Failing after 357h30m26s
CI/CD Pipeline / CI Gate (push) Failing after 357h30m28s
CI/CD Pipeline / Build Production Web Image (push) Failing after 357h30m28s
CI/CD Pipeline / Build Production API Image (push) Failing after 357h30m28s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 357h40m14s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 357h44m30s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 357h44m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 357h44m32s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 357h44m35s
CI/CD Pipeline / PR Build Web Image (push) Failing after 357h44m32s
CI/CD Pipeline / Canary Release to Production (push) Failing after 358h4m45s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 358h4m46s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 358h14m32s
CI/CD Pipeline / PR Build API Image (push) Failing after 358h18m50s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-01 17:40:34 +08:00
xiaoxia dc816991d6 fix(assets): smart-match 响应扁平化——item 顶层直出素材字段,修复自动选素材全链路 404/422
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m38s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 4m3s
CI/CD Pipeline / Check push changed paths (push) Successful in 4m24s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 4m58s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m29s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m44s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m9s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m34s
CI/CD Pipeline / Build Staging API Image (push) Successful in 2m40s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m17s
CI/CD Pipeline / CI Gate (pull_request) Successful in 47s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 45s
AI Code Review / AI Code Review (pull_request) Successful in 7m56s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 8m7s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 59s
CI/CD Pipeline / Frontend Lint (push) Failing after 10m18s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 10m59s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m17s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m57s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 4m45s
CI/CD Pipeline / Integration Tests (push) Successful in 3m5s
CI/CD Pipeline / Unit Tests (push) Successful in 14m44s
CI/CD Pipeline / Production Browser E2E (push) Failing after 385h35m28s
CI/CD Pipeline / Canary Release to Production (push) Failing after 385h35m29s
CI/CD Pipeline / CI Gate (push) Failing after 385h35m30s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 385h35m30s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 385h43m8s
CI/CD Pipeline / Build Production Web Image (push) Failing after 385h35m30s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 385h43m9s
CI/CD Pipeline / Build Staging Web Image (push) Failing after 385h45m50s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 385h46m4s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 385h46m6s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 385h46m8s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 385h46m10s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 385h46m35s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 385h46m12s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 385h46m37s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 385h46m31s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 385h47m13s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 385h46m33s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 385h47m15s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 385h47m9s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 385h49m53s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 385h49m55s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Failing after 385h49m59s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 385h50m1s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 385h50m5s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 385h50m7s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 385h50m10s
CI/CD Pipeline / PR Build Web Image (push) Failing after 385h50m11s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 385h50m16s
CI/CD Pipeline / PR Build API Image (push) Failing after 385h50m13s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 385h50m17s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 385h50m18s
CI/CD Pipeline / Deploy Production (push) Failing after 386h9m40s
CI/CD Pipeline / Build Production API Image (push) Failing after 386h9m41s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 386h20m17s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 386h20m46s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 386h21m22s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 386h24m2s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Failing after 386h24m8s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 386h24m14s
P0 线上事故:前端 smartMatchAssets 按 {items: AssetItem[]} 解析,
items.map(a => a.id) 直接取 id;但后端 SmartMatchItem 为
{asset: AssetResponse, score, breakdown} 包装结构,导致 id 全为
undefined → GET /assets/undefined 404 连发、POST /clips/from-assets
携带 null 422,自动模式预览无法生成、标题不显示。

修复:
- SmartMatchItem 改为继承 AssetResponse 的扁平结构:id/usable/
  used_duration/available_duration/used_ratio 等素材字段全部在 item
  顶层,前端拿到即可用;score/breakdown 评分字段保留
- 路由用 model_dump() 解包构造,packages.domain.smart_select_assets
  域层 SmartMatchResult.asset 不动,generation_tasks 内部生成链路
  ([r.asset.id for r in results])零影响
- ClipsFromAssetsRequest 加 pre validator 过滤 null/空串/空白 id;
  from-assets 路由层二次归一化兜底,全非法时 400 而非 422/500

测试:扁平结构 3 用例(顶层 id/无 asset 包装/余量字段可读/评分保留)、
端点 TestClient 断言更新、from-assets 容错 4 用例;相关 95 用例全过
2026-08-31 13:35:05 +08:00
CI Bot e33502956c feat(segments): 片段重复率控制(受控复用+15%闸门)与素材余量四字段
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m5s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m35s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m38s
AI Code Review / AI Code Review (pull_request) Failing after 3m41s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m6s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m22s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m24s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 421h11m26s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 421h11m29s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 421h14m19s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 421h14m19s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 421h14m21s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 421h14m27s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 421h14m27s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 421h14m33s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 421h14m33s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 421h14m35s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 421h45m33s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 421h48m24s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 421h48m32s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 421h48m36s
Task G:任意两条成片画面重复率 ≤15%
- MediaKit 智能选片避让历史区间:历史区间并入冲突检查、0.3s 边缘间隙、
  撞历史时放弃推荐保留原起点(不再挪到已用画面)
- 自动轮回改造为受控复用:历史永不自动清空;used_time_ranges 增加
  use_count/last_used_at;100 次随机失败后复用 last_used_at 最老且
  use_count<3 的区间;单条成片复用占比 >15% 时该素材停止分配(分配闸门 +
  复用回调内预判双闸门);全部素材超限返回 400「素材可切区间不足,请补充新素材」
- 复用回调返回 None 时 calc 直接返回 None(删除末尾/0.0 重叠降级),
  from-assets 轮询内 calc 失败切换下一素材
- 批量 N 条视频片段独立:count>1 时克隆独立 plan,禁止共用
  source_edit_plan_id/clips(合并 Issue #1282);预览同样克隆独立变体
- 常量:REUSE_RATIO_LIMIT=0.15 / SEGMENT_EDGE_GAP=0.3 / MAX_RANGE_USE_COUNT=3

Task H:素材余量透出与已用尽素材排除
- GET /assets 列表与详情响应附加 used_duration/available_duration/
  used_ratio/usable 四字段(非视频/无时长/异常时 None + usable=True,零影响)
- usable=false:零重复可切区间已耗尽(扩边后无 ≥3s 空闲段)且所有历史
  区间 use_count 均达上限
- smart-match 结果层过滤 usable=false 素材(评分逻辑不动)
- from-assets 对已用尽素材天然兜底:calc 返回 None → 轮询跳过 →
  全部素材用尽时 400

测试:新增 test_mediakit_conflicts(10)/test_clone_plan_variant(7)/
test_asset_availability(23),更新 tracker/clips/mediakit 既有用例;
全量 unit 13910 passed
2026-08-30 02:10:06 +08:00
CI Bot 2174e91c48 feat: 素材片段区间持久化去重 + 区间用尽自动轮回
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m39s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m43s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m8s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m15s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m30s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 8m33s
AI Code Review / AI Code Review (pull_request) Successful in 8m50s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 9m35s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 427h7m30s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 427h7m32s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 427h9m55s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 427h9m57s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 427h9m59s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 427h10m4s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 427h10m7s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 427h10m9s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 427h10m11s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 427h10m13s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 427h41m34s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 427h44m1s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 427h44m9s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 427h44m14s
- 新增 asset_segment_tracker 服务:素材 metadata(used_time_ranges) 持久化片段级已用区间
- from-assets 创建片段时读取历史区间,新片段跨任务/跨调用自动避开
- 片段记录与 replace_all_clips_transactional 同事务,失败整体回滚
- MediaKit 异步移动片段起点后同步更新 metadata 区间记录(失败静默)
- _calc_random_start_time 新增 on_exhausted 回调:100次找不到时清空该素材历史区间再重试,实现轮完一圈自动循环

详见 PR body 的 metadata schema 说明
2026-08-29 20:14:28 +08:00
xiaoxia 12f51d43bf feat(from-assets): 改为异步执行MediaKit分析 (#1525)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m38s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m8s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 4m16s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 5m6s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 6m4s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 6m5s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 6m6s
CI/CD Pipeline / Build Staging API Image (push) Successful in 8m15s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m31s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m41s
AI Code Review / AI Code Review (pull_request) Successful in 5m15s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m24s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m34s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m55s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 10m32s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m27s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 11m11s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m58s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m18s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m21s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m14s
CI/CD Pipeline / Integration Tests (push) Successful in 3m22s
CI/CD Pipeline / Unit Tests (push) Successful in 15m1s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 12m39s
CI/CD Pipeline / CI Gate (pull_request) Successful in 24s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 458h40m56s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 458h40m57s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 458h40m58s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 458h40m59s
CI/CD Pipeline / Production Browser E2E (push) Failing after 458h41m9s
CI/CD Pipeline / Build Production Web Image (push) Failing after 458h41m10s
CI/CD Pipeline / Canary Release to Production (push) Failing after 458h41m9s
CI/CD Pipeline / CI Gate (push) Failing after 458h41m10s
CI/CD Pipeline / Deploy Production (push) Failing after 458h41m10s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 458h51m3s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 458h52m46s
CI/CD Pipeline / Build Production API Image (push) Failing after 458h41m12s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 458h53m38s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 458h51m3s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 458h54m38s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 458h51m5s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 458h55m26s
CI/CD Pipeline / PR Build API Image (push) Failing after 458h55m30s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 458h53m40s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 458h55m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 458h56m6s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 458h55m34s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 458h59m46s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 458h55m36s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 459h14m58s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 459h14m59s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 459h15m11s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 459h25m30s
CI/CD Pipeline / PR Build Web Image (push) Failing after 459h29m28s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-08-28 12:26:00 +08:00
CI Bot 753a3206a7 style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 470h56m33s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 470h56m37s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 470h56m39s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 470h56m35s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 470h56m39s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 471h30m35s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 471h30m39s
2026-08-27 16:29:06 +00:00
CI Bot 5c62dad798 fix: atomic clip replacement via replace_all_clips_transactional + asset_total=0 guard
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m37s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m4s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m39s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m15s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m2s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m31s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m33s
AI Code Review / AI Code Review (pull_request) Failing after 7m50s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 471h0m4s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 471h0m8s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 471h1m25s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 471h1m30s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 471h1m27s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 471h5m28s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 471h5m32s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 471h34m6s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 471h35m28s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 471h39m30s
- Use replace_all_clips_transactional for atomic delete+create (fixes data loss risk)
- Guard asset_total <= 0 with HTTP 400 (fixes invalid clip creation)
- Update tests to verify transactional replace and zero-duration guard
- 40 tests passing
2026-08-28 00:20:04 +08:00
CI Bot fdc9573baa style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 35s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m22s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m43s
AI Code Review / AI Code Review (pull_request) Failing after 3m4s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m18s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m39s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m38s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m26s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m28s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 471h5m55s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 471h7m12s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 471h5m57s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 471h7m54s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 471h8m15s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 471h10m29s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 471h10m33s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 471h39m59s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 471h42m13s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 471h44m31s
2026-08-27 16:11:55 +00:00
CI Bot 030220f24d test: update existing clip tests for template-segment-based creation
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m17s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m45s
AI Code Review / AI Code Review (pull_request) Failing after 4m14s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m28s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 42s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m28s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m49s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 7m56s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 8m22s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 471h21m34s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 471h22m16s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 471h21m36s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 471h22m57s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 471h26m48s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 471h22m59s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 471h26m48s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 471h23m1s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 471h55m38s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 472h0m46s
2026-08-27 23:58:56 +08:00
xiaoxia 29c0d76677 fix: cross-task segment dedup - build used_segments from existing clips (#1522)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m17s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 4m14s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 5m28s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m30s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 3m23s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m42s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m31s
CI/CD Pipeline / Build Staging API Image (push) Successful in 8m5s
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled
CI/CD Pipeline / CI Gate (push) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 479h52m42s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 479h53m40s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 479h52m44s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 479h54m53s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 479h54m55s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 480h0m35s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 479h54m57s
CI/CD Pipeline / PR Build API Image (push) Failing after 480h0m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 480h0m42s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 480h0m44s
CI/CD Pipeline / PR Build Web Image (push) Failing after 480h34m37s
2026-08-27 15:25:04 +08:00
xiaoxia 9bd3e7e30a fix: from-assets 创建片段后调用 mark_clips_ready 转为 ready (#1517)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m53s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m43s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 6m27s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 6m54s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 6m53s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 7m12s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 7m46s
CI/CD Pipeline / Build Staging API Image (push) Successful in 8m34s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m50s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m31s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 2m31s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m24s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m47s
AI Code Review / AI Code Review (pull_request) Failing after 6m48s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m35s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 11m56s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 12m5s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m54s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m9s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 4m51s
CI/CD Pipeline / Integration Tests (push) Successful in 6m1s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 6m0s
CI/CD Pipeline / Unit Tests (push) Successful in 16m23s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 14m27s
CI/CD Pipeline / CI Gate (pull_request) Successful in 48s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 484h33m34s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 484h33m35s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 484h33m37s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 484h33m37s
CI/CD Pipeline / Production Browser E2E (push) Failing after 484h34m11s
CI/CD Pipeline / Build Production Web Image (push) Failing after 484h34m16s
CI/CD Pipeline / Canary Release to Production (push) Failing after 484h34m13s
CI/CD Pipeline / CI Gate (push) Failing after 484h34m16s
CI/CD Pipeline / Deploy Production (push) Failing after 484h34m13s
CI/CD Pipeline / Build Production API Image (push) Failing after 484h34m17s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 484h44m28s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 484h44m30s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 484h46m49s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 484h44m32s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 484h47m39s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 484h48m8s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 484h47m41s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 484h49m44s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 484h49m48s
CI/CD Pipeline / PR Build Web Image (push) Failing after 484h49m45s
CI/CD Pipeline / Frontend Lint (push) Failing after 484h50m23s
CI/CD Pipeline / PR Build API Image (push) Failing after 484h49m46s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 484h54m36s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 484h49m50s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 484h49m52s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 485h7m33s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 485h7m35s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 485h8m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 485h19m59s
2026-08-27 10:31:13 +08:00
xiaoxia 2c1af458b9 feat(editor): from-assets支持同素材多片段+随机起始时间+去重+required_clips_count (#1512)
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m42s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4m46s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 5m37s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m23s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m56s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m56s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m16s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 31s
AI Code Review / AI Code Review (pull_request) Successful in 6m57s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 13m10s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 13m12s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 8m45s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 10m3s
CI/CD Pipeline / Validate - Code Quality (push) Successful in 23m58s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 23m59s
CI/CD Pipeline / Build Staging API Image (push) Successful in 25m5s
CI/CD Pipeline / Unit Tests (push) Successful in 26m28s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 20m11s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 3m3s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 1m40s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m54s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m50s
CI/CD Pipeline / Integration Tests (push) Successful in 10m57s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 10m55s
CI/CD Pipeline / CI Gate (pull_request) Successful in 26s
CI/CD Pipeline / CI Gate (push) Failing after 496h10m52s
CI/CD Pipeline / Canary Release to Production (push) Failing after 496h13m44s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 496h18m24s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 496h18m26s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 496h18m28s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 496h18m28s
CI/CD Pipeline / Production Browser E2E (push) Failing after 496h19m12s
CI/CD Pipeline / Build Production Web Image (push) Failing after 496h19m16s
CI/CD Pipeline / Deploy Production (push) Failing after 496h19m14s
CI/CD Pipeline / Build Production API Image (push) Failing after 496h19m16s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 496h34m5s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 496h34m7s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 496h34m24s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 496h35m1s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 496h36m8s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 496h39m23s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 496h40m7s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 496h40m11s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 496h45m42s
CI/CD Pipeline / PR Build API Image (push) Failing after 496h45m46s
CI/CD Pipeline / Frontend Lint (push) Failing after 496h45m46s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 496h45m49s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 496h52m24s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 496h52m26s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 496h53m14s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 497h8m7s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 497h10m4s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 497h14m7s
CI/CD Pipeline / PR Build Web Image (push) Failing after 497h19m42s
2026-08-26 22:40:02 +08:00