发布灰度默认关闭:修掉客户端“看得到点不动”与后台看不到 key #482

Merged
kdletters merged 2 commits from codex/game-publish-gate-optin into master 2026-09-22 21:38:03 +08:00

2 Commits

Author SHA1 Message Date
kdletters 4d7c2530bf 发布灰度改为默认关闭并修掉客户端“看得到点不动”
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m28s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m2s
Project CI / Backend tests (pull_request) Successful in 5m37s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m8s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 8m29s
Project CI / Native shell tests (pull_request) Successful in 6m53s
Project CI / Frontend tests (pull_request) Successful in 2m52s
Project CI / Repository checks (pull_request) Successful in 2m59s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m21s
- 后端:is_game_distribution_publish_enabled_for_user 现在要求 gate 行存在且 enabled=true(未登录、无行、enabled=false 一律不开放),因此没配灰度时 gameDistributionPublishEnabled=false;新增与作者无关的 is_game_distribution_publish_open,管理员审核激活新版本只按总开关判定,避免被作者白名单挡住(修复合入后立即发现的回归)。
- AGC:新增 announcePublishMessage,把「已构建并打包试玩包」「先打开一个项目再发布」等提示通过 DirectProject 聊天容器的 announce 出口回话;普通项目不渲染工作台状态行,之前只写 workspaceStatus 才会表现为点了没反应。
- 后台:「灰度发布配置」新增「可配置开关」列表,预设开关在未创建行时也可见并可一键配置(game-distribution:publish 不再需要先猜键名)。
- 脚本:check:game-distribution-media-e2e 先验证「灰度关闭 → 作者拿不到入口 + 写入口 503」,再开启灰度把真实 Phaser 构建产物发布到可玩,全链路 25 项断言通过。
- 文档:玩法链路、后端契约、开发运维与实施计划统一改为「灰度默认关闭,运营配置后开放」口径。
2026-09-22 21:18:14 +08:00
kdletters bd31a955b7 后台灰度预设补上游戏发布开关
- admin-web:灰度发布配置的固定目标新增「游戏分发 → 游戏发布」(game-distribution:publish),前缀标签与描述说明「未配置或关闭时默认开放,开启后只放行白名单/灰度命中」。
- 默认语义:选中预设后保持 enabled=false,避免误把发布收紧成全关;需要灰度时再显式打开并填白名单/比例。
- 用例:新增「可选择游戏发布开关且默认不收紧」与「保存写入白名单与比例」两条后台用例。
- 文档:开发运维文档说明该键配置前不会出现在已有列表、必须从预设或手填新建一行。
2026-09-22 21:06:21 +08:00