suzmii
05dc29552c
docs(游戏共创): Fork 建项收口口径与 5.8 证据、决策记录
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m58s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m15s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m25s
Project CI / Backend tests (pull_request) Successful in 9m43s
Project CI / Frontend tests (pull_request) Successful in 3m25s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m21s
Project CI / Repository checks (pull_request) Successful in 5m22s
Project CI / Native shell tests (pull_request) Successful in 6m52s
2026-10-07 01:09:02 +08:00
suzmii
a8a4b053fe
fix(agc): 运行不可用提示按清单事实分叉文案
2026-10-07 01:08:38 +08:00
suzmii
32714298be
fix(agc): fork 建项把成品包铺进预览根并登记可运行原型
2026-10-07 01:08:22 +08:00
suzmii
2d5c79d0e0
docs(游戏共创): 5.7 补本次提交 SHA 与浏览器核验方式
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m54s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m51s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m42s
Project CI / Frontend tests (pull_request) Successful in 3m46s
Project CI / Backend tests (pull_request) Successful in 8m14s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m32s
Project CI / Native shell tests (pull_request) Successful in 7m32s
Project CI / Repository checks (pull_request) Successful in 6m1s
2026-10-07 00:53:48 +08:00
suzmii
caf7db4ba0
feat(agc): 确认页去掉须知内层滚动改吸附页脚,发布面板继承授权改徽章
2026-10-07 00:53:35 +08:00
suzmii
2010c13826
feat(agc): 共创列表页去掉粘贴入口,卡片时间改为真实的创建时间
2026-10-07 00:53:28 +08:00
suzmii
501fd0925d
fix(agc): 外壳滚动收敛到 .launcher-main 单一容器(含页面聚焦描边与继承徽章样式)
2026-10-07 00:53:21 +08:00
suzmii
15871914f7
移动端门限:只读浏览 stage(族谱/共创主题)豁免欢迎弹窗;同步规范 §3.6.1
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-07 00:51:53 +08:00
suzmii
3a6cf5884a
共创移动端:CSS 断点对齐 JS 的 820px(避免 720/820 两套断点漂移)
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-07 00:48:42 +08:00
suzmii
d4aae981ee
共创移动端:大纲式缩进树为默认 + 图谱视图(横向画布) + bottom sheet;同步规范 3.6.1
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-07 00:47:30 +08:00
suzmii
0b9b9827dd
docs(游戏共创): 同步端到端实测覆盖表并收口两处已过期的 e2e 遗留行
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-07 00:46:12 +08:00
suzmii
a898e18a9f
fix(游戏共创): 血缘摘要的父作者名改为读时联账号表兜底(修真实库 parentAuthorName 为 null)
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
真实库 `GET /games/{A111}` 的血缘摘要里 `parentTitle` 有值而 `parentAuthorName` 为 `null`,详情页溯源条
「父作品 · 作者名」开天窗。根因核实:`game_distribution_lineage_snapshot` 直接用了发布时冻结的
`parent.author_name`,而老数据 / 程序化创建的作品上该列常为 `None`——公开投影与族谱节点早已改成**读时联
`user_account`**,只有血缘摘要没跟上(同一处语义没同步)。
- 血缘摘要改用 `game_distribution_lineage_author_name`(与族谱节点**同一实现**):账号显示名优先 →
账号不可得/昵称为空白时退回冻结作者名 → 两者都为空白则 `None`(不占位、不回退空串、不编造),
与公开详情同口径;父作品不可用时仍走原有的 `fork_lineage_visible_identity` 三态裁剪,不泄露已删作品身份。
- 新增结构回归测试 `lineage_summary_resolves_parent_author_name_at_read_time`:血缘快照必须调用账号兜底
函数,并**不得**再直接出现 `parent.author_name`(宿主起不了真库,行为证据留给真实栈复验)。
- parity 新增登记 `lineage_payload`(构建器 17→**18**):把「builder 发出的键 == DTO 字段」钉住,并要求
`parentAuthorName` **恒发该键**(值为 `null` 也要发——缺键与 `null` 在前端是两种渲染分支,不能用
optional 表达)。
- 文档 §3.4:写明读时兜底的口径与优先级;并明确**不新增 `rootAuthorName`**——已只读核实前端
`GameDetailPage` 只消费 `parentAuthorName`(`CoCreationLineageStrip` 用的是族谱节点的 `authorName`),
根侧只发 `rootTitle`,不加字段以免契约膨胀。
- **无字段形状变更**(Rust DTO 与 TS 均未增删字段,故无 TS/绑定改动)。
门禁:wasm build 0;`cargo check --all-targets` 0;`cargo test -p spacetime-module` **306 passed / 1 ignored**;
`cargo test -p module-game-distribution` 134 passed;`cargo test -p api-server game_distribution` 107 passed;
DTO parity 0(66 组 / **18** 构建器 / 15 手拼类型);`check:spacetime-schema` 0(98 表);
`check:encoding` 0(5546 files);`cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check` 0;
`git diff --check` 0。
未在真实库手动改任何数据(按要求);修完请另一个 session 用真实数据复验 `parentAuthorName`。
2026-10-07 00:43:54 +08:00
suzmii
62a35d0313
详情页血缘链改竖向滚动单链:复用族谱节点内容组件,卡片不再逐字换行
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
2026-10-07 00:41:06 +08:00
suzmii
4fdcdc4935
chore(scripts): 族谱截图工具支持两节点子树(E2E_CAPTURE_MIN_NODES)
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m52s
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
2026-10-07 00:34:40 +08:00
suzmii
626dc6d185
chore(scripts): 新增共创网络灌数据脚本 + 截图工具支持只截现有作品
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
seed-game-distribution-co-creation.mjs: 走真实 API 建树/复用(标题判重、不绑账号)、封面按树分色系、主题与收藏、断言血缘
2026-10-07 00:30:33 +08:00
suzmii
bde909315e
feat(开发脚本): dev:all 支持 --clear-database 并提示本地库 schema 冲突
...
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m18s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m19s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m55s
Project CI / Backend tests (pull_request) Successful in 9m11s
Project CI / Frontend tests (pull_request) Successful in 3m37s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m46s
Project CI / Native shell tests (pull_request) Successful in 8m35s
Project CI / Repository checks (pull_request) Successful in 7m12s
默认仍写死 --preserve-database(不改默认行为);显式 --clear-database 时不再传它、逐字透传 dev.mjs 既有语义;根栈因 manual migration / Reordering table 失败时补一段可操作提示(打印库名与 data dir、两条出路、清库会丢数据的警告),提示文案抽成纯函数并补单测;文档补一句
2026-10-06 19:41:36 +08:00
suzmii
78c1f6ee13
Merge remote-tracking branch 'origin/master' into feat/game-fork
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m31s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m17s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m47s
Project CI / Frontend tests (pull_request) Successful in 3m46s
Project CI / Backend tests (pull_request) Successful in 8m28s
Project CI / AI game creator shell web tests (pull_request) Successful in 4m6s
Project CI / Native shell tests (pull_request) Successful in 9m42s
Project CI / Repository checks (pull_request) Successful in 7m30s
2026-10-06 19:03:25 +08:00
suzmii
fa9ef9037f
test(游戏共创): e2e 跟进改动说明/授权继承新语义并补贡献归集断言
...
Project CI / Backend tests (pull_request) Failing after 18s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m56s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m6s
Project CI / Repository checks (pull_request) Failing after 37s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m27s
Project CI / Frontend tests (pull_request) Successful in 3m41s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m25s
Project CI / Native shell tests (pull_request) Successful in 9m12s
三个发布 helper 补衍生作品必填 changeSummary(theme 脚本那 6 行是另一 session 已写好的,随本次一并提交);lineage 新增衍生作品 PUT 提升被拒 409 FORK_AUTHORIZATION_INHERITED 且档位不变、入口禁用态与未登录文案断言;新增贡献归集段(不变式 + 三链路传递 + 非作者 403 + 匿名 401)
2026-10-06 18:36:10 +08:00
suzmii
970dc8e65c
feat(游戏共创): 衍生作品授权档位终态——禁止 PUT 修改(新可达码 FORK_AUTHORIZATION_INHERITED → 409)
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
漏洞:继承是「创建时快照等值」,而 PUT 只限方向不限对象 ⇒ 作者可把继承来的 `nonCommercial` 再提成 `full`,
得到比祖先更宽的子作品,把父作品仅在非商用授权下公开的工程内容变成可商用。裁定:衍生作品档位是终态。
- **服务端**:`set_game_distribution_fork_authorization_tx` 在**幂等重放之后、CAS 之前**先查血缘行
(`game_distribution_lineage().game_id().find(...)`),衍生作品(有血缘行)**任何** PUT 都拒绝——含「传同值」
这种幂等重试,客户端不会遇到「有时成功有时失败」的随机性;裁决集中到新纯函数
`resolve_fork_authorization_promotion(has_lineage_row, current, expected, target)`(规则唯一实现,事务不再自己比
CAS / 不再出现 `can_promote_to`)。
- **新稳定错误码**:`FORK_AUTHORIZATION_INHERITED` → **409**;模块 `Display` 产出 `"{CODE}: 衍生作品的共创授权由
父作品继承,不能自行修改"`;api-server `FORK_` 映射登记;纳入 `fork_error_codes_are_reachable_from_module_messages`
枚举(状态码 + 稳定码),并保留「未登记码退化成 FORK_ERROR」的反证。
- **母版不变**:只升不降(可跳级)+ CAS + 幂等重放 + 未知档位 400 + 非 owner 403 全部照旧。
- **无 schema/契约形状变更**(无列/表/索引/DTO 新字段)。
- **测试**:新增 5 组衍生矩阵(同值 / 再提一级 / 终态再传同值 / 期望值过期 / 期望值与当前都不符 → 全 409 + 稳定码)、
母版提升与 CAS 语义回归、码前缀与可达性枚举扩展、以及「血缘行判定早于 CAS、事务不再自比 CAS」的结构断言。
**Rust 侧原本没有任何「衍生 PUT 成功」的断言可改**(已 grep 核对:该路径此前只有 401/400 信封用例),未删除或
弱化任何既有断言;断言旧语义的是 `scripts/check-game-distribution-lineage-e2e.mjs` 与
`scripts/capture-game-lineage-visual.mjs`(属其它 owner,本轮未改,已在报告里点名需其把衍生提升步骤改成「必被拒」)。
- **文档**:技术方案 §2.3(母版 vs 衍生两档 + 状态机只发生在母版行)、§2.6 时序图、§3.3 状态表、§3.4(PUT 行、
POST /games 行、lineage 行)、§3.9 新增「授权终态」补充与 §5.5 实施证据;并写明三件口径:**累计世代数由前端自算**
(子树最大代际 − 本作品代际,根有 3 层后代则为 3;服务端不加字段)、**changeSummary 已在版本摘要 payload 上**
(族谱面板只对选中节点查一次公开详情,不做 N+1、不给节点贴字段)、**衍生作品不会继承到 `forbidden`**
(父为 forbidden 时不允许共创,根本产生不了衍生作品)。decision-log 追加 2026-10-06 决策条。
门禁:wasm build 0;`cargo check --all-targets` 0;`cargo test -p module-game-distribution` **134 passed**;
`cargo test -p spacetime-module` **305 passed / 1 ignored**;`cargo test -p spacetime-client` 43 passed;
`cargo test -p api-server game_distribution` 107 passed;`SPACETIME_SCHEMA_BASE_REF=9f4c7d76 npm run check:spacetime-schema`
0(98 表);DTO parity 0(66 组 / 17 构建器 / 15 手拼类型);`check:encoding` 0(5544 files);
`cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check` 0;`git diff --check` 0。
2026-10-06 18:32:14 +08:00
suzmii
0c425aeae1
feat(agc): 面板按衍生作品采集核心改动说明、只读继承授权并登记详情命令
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-06 18:26:23 +08:00
suzmii
6ae7913cd2
feat(agc): 发布透传二创核心改动说明并暴露本地来源记录
2026-10-06 18:24:57 +08:00
lhk229
256e6fe346
清理已合入的GameAgent时间上限临时文档
...
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m51s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m48s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m28s
Project CI / Backend tests (pull_request) Successful in 9m21s
Project CI / Frontend tests (pull_request) Successful in 3m41s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m28s
Project CI / Repository checks (pull_request) Successful in 7m2s
Project CI / Native shell tests (pull_request) Successful in 8m45s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 7m15s
Project CI / AI game creator shell Rust crates (push) Successful in 4m34s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 6m15s
Project CI / Backend tests (push) Successful in 8m36s
Project CI / AI game creator shell web tests (push) Successful in 3m48s
Project CI / Native shell tests (push) Successful in 9m30s
Project CI / Repository checks (push) Successful in 7m41s
Project CI / Frontend tests (push) Successful in 2m57s
删除已完成的里程碑规范与实施计划
移除主规范中的临时文档链接,保留现行合同与验证边界
2026-10-06 11:17:10 +01:00
suzmii
bd73acfccd
共创详情/族谱: 世代数改前端按子树深度计算;面板核心改动说明读版本摘要层
Project CI / Backend tests (pull_request) Failing after 25s
Project CI / Native shell tests (pull_request) Failing after 4m25s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m41s
Project CI / Repository checks (pull_request) Failing after 17s
Project CI / AI game creator shell web tests (pull_request) Failing after 1m0s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m59s
Project CI / Frontend tests (pull_request) Successful in 2m8s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m29s
2026-10-06 18:14:26 +08:00
suzmii
4f888d8c94
共创授权: 衍生作品隐藏提升入口,改为只读展示「继承自父作品」
2026-10-06 18:14:26 +08:00
suzmii
e0e3463550
共创发布: 衍生作品必填「本次核心改动说明」(前端同等校验 + 提交 changeSummary)
2026-10-06 18:14:20 +08:00
lhk229
9f1c5df446
规划移除GameAgent宿主运行时间上限 ( #652 )
...
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
补充移除累计执行与整轮墙钟上限的行为规范
新增里程碑及实施计划,明确保留独立超时与生命周期控制
明确删除退役代码并限制旧配置和执行账本的数据迁移范围
Reviewed-on: #652
Co-authored-by: lhk <ink29535@proton.me >
Co-committed-by: lhk <ink29535@proton.me >
2026-10-06 18:13:39 +08:00
suzmii
6aa2f97410
feat(游戏共创): 贡献归集与归因(接口 + 契约 + 文档;反洗稿改判搁置)
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
产品口径:「子代所有的都算父代的」,并要能溯源「多少是子代给的、多少是自己的」。本期**只做计算**,
不含资金/分成结算。
- 递归定义:`inherited(W) = Σ_{c∈直接子代} total(c)`,`total(W) = own(W) + inherited(W)`;每个后代在它的每个
祖先里只计一次。
- 接口:`GET /api/game-distribution/games/{game_id}/contribution`(Bearer + `no-store`)——**仅该作品作者**:
未登录/失效 401(中间件)、非作者 403(复用既有 owner-mismatch → FORBIDDEN,不新增第二套鉴权)、
作品不存在或根自身已软删 404。响应:`{ gameId, own, inherited, total, byGeneration[], directChildren[],
nodeCount, truncated, truncatedReason }`;指标结构 `ContributionTotals{playCount}` 可扩展(将来加点赞/收藏/收入)。
- 不变量(测试钉住):`inherited == Σ byGeneration.total == Σ directChildren.total`、`total == own + inherited`、
`nodeCount == Σ byGeneration.gameCount`;`byGeneration` 只含后代(绝对代际,升序)。
- 上限与截断:节点 500 / 深度 32;超限如实标 `truncated: true` + `truncatedReason ∈ {node_limit, depth_limit}`,
已计入部分仍自洽(与族谱 `truncated` 同约定,不静默给半个数);遍历只用血缘表既有索引,**不新增表/索引**。
- 契约:shared-contracts 4 个 DTO + TS 镜像 + parity(+4 组 → 66 组);7 个生成绑定(含 procedure)。
- 文档:技术方案新增 `§3.11 贡献归集与权益归因`(定义/归因分解/接口/上限与截断/鉴权口径与理由)+ §3.4 路由行 +
§5.4 实施证据;**任务 B**:反洗稿(相似度校验)从「待拍板」改为「**产品已决定搁置(2026-10-06)**」并从待拍板
清单移除,结算口径统一为「本期只做贡献归集与归因计算」。
- 测试:module-game-distribution **131 passed**(contribution 12 条,含 A→B→C 三层链路不变量);spacetime-module
**304 passed / 1 ignored**(+3 结构断言);spacetime-client 43 passed;api-server game_distribution **107 passed**(+3)。
门禁:wasm build 0;`cargo check --all-targets` 0;`SPACETIME_SCHEMA_BASE_REF=9f4c7d76 npm run check:spacetime-schema`
0(98 表);DTO parity 0(66 组 / 17 构建器 / 15 手拼类型);`check:project-bundle-policy-parity` OK;
`check:encoding` 0(5543 files);`cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check` 0;`git diff --check` 0。
注:本块未提交 `scripts/*.mjs`(`check-game-distribution-lineage-e2e.mjs` / `-theme-e2e.mjs` /
`capture-game-lineage-visual.mjs`)——属其它 owner,工作区保留未提交。
2026-10-06 18:05:49 +08:00
suzmii
9ab3d5e687
feat(游戏共创): 贡献归集纯函数与归因分解(own/inherited/total + 按代际/直接子代明细 + 上限截断)
2026-10-06 18:05:37 +08:00
suzmii
512bbb7a62
feat(游戏共创): 衍生作品创建时自动继承父作品授权档位(客户端不可另选)
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m9s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m3s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m46s
Project CI / Frontend tests (pull_request) Successful in 3m11s
Project CI / Native shell tests (pull_request) Failing after 3m18s
Project CI / AI game creator shell web tests (pull_request) Failing after 1m20s
Project CI / Repository checks (pull_request) Successful in 6m4s
Project CI / Backend tests (pull_request) Successful in 8m2s
对齐需求文档 revision 1554「授权设置区:自动继承父作品授权」(被划掉的那句「可收窄、不可放宽」不做)。
- **口径**:衍生作品创建时 `fork_authorization` **直接取父作品当时的档位**(创建时快照),客户端传值一律
**忽略且不报错**(旧客户端会惯常带默认值);母版不变(按请求值,缺省 `forbidden`,未知档位仍失败关闭);
收窄入口不做;**PUT 提升接口语义未改**(见下)。
- **落点**:`resolve_game_distribution_fork_declaration_tx` 原本就在父行上判「存在/未软删/已公开/非禁止/来源版本
等于父当前公开版本」,现在把父档位一并回传(`(root, generation, ForkAuthorization)`);新增纯函数
`resolve_game_distribution_creation_fork_authorization(parent, requested)`:有父 → 父档位,无父 → 解析请求值
(未知 → `FORK_AUTHORIZATION_UNKNOWN`);创建事务里把血缘解析挪到授权裁决之前,新行写裁决结果。
- **无 schema / 无契约形状变化**:`GameDistributionCreateGameRequest.forkAuthorization` 保留(非 Option +
`serde(default)` 未动 ⇒ 幂等摘要不变);表列、client record、快照均无字段增删。
- **文档**:技术方案 §2.3(授权模式 + 时序图两条继承边)/§2.4/§3.2.1/§3.4 `POST /games` 行/§3.9 补充/新增 §5.3
实施证据/§7 第 2 条(待拍板 → 已定口径并注明收窄不做);数据契约 `game_distribution_game` 授权条;共创授权与
血缘里程碑(依赖决策/验收第 1 条/实施记录);decision-log 新增 2026-10-06 决策条。
- **测试**:spacetime-module +7(继承矩阵:父 full/nonCommercial × 请求 forbid/nonCommercial/full/空串 一律落
父档位;母版按请求值;未知档位失败关闭;以及「血缘解析返回父档位 + 裁决排在解析之后且写库之前」的结构断言)。
Rust 侧原本**没有**断言「衍生默认 forbidden」的用例(已 grep 核对),因此没有为了让测试过而弱化任何断言。
门禁:`SPACETIME_SCHEMA_BASE_REF=9f4c7d76 npm run check:spacetime-schema` 0(98 表);`cargo check --all-targets` 0;
`cargo test -p module-game-distribution` 119 passed;`cargo test -p spacetime-module` **301 passed / 1 ignored**;
`cargo test -p api-server game_distribution` 104 passed;DTO parity 0(62 组 / 17 构建器 / 15 手拼类型);
`check:encoding` 0(5535 files);`cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check` 0;`git diff --check` 0。
**待你拍板(只报不改)**:继承是「创建时快照 + 等值」,而 PUT 只限制方向不限制对象 ⇒ 衍生作品作者仍可把继承来的
档位再往上提,得到比祖先更宽的子作品,「不可放宽」会被绕过。选项:① 保持现状(PUT 对衍生作品也生效);
② 禁止对衍生作品 PUT 提升(档位只由继承决定;需新增「该 game 无血缘行」判定 + 稳定错误码,并同步文档与前端入口)。
**需其它 owner 同步**(我未改,属其文件):`scripts/check-game-distribution-lineage-e2e.mjs`(richB1/richC1/richD
从 `forbidden` 提升的前置假设已不成立)、`scripts/capture-game-lineage-visual.mjs`(固定
`expectedForkAuthorization: 'forbidden'` 的造树与断言)。
2026-10-06 17:39:35 +08:00
suzmii
d0176f48b7
feat(游戏共创): 衍生作品发布必填「本次核心改动说明」(版本级存储 + 可达错误码)
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
按需求文档 revision 1554「发布设置页 → 二创信息区(必填项)」:衍生作品(有血缘行)发布新版本时**必须**
提供「本次核心改动说明」;母版(0 代)不需要——提供了也忽略、不校验、不落库。
- **存储**:`game_distribution_version` **表尾追加** `change_summary: Option<String>`(`#[default(None)]`);
列序属 wire format,`game_distribution_version_type` / `_version_snapshot_type` / `_create_version_input_type`
三个绑定同步重生成(仓外临时 out-dir,只回写受影响文件)。
- **请求**:`GameDistributionCreateVersionRequest.change_summary`(`#[serde(default, skip_serializing_if)]`:
缺省不序列化 `null`,保住旧客户端的幂等摘要)。
- **校验**:纯函数 `game_distribution_change_summary_violation(value, is_derivative)`,trim 后按**字符**计
**20..=500** —— 20 是「能写清改了什么」的下限,500 约 1 KiB 上限,兼顾详情页/族谱展示与存储;
超限或缺失**失败关闭**,错误码 `FORK_CHANGE_SUMMARY_REQUIRED` / `FORK_CHANGE_SUMMARY_INVALID`(均 **400**),
已登记进 api-server 的 `FORK_` 映射表并纳入「FORK 码由模块真实文案可达」的枚举测试(防上次那种不可达码)。
- **公开投影**:`currentVersion.changeSummary`(衍生为字符串、母版 `null`,发键不发值),版本负载键集合
逐字钉死为 id/version/entryUrl/sha256/publishedAt/controls/changeSummary,不带对象键/素材 id/审核字段。
- **契约与登记**:Rust DTO + TS 镜像 + parity(`version_summary_payload` 加 `mustEmit: ['changeSummary']`)。
- **文档**:技术方案 `§3.4`(请求增量 + 长度口径与理由 + 两个错误码 + 幂等摘要口径 + 公开投影)、数据契约
文档的版本表小节(表尾追加列)。
- **测试**:纯函数 5 条(衍生缺失/超短(ASCII 与汉字)/超长(ASCII 与汉字)/区间内 trim 边界/母版忽略)+
事务 4 条 + 接口 3 条(含公开负载键集合与母版 null)。
门禁:`SPACETIME_SCHEMA_BASE_REF=9f4c7d76 npm run check:spacetime-schema` 0(98 表);`cargo check --all-targets` 0;
`cargo test -p module-game-distribution` **119 passed**;`cargo test -p api-server game_distribution` **104 passed**;
DTO parity 0(62 组 / 17 构建器 / 15 手拼类型);`check:encoding` 0(5535 files);
`cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check` 0;`git diff --check` 0。
注:本块**未提交** `scripts/check-game-distribution-lineage-e2e.mjs` / `check-game-distribution-theme-e2e.mjs` /
`capture-game-lineage-visual.mjs` 的配套改动(属别的 session 的文件,工作区里保留未提交,需其 owner 决定:
衍生作品发布若不传 `changeSummary` 现在会 400,那三个脚本需要同步补字段)。
2026-10-06 17:24:42 +08:00
suzmii
8ff01d65dd
feat(游戏共创): Fork 工程确认页(授权校验 + 强制阅读 + 真实同步阶段)
...
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
照需求文档「Fork 工程确认页(客户端)」新增独立确认页,把原来的「列表上直接 Fork」升级成
「先确认授权边界,再同步工程」。
- 父作品信息卡:封面(复用已有的有界 data URL 链路,失败/缺封面回落首字占位)、标题、作者、
当前授权类型(缺省读作「禁止共创」);数据优先用列表已加载的那份,缺了才按 gameId 走公开详情
接口,**逐项降级不报错**。
- 二次确认 + 授权须知 + 风险说明(**强制阅读 3 秒**):五类内容逐条全文可见(可滚动,不折叠),
用已统一的 Fork 口径;商用权限按父作品授权档位分档写(非商用档明确「不得用于盈利」,全开放档
写明可商用);底部确认按钮在前 3 秒禁用并显示倒计时与进度条。
- 工程同步状态条:**只显示原生真实阶段**(`game-fork-progress`:取回作品内容 → 校验摘要与字节
→ 解压到项目 → 生成工程与来源记录),事件到哪一步点亮哪一步,阶段内部不可测量就只做「进行中」
指示,**没有百分比动画**。需求文档的四分类(源码/素材/场景/配置)假设按资产种类分别同步,而这条
链路是整包取回,因此如实降级并在页面上写明每个阶段在做什么。
- 底部「取消 / 确认并进入编辑」:确认 → 走既有取件建项链路 → 成功后由上层进入工作台;取消 → 回到
进入前的界面(列表)。
- 落点与入口:共创列表的卡片与「粘贴作品 ID/链接」都改为进确认页(粘贴仍用同一份解析);深链
`genarrative://fork?gameId=…` 直接打开确认页并预填父作品(带错误原因的深链仍留在列表展示)。
测试:新增 `forkConfirm.test.tsx`(10 条:信息卡四字段 + 缺字段降级、3 秒闸门与倒计时与可点、
五类须知全文与关键口径、全开放档商用文案、真实阶段点亮与未知阶段丢弃、确认后的命令参数与进工作台、
失败展示与不进工作台、取消回上层、无目标时的可读提示);列表测试改为断言「只打开确认页、不直接建项」;
appSurface 增一条「深链落确认页并预填」。
2026-10-06 17:20:04 +08:00
suzmii
dab99e82a8
feat(游戏共创): Fork 真实阶段事件 + 公开作品详情读取
...
为「Fork 工程确认页」提供两件原生能力。
1. 真实阶段事件(不造百分比):ForkSyncStage 四类真实阶段 download/verify/extract/project
(带稳定事件键与可读名),并在注释里写明与需求文档「源码/素材/场景/配置」四分类的关系——
文档假设按资产种类分别同步,而客户端这条链路是整包取回(一次下载、一次校验、一次解压、
一次建项),没有按种类分开的可测量阶段,因此如实降级成四个真实阶段;
create_project_from_platform_fork_at 加 on_stage 回调(4 处测试调用点补 no-op 闭包),
在解压前/生成工程前按真实发生顺序报阶段;命令在取件前/校验前发 download/verify,新增事件
game-fork-progress({ stage, label })。
2. read_public_game_detail(gameId):复用平台既有公开详情接口(匿名、不带 Bearer),给确认页的
父作品信息卡拿标题/作者/授权类型/封面对象键;顺手把匿名 GET 抽成 get_public_platform_json,
目录命令改走同一段(不再各写一遍请求与错误映射)。
3. 适配共享契约新增字段:创建版本请求补 change_summary: None(AGC 暂无收集入口,服务端把 None
当「未填写」并省略该键,与旧客户端行为一致)。
测试:阶段键与 serde 序列化一致 + 阶段名可读(新增);既有 Fork 用例与深链解析用例全绿。
2026-10-06 17:19:22 +08:00
suzmii
3e3e009b11
共创模块C: 我的作品分类标签(全部/原创/我发布的共创/草稿) + 世代与子衍生数 + 数据概览
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-06 17:16:58 +08:00
suzmii
b99dcb7ef2
共创模块B: 族谱页顶部筛选器 + 主干线(每代热度最高) + 右侧信息面板
2026-10-06 17:16:46 +08:00
suzmii
475acf0f41
共创模块A: 详情页世代/授权标签 + 一键 Fork 主操作 + 概览 + 溯源条 + 热门衍生
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-06 17:06:50 +08:00
suzmii
172bc22404
fix(游戏共创): 合并后修正 game_distribution_game 列顺序(master 的 price_mud_points 回到第 26 位)
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
CI(Backend tests 与 Repository checks)在 `check:spacetime-schema` 红:
「SpacetimeDB 表 game_distribution_game 的第 26 个字段从 price_mud_points 变为 fork_authorization,疑似字段顺序被调整」。
根因:本次合并把两侧各自「在表尾追加」的列并成了「我们的列在 master 的列之前」——schema guard 对表的字段
相对顺序是按 index 逐位比对的(只允许在结构体末尾追加)。
- `game_distribution_game` 表:`price_mud_points`(master 先追加,第 26 位)回到原位,本分支的
`fork_authorization` 追加在它**之后**(表尾);
- `GameDistributionGameSnapshot` 按同一纪律排(同一 game 行的 RPC 形状,避免表与快照两套顺序);
- 重新生成绑定:`module_bindings/game_distribution_game_type.rs`、`..._game_snapshot_type.rs`
(列顺序属 wire format,客户端绑定必须与模块同步);
- 两处结构体注释写明该纪律(master 的列保持 index、我们的列追加在后),避免下一次合并再踩;
- 文档:`docs/project-memory/shared-memory/pitfalls.md` 增一条「合并 master 后 schema guard 的基线盲区」——
本地守卫默认基线是 `git merge-base HEAD origin/master`,**merge 提交尚未建立时看不见**这类重排,
因此合并后必须用 `SPACETIME_SCHEMA_BASE_REF=<PR base>` 复跑。
门禁:`SPACETIME_SCHEMA_BASE_REF=9f4c7d76 npm run check:spacetime-schema` 0(98 表);wasm build 0;
`cargo check --all-targets` 0;`cargo test -p module-game-distribution` 113 passed;`cargo test -p api-server
game_distribution` 101 passed;`cargo test -p module-runtime` 0;`cargo test -p spacetime-client` 43 passed;
`cargo test -p spacetime-module` 294 passed / 1 ignored;DTO parity 0(62 组 / 17 构建器 / 15 手拼类型);
`check:project-bundle-policy-parity` OK;`check:production-ops` OK;`check:doc-index` OK(261 份);`check:encoding`
0(5525 files);`cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check` 0;`git diff --check` 0。
2026-10-06 16:47:38 +08:00
suzmii
a32ddd0e49
fix(游戏共创): 补齐发布用例的必填 versionNumber,并把授权三态计数收敛到本组
Project CI / Backend tests (pull_request) Failing after 44s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m8s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m47s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m5s
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-06 16:34:58 +08:00
suzmii
eeb101458a
Merge remote-tracking branch 'origin/master' into feat/game-fork
...
Project CI / Backend tests (pull_request) Failing after 34s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m27s
Project CI / Native shell tests (pull_request) Failing after 2m46s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m58s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m23s
Project CI / AI game creator shell web tests (pull_request) Failing after 45s
Project CI / Frontend tests (pull_request) Successful in 2m24s
Project CI / Repository checks (pull_request) Failing after 1m1s
# Conflicts:
# apps/ai-game-creator-shell/src-tauri/src/game_distribution_publish.rs
# apps/ai-game-creator-shell/src/components/game-distribution/GameDistributionPublishPanel.tsx
# apps/ai-game-creator-shell/tests/gameDistributionPublishPanel.test.tsx
# docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
# package.json
# packages/shared/src/contracts/gameDistribution.ts
# scripts/check-game-distribution-dto-parity.mjs
# server-rs/crates/api-server/src/modules/game_distribution.rs
# server-rs/crates/module-game-distribution/src/errors.rs
# server-rs/crates/module-game-distribution/src/lib.rs
# server-rs/crates/shared-contracts/src/game_distribution.rs
# server-rs/crates/spacetime-client/src/active.rs
# server-rs/crates/spacetime-client/src/active/mapper.rs
# server-rs/crates/spacetime-client/src/active/mapper/game_distribution.rs
# server-rs/crates/spacetime-client/src/game_distribution.rs
# server-rs/crates/spacetime-client/src/module_bindings.rs
# server-rs/crates/spacetime-client/src/module_bindings/game_distribution_game_snapshot_type.rs
# server-rs/crates/spacetime-client/src/module_bindings/game_distribution_game_type.rs
# server-rs/crates/spacetime-module/src/game_distribution.rs
# server-rs/crates/spacetime-module/src/migration.rs
# src/components/game-distribution/GameDetailPage.tsx
# src/components/game-distribution/GameDistributionPages.test.tsx
# src/components/game-distribution/GamePlayPage.tsx
# src/components/platform-entry/PlatformEntryActiveFlowShell.tsx
# src/services/gameDistributionClient.test.ts
# src/services/gameDistributionClient.ts
2026-10-06 16:10:52 +08:00
suzmii
6cea0a8cd9
族谱卡:封面 16:9 横版、轴统一主题色、控件入画布浮层、去掉第三个动作
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m57s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m8s
Project CI / Repository checks (pull_request) Failing after 42s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m21s
Project CI / Frontend tests (pull_request) Successful in 2m49s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m26s
Project CI / Native shell tests (pull_request) Successful in 7m6s
2026-10-06 15:28:00 +08:00
suzmii
ce4a50532b
test(游戏共创): 截图工具断言跟进终稿语义(封面主视觉/选中路径/面包屑)
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-06 15:23:27 +08:00
suzmii
9f4c7d7639
Merge pull request 'AGC 用户输入区按三层重排布局,修掉控件叠压(#600)' ( #607 ) from fix/agc-composer-layout into master
...
Project CI / AI game creator shell Rust crates (push) Successful in 6m20s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 7m12s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 8m8s
Project CI / Backend tests (push) Successful in 8m59s
Project CI / Frontend tests (push) Successful in 3m9s
Project CI / AI game creator shell web tests (push) Successful in 4m6s
Project CI / Repository checks (push) Successful in 6m58s
Project CI / Native shell tests (push) Successful in 8m52s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 6m11s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m7s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 8m4s
Project CI / Backend tests (pull_request) Successful in 8m56s
Project CI / Frontend tests (pull_request) Successful in 3m46s
Project CI / AI game creator shell web tests (pull_request) Successful in 5m0s
Project CI / Native shell tests (pull_request) Successful in 10m3s
Project CI / Repository checks (pull_request) Successful in 8m27s
Reviewed-on: http://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/607
2026-10-06 15:23:26 +08:00
suzmii
a073a1524f
Merge branch 'master' into fix/agc-composer-layout
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
2026-10-06 15:23:12 +08:00
suzmii
49131fcb40
Merge pull request '修复 CreatorPages 回关用例在并发负载下的偶发失败(修 CI flaky)' ( #646 ) from fix/creator-follow-flaky into master
...
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Reviewed-on: http://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/646
2026-10-06 15:23:05 +08:00
suzmii
d2e05dbeb7
Merge remote-tracking branch 'origin/master' into fix/agc-composer-layout
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m3s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m24s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m14s
Project CI / Frontend tests (pull_request) Successful in 3m48s
Project CI / Backend tests (pull_request) Successful in 8m5s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m0s
Project CI / Repository checks (pull_request) Successful in 7m30s
Project CI / Native shell tests (pull_request) Successful in 9m44s
合并 master be9f74f42(付费游玩泥点付费规范 #635 等):保留双方条目/内容
- 唯一冲突:`docs/project-memory/shared-memory/pitfalls.md` —— 本分支 2 条(2026-10-05「PR #607 复核修复」+「模型菜单的观感是组件自带的共享样式面」)在前,master 新增 2 条(「给 shared-contracts 请求 DTO 加字段」+「付费游戏播放会话前缀落在 /api/*」)紧随其后,**两侧 4 条都保留**(grep 逐条命中 1)
- 其余 286 个文件自动合并(master 侧含 server-rs / admin-web / 主站 / vite.config.ts 等,与本分支不重叠;`styles.css` 也是自动合并、无冲突)
- 门禁(本轮只合并、未改内容):`vitest run appSurface + chatDialogFrameLayout + conversationModelSelect` **258 passed / 9 skipped**;`npm run agc:typecheck` pass 3 / fail 0;`npm run check:encoding` 5418 files;`git diff --check` rc=0;prettier 已对合并后的 pitfalls 重新折行
2026-10-06 15:19:31 +08:00
suzmii
6dc314562e
族谱树终稿:卡片主体点击=选中路径、封面主视觉、elbow 圆角连线与分支配色
...
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
body click selects ancestors+subtree with breadcrumb; title/打开作品 opens detail; cover-first cards; branch-colored elbow edges; tight-width centering; compact mobile cards; 261 tests green.
2026-10-06 15:16:50 +08:00
suzmii
be9f74f420
Merge pull request '【付费游玩】游戏买断制泥点付费规范:主规范合同、里程碑与实施计划(#634)' ( #635 ) from feat/game-purchase into master
...
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Reviewed-on: http://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/635
2026-10-06 15:16:00 +08:00
suzmii
e2056db146
族谱树收尾:剪贴板永不 settle 修复、elbow 连线、锁定路径与面包屑、窄屏紧凑
...
clipboard: race navigator.clipboard.writeText with 800ms timeout then fall back (fixes dead copy button); edges: rounded elbow routing; pin path + breadcrumb; three-tier highlight; compact mobile cards; 265 tests green.
2026-10-06 15:11:07 +08:00
suzmii
87af3bdaf0
test(游戏共创): 新增族谱可视化截图与 DOM 断言工具
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-06 15:09:56 +08:00
suzmii
ca5fde274b
test(游戏共创): 族谱 e2e 断言跟进 coverObjectKey 契约
2026-10-06 15:09:51 +08:00
suzmii
3b99da832f
修复 CreatorPages 回关用例在并发负载下点击被吞导致的偶发失败
...
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m1s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m48s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m8s
Project CI / Frontend tests (pull_request) Successful in 2m39s
Project CI / Backend tests (pull_request) Successful in 7m54s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m27s
Project CI / Repository checks (pull_request) Successful in 7m10s
Project CI / Native shell tests (pull_request) Successful in 9m41s
- 在「自己的粉丝支持回关和取消回关,移除须确认且只移除该行」用例中,先取到「回关」按钮并保留引用,不再取到后立即同步点击
- 新增等待该按钮 disabled 变为 false 再 fireEvent.click,避免关系 store 尚未 seed、按钮仍是 disabled 时 React 不派发 onClick 而把这次点击吞掉
- 补充简短中文注释,说明行首帧早于关系 store seed、必须等按钮可用再点
2026-10-06 15:03:25 +08:00