Files
Genarrative/apps
suzmii e3bae05351 feat(游戏共创): 发布自动带改编声明,上架可选共创授权档位(AGC 面板三态)
- 改编声明:`publish_local_project_game` 在**首次发布**(不带 gameId)时读取项目内
  `.agent/fork-source.json`,把 `fork: { parentGameId, parentVersionId }` 并入创建作品请求;
  带 gameId 的更新发布不重复带声明(服务端对「复用既有作品身份时再声明来源」失败关闭,
  重复带会变成不可恢复的 409)。判据与注入点都在原生链路,渲染层既传不进也伪造不了;
  声明在 `metadata_digest` 之前并入,幂等根键随之变化属预期行为。
- 授权档位:`GameDistributionPublishMetadata` / `normalizeMetadata` / `toCreateGameRequest`
  接通 `forkAuthorization`(缺省 `forbidden`),发布面板新增「授权共创」三态单选,
  文案复用 `packages/shared/src/contracts/gameDistribution.ts` 的标签常量;更新发布时该栏只读
  并提示「共创授权只在首次发布时生效」——档位只在创建作品时生效,上架后只能单向提升。
  附带按 `styles.css` 既有面板变量补齐这组 radio 的样式(不能套用整行输入框那条规则)。
- 门禁登记:新命令本轮只落 native 能力,按 `scripts/check-config.mjs` 的 native-only 清单登记。
- 测试:Rust 钉住「资料摘要同内容稳定、并入声明即变」;TS 钉住请求体形状
  (带/不带档位、声明不由渲染层提交)与面板三态受控行为、更新模式只读。
2026-10-05 17:30:46 +08:00
..