91ae016470
CI / backend-test (push) Successful in 8m45s
按账号实际开通的模型播种:doubao-seedance-2-5-260628 与 doubao-seedance-2-0-260128,provider_code 为 volcengine-seedance。 与目标模型 patbond_postgresql.sql:1495 的种子**有意不同**:正典那份是服务商 未定时写下的 provider_code='fixture' 占位(这也是开工审计据以判定「AI provider BLOCKED」的证据之一),现已接入真实服务商。 三处刻意不做的事,文件头逐条写明原因: - **不播种图片模型**:gpt-image-2 适配层未落地,播种一个没有适配器的模型会让 客户端渲染出一个点了没反应的入口(目录端点按 media_kind 聚合可用模型)。 - **不播种风格**:风格是产品内容决策(提供哪些艺术风格、叫什么、配图是什么), 无法从服务商文档推导;正典那 4 条均为 image 类且 preview_asset_id 指向 demo 资产,而 V1..V7 链路不含该 demo 种子,照抄会违反外键。style_id 可空,不阻塞。 - **不在目录表加能力列**:正典的 generation_models 没有能力列,本迭代不发明 超出已评审模型的列。两个模型的限制差异(2.5 时长到 30 秒但无 4k;2.0 有 4k 但时长上限 15 秒;2.5 图生视频时 ratio 锁 adaptive)由 patbond-ai 的 capabilities.py 承载并在提交前本地预校验。 新增 CreationCatalogSeedTest(6 项),钉住的是几个**跨语言、跨仓库约定**—— 它们对不上时症状都离根因很远: - provider_code 必须与 patbond-ai 适配器的 PROVIDER_CODE 逐字一致。对不上时 Worker 按任务行冻结的快照查不到适配器,任务永远停在排队,看起来像队列坏了。 - provider_model_name 必须是实际开通的 ID,否则撞 InvalidEndpointOrModel.NotFound 且不可重试。 - 目录里不得出现没有适配器的 media_kind。 - 模型 ID 尾部须为日期版本——CatalogRepository 以 provider_model_name 兼作版本 快照,该做法只在 ID 自带版本时成立。 全量 404 → 410,零失败零跳过。另修测试里一处 Java 21 API(List.getFirst()): 项目 release 为 17,本地 JDK 26 不代表能用。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>