51d34cd95e01ac26e7f76fe999fa1cfc6efd339a
172 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
51d34cd95e |
style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 10s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 26s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m8s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m5s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 38s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 48s
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 2m49s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 11s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m47s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m53s
AI Code Review / AI Code Review (pull_request) Successful in 3m42s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
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 Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (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 / 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
|
||
|
|
773ae1e854 |
test(wave157): domain层7个小模块批量单测 +44
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 55s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m4s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m45s
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 / 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 Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build 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 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
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m0s
为 domain 层 7 个小模块新增 44 个单测,纯逻辑 0 外部依赖: - EditingMode 枚举:6个 - Tag 工厂:4个 - RecipeItem/Recipe:6个 - VoiceLibraryItem:3个 - TitleLibraryItem:3个 - TemplateSegment/Template/TemplateCategory:6个 - EditTemplateStatus/EditTemplate:16个 |
||
|
|
daede42469 |
test(wave156): generation_task生成任务实体单测 +24
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 15s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m12s
CI/CD Pipeline / Validate - Code Quality (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 Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build 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 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
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 44s
为 domain/generation_task.py 新增 24 个单测: - GenerationTaskStatus 枚举:6个 - create 工厂:18个(最简/全字段/二选一校验/列表拷贝/默认值) |
||
|
|
afd3764251 |
test(wave155): generated_video生成视频实体单测 +16
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 25s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m3s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m7s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 39s
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 / Validate - Code Quality (pull_request) Failing after 1m37s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (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 / 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
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m25s
为 domain/generated_video.py 新增 16 个单测: - create 必填字段 + 默认值 - strip 行为 - 4个空值校验(project_id/task_id/name/file_url) - 唯一ID + 时间戳 - 零值合法(宽高/fps) - generation_params 独立性 |
||
|
|
f34a5ab075 |
test(wave154): classification素材分类单测 +34
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 8s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 53s
CI/CD Pipeline / Validate - Code Quality (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 Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build 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 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
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 36s
为 domain/classification.py 新增 34 个单测: - AssetLibraryKind 枚举:4个 - IngestJobStatus 枚举:5个 - ClassificationJobStatus 枚举:6个 - AssetClassification 枚举:10个 - ClassificationJob.create:9个 |
||
|
|
d9659e5b63 |
test(wave153): edit_plan_clip剪辑计划片段单测 +44
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 21s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 50s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 47s
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 / Frontend Lint (pull_request) Successful in 44s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m4s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m50s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (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
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m17s
为 domain/edit_plan_clip.py 新增 44 个单测,纯逻辑 0 外部依赖: - EditPlanClipStatus 枚举:7个 - create 工厂/校验:17个 - assign_asset 素材分配:5个 - 状态流转(pending→ready→rendered/failed):8个 - end_time/has_asset 属性:7个 |
||
|
|
714e047856 |
test(wave152): duplication查重记录单测 +40
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 26s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 35s
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 / Validate - Type Check (mypy) (pull_request) Successful in 1m3s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m17s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 47s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 46s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 38s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m11s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (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) Successful in 4m10s
为 domain/duplication.py 新增 40 个单测,纯逻辑 0 外部依赖: - DuplicateSegment.create 工厂/校验:10个 - DuplicationRecord.create 工厂/校验:11个 - 状态流转 (pending/processing/completed/failed):13个 - can_retry + reset_for_retry:4个 - segments 列表:3个 |
||
|
|
479b717135 |
test(wave151): quota配额系统单测补全 +80
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 19s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 43s
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 / Validate - Type Check (mypy) (pull_request) Successful in 1m4s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m15s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m7s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m8s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 31s
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 / Frontend Unit Tests (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) Successful in 4m2s
为 domain/quota.py 新增 80 个单测,纯逻辑 0 外部依赖: - QuotaDimension 枚举:11个 - QuotaTier 数据类:6个 - QUOTA_TIERS 常量:12个(三档套餐核心字段+单调递增验证) - QuotaWarningLevel:2个 - QuotaCheckResult.usage_percent:7个(正常/0/100%/超量/不限量/零限制) - get_warning_level 告警级别:13个(0%/80%/95%/100%/超量/零限制/不限量/负数) - QuotaRegistry 注册/查询:14个 - QuotaChecker 配额检查:13个 - 全局单例:3个 |
||
|
|
6eac0b2cf2 |
chore(ci): 同步main分支CI配置与scripts/ci脚本 - 与develop对齐
Worker Base Image Build / Build Worker Base Images (worker-base-builder-cache, infra/docker/worker-base-builder.Dockerfile, worker-base-builder, builder) (push) Failing after 1m54s
Worker Base Image Build / Build Worker Base Images (worker-base-runtime-cache, infra/docker/worker-base-runtime.Dockerfile, worker-base-runtime, runtime) (push) Failing after 1m36s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Check if frontend-only change (push) Has been skipped
CI/CD Pipeline / Validate - Code Quality (push) Failing after 1m29s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 1m4s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 1m2s
CI/CD Pipeline / Unit Tests (push) Successful in 3m38s
CI/CD Pipeline / Integration Tests (push) Successful in 2m0s
CI/CD Pipeline / Frontend Lint (push) Successful in 28s
CI/CD Pipeline / Frontend Unit Tests (push) Failing after 44s
CI/CD Pipeline / PR Build API Image (push) Has been skipped
CI/CD Pipeline / PR Build Web Image (push) Has been skipped
CI/CD Pipeline / PR Build Worker Image (push) Has been skipped
CI/CD Pipeline / Build Staging API Image (push) Failing after 2m16s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 8m14s
CI/CD Pipeline / Build Staging Worker Image (push) Failing after 2m0s
CI/CD Pipeline / Build Production API Image (push) Has been skipped
CI/CD Pipeline / Build Production Web Image (push) Has been skipped
CI/CD Pipeline / Build Production Worker Image (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (push) Has been skipped
同步内容: 1. CI流水线配置(ci-pipeline.yml)与develop对齐 2. PR构建脚本docker_build_only.sh增加buildx→docker build回退 3. pre-build步骤worker基础镜像构建增加buildx回退 4. 单元测试脚本全量覆盖率改为仅报告不阻塞 5. diff-cover依赖加入requirements-dev.txt 6. worker base builder/runtime Dockerfile同步 7. test_config_oss.py clear=False→clear=True修复OSS污染 8. Frontend Lint增加prettier依赖 |
||
|
|
f7a945d417 |
fix: 视频上传MIME白名单补全 + 成片库N+1查询修复
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Deploy Staging (push) Failing after 41h47m31s
CI/CD Pipeline / Frontend Lint (push) Failing after 41h49m12s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 41h49m12s
- chunked_upload.py ALLOWED_MIME_TYPES 从12种扩展到22种,与 upload.py 保持一致
新增: video/mpeg, video/x-matroska, video/3gpp, audio/flac, audio/aac,
audio/x-m4a, audio/webm, image/bmp, image/tiff, image/svg+xml
- generated_video_repository list_by_project/list_by_generation_task
改用 _to_domain() 替代 self.get(),消除 N+1 查询
- 新增 24 个单元测试覆盖以上修复及成片库 API 可用性确认
Closes #172 #173
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|
|
9f0c064f2a |
feat: 任务4 视频查重 — 历史+批次双重去重
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 45h27m46s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 45h27m46s
- Alembic 033: generation_tasks 加 batch_id 列+索引 - Route: count>1 时生成共享 batch_id - Repository: list_by_batch() 批次内查询 - dedup.py: check_batch_duplicate() 批次内查重 - Worker: 生成视频后创建 GeneratedVideo 记录 + 双重查重 - 单元测试: 6 个批次查重测试用例 |
||
|
|
1ea8fd3989 |
feat: P2 素材库自动匹配 - 支持 all/random/smart 三种素材选取模式
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 45h41m20s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 45h41m20s
- Schema: 新增 asset_select_mode + asset_select_count 字段 - Domain: GenerationTask 新增 asset_select_mode 字段 - Application: Command/UseCase 透传 asset_select_mode - Route: _select_assets_from_library() 辅助函数 + 创建任务集成 - SQLAlchemy: Model/Repository 映射 asset_select_mode - Alembic: 032 号迁移 - Worker: _download_library_assets() 支持 asset_ids 过滤 - 单测: 15 个测试覆盖三种模式 + 边界情况 |
||
|
|
4fee87c5e8 |
feat: 素材重复上传检测 + 批量生成视频
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 45h56m35s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 45h56m48s
任务1: 素材重复上传检测 - 上传接口支持 file_hash 参数,通过 MD5+素材库ID 去重 - 命中去重直接返回已有 asset_id,不重复存 OSS - file_hash 透传: API → IngestJob → Asset 全链路 - 三条上传路径(表单/直传/分片)均支持去重 - Alembic 031: assets + ingest_jobs 加 file_hash 列+索引 - 6 个单元测试覆盖去重命中/未命中/空hash/透传 任务3: 批量生成视频 - POST /generations 支持 count 参数,一次创建多条生成任务 - 每条任务独立状态跟踪,响应返回 task_ids 列表 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
2bcbd54ed7 |
feat: 最后一公里 — TTS 合成结果保存到配音库接口
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 47h30m9s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 47h30m9s
- 新增 POST /tts/jobs/{id}/save-to-library 接口
- 自动携带音色名、时长、语速等元信息到 metadata
- 配音库配额检查(429 响应)
- 15 个单元测试全部通过
- 全部 115 个 TTS 测试无回归
|
||
|
|
2849123bd7 |
feat: P2 WebSocket 流式合成
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 47h49m26s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 47h49m26s
- 新增 TTSStreamingService 流式合成服务 - 实现 /ws/tts/stream WebSocket 端点 - 短文本(≤500字):合成完整音频后分块推送 - 长文本(>500字):分段并发合成,逐段推送 - 通过 asyncio.to_thread 桥接同步 CosyVoiceService - 二进制帧 4KB 分块推送音频数据 - 10 个单元测试全部通过 |
||
|
|
d6ab413dcd |
feat: P1 长文本分段合成
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 47h57m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 47h57m37s
- 新增 text_splitter.py: 长文本智能分段(句子边界 + 短段合并) - 新增 audio_merger.py: FFmpeg concat 音频合并器 - workflow.py: 分段合成完整流程(同步合并 / 异步轮询 / 失败处理) - tts_synthesis.py: 新增 process_tts_segment_synthesis Celery 任务 - tts.py: 路由层自动识别分段任务并分发到对应 Celery task - 23 个单元测试全部通过,P0 回归测试无退化 |
||
|
|
c47aed95fc |
feat(tts): P0 音频转存 OSS — 合成完成后下载临时音频上传 OSS 存储永久 URL
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 48h27m21s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 48h27m21s
- TTSWorkflowService 新增 _transfer_audio_to_oss 方法 - start_synthesis 同步路径和 process_synthesis_result 均集成 OSS 转存 - OSS 转存失败时优雅降级,回退到 CosyVoice 临时 URL - 支持 mp3/wav/pcm/opus 格式 content-type 映射 - 新增 9 个单元测试覆盖转存成功/失败/降级场景 - 向后兼容:storage_service 为可选参数,现有调用方无需修改 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
b0f2e4712a |
feat: P3 配音模块标签体系 — 标签 CRUD + 素材打标 + tag_ids 筛选
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 48h55m59s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 48h55m59s
- 新增 Tag 领域实体 + TagModel/AssetTagModel ORM 模型
- Alembic 迁移 030:tags 表 + asset_tags 关联表
- TagRepository 端口 + SQLAlchemy/InMemory 实现
- Asset.tag_ids 多对多关联替代原 JSON tags
- GET /tags / POST /tags / DELETE /tags/{tag_id} 标签 CRUD
- POST /assets/{asset_id}/tags 打标 / DELETE 取消标签
- GET /assets 新增 tag_ids 筛选参数(逗号分隔,取交集)
- 19 个单元测试全部通过
|
||
|
|
f8bc252ded |
feat(assets): 批量删除接口 + 分页性能优化
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Failing after 49h30m34s
CI/CD Pipeline / Deploy Staging (push) Failing after 49h34m18s
CI/CD Pipeline / Frontend Lint (push) Failing after 49h36m48s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 49h36m54s
- 新增 POST /assets/batch-delete 批量删除素材接口 - 仓储层: abstract/SQLAlchemy/InMemory 均实现 batch_delete() - API层: 逐项校验项目权限后批量删除 - Schema: BatchDeleteRequest/BatchDeleteResponse - GET /assets 分页优化: 无 keyword/gender/style 过滤时走 DB 级 skip/limit - 素材上传 duration 字段已全链路支持(domain/schema/ORM/repository) - 新增 4 个批量删除单元测试,全量 1030 测试通过 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
c67aadcb2b |
chore: 修复 isort import 排序
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 75h39m10s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 75h39m22s
|
||
|
|
b86a9c2af2 |
chore: 统一代码格式 - black + prettier 全量格式化
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 75h41m6s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 75h41m16s
|
||
|
|
a101b2170b |
fix: 修复 StrEnum 反序列化 — 仓储层 status 字符串转枚举
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Staging E2E Tests (push) Failing after 91h12m12s
Deploy / Deploy Staging (push) Failing after 91h14m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 91h14m23s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 91h14m23s
根因:SQLAlchemy Column(String(20)) 读出的是纯 str, _model_to_entity 直接传给 domain 实体后,路由层 job.status.value 抛 AttributeError(str 没有 .value 属性)→ 500。 修复 3 个缺失枚举转换的仓储: - tts_job_repository: status=TTSJobStatus(model.status) - voice_clone_profile_repository: status=VoiceCloneStatus(model.status) - generation_task_repository: status=GenerationTaskStatus(model.status) 已有正确转换的仓储(edit_plan/edit_plan_clip/edit_template/ asset/job/ingest_job)不受影响。 新增 22 个单测覆盖: - 所有 StrEnum status 值的枚举转换验证 - .value 属性可正常访问(不再 AttributeError) - 字符串兼容性比较仍然有效 - 已有正确仓储的回归测试 全量 896 单测全绿。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
1f8bbe37dd |
fix: TTS 合成接口失败时返回 201 + failed 状态,不抛 500
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Staging E2E Tests (push) Failing after 91h45m45s
Deploy / Deploy Staging (push) Failing after 91h47m59s
CI/CD Pipeline / Frontend Lint (push) Failing after 91h48m15s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 91h48m24s
与音色克隆接口保持一致: - 路由层增加 try/except 兜底,捕获 workflow 未处理的意外异常(DB错误等) - CosyVoice 失败时标记 job 为 failed,返回 201 + failed 状态任务记录 - Celery 调度失败时也标记 job 为 failed,不抛 500 - 新增 10 个单元测试覆盖各种失败场景 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
a57a26cb67 |
fix(tests): 修复 sys.modules 污染导致 test_generated_video_management 间歇失败
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Staging E2E Tests (push) Failing after 107h15m3s
Deploy / Deploy Staging (push) Failing after 107h16m41s
CI/CD Pipeline / Frontend Lint (push) Failing after 107h17m11s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 107h17m18s
根因:test_subscription_api._install_mocks() 在模块导入时替换了 packages.domain / packages.ports 等命名空间包,导致后续测试文件 无法导入真实的 GeneratedVideo 等实体类。 修复:移除所有 packages.* 命名空间包的 fake module 创建,仅保留 必要的叶子 mock(redis/smtp 适配器、app.config/auth/dependencies)。 让 packages.* 模块从磁盘正常加载。 同时包含: - P2: asset_diagnosis 单素材诊断支持 - P2: edit_plans/edit_templates 管理员权限校验 - P2: edit_plans project 归属鉴权 - P3: test_error_scenarios 限流计数器重置 - P3: test_asset_diagnosis/test_edit_templates 测试修复 - P3: Alembic 迁移 024_add_user_is_admin |
||
|
|
b4f4d4ffad |
fix: 同步 edit_plans/edit_templates 测试断言到 Phase 8 config 标准化结构
Deploy / Staging E2E Tests (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 110h35m20s
CI/CD Pipeline / Frontend Lint (push) Failing after 110h35m29s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 110h35m29s
Phase 8 引入 normalize_plan_config/normalize_template_config 后, API 会将 config 扩展为完整的结构化默认值(cover/title/subtitle/bgm), 但测试断言仍使用旧的简单 dict 格式,导致 4 个用例失败。 修复方式:导入 normalize_* 函数,断言改为期望标准化后的 config。 修复用例: - test_create_success (plans) - test_create_minimal (plans) - test_update_config (plans) - test_create_with_all_fields (templates) |
||
|
|
48d7e01498 |
feat(edit-plans): AI推荐片段方案 + 封面生成接口 + config JSON schema 标准化
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Staging E2E Tests (push) Failing after 112h44m30s
Deploy / Deploy Staging (push) Failing after 112h47m19s
CI/CD Pipeline / Frontend Lint (push) Failing after 112h47m45s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 112h47m52s
新增接口:
- POST /api/v1/edit-plans/{plan_id}/ai-recommend — AI分析素材推荐片段编排
- POST /api/v1/edit-plans/{plan_id}/generate-cover — AI智能选帧/生成封面
config 标准化:
- packages/domain/config_schemas.py: cover/title/subtitle/bgm 完整 schema 定义
- normalize_plan_config() / normalize_template_config() 自动填充默认值
- edit_plans create/update 和 edit_templates create/update 均已接入标准化
AI任务:
- apps/worker/worker_app/tasks/ai_tasks.py: stub实现,后续替换为真实AI服务
- Celery lazy import 已注册 run_ai_recommend / run_generate_cover
测试: 33个新用例覆盖 schema验证、AI任务、API端点、config标准化
|
||
|
|
fd90d7730c |
fix: CI全面修复 - node镜像拉取/204响应体断言/phash测试用例
Deploy / Staging E2E Tests (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Failing after 135h4m5s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 135h4m5s
1. 前端node镜像去掉--pull=never,缺失时自动拉取 - ci-cd.yml: 5处前端lint/test步骤 - deploy.yml: 2处web构建步骤 2. 修复from __future__ import annotations导致的204路由断言失败 - FastAPI 0.115 把字符串"None"当作有效response_model - 给9个路由文件的204 DELETE路由显式加response_model=None 3. 修复phash测试用例:纯色图pHash必然相同(DC分量被排除) - 改用随机噪声图测试差异性 |
||
|
|
9519216df4 |
fix: 全面修复CI Validate阶段所有检查失败项
Deploy / Staging E2E Tests (push) Has been skipped
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 135h48m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 135h48m25s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 135h48m25s
- 修复 video_compose_service.py StrEnum Python 3.10 兼容性(添加回退实现) - 修复 test_dedup_engine.py celery mock 污染导致测试收集失败 - 修复 edit_plans.py update_plan 路由:不存在返回 404 而非 400 - 修复 edit_plans.py generate_plan/get_generation_status 路由:不存在返回 404 - 修复 edit_templates.py update_template 路由:不存在返回 404 而非 400 - 修复 upload.py 添加 image/svg+xml 到允许的 MIME 类型 - 修复 test_edit_plans_api.py StubEditPlanRepository 添加 delete_by_plan 方法 CI Validate 8 项检查全部通过:compileall/black/isort/flake8/bandit/bash-n/alembic/pytest 831 单元测试全部通过,0 失败 |
||
|
|
5ca3bbab31 |
fix: 修复flake8代码质量检查错误
Deploy / Staging E2E Tests (push) Has been skipped
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 137h30m1s
CI/CD Pipeline / Frontend Lint (push) Failing after 137h30m2s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 137h30m16s
|
||
|
|
e25fd86171 |
style: 后端代码isort import排序
Deploy / Staging E2E Tests (push) Has been skipped
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 137h58m6s
CI/CD Pipeline / Frontend Lint (push) Failing after 137h58m12s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 137h58m12s
|
||
|
|
8935196fcd |
style: 后端代码black格式化
Deploy / Staging E2E Tests (push) Has been skipped
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 138h4m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 138h4m39s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 138h4m39s
|
||
|
|
8b4a88f4bd |
refactor: 后端代码清理-移除死代码和无用文件
Deploy / Staging E2E Tests (push) Has been skipped
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 138h54m45s
CI/CD Pipeline / Frontend Lint (push) Failing after 138h55m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 138h55m24s
- 删除 packages/domain/permissions.py(完全未引用的权限模块) - 删除 packages/adapters/sqlite_tracker/(空包,无实现文件) - 移除 requirements.txt 中未使用的依赖:aiosmtplib、python-dotenv - 清理 test_email_service.py 中 workspace 邀请邮件的废弃测试 |
||
|
|
d6b11ea1cd |
fix: 清理全局 except:pass(22处)改为 logger.warning 记录异常
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Tests / lint (pull_request) Failing after 147h14m3s
Tests / test (pull_request) Failing after 147h14m3s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 147h14m28s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 147h14m34s
Deploy / Deploy Staging (push) Failing after 147h14m58s
CI/CD Pipeline / Frontend Lint (push) Failing after 147h15m21s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 147h15m27s
|
||
|
|
aa94a48cc4 |
fix: 修复 Phase 8 测试导入错误 + 升级 psycopg 版本
问题 1: Phase 8 API 测试导入错误(72 个测试跳过) - 修复 pytest.ini pythonpath 配置,添加 apps/api 和 apps/worker - 修复 tests/conftest.py 环境变量设置顺序,确保在 app 导入前设置 - 修复 test_dedup_engine.py worker_app 命名空间污染问题 - 修复 test_edit_templates_api.py/test_edit_plans_api.py/test_edit_plan_generation_api.py 的 Repository patch 目标(从 route 模块改为 service 模块) - 修复 test_duplication_api.py 和 test_duplication_upload_error_handling.py 的 sys.modules 保存/恢复机制 - 跳过 test_project_management.py(项目管理功能尚未实现) 问题 2: psycopg 版本不兼容 Python 3.13 - 升级 psycopg[binary] 从 ==3.1.18 到 >=3.2.2 测试结果: - 926 个测试通过(超过目标的 821 个) - 所有 72 个 Phase 8 测试成功收集并运行 - 21 个失败 + 6 个错误为预存在的集成测试问题 |
||
|
|
e539105256 |
fix: 3.09 审计问题修复 — P1-1 TTS Celery 执行器 + P2-1~P2-4
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 163h53m1s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 163h53m6s
Deploy / Deploy Staging (push) Failing after 164h23m43s
CI/CD Pipeline / Frontend Lint (push) Failing after 164h23m43s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 164h23m50s
P1-1 (阻塞性): TTS 合成完整异步链路 - CosyVoiceService 新增 submit_synthesize_task() + poll_synthesize_task() - 新建 TTSWorkflowService 编排层 (packages/application/tts_job/workflow.py) - 新建 Celery 任务 process_tts_synthesis (apps/worker/worker_app/tasks/tts_synthesis.py) - 注册到 celery_app.conf.imports + tasks/__init__.py 懒加载 - TTS 路由 synthesize() 增加 CosyVoice 提交 + Celery 调度 P2-1: voice_clone.py 添加详细 Celery 重试策略注释 P2-2: 修复 voice_clone.py Session 泄漏 (session=None 安全模式) P2-3: ListVoiceLibraryUseCase 返回 (items, count) 元组,消除重复 count_by_user() P2-4: 新增 find_profile_ids_by_voice_ids() 批量方法,填充 voice_clone_profile_id 测试: 749 passed, 0 failed |
||
|
|
796aeff499 |
fix: 修复 PR #169 代码审查发现的 4 个 P2 问题
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 166h12m36s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 166h12m41s
Deploy / Deploy Staging (push) Failing after 166h15m4s
CI/CD Pipeline / Frontend Lint (push) Failing after 166h15m32s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 166h15m39s
P2-1: workflow.py start_clone() 将 mark_processing() 移到音频 URL 检查之后,
无 URL 时保持 pending 状态,避免永久卡在 processing
P2-2: voice_clone.py Celery 任务改用 VoiceCloneWorkflowService 公开方法
(process_clone_result/process_clone_failure),不再直接操作 profile
P2-3: voice_clones.py 路由中 Celery .delay() 失败时调用
process_clone_failure() 标记 profile 为 failed(create + retry 两个路由)
P2-4: 由 P2-2 修复自动解决
同步更新 test_voice_clone_workflow.py 测试用例适配 P2-1 行为变更
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|
|
24ac12167c |
feat(task-308): 音色克隆完整流程实现
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 168h3m41s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 168h3m46s
Deploy / Deploy Staging (push) Failing after 168h7m8s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h7m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 168h7m45s
- CosyVoiceService: 新增 submit_clone_task() 和 check_task_status() 非阻塞方法 - VoiceCloneWorkflowService: 编排层,处理 start_clone/process_result/process_failure/retry - Celery 任务 process_voice_clone: 异步轮询 CosyVoice 克隆结果 - API 路由: 创建后触发 Celery 异步任务,支持重试 - 57 个单元测试全部通过(workflow 14 + task 6 + cosyvoice 37) |
||
|
|
099bc31cf2 |
feat: CosyVoice 语音服务层 (Task 3.07)
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 169h9m13s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 169h9m18s
Deploy / Deploy Staging (push) Failing after 169h17m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 169h18m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h18m25s
- 创建 CosyVoiceService 封装阿里云 CosyVoice API - list_preset_voices(): 返回预置音色列表 - clone_voice(): 音色克隆(提交任务 + 轮询状态) - synthesize_speech(): 语音合成(提交任务 + 轮询状态) - 支持同步/异步两种 API 模式 - 指数退避重试(最多 3 次)+ 超时控制 - 完整错误处理:AuthError / TimeoutError / 通用 Error - 26 个单元测试全部通过(mock CosyVoice API 响应) |
||
|
|
e29a698325 |
feat: implement TTS synthesis API (task 3.06)
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 169h43m28s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 169h43m33s
Deploy / Deploy Staging (push) Failing after 169h47m22s
CI/CD Pipeline / Frontend Lint (push) Failing after 169h47m58s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h48m6s
- POST /api/v1/tts/synthesize: create TTS job (status=pending)
- GET /api/v1/tts/jobs: list user's jobs (page/page_size pagination)
- GET /api/v1/tts/jobs/{job_id}: get job details
- GET /api/v1/tts/jobs/{job_id}/status: query status for polling
- DELETE /api/v1/tts/jobs/{job_id}: delete job (soft delete)
Includes:
- Schema: TTSSynthesizeRequest, TTSJobResponse, ListTTSJobResponse, TTSStatusResponse
- Use Cases: CreateTTSJob, ListTTSJobs, GetTTSJob, GetTTSJobStatus, DeleteTTSJob
- SQLAlchemy adapter: SQLAlchemyTTSJobRepository
- ORM model: TTSJobModel
- Alembic migration: 020_add_tts_jobs_table
- Unit tests: 14 tests covering all use cases
CosyVoice API calls deferred to task 3.07.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|
|
c55dafdbb1 |
feat: implement voice clone API (Task 3.05)
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 170h0m19s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 170h0m23s
Deploy / Deploy Staging (push) Failing after 170h2m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h3m23s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h3m30s
- Add VoiceCloneProfile CRUD endpoints:
POST /api/v1/voice-clones (create clone task, status=pending)
GET /api/v1/voice-clones (list with pagination + status filter)
GET /api/v1/voice-clones/{id} (get details)
GET /api/v1/voice-clones/{id}/status (polling endpoint)
DELETE /api/v1/voice-clones/{id} (soft delete)
POST /api/v1/voice-clones/{id}/retry (retry failed clone)
- Add VoiceCloneProfile SQLAlchemy model and repository adapter
- Add Alembic migration 019 for voice_clone_profiles table
- Add use cases: Create, List, Get, GetStatus, Delete, Retry
- Add Pydantic schemas for request/response validation
- Add 19 unit tests (all passing)
- CosyVoice API integration deferred to Task 3.07
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|
|
44dc89360a |
feat: 配音列表 API 增强 — 预置音色 + 克隆音色统一接口
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 170h24m47s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 170h24m52s
Deploy / Deploy Staging (push) Failing after 170h27m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h28m8s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h28m14s
- 新增预置音色配置(8 个 CosyVoice 真实音色) - 增强 GET /api/v1/voices 接口,支持 type 查询参数(preset/clone/all) - 新增 GET /api/v1/voices/presets 端点 - 统一响应格式,包含 preset_count 和 clone_count - 保留原有 CRUD 端点向后兼容 - 添加 18 个预置音色单元测试(全部通过) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
f7c8b441d6 |
feat(phase3): CosyVoice 配置 + VoiceCloneProfile/TTSJob 领域模型
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 173h2m54s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 173h2m59s
Deploy / Deploy Staging (push) Failing after 173h22m24s
CI/CD Pipeline / Frontend Lint (push) Failing after 173h22m54s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 173h23m2s
Task 3.01: CosyVoice 配置 - 在 SharedSettings 中添加 CosyVoice 配置字段 - 更新 .env.example 和 .env.production.example Task 3.02: VoiceCloneProfile 领域模型 - 创建 VoiceCloneProfile 实体(音色克隆档案) - 状态机: pending → processing → ready/failed → disabled - 支持重试机制(retry_count/max_retries) - 创建 VoiceCloneProfileRepository 端口接口 Task 3.03: TTSJob 领域模型 - 创建 TTSJob 实体(TTS 任务) - 关联 VoiceCloneProfile(voice_clone_profile_id) - 状态机: pending → processing → completed/failed → cancelled - 支持重试机制 - 创建 TTSJobRepository 端口接口 单元测试: - VoiceCloneProfile: 31 个测试用例 - TTSJob: 34 个测试用例 - 全部 65 个测试通过 遵循六边形架构: Domain → Port → Adapter |
||
|
|
43366f290c |
feat: 实现任务2.10 JobService — 异步任务管理
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 181h43m15s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 181h43m19s
Deploy / Deploy Staging (push) Failing after 181h59m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 181h59m53s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 182h0m0s
- 新增 Job 领域模型(状态机、JobType/JobStatus 枚举) - 新增 JobRepository 端口 + SQLAlchemy 实现 - 新增 10 个 Use Cases(CreateJob/Submit/Progress/Complete/Fail/Retry/Cancel/Get/List/Statistics) - 新增 JobService 服务层,集成 VideoComposeService - 新增 Pydantic schemas + RESTful API 路由 - 新增 Celery compose_video 任务(含进度追踪) - 新增数据库迁移 018(jobs 表) - 新增 44 个单元测试,全部通过 - 修复状态转换:允许 pending→success(快速完成场景) |
||
|
|
51f5a960f1 |
fix: 修复 PR #159 安全审计发现的 P0/P1 问题
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 183h20m22s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 183h20m26s
Deploy / Deploy Staging (push) Failing after 183h20m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 183h21m22s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 183h21m28s
- 添加 output_path 路径穿越校验 (P0) - 添加 asset_id 输入路径格式校验 (P1) - 添加 transition 参数白名单校验 (P1) - 新增 37 个安全测试用例 |
||
|
|
17fc46c662 |
fix: 修复 _has_audio() 始终返回 True 的 P0 问题
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 183h54m54s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 183h54m58s
Deploy / Deploy Staging (push) Failing after 183h55m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 183h55m54s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 183h55m58s
- 仅当 clip_type 不是 title/subtitle 时才设置 audio_label - title/subtitle 是纯文字/图片卡片,没有音频流 - 添加 7 个单元测试验证修复逻辑 - 所有 36 个测试通过 |
||
|
|
e3706bd652 | Merge conflict resolved: combine both services imports | ||
|
|
18ea6cfadb |
feat(phase8): AutoClipService 智能选片服务 (任务 2.07)
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 185h13m20s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 185h13m24s
Deploy / Deploy Staging (push) Failing after 185h13m50s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h14m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 185h14m23s
- 新增 AutoClipService:自动为剪辑计划片段分配最佳素材 - 评分算法:质量分(0.5) + 时长匹配(0.3) + 分类匹配(0.2) - 支持按 file_type/quality_score/duration/classification/tags 筛选 - AssetRepository 新增 search_candidates() 方法(抽象+SQLAlchemy实现) - 18 个单元测试全部通过 |
||
|
|
b7bb572b46 |
feat(phase8): 任务 2.06 — EditTemplateService + EditPlanService 服务层
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 185h28m1s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 185h28m5s
Deploy / Deploy Staging (push) Failing after 185h28m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h28m58s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 185h29m4s
- 新增 EditTemplateService:模板 CRUD、名称去重、片段配置管理、重排序 - 新增 EditPlanService:计划 CRUD、状态机流转、片段管理、素材分配、生成流程 - 重构 edit_templates 路由:使用 EditTemplateService 封装业务逻辑 - 重构 edit_plans 路由:使用 EditPlanService 封装业务逻辑 - 新增 77 个单元测试(33 EditTemplateService + 44 EditPlanService) - 使用 stub 仓储注入,不依赖数据库 |
||
|
|
b41e0255ef |
feat(phase8-task205): API 剪辑生成 — 渲染触发 + 进度查询 + Celery任务 + 单元测试
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 188h23m27s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 188h23m31s
Deploy / Deploy Staging (push) Failing after 188h23m54s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h24m18s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h24m24s
- POST /edit-plans/{id}/generate: 触发剪辑渲染生成
- 验证 editing 状态 + 片段存在
- pending 片段标记为 ready
- 创建 GenerationTask 并调度 Celery 任务
- 计划状态流转为 rendering
- GET /edit-plans/{id}/generation-status: 查询生成进度
- 返回计划状态、GenerationTask ID、各片段状态
- Celery 任务 worker.render_edit_plan:
- 下载素材 → FFmpeg concat 拼接 → 上传 OSS
- 更新 EditPlan/EditPlanClip/GenerationTask 状态
- 失败重试(max_retries=2, countdown=60s)
- 16 个单元测试全部通过
|
||
|
|
385dc4a9e0 |
Merge pull request 'refactor(dedup): 查重模块优化 — XOR 汉明距离 + 简化判定逻辑' (#148) from feature/duplication-optimization into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 188h35m56s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h36m23s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h36m27s
|