suzmii
dcef9b62a8
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m43s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m17s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m20s
Project CI / Frontend tests (pull_request) Successful in 3m29s
Project CI / Backend tests (pull_request) Successful in 7m53s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m23s
Project CI / Native shell tests (pull_request) Successful in 7m48s
Project CI / Repository checks (pull_request) Successful in 5m36s
修复买断制付费评审问题:后台消耗统计、定价上限校验、付费入口自动化断言
- admin.rs:钱包流水来源映射补齐第 17 个变体(索引 16 → game_purchase),后台「消耗泥点」白名单新增 game_purchase,并抽出效果分类与单行累加函数
- profile.rs:消耗口径抽出 profile_wallet_ledger_source_counts_as_consumption,消费投影增量、历史花费重建、投影初始化三处一并纳入 GamePurchase
- module-game-distribution/errors.rs:价格上限文案改为插值 MAX_GAME_PRICE_MUD_POINTS,并新增文案断言
- 新增 scripts/check-game-distribution-price-limit-parity.mjs 并挂进 npm run lint(随 Repository checks 在 CI 生效):断言 TS / 服务端 Rust / AGC Rust 常量与网页侧别名四处同源
- api-server 发行网关抽出可注入 loader 的 serve_public_release_asset,付费 404 严格发生在读取包字节之前;播放会话准入抽出 resolve_paid_play_session_entitlement
- 新增 api-server 单测:付费发行路径 404 且零次读包字节、免费放行且读到包字节、未购买 403 与作者 / 已购买 / 管理员放行
- spacetime-module:把「先判定后扣费」从源码扫描改为 resolve_game_purchase_pre_charge_plan 纯函数断言,删除 include_str 源码切片用例
- E2E 脚本:平台同源断言缺配置时记 SKIP 并在报告末尾汇总 SKIP 清单,E2E_REQUIRE_PLATFORM_ORIGIN=1 时缺配置直接 FAIL,汇总行改为输出 PASS/FAIL/WARN/SKIP 计数
- 修正注释里不存在的路由 POST /api/game-distribution/play-sessions(真实为 POST /api/game-distribution/games/{gameId}/play-session)与「管理员令牌 403」口径(403 需带 admin 角色的用户令牌)
2026-10-06 02:24:40 +08:00
..
2026-09-29 07:19:00 +08:00
2026-05-15 11:52:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-01 16:30:40 +08:00
2026-09-23 00:09:12 +08:00
2026-09-21 16:25:35 +08:00
2026-09-21 16:25:35 +08:00
2026-09-01 16:28:34 +08:00
2026-09-15 19:43:35 +08:00
2026-09-01 16:28:34 +08:00
2026-10-04 15:49:34 +08:00
2026-08-12 14:46:24 +08:00
2026-08-27 17:10:17 +08:00
2026-09-28 19:35:22 +08:00
2026-09-28 22:30:15 +08:00
2026-09-15 19:43:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-13 16:21:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-28 19:52:16 +08:00
2026-10-06 00:28:36 +08:00
2026-09-28 19:20:21 +08:00
2026-10-05 17:14:32 +08:00
2026-09-28 18:58:38 +08:00
2026-09-28 21:13:50 +08:00
2026-10-06 02:24:40 +08:00
2026-10-06 02:24:40 +08:00
2026-10-01 19:19:58 +08:00
2026-10-01 19:19:58 +08:00
2026-10-02 17:06:46 +08:00
2026-09-28 18:44:16 +08:00
2026-09-28 18:44:16 +08:00
2026-09-28 21:34:24 +08:00
2026-09-28 20:52:54 +08:00
2026-09-30 13:24:55 +08:00
2026-09-28 20:21:34 +08:00
2026-09-28 20:37:48 +08:00
2026-10-03 15:40:21 +08:00
2026-09-22 12:42:27 +08:00
2026-07-22 15:57:22 +08:00
2026-08-13 14:01:34 +08:00
2026-08-05 21:28:40 +08:00
2026-10-04 15:49:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-06 02:24:40 +08:00
2026-10-04 03:25:54 +08:00
2026-09-20 16:35:04 +08:00
2026-09-20 16:35:04 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-07-17 22:07:52 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-06-17 23:00:28 +08:00
2026-09-01 16:28:34 +08:00
2026-06-17 20:16:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-06 02:24:40 +08:00
2026-09-01 16:28:34 +08:00
2026-06-17 20:16:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-10-05 17:53:51 +08:00
2026-09-01 16:28:34 +08:00
2026-09-03 11:38:40 +08:00
2026-09-29 07:19:00 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-07-23 18:06:29 +08:00
2026-10-05 11:47:55 +08:00
2026-09-16 10:35:07 +08:00
2026-08-27 17:10:17 +08:00
2026-09-01 16:28:34 +08:00
2026-09-03 12:57:01 +08:00
2026-09-23 11:46:39 +08:00
2026-09-23 11:46:39 +08:00
2026-09-01 16:28:34 +08:00
2026-07-13 13:39:59 +08:00
2026-08-07 19:22:46 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 17:19:11 +08:00
2026-09-01 16:28:34 +08:00
2026-09-15 19:43:35 +08:00
2026-09-21 21:09:34 +08:00
2026-07-10 18:28:06 +08:00
2026-10-02 11:03:11 +08:00
2026-10-02 11:03:11 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-06-03 22:11:46 +08:00
2026-09-09 20:08:04 +08:00
2026-09-09 20:08:04 +08:00
2026-09-14 18:15:12 +08:00
2026-09-16 07:09:12 +08:00
2026-09-22 11:23:46 +00:00
2026-09-22 11:23:46 +00:00
2026-10-02 15:23:12 +08:00
2026-05-26 00:13:08 +08:00
2026-09-15 19:43:35 +08:00
2026-09-15 19:43:35 +08:00
2026-09-15 19:43:35 +08:00
2026-09-01 16:28:34 +08:00
2026-09-27 23:01:33 +08:00
2026-09-22 14:40:55 +00:00
2026-10-02 15:23:12 +08:00
2026-09-22 11:45:22 +00:00
2026-09-22 17:19:11 +08:00
2026-07-20 20:56:36 +08:00
2026-06-19 21:38:07 +08:00
2026-05-02 17:04:11 +08:00
2026-06-05 16:14:30 +08:00
2026-08-23 04:11:18 +08:00
2026-05-15 17:10:07 +08:00
2026-09-03 11:38:40 +08:00
2026-10-01 18:37:46 +08:00
2026-08-12 22:06:35 +08:00
2026-09-20 16:35:04 +08:00
2026-09-12 19:44:18 +08:00
2026-09-20 16:35:04 +08:00
2026-10-02 15:23:12 +08:00
2026-09-15 19:43:35 +08:00
2026-09-01 16:28:34 +08:00
2026-09-28 22:27:18 +08:00
2026-09-28 22:27:18 +08:00
2026-08-12 22:06:35 +08:00
2026-08-27 17:10:17 +08:00
2026-08-15 17:18:10 +08:00
2026-10-04 15:49:34 +08:00
2026-07-13 13:39:59 +08:00
2026-06-30 17:12:13 +08:00
2026-07-17 16:56:46 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-08-22 11:52:14 +08:00
2026-08-22 11:52:14 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-08-24 21:44:44 +08:00
2026-10-03 14:48:54 +08:00
2026-09-10 20:00:58 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-07-17 16:56:46 +08:00
2026-08-27 21:46:56 +08:00
2026-09-01 16:28:34 +08:00
2026-08-28 17:09:02 +08:00
2026-08-27 22:18:16 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-01 16:28:34 +08:00
2026-09-16 07:05:55 +08:00
2026-08-06 16:57:38 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 17:19:11 +08:00
2026-09-22 11:45:22 +00:00
2026-10-02 16:55:49 +08:00
2026-09-22 14:40:55 +00:00
2026-09-22 17:19:11 +08:00
2026-10-05 22:05:11 +08:00
2026-10-05 22:05:11 +08:00
2026-09-15 19:43:35 +08:00
2026-09-30 14:52:02 +08:00
2026-09-01 16:28:34 +08:00
2026-10-04 12:53:17 +08:00