Commit Graph

6569 Commits

Author SHA1 Message Date
suzmii 94cd35e8f7 Merge remote-tracking branch 'origin/master' into feat/game-fork
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m11s
Project CI / Frontend tests (pull_request) Successful in 3m40s
Project CI / Backend tests (pull_request) Successful in 8m55s
Project CI / Repository checks (pull_request) Successful in 8m33s
Project CI / Native shell tests (pull_request) Successful in 10m15s
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 web tests (pull_request) Has been cancelled
# Conflicts:
#	apps/ai-game-creator-shell/src/components/game-distribution/useGameDistributionPublishForm.ts
#	docs/project-memory/shared-memory/decision-log.md
2026-10-07 11:53:17 +08:00
kdletters 8ceada8690 合并 codex/agc-error-convergence-20261004:交付核心以 master 新设计为准并保留分支错误明细
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 5m43s
Project CI / AI game creator shell Rust crates (push) Successful in 4m52s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 5m40s
Project CI / Frontend tests (push) Successful in 2m48s
Project CI / Backend tests (push) Successful in 7m14s
Project CI / AI game creator shell web tests (push) Failing after 3m50s
Project CI / Native shell tests (push) Successful in 8m27s
Project CI / Repository checks (push) Successful in 7m9s
冲突处理:交付合同/租约相关现场取 master(#608 重构),分支侧错误明细在可安全保留处回补
编译修复:direct_tool_bridge 回执结算失败正文、direct_patch 指纹读取、direct_delivery 终态读取按 Result 形状对齐
前端修复:DirectProjectChatView 取 master,其余缺失的错误正文 import/参数回补
重新生成 AuthServiceUnavailable 绑定以匹配 Rust 声明
2026-10-07 11:33:18 +08:00
suzmii 1bdffcdef0 test(族谱截图): 造树模式的越权提示不再引用已下线的 npm 条目
Project CI / Backend tests (pull_request) Failing after 29s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m31s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 4m11s
Project CI / Repository checks (pull_request) Failing after 34s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m4s
Project CI / Frontend tests (pull_request) Successful in 3m2s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m12s
Project CI / Native shell tests (pull_request) Successful in 8m44s
2026-10-07 11:27:59 +08:00
suzmii 6e5cf195f8 feat(游戏共创): 公开目录补真游标分页(修「48 硬上限 + 无游标」导致最老作品永久不可见)
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
真实库实证:51 条 published 时**最老的 3 条**(含最关键的 A0/A1/A11 母版与主干)在公开目录里不可见
(AGC 共创页显示「已检查最新 48 个作品(1 页)」;数据本身没丢)。根因:handler 写死
`limit: MAX_LIST_LIMIT(48)`(并忽略客户端 `limit`),事务过滤排序后 `truncate(limit)`,**既无 has_more
也无游标**。

- **页大小**:默认 **48**(保持既有 AGC 共创页首屏语义——48 只该是默认值而非硬上限)、上限 **100**
  (单响应体量);`0` 取默认、超界**截断**(不报错);api-server 与事务共用同一归一函数。
- **游标**:`"{created_at_micros}:{game_id}"`(复用仓库既有 `"{micros}:{id}"` 惯例,与主题列表同构);
  排序键 `created_at` **倒序** + `game_id` **升序**兜底(与改前比较器逐字同序 ⇒ 首页顺序不变;全序 ⇒
  翻页不重不漏);**先过滤再切页**;「多取一条」判 has_more;`nextCursor` 为真值、**末页为 `null`**。
- **非法游标**:模块产出 `CATALOG_INVALID_CURSOR: 目录游标格式无效` → api-server 新增 `CATALOG_` 前缀分支
  (**排在 owner 不匹配 / 不存在 / 状态 等子串分支之前**)→ **400 + 稳定码 `CATALOG_INVALID_CURSOR`**,
  并纳入「码由模块真实文案可达」的枚举测试(防上次那种不可达码);未登记的 `CATALOG_` 码兜底
  `CATALOG_ERROR`(400)。
- **响应形状不变**:仍是 `{ games, nextCursor }`(`nextCursor` 从恒 `null` 变成真值);抽命名构建器
  `public_games_payload` 并登记 parity(构建器 18→**19**,`mustEmit: ['games','nextCursor']`)。
- **生成绑定**:`game_distribution_public_game_list_input_type.rs`(+`cursor`)、
  `game_distribution_game_list_procedure_result_type.rs`(+`next_cursor`);client facade 改返回
  `(games, next_cursor)`,mapper 同步。
- **文档**(同批):主规范 HTTP 表 `GET /games` 行改为真游标分页;创作者主页工程设计两处「最多 48 / 不分页」
  改写(并注明前端尚未消费游标);`docs/README.md` 索引行同步。
- **测试 +15**:纯函数 9(**51 条能翻到最老那条**、恰好整页不产生空游标、同 `created_at` 用 `game_id` 兜底、
  **先过滤再切页**、游标指向页内最后一条、limit 0/超界、非法游标 7 种);事务结构断言 1;api-server 5
  (形状、`limit` 默认与截断、非法游标 400 + 稳定码、码可达性枚举、**51 条走真实 handler 链路翻页且
  未公开/已软删/无公开版本三种不可见行不出现**)。

门禁:wasm build 0;`cargo check --all-targets` 0;`cargo test -p module-game-distribution` **143 passed**;
`-p spacetime-module` **307 passed / 1 ignored**;`-p spacetime-client` 44 passed;`-p api-server game_distribution`
**112 passed**;DTO parity 0(66 组 / **19** 构建器 / 15 手拼类型);`check:spacetime-schema` 0(98 表);
`check:encoding` 0(5548 files);`cargo fmt --all --manifest-path server-rs/Cargo.toml -- --check` 0;
`git diff --check` 0。
2026-10-07 11:23:59 +08:00
suzmii 088f467dcc test(族谱): 钉住「热度排序/主干线判据=自身 playCount」而非子树合计
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 11:19:26 +08:00
suzmii 0b6c7a110e 游玩次数:详情页 hero/共创卡、主题页母版行、热门衍生栏改显示子树合计并给出分解;拿不到树保持自身值
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 11:18:31 +08:00
suzmii 7dbe2a9b5e 族谱:新增游玩次数子树合计纯函数(与服务端归集不变量同口径)并写明主干线判据=自身
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 11:18:18 +08:00
suzmii fa5264259e 族谱:删除「高亮整棵子树」复选框,子树高亮恒定开启(不再有恒为 true 的开关状态)
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
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
2026-10-07 11:10:50 +08:00
suzmii dd9e3b0019 族谱:父代/子代可断言区分 + 「只看父代与子代」可取消开关;侧栏卡文案对齐口径
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 11:08:22 +08:00
suzmii 7301d675ae 详情页:血缘图搬到正文之后的整宽区块(内嵌族谱页复用),侧栏卡只留标签/概览/入口
Project CI / Backend tests (pull_request) Failing after 28s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m45s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m55s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m58s
Project CI / Repository checks (pull_request) Failing after 16s
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 web tests (pull_request) Has been cancelled
2026-10-07 11:00:30 +08:00
suzmii 70bba0f7b2 test(e2e): 夹具类脚本默认打隔离栈并加护栏/自清理,dev 栈标记可重定向 2026-10-07 11:00:28 +08:00
suzmii c6087ce807 fix(agc): 用户可见文案去掉「像 git fork」类比(须知 + 确认页副标题 + 规范同步)
Project CI / Backend tests (pull_request) Failing after 24s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m54s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m1s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m13s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Successful in 2m16s
Project CI / Native shell tests (pull_request) Successful in 8m40s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m27s
2026-10-07 10:48:50 +08:00
suzmii 2b1b111551 fix(agc): 共创页页头加 80px 顶部留白并与标题居中对齐(列表页副标题同步去类比) 2026-10-07 10:48:43 +08:00
k88936 a8ae817205 Merge pull request 'Feat/适配小红书小工具导出' (#630) from feat/adapt-xhs-skill into master
Project CI / AI game creator shell Rust crates (push) Successful in 6m43s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 7m59s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 7m59s
Project CI / Backend tests (push) Successful in 10m21s
Project CI / Frontend tests (push) Successful in 3m32s
Project CI / AI game creator shell web tests (push) Successful in 3m15s
Project CI / Repository checks (push) Successful in 7m38s
Project CI / Native shell tests (push) Successful in 9m40s
Reviewed-on: #630
2026-10-07 10:09:37 +08:00
kdletters fba012b42b 修复真实游戏链路里 CC 执行器的四处阻塞
过程条目 id 按内容块类型区分,同 id 不同内容时补唯一后缀,避免整轮被判过程历史保存失败
资产下载的 fake-IP 窄例外覆盖 RFC 5180 的 IPv6 段,修复双栈解析下平台图片被拒绝下载
给 CC 子进程下发 MCP_TOOL_TIMEOUT,避免分钟级付费生成被 60 秒默认超时取消
复用 Codex 的进程树归属与退出证明,让 CC 回合能写 executor_stopped 并完成交付封口
2026-10-07 08:17:34 +08:00
kdletters 594ac321bf 归一化 Claude Agent SDK 身份句,避免上游内容策略误拦
在 Anthropic Messages 代理转发前,把被上游内容策略误判的身份句替换为等价表述,其余字段原样透传
新增归一化单测:只改命中片段,保留 cache_control 等其它 system 形状
2026-10-07 08:17:23 +08:00
suzmii 258c6c86f3 docs(游戏共创): 两个回归已修并复验 + 记下 Vite 在 W: 盘不感知变更的复验坑
Project CI / AI game creator shell Rust crates (pull_request) Successful in 6m2s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m17s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m22s
Project CI / Backend tests (pull_request) Successful in 9m33s
Project CI / Frontend tests (pull_request) Successful in 3m10s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m20s
Project CI / Repository checks (pull_request) Successful in 5m19s
Project CI / Native shell tests (pull_request) Successful in 6m42s
2026-10-07 01:55:53 +08:00
suzmii 5caefe297d test(共创): 窄屏图谱视图复盘——面包屑改由大纲形态验证,补可见节点数
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
2026-10-07 01:55:08 +08:00
suzmii bf8c7822f5 test(族谱): 横版断言钉到同代同 left,并固定移动端紧凑卡省作者行
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
2026-10-07 01:52:17 +08:00
suzmii ec8f27cb28 族谱移动端图谱视图:横版画布 + 进入时按宽度适配并定位当前作品
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 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
2026-10-07 01:51:21 +08:00
suzmii 9cf30517db 族谱画布:恢复节点卡片作者名(抽 LineageNodeContent 时只留在 inline 布局)
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 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
2026-10-07 01:47:12 +08:00
suzmii 32f4025516 test(共创): 新增 AGC 客户端 CDP 真机 Fork 验收 + 窄屏三档核验,并同步实测覆盖文档
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m56s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m15s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m17s
Project CI / Backend tests (pull_request) Successful in 9m29s
Project CI / Frontend tests (pull_request) Successful in 3m27s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m30s
Project CI / Repository checks (pull_request) Successful in 5m28s
Project CI / Native shell tests (pull_request) Successful in 6m55s
2026-10-07 01:27:26 +08:00
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
k88936 e35e179df1 修复 export/generated 未豁免行尾空白检查
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m56s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m4s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m5s
Project CI / Backend tests (pull_request) Successful in 9m19s
Project CI / Frontend tests (pull_request) Successful in 3m23s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m6s
Project CI / Repository checks (pull_request) Successful in 7m7s
Project CI / Native shell tests (pull_request) Successful in 8m35s
.gitattributes 补登 apps/ai-game-creator-shell/src/view/project-development/export/generated/** 的 whitespace=-trailing-space,与其余 ts-rs 生成目录保持一致
2026-10-07 00:43:56 +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
k88936 d9f0951391 修复遗留 Rust 代码的 rustfmt 格式
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 7m4s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m6s
Project CI / Backend tests (pull_request) Successful in 8m49s
Project CI / Frontend tests (pull_request) Successful in 3m19s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m57s
Project CI / Repository checks (pull_request) Failing after 5m28s
Project CI / Native shell tests (pull_request) Successful in 6m57s
- xhs_minitool/build.rs:拆分超长的 conclude 调用断言行
- project/filesystem.rs:project_snapshot_path_is_excluded 的闭包改用 rustfmt 期望的换行
2026-10-06 23:57:36 +08:00
k88936 f4faaa2659 删除已迁移模块的遗留测试用例
- 删除 tests/gamePublishFeedback.test.tsx:发布入口迁入导出产物面板、发布表单拆成 hook + 视图后,该套 App 级反馈用例已失效
- 移除 tests/chatDialogFrameLayout.test.ts 中扫描 DirectProjectChatView 会话块顺序的用例(该 DOM 已迁到 DirectProjectChatBox),并删除不再使用的 CHAT_VIEW_PATH / CHAT_CONVERSATION_PATH
2026-10-06 23:52:17 +08:00
k88936 7bcef53494 合并 origin/master 到 feat/adapt-xhs-skill:发布表单吸收平台版本号与买断定价,并合入播放会话网关与导出 Skill 更新
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m56s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m16s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m24s
Project CI / Repository checks (pull_request) Failing after 59s
Project CI / Backend tests (pull_request) Successful in 8m46s
Project CI / Frontend tests (pull_request) Successful in 2m31s
Project CI / AI game creator shell web tests (pull_request) Failing after 2m27s
Project CI / Native shell tests (pull_request) Successful in 6m17s
- 发布表单 hook 保留本分支的 hook + 视图拆分,移植 master 的平台版本号回读(nextVersionNumber)、买断定价状态与提交校验,删除由工程内部版本派生的 projectVersion
- GameDistributionPublishFormView 接入只读「项目版本」与共享 PlatformGamePricingField,版本号未知时禁用提交
- DirectProjectComposer 同时保留本分支的草稿回填 / 回写 props 与 master 的 actionsPortalTarget 挂点
- 发布表单测试改用平台版本号 mock(nextVersionNumber: 1),补齐买断定价与缺省版本号禁用用例,并修正 Promise 类型标注
- decision-log.md 保留双方新增条目(小红书导出与 Skill 安装工具 + 播放会话前缀清 Cookie)
2026-10-06 23:28:57 +08:00
k88936 157b4eb861 表单字段逐项报错并可交给陶泥儿处理
Project CI / Backend tests (pull_request) Failing after 22s
Project CI / Native shell tests (pull_request) Failing after 4m6s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m30s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m17s
Project CI / AI game creator shell web tests (pull_request) Failing after 35s
Project CI / Frontend tests (pull_request) Successful in 1m56s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m2s
- xhsMinitoolFields.ts 的 validateXhsMinitoolForm 一次返回全部出错字段

- xhsMinitoolInstruction.ts 新增字段红字指令,示意里的字数上限改用 XHS_MINITOOL_TEXT_MAX_CHARS

- useXhsMinitoolExport.ts 的 fieldError 改为 fieldErrors,新增 handFieldErrorsToAgent:交接后清红字与 dirty,让自动重读能采纳 agent 的修正

- FormCard.tsx 每个出错字段各挂红框与红字,标题下新增「交给陶泥儿」入口

- ArtifactsPane.tsx 接上新字段与新动作

- 补 xhsMinitoolFields / xhsMinitoolExport 测试覆盖多字段报错与交接
2026-10-06 22:56:51 +08:00
k88936 ac0b08b2ac 修正导出被信号终止时的用户文案
- xhsMinitoolFailure.ts 的 commandFailed 在 exitCode 为 null 时改说「导出中途被中断了」:脚本没启动已归到 exportUnavailable

- xhsMinitoolExport.test.tsx 同步这两条措辞断言
2026-10-06 22:56:41 +08:00
k88936 e6190f080e 说明小红书打包脚本预检与打包口径不一致的取舍
- pack.mjs 的 collectZipEntries 注释写明决定不改的理由:链接算不算合法产物还没定论,预检对链接是静默跳过

- manifest.json 同步 vite-export-xhs-minitool 的 sha256 与版本
2026-10-06 22:56:35 +08:00
k88936 3162b04ee4 说明小红书注册表不拒绝符号链接的取舍
- registry.rs 模块注释写明决定不改的理由:注册表是用户项目里的草稿,要挡的是把项目内容交给打包链的入口
2026-10-06 22:56:32 +08:00
k88936 fafc83f9e6 导出面板改用平台主题变量
- `Shell` 的米色页面渐变改用 `bg-(image:--platform-body-fill)`
- 文案 / 强调 / 描边换成 `--platform-text-strong` / `-base` / `-soft` / `-muted`、`--platform-accent`、`--platform-surface-border` 与 `--platform-surface-hover-border`
- 卡片与输入底色换成 `--platform-panel-fill` / `--platform-input-fill` / `--platform-neutral-bg`,冲突卡底换成 `--platform-warm-bg`
- 硬编码阴影换成 `--platform-panel-shadow` 与 `--platform-profile-action-shadow`
- 小红书品牌红 `#ff2442` 不在 `--platform-*` 调色板里,按原值保留并加注释
2026-10-06 22:28:11 +08:00
k88936 a6974f3ca4 小红书表单校验只留前端
- 保存命令不再校验表单:`save_form` 只判 baseHash 冲突并写盘,删掉 `validation` 模块与它的必填 / 字数 / icon 约束
- `FormInvalid` 与 `XHSMiniToolExportField` 从 Rust 失败表和 DTO 退役,ts-rs 同步删掉两个生成类型
- 前端新增 `validateXhsMinitoolForm`(必填 + 14 字上限,按码点算),`persist` 先过它再落盘
- `fieldError` 改用本地 `XhsMinitoolFieldError`,`save` 守卫与失败卡片分流同步移除 `formInvalid`
- 测试:新增 `xhsMinitoolFields.test.ts`,改写两处依赖宿主 `formInvalid` 的用例为前端校验
2026-10-06 22:25:05 +08:00
k88936 ab8a6d1321 下载失败改为弹窗交代并提供在文件管理器中打开
src-tauri/src/project/asset_export.rs:新增按保存同一条路径门禁解析产物位置的能力,供文件管理器定位复用。
src-tauri/src/commands/desktop.rs:新增 reveal_local_project_asset_file 命令,用系统文件管理器定位项目内产物。
src-tauri/src/desktop.rs:注册新命令。
view/project-development/export/state/xhsMinitoolDownload.ts:保存结果改为带失败原因,新增在文件管理器里定位原件的兜底调用。
view/project-development/export/tabs/xiaohongshu/DownloadFailureDialog.tsx:新增下载失败弹窗,给「关闭」与「在文件管理器中打开」两条路。
view/project-development/export/tabs/xiaohongshu/ArtifactsPane.tsx:下载失败改用弹窗与兜底出口,去掉会被滚出视野的一行小字。
tests/xhsMinitoolExport.test.tsx:覆盖失败弹窗、定位命令参数与定位失败留在弹窗。
2026-10-06 22:13:10 +08:00
k88936 b9d0276a46 表单保存改用串行写盘锁,写盘期间的新编辑不会被漏掉
view/project-development/export/state/formSaveLock.ts:新增写盘锁,串行执行保存,并按进入时的编辑版本判断这次写的是不是最后一版。
view/project-development/export/state/useXhsMinitoolExport.ts:persist 走锁,写盘期间又有编辑时不清 dirty,让已排队的自动保存接着写最新一版;updateField 与 resolveConflict 记编辑版本。
tests/formSaveLock.test.ts:覆盖串行、被后来的编辑超过、最后一版、失败不卡队列。
tests/xhsMinitoolExport.test.tsx:补「保存期间继续输入,最后一版仍会落盘」的回归用例。
2026-10-06 22:08:30 +08:00
k88936 90da09f961 导出 hook 换项目时整套重置并丢弃过时结果
view/project-development/export/state/useXhsMinitoolExport.ts:新增 projectPath 重置效果,把表单/判据/冲突/产物状态与全部本地基线清回初值;读内容、取指纹、保存、构建各处在 await 回来后用 projectPathRef 校验结果仍属于当前项目,过时就丢弃,不再写回新项目。
tests/xhsMinitoolExport.test.tsx:补换项目后表单与产物判据清空、并读回新项目内容的用例。
2026-10-06 22:04:07 +08:00