灵应
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 个单元测试全部通过
2026-07-01 19:40:02 +08:00
灵应
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 仓储注入,不依赖数据库
2026-07-01 19:24:31 +08:00
灵应
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 个单元测试全部通过
2026-07-01 16:28:59 +08:00
xiaoxia
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
2026-07-01 16:18:04 +08:00
灵应
112021c16c
test: 补充查重模块单元测试与集成测试
...
- 查重引擎单元测试 (test_dedup_engine.py): 25 用例
- hamming_distance XOR bit 计数验证
- compute_phash / compute_color_histogram(需 cv2,无则跳过)
- check_duplicate 相似度判定逻辑(MD5 精确匹配、pHash 阈值、首次匹配返回)
- 查重领域模型测试 (test_duplication_domain.py): 22 用例
- DuplicationRecord.create() 工厂方法校验
- 状态转换(pending → processing → completed/failed)
- DuplicateSegment.create() 参数校验
- 查重用例层测试 (test_duplication_use_cases.py): 15 用例
- UploadForDuplicationUseCase / ListDuplicationRecordsUseCase
- GetDuplicationDetailUseCase / DeleteDuplicationRecordUseCase
- RetryDuplicationUseCase 状态重置逻辑
- 查重 API 集成测试 (test_duplication_api.py): 20 用例
- 列表/详情/删除/重试 4 个端点的正常流程与异常场景
- 跨用户隔离验证
- 跨端点组合场景测试
覆盖率: 422 passed, 8 skipped (cv2-dependent), 0 failures
2026-07-01 15:31:31 +08:00
灵应
2730d2ce8d
feat(phase8): 实现剪辑计划 CRUD API (任务 2.04)
...
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 189h51m12s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 189h51m15s
Deploy / Deploy Staging (push) Failing after 189h51m46s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h52m16s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 189h52m19s
- 新增 /api/v1/edit-plans 五个端点 (GET list/detail, POST, PUT, DELETE)
- 支持分页、按模板ID/状态筛选
- PUT 端点集成状态机流转 (draft→editing→rendering→completed/failed)
- 非法状态流转返回 400,资源不存在返回 404
- 注册 edit_plans_router 到 API Router
- 编写 28 个单元测试覆盖 CRUD + 状态机 + 异常场景
- 全部测试通过
2026-07-01 14:47:49 +08:00
CI Test
ba4dc747fb
feat(phase8-task203): API 模板管理 CRUD - RESTful接口 + Pydantic验证 + 单元测试 ( #144 )
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (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
2026-07-01 14:41:30 +08:00
CI Test
3436900de0
feat(phase8-task202): TemplateClipConfig + EditPlanClip 数据模型、仓储、迁移与测试 ( #143 )
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 190h13m50s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 190h13m54s
2026-07-01 14:28:20 +08:00
CI Test
22c2811982
feat(phase8-task201): EditTemplate + EditPlan 数据模型、仓储、迁移与测试 ( #141 )
2026-07-01 13:15:09 +08:00
Audit Bot
b0ae31db27
fix: remove outdated test files referencing deleted modules (workspace, legacy auth, etc.)
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 209h28m47s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h29m16s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h29m25s
2026-06-30 19:25:04 +08:00
xiaoxia
560856cf22
fix: resolve all flake8 errors and apply Prettier formatting ( #131 )
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 210h26m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h27m0s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h27m7s
2026-06-30 18:26:53 +08:00
xiaoxia
1217d8cef0
style: apply isort formatting to pass CI validation ( #129 )
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 210h35m44s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h36m11s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h36m17s
2026-06-30 18:17:44 +08:00
xiaoxia
52ff2f80ad
style: apply black formatting to pass CI validation ( #126 )
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (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
2026-06-30 17:23:08 +08:00
Audit Bot
b1f27b0ef6
test: 扩展表单上传测试到24个用例
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
根据灵应的规格补充测试覆盖:
- 正常路径(5): 视频/音频/图片上传成功、创建导入任务、响应包含URL
- 文件名校验(5): 路径遍历防护、反斜杠处理、空文件名、特殊字符、无扩展名
- 异常路径(8): 不支持文件类型、项目/素材库不存在、存储服务错误、缺少参数
- 多格式支持(3): 多种视频(4种)/音频(5种)/图片(6种)格式
- MIME验证(3): 有效类型、空类型(400)、不支持类型(415)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-30 15:28:15 +08:00
Audit Bot
16b18dc2fd
test: 补充表单上传端点单元测试
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- 新增 tests/unit/test_form_upload_routes.py,覆盖10个测试场景
- 修复 upload.py 表单参数处理:从 Annotated[Model, Form()] 改为独立 Form() 参数
- 测试覆盖:正常上传成功、缺少文件字段、缺少必填参数、项目/素材库不存在、OSS未配置
- 所有测试通过,与现有 upload/chunked_upload 测试风格保持一致
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-30 13:12:49 +08:00
Audit Bot
c0c049b2e1
test: 添加核心模块单元测试 (config/upload/chunked_upload/asset_diagnosis)
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- test_config_oss.py: 22 个测试覆盖 OSS 配置默认值、环境变量覆盖、字段名一致性
- test_upload_routes.py: 9 个测试覆盖上传路由 find_by_project 调用正确性
- test_chunked_upload_routes.py: 8 个测试覆盖分片上传初始化、常量校验
- test_asset_diagnosis.py: 7 个测试覆盖资产诊断逻辑和路由层调用
全部 46 个测试通过。
Closes #55
2026-06-30 12:57:04 +08:00
Audit Bot
9b6a0b8b14
fix: 修复代码审计5个问题 (P0-1,P0-2,P1-3,P1-4,P1-5)
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P0-1: 剪辑模式使用 EditingMode 枚举,移除硬编码字符串
- voice_over_mix → voice_over, person_narration → voice_pip
- use_cases.py 导入 EditingMode 枚举替代硬编码 VALID_MODES
P0-2: 补充 packages/application/template/__init__.py
P1-3: Use Cases 依赖 TemplateRepositoryPort 而非 SQLAlchemyTemplateRepository
P1-4: generate 端点重命名为 validate(只校验不生成)
- GenerateFromTemplateUseCase → ValidateTemplateUseCase
- POST /{id}/generate → POST /{id}/validate
P1-5: 软删除模板时级联清理关联 segments,避免孤儿数据
测试全部通过 (21/21)
2026-06-29 14:44:24 +08:00
Audit Bot
62c8d1cdff
feat: 剪辑计划编辑器后端 — 模板 CRUD + 分类 + 生成校验
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- domain: Template, TemplateSegment, TemplateCategory 实体
- ports: TemplateRepositoryPort Protocol
- adapters: SQLAlchemyTemplateRepository + 3 个 ORM Model
- application: CRUD use cases + GenerateFromTemplateUseCase
- 业务规则: one_take=1片段, voice_over_mix=每段需material_type, 配音±30%警告
- schemas: Pydantic request/response models
- routes: /api/v1/templates CRUD + /generate + /categories
- alembic: 014_add_template_tables (templates/template_segments/template_categories)
- tests: 21 个单元测试全部通过
2026-06-29 14:14:58 +08:00
Audit Bot
f2e123a017
feat: 配方复用功能后端实现
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- domain: Recipe/RecipeItem 实体
- ports: RecipeRepository Protocol
- adapters: SQLAlchemy RecipeRepository 实现 + ORM models
- application: 6个 UseCase (CRUD + Use) + Commands
- API: 6个端点 POST/GET/PATCH/DELETE /recipes + POST /recipes/{id}/use
- feature flag: recipe_reuse 仅 basic/premium 可用
- Alembic 迁移: recipes + recipe_items 表
- 单元测试: 覆盖所有 UseCase
2026-06-29 10:59:05 +08:00
xiaoxia
e3aacb7505
feat: 查重上传错误处理单元测试 (37用例)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
2026-06-28 18:42:33 +08:00
xiaoxia
d1332e75ee
feat: 订阅管理 API 单元测试 (26用例)
2026-06-28 18:42:21 +08:00
xiaoxia
2f7e50bff9
test: 添加标题库 UseCase 回归测试(配额逻辑 free=50/basic=500/premium=500 覆盖)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
2026-06-28 15:43:57 +08:00
xiaoxia
6b819678d6
test: 添加配音库 UseCase 回归测试(PR#74 P0 bug 修复验证 + 配额逻辑覆盖)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
2026-06-28 15:43:49 +08:00
API文档维护Agent
abe2bfab63
fix: resolve P0 bugs in voice library use cases and clean up obsolete tests
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Fix voice_id field mapping in CreateVoiceLibraryUseCase (line 60)
- Fix voice_id field mapping in UpdateVoiceLibraryUseCase (lines 88-89)
- Delete obsolete test files for removed ProjectTitle modules
- Remove edit_plans.py reference from architecture boundaries test
2026-06-28 15:33:00 +08:00
API文档维护Agent
e2c68888e9
refactor: 统一 OSS 配置命名(MINIO_* → OSS_*)
...
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (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
- .env.production: MINIO_* 环境变量全部改为 OSS_* 命名
- MINIO_ENDPOINT → OSS_ENDPOINT
- MINIO_ACCESS_KEY → OSS_ACCESS_KEY_ID
- MINIO_SECRET_KEY → OSS_ACCESS_KEY_SECRET
- MINIO_BUCKET → OSS_BUCKET_NAME
- MINIO_SECURE → OSS_SECURE
- MINIO_PUBLIC_URL → OSS_PUBLIC_URL
- .env.staging: 修正 section header 为 OSS 对象存储配置
- storage.py: 移除 MinIOService 和 get_minio_service() 向后兼容别名
- test_architecture_boundaries.py: 移除 storage.py 的 allowed 例外
- 更新文档中的 MINIO_* 示例为 OSS_*:
- docs/CI-CD.md
- docs/基础设施安装指南.md
- docs/本地验证检查清单.md
- docs/静态验证报告-2026-06-19.md
2026-06-28 08:33:48 +08:00
API文档维护Agent
e3fb518ab2
refactor: remove all workspace_id references from codebase
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Remove workspace_id from Pydantic models in project_management routes
- Remove workspace_id from SQLAlchemy and SQLite project management repos
- Remove workspace_id from worker tasks (storage keys, entity creation)
- Remove workspace_id from video dedup and title usage modules
- Remove workspace_id from generation and ingest worker tasks
- Clean workspace_id from all test files and scripts
- Remove workspace-specific test files (list_workspaces, workspace repos)
Task: #14 workspace_id 残留清理
2026-06-27 22:52:09 +08:00
CI Test
9d54b3e586
fix: correct all import paths for jwt_service and password_hasher (move from domain to application)
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (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
2026-06-27 21:41:56 +08:00
CI Test
e1efbdaf6e
fix: resolve circular import for password_hasher/password_validator in auth __init__
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (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
2026-06-27 21:33:51 +08:00
CI Test
02992a3fcd
P2-2: Move auth services from domain to application layer
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Move jwt_service.py from packages/domain/auth to packages/application/auth
- Move password_hasher.py from packages/domain/auth to packages/application/auth
- Update all import paths in use cases and tests
2026-06-27 19:23:56 +08:00
xiaoxia
f687b4207f
feat: add download_url field to generated video APIs ( #20 )
2026-06-26 21:13:18 +08:00
Xiaoxia AI
e841bcca12
test(ci): align production deploy assertions
2026-06-25 11:56:59 +08:00
Xiaoxia AI
0ed3cb7ef5
fix(ci): run unit tests with API path
2026-06-24 20:18:08 +08:00
Xiaoxia AI
6e8394d749
style: sort Python imports for CI
2026-06-24 19:57:19 +08:00
Xiaoxia AI
f85e389ced
style: format Python files for CI
2026-06-24 19:54:36 +08:00
Xiaoxia AI
4ead9dda3d
docs(release): record package six baseline
2026-06-24 10:44:33 +08:00
Xiaoxia AI
07c62b0b30
docs(release): record package five baseline
2026-06-24 09:34:24 +08:00
Xiaoxia AI
ee6b4a663a
feat(tasks): add project task center
2026-06-24 08:39:32 +08:00
Xiaoxia AI
b99d5fb64e
docs(release): record package four baseline
2026-06-24 07:12:29 +08:00
Xiaoxia AI
8acbd6c8a7
feat(results): add generated video management
2026-06-24 06:28:06 +08:00
Xiaoxia AI
719dc12d3d
docs(release): record package three baseline
2026-06-24 01:29:36 +08:00
Xiaoxia AI
17021c351f
feat(titles): complete title selection workflow
2026-06-24 00:55:00 +08:00
Xiaoxia AI
6b66601d67
feat(titles): add project title library
2026-06-24 00:30:58 +08:00
Xiaoxia AI
4070dd1952
test(docs): reflect package two release surface
2026-06-23 23:25:20 +08:00
Xiaoxia AI
9cc48aeee9
feat(assets): add review actions and high risk view
2026-06-23 22:57:56 +08:00
Xiaoxia AI
bf452e3510
fix(ops): prune old docker artifacts after deploy
2026-06-23 22:39:18 +08:00
Xiaoxia AI
f2a9b0868b
feat(assets): track generation usage review state
2026-06-23 21:52:47 +08:00
Xiaoxia AI
14b760cdaf
fix(generation): block tasks without ready videos
2026-06-23 21:31:59 +08:00
Xiaoxia AI
d052645307
feat(assets): add project material diagnosis
2026-06-23 20:14:03 +08:00
Xiaoxia AI
72efc7cedb
fix(deploy): retain current web assets before release
2026-06-23 18:48:13 +08:00
Xiaoxia AI
efa86088b8
fix(web): preserve lazy chunks across releases
2026-06-23 18:32:17 +08:00