写入Tripo 3D泥点默认价并锁定credit换算口径
- 受控默认配置新增 model3d 段:底价按端点 × 模型版本 × 是否有贴图,add-on 六项独立计价 - 换算口径固定为泥点 = ceil(0.8 × Tripo 官方 credit),H 系列 10/20 与 20/30、P1 30/40 与 40/50、P2 100/110 - editor_generation_config 定向用例按 credit 表反算默认泥点价,改价必须先改 credit 表 - 段缺失语义改为显式摘段验证,仍保持 fail closed 不扣费不入队 - 主规范、里程碑、实施计划与定价管理方案同步默认价已确认与部署侧 override 风险
This commit is contained in:
@@ -73,7 +73,7 @@ Milestone Spec: `docs/project-memory/plans/【里程碑】Tripo生成Worker执
|
||||
- 图片输入在提交时已补元数据预检(`tripo3d::image_source::preflight_image_source`):按 `source.kind` 分支配对记录类型并复用既有定点引用查询 `resolve_editor_reference_record_by_id_for_owner`,取代原先“列工程 / 列素材库再筛”的宽查询;跨 owner、未登记、已删除与 `kind` 不符都在扣费与入队前返回 400,worker 执行时再重新确认同一事实。
|
||||
- 提交路由已补应用级验收用例:走真实 `build_router` 断言两个端点未鉴权 401、缺 `Idempotency-Key` 400、组合校验与定价必填字段冲突在定价与 provider 之前 400,因此路由 merge、鉴权中间件与校验顺序都有可执行证据,不依赖 provider 与 SpacetimeDB 环境。
|
||||
|
||||
- 默认配置里的 `model3d` 泥点定价数值仍未确认,缺段时提交按 fail closed 拒绝。
|
||||
- `model3d` 泥点定价已写入受控默认配置:换算口径 `ceil(0.8 × Tripo 官方 credit)`,H 系列文生 `10 / 20`、图生 `20 / 30`,P1 文生 `30 / 40`、图生 `40 / 50`,P2 两端均 `100 / 110`,add-on 六项按同一系数换算;`editor_generation_config` 的定向用例按 credit 表反算默认价,段缺失仍按 fail closed 拒绝。
|
||||
- worker 的纯逻辑部分已补定向用例:checkpoint 只在 provider task id 非空时才算存在、完成结果按端点严格区分且不含 provider 事实、预览图尺寸必须能真实解码;全量 `cargo test -p api-server` 1092 通过。
|
||||
- `npm run check:spacetime-schema` 通过(144 张表,锚点 `6f161a6b3626588a197208ea6dd68316815c01b5`),`external_generation_job` 的 provider checkpoint 追加字段没有破坏 schema guard。
|
||||
- TS 绑定仍是 `npm run contracts:model3d:generate` 目录化生成:重跑后 `packages/shared` 无 diff,`packages/shared/src/contracts/model3d/` 与 `contracts/editor-canvas/` 与 Rust 契约一致,没有手写 TS。
|
||||
@@ -93,7 +93,7 @@ git diff --check
|
||||
|
||||
## 风险与回退
|
||||
|
||||
- **真实扣费**:定价数值未写入前 `model3d` 段缺失,提交 fail closed;接口开放前必须先完成定价配置。
|
||||
- **真实扣费**:默认价已按 `ceil(0.8 × credit)` 写入并随代码发布,部署侧若用 override 文件覆盖定价,必须确保 override 里保留完整的 `model3d` 段,否则该段整体缺失会让 3D 提交 fail closed。
|
||||
- **provider 长任务**:单次 attempt 内轮询依赖 lease 续租与长任务超时;超时按现有语义收口为失败并退款。
|
||||
- **共用 worker 分支**:新分支只消费自己的 job kind,不改既有分支的入队与写回路径。
|
||||
- **worker 占用**:3D 任务在单次 attempt 内阻塞轮询数分钟,会占住一个 worker 并发位;默认并发为 2,接入真实流量前需要确认并发与 `external_generation_worker_long_job_timeout` 是否够用。
|
||||
|
||||
@@ -33,4 +33,4 @@ Implementation Plan: `docs/project-memory/plans/【实施计划】Tripo生成Wor
|
||||
## 依赖
|
||||
|
||||
- `docs/project-memory/plans/【里程碑】Tripo生成API契约与数据模型-2026-09-21.md` 验收通过。
|
||||
- 生产泥点定价数值已确认并写入默认配置。
|
||||
- 生产泥点定价数值已确认并写入默认配置:换算口径为 `ceil(0.8 × Tripo 官方 credit)`,已落到 `editor-generation-pricing.default.json` 的 `model3d` 段。
|
||||
|
||||
Reference in New Issue
Block a user