fix: 修复任务3.08代码审查P2问题 (4项) #171
Reference in New Issue
Block a user
Delete Branch "feature/fix-308-p2-issues"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
修复内容
P2-1: workflow.py start_clone() 将 mark_processing() 移到音频URL检查之后,无URL时保持pending
P2-2: Celery任务改用 VoiceCloneWorkflowService 公开方法,不再直接操作profile
P2-3: create_voice_clone 和 retry_voice_clone 路由的 Celery 调度失败时均标记profile为failed
P2-4: 由P2-2修复自动解决
测试
57个全部通过(workflow 14 + task 6 + cosyvoice 37)
代码审查报告:修复任务3.08 P2问题
结论: ⚠️ 有条件通过 — 后端 P2 修复基本到位,但存在范围问题和残留问题
P2 修复验证
workflow.cosyvoice_service._poll_clone_task()私有方法P2 残留:Celery task 仍调用私有方法
建议在 VoiceCloneWorkflowService 上新增公开方法:
Celery task 只需调用
workflow.poll_and_process(profile_id)即可。⚠️ 范围问题:混入了前端代码
本 PR 是后端修复,但包含了前端文件变更(voiceClone.ts +8行、VoiceLibrary.tsx +401/-16),与 PR #170(前端任务3.12)存在重叠且冲突。
实测先合并 PR #170 后,本 PR 会在 VoiceLibrary.tsx 产生 merge conflict。
建议:从本 PR 中移除前端文件(
git reset HEAD -- apps/web/+ amend),先合并 PR #170 后再合并本 PR。P3 建议
_submit_and_process()私有方法测试
57 个测试全部通过,test_start_clone_without_audio_url 断言已正确更新。
07f6af09d6to796aeff499🔍 代码审查结果(v2 复审)
结论: ✅ 通过,可合并
P2 修复验证
v1 → v2 关键改进
poll_clone_task()poll_and_process_clone(),Celery 零私有方法访问TestPollAndProcessClone测试用例P3 建议
61 个测试全部通过。建议合并。
🔍 任务 3.09 — CosyVoice 后端整体代码审计
审计范围: PR #161-171 完整后端栈 (10文件+4 domain+3 test+ports)
结论: ⚠️ 有条件通过 (0P0/1P1/4P2/5P3)
P1
POST /synthesize只创建 pending 记录,无执行器触发合成(如阶段性设计请加 TODO)P2
SessionLocal()异常时 finally 会 UnboundLocalErrorcount_by_user()冗余调用两次voice_clone_profile_id字段从未填充架构 ★★★★☆
Hexagonal 分层清晰,状态机严谨,CosyVoiceService 健壮(重试+超时+异常分层),API Key 不硬编码不泄露
测试: 60个
Service 37个★5 / Workflow 18个★4 / Task 5个★4 / Routes+UseCases+Domain 0个
报告:
/docs/audit/task309-audit-report.md