补齐定价文档里漏掉的版本比对:技术方案与决策记录同步为整段覆盖

- docs/technical Tripo 集成方案:删掉「后台保存携带定价版本做事务内比对、不一致 409」这句,改成整段覆盖、不做版本比对
- docs/project-memory 决策记录:在 2026-09-23 那条设计决策末尾追加 2026-09-24 的修订说明,指向同日「模型定价保存去掉版本比对」
This commit is contained in:
2026-09-24 19:51:19 +08:00
parent ad2b37c6d3
commit a61725003e
2 changed files with 2 additions and 1 deletions
@@ -142,7 +142,7 @@ price = <端点段>.versionPrices[modelVersion][texture ? "texture" : "noTexture
`model3d` 段缺失仍是合法形态:缺失即 3D 定价未配置,提交被拒绝(fail closed),既不扣费也不调用 provider;段存在时走上面的强校验路径。
2026-09-23 起这两段的事实源是 SpacetimeDB `editor_generation_pricing_config` 的两段强类型列,后台「模型定价」页面直接编辑,保存与 `models` 段在同一事务内生效,改价不再需要改文件或重启进程。读取方向按契约归一化:表内缺键用默认 JSON / 覆盖文件同段值补齐,契约之外的遗留键剔除并告警;写入方向要求两段完整合法。后台保存携带读取时拿到的定价版本,procedure 在事务内比对,不一致返回 409 并要求重新读取。公开读模型 `GET /api/editor/generation-pricing` 的 3D 段形状保持不变,画布 3D 入口的价格真相与前端零兜底口径不变。详见 [ADR 0005](../adr/【ADR】0005-3D生成定价迁入SpacetimeDB与后台编辑-2026-09-23.md) 与 [编辑器模型定价配置管理方案](../【编辑器】模型定价配置管理方案-2026-06-22.md)。
2026-09-23 起这两段的事实源是 SpacetimeDB `editor_generation_pricing_config` 的两段强类型列,后台「模型定价」页面直接编辑,保存与 `models` 段在同一事务内生效,改价不再需要改文件或重启进程。读取方向按契约归一化:表内缺键用默认 JSON / 覆盖文件同段值补齐,契约之外的遗留键剔除并告警;写入方向要求两段完整合法。后台保存是整段覆盖、不做版本比对(后台同时只有一个管理员在操作,2026-09-24 起删除版本号与 409)。公开读模型 `GET /api/editor/generation-pricing` 的 3D 段形状保持不变,画布 3D 入口的价格真相与前端零兜底口径不变。详见 [ADR 0005](../adr/【ADR】0005-3D生成定价迁入SpacetimeDB与后台编辑-2026-09-23.md) 与 [编辑器模型定价配置管理方案](../【编辑器】模型定价配置管理方案-2026-06-22.md)。
扣费依据固定为**提交时定价**:用户在提交前就能得到确定价格,失败退款是单次冲正,不需要按实际消耗退差额。provider 返回的实际消耗只写日志用于成本对账,不进入契约、不进 API 响应、不进资源行。