kdletters
|
f0ae3ce52c
|
补齐游戏分发网页侧链路取证并修掉返回目录丢关键词
Project CI / AI game creator shell Rust crates (push) Successful in 1m31s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m1s
Project CI / Backend tests (push) Successful in 5m4s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m50s
Project CI / Frontend tests (push) Successful in 2m24s
Project CI / Native shell tests (push) Successful in 7m27s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 10m9s
Project CI / AI game creator shell web tests (push) Successful in 1m50s
Project CI / Repository checks (push) Successful in 2m24s
- 新增 scripts/check-game-distribution-web-e2e.mjs:真实 dev 网页栈 + Chromium 游客走目录筛选、空态与重置、详情主动作、分享直达详情、按需加载发行 iframe、失败重试、退出不自动重启、移动端门槛与旋转提示,共 23 项 PASS
- GameGalleryPage 的顶栏搜索词同步改为按 prop 值比对:原来的一次性 ref 守卫在开发态 StrictMode 双跑下会用空值清掉刚从 sessionStorage 恢复的关键词
- vite.config.ts 增加 /games/<gameId>/ 发行入口代理(rewrite 到发行网关并去掉 Cookie),本地网页栈与生产 nginx 同口径
- 游戏分发里程碑阶段 C 第 6、7 条改为已勾选,其余条目列出具体缺口
- pitfalls 记录 StrictMode 守卫击穿与 Vite 发行入口代理两条经验
|
2026-09-28 20:07:20 +08:00 |
|
kdletters
|
eb7c00658a
|
补齐 External v1 场景生成路由的本地真实栈受理 smoke
Project CI / AI game creator shell Rust crates (push) Successful in 1m27s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m49s
Project CI / Backend tests (push) Successful in 5m9s
Project CI / Native shell tests (push) Successful in 6m14s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m6s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m12s
Project CI / Frontend tests (push) Successful in 2m42s
Project CI / AI game creator shell web tests (push) Successful in 1m41s
Project CI / Repository checks (push) Successful in 2m16s
- 新增 scripts/check-external-v1-scene-generation-smoke.mjs:dev 账号现建外部 API Key,校验非法 Key 401、缺幂等键/空 sceneContent/custom 缺 customStyle 各自 400、合法请求 202 且返回 operationId、同键重放同一 operationId、同键换请求体 409
- 轮询生成状态得到 completed 与 assetObjectId,并用 external read-url 换签名地址下载成功(200 image/png),证明 Provider 出图在本机可用
- 里程碑最后一条验收改为已勾选,并把先前「Provider 出图未验证」的环境结论更新为已实测
|
2026-09-28 19:52:16 +08:00 |
|
kdletters
|
ad2ab4cd60
|
补齐游戏发行沙箱的真实浏览器取证并勾选阶段 B 第 5/6 条
Project CI / AI game creator shell Rust crates (push) Successful in 1m32s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m49s
Project CI / Backend tests (push) Successful in 5m5s
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- 新增 scripts/check-game-distribution-sandbox-e2e.mjs:把探针包发布到本地发行网关,再用 Chromium 以 sandbox=allow-scripts 的 iframe 打开,断言 module 载入、storage/cookie/父文档 DOM 隔离、跨源 fetch 与 WebSocket、Worker、弹窗、顶层跳转、敏感权限全部被挡
- 同一次运行核对发行网关策略:最小 CSP(connect-src self / worker-src none)、nosniff、Access-Control-Allow-Origin *、带 Cookie 403、未知扩展名 404,共 22 项 PASS
- 游戏分发里程碑阶段 B 第 5、6 条改为已勾选,并按主规范 2026 决策说明独立发行域名已由「平台同源路径 + sandbox 不透明来源」替代
- 第 7 条缺口收窄到只剩「撤销传播符合最大缓存窗口」需要生产 CDN/TTL
|
2026-09-28 19:43:59 +08:00 |
|
kdletters
|
2d875377a9
|
补齐项目快照的客户端上传与后台列表下载联调取证
Project CI / AI game creator shell Rust crates (push) Successful in 1m39s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m58s
Project CI / Backend tests (push) Successful in 5m36s
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / Frontend 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 1/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- 新增 scripts/check-agc-project-snapshot-admin-http.mjs:核对后台列表里的快照统计、下载工程 ZIP、逐条与本地项目副本比对 SHA-256,并检查排除项与 .agent 目录
- 里程碑条目 9 改为已勾选,写入真实客户端共享模块上传(首次 synced、紧接着 no-op)与后台列表/ZIP 的 HTTP 联调取证,并把未验证项单独列出
- pitfalls 记录单用户每小时 3000 次文件上传配额对真实链路冒烟的影响与选项目口径
|
2026-09-28 19:35:22 +08:00 |
|
kdletters
|
25a992468d
|
写入对象存储时下发对象级 ACL,修掉发行包可匿名直取
Project CI / AI game creator shell Rust crates (push) Successful in 1m30s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m52s
Project CI / Backend tests (push) Successful in 4m55s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m4s
Project CI / Native shell tests (push) Successful in 6m20s
Project CI / Frontend tests (push) Successful in 2m11s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m6s
Project CI / AI game creator shell web tests (push) Successful in 1m40s
Project CI / Repository checks (push) Successful in 2m12s
- platform-oss 的内部 PUT 与分片追加显式下发 x-oss-object-acl(Private 为 private、Public 为 public-read),OssAppendInternalObjectRequest 增加 access 字段
- 直传 policy 增加 x-oss-object-acl 条件,表单字段与 shared-contracts 的 DirectUploadTicketFormFields 同步新增并透传到 ticket 响应
- 媒体链路 E2E 增加匿名直取直传封面与发行包两条探测:默认 WARN,E2E_REQUIRE_PRIVATE_BUCKET=1 时按失败处理
- 里程碑第 7 条、pitfalls 与 decision-log 记录根因、修复与复验(严格模式 65 项 PASS,两处匿名直取都 403)
|
2026-09-28 19:20:21 +08:00 |
|
kdletters
|
fb87e1d4ff
|
补齐游戏分发安全下架取证并记录发行包对象可匿名直取
Project CI / AI game creator shell Rust crates (push) Successful in 1m32s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m6s
Project CI / Backend tests (push) Successful in 4m55s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m34s
Project CI / Frontend tests (push) Successful in 2m19s
Project CI / Native shell tests (push) Successful in 7m14s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m55s
Project CI / AI game creator shell web tests (push) Successful in 1m57s
Project CI / Repository checks (push) Successful in 2m28s
- 媒体链路脚本新增管理员安全下架与恢复段:suspend 后目录/详情/发行读取全部关闭、过期 revision 的 suspend 被 CAS 拒绝、restore 后重新公开且可玩
- 新增匿名直取发行包对象探测:本地 dev bucket 返回 200(同 bucket 不存在 key 为 404),默认只打 WARN,E2E_REQUIRE_PRIVATE_BUCKET=1 时按失败处理
- 游戏分发里程碑阶段 B 第 7 条补上「不能绕过网关直取 OSS 在当前环境不成立」的实测、根因与剩余缺口
- pitfalls 记录 platform-oss 的 put_internal_object_bytes 从不发送 x-oss-object-acl 的问题与上线前处理
|
2026-09-28 19:08:51 +08:00 |
|
kdletters
|
6cbc56dd98
|
补齐游戏分发审核 CAS 与下架可见性取证
Project CI / AI game creator shell Rust crates (push) Successful in 1m19s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m39s
Project CI / Backend tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (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
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- 媒体链路脚本新增 publicationRevision CAS 段:过期审核与过期下架 409 PUBLICATION_CONFLICT、同 key 重放批准 replayed=true、并发激活只有一次成功、下架前的 revision 不能批准新版本
- 新增作者下架后的可见性段:公开目录不含、详情 404、发行网关 404,且目录与详情不返回对象存储地址
- 游戏分发里程碑阶段 B 第 3、4 条改为已勾选,脚本共 58 项 PASS
|
2026-09-28 19:04:23 +08:00 |
|
kdletters
|
253f99d921
|
补齐错误 envelope 的请求上下文并扩展游戏分发审核取证
Project CI / AI game creator shell Rust crates (push) Successful in 1m30s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m59s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 5m26s
Project CI / Backend tests (push) Successful in 4m13s
Project CI / Frontend tests (push) Has been cancelled
Project CI / Native shell 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 1/2 (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
- api-server 的错误响应改用 attach_request_context 建立的 CURRENT_REQUEST_CONTEXT(tokio task_local),错误 envelope 与成功 envelope 一样带 meta.requestId / meta.operation,脱离请求任务时退回原形状
- 越权隔离脚本新增成功/失败 envelope 断言:修复前错误响应 requestId 为空让断言变红,修复后 23 项 PASS
- 媒体链路脚本扩展审核治理段:普通作者不能提交审核动作、更新待审与被拒都不改变在线旧版 URL 与可玩内容、审核结论可在后台追溯,44 项 PASS
- 游戏分发里程碑阶段 A 第 6 条、阶段 B 第 1/2 条改为已勾选并写入取证,阶段 B 其余条目列出具体缺口
- decision-log 补记错误 envelope 同一份 meta 与「按可消费取证」两条口径
|
2026-09-28 18:58:38 +08:00 |
|
kdletters
|
23de78b476
|
补齐游戏分发分片续传与失败恢复用例并收口阶段 A 第 5 条
Project CI / AI game creator shell Rust crates (push) Successful in 1m41s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m12s
Project CI / Backend tests (push) Successful in 5m14s
Project CI / Native shell tests (push) Successful in 6m19s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m41s
Project CI / Frontend tests (push) Successful in 2m13s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m41s
Project CI / AI game creator shell web tests (push) Successful in 1m38s
Project CI / Repository checks (push) Successful in 2m12s
- 新增 scripts/check-game-distribution-upload-resume.mjs:prepare 段造 9,437,658 字节真实 ZIP 只传第一片 8,388,608 字节,杀掉 api-server(PID 53844 -> 7728)后 resume 段从对象存储读回权威偏移继续传完、确认 uploaded、送审 202 pending_review
- 上传安全检查脚本改名并扩展为 check-game-distribution-upload-safety:新增「结构合法但摘要与声明不符 -> 409 PACKAGE_MISMATCH -> upload_failed + recoveryAction=reupload -> reset 归零 -> 重传确认成功」失败恢复用例,共 24 项 PASS
- package.json 注册 check:game-distribution-upload-resume 并改名 check:game-distribution-upload-safety
- 游戏分发里程碑阶段 A 第 5 条改为已勾选,写入三段式取证
- decision-log 记录越权一律 404、并发落败给权威偏移两条错误码口径
|
2026-09-28 18:44:16 +08:00 |
|
kdletters
|
665f88b85f
|
补齐游戏分发并发上传与幂等重放用例并修掉并发落败的错误码
Project CI / AI game creator shell Rust crates (push) Successful in 1m25s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m52s
Project CI / Backend tests (push) Successful in 5m47s
Project CI / Native shell tests (push) Successful in 6m34s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 9m6s
Project CI / Frontend tests (push) Successful in 2m8s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 10m8s
Project CI / AI game creator shell web tests (push) Successful in 1m36s
Project CI / Repository checks (push) Successful in 2m16s
- 新增 scripts/check-game-distribution-upload-concurrency.mjs:同 key 重放建游戏/建版本返回同一条记录、换请求体 409、同版本同偏移并发写片只成功一片、权威已收字节等于单份包长、确认校验通过落到 uploaded、换 key 重复送审 409 且版本数仍为 1
- 分片追加失败后回读权威已收字节:长度已前进时返回 409 PACKAGE_UPLOAD_OFFSET_MISMATCH 与 receivedBytes,不再把 OSS position 冲突报成 502 UPSTREAM_ERROR
- package.json 注册 check:game-distribution-upload-concurrency
- 游戏分发里程碑阶段 A 第 4 条改为已勾选,并把第 5 条的缺口收窄到「响应丢失与进程退出后的续传编排」
|
2026-09-28 18:31:39 +08:00 |
|
kdletters
|
0989f9f40e
|
补齐游戏分发跨账号越权用例并统一送审的 404 口径
Project CI / AI game creator shell Rust crates (push) Successful in 1m40s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m9s
Project CI / Backend tests (push) Successful in 5m4s
Project CI / AI game creator shell Rust lane 1/2 (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
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- 新增 scripts/check-game-distribution-owner-isolation.mjs:对本地真实栈注册两个账号,逐条验证私有版本读取、上传状态、分片写入、分包确认、送审、撤回与未认证访问的越权口径,并验证请求体伪造 owner 不生效
- api-server 的 submit_version 改用 load_owner_version_or_404:他人送审返回 404 而不是 403,不再用错误码泄露版本是否存在
- package.json 注册 check:game-distribution-owner-isolation
- 游戏分发里程碑阶段 A 第 1 条改为已勾选,写入 21 项 PASS 取证与修复前的 403 变异证据
|
2026-09-28 18:23:52 +08:00 |
|
kdletters
|
4c4e61255e
|
给游戏分发 DTO 门禁补上手拼响应构建器的逐键比对
Project CI / AI game creator shell Rust crates (push) Successful in 1m29s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m57s
Project CI / Backend tests (push) Successful in 5m50s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m39s
Project CI / Native shell tests (push) Successful in 7m7s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m42s
Project CI / Frontend tests (push) Successful in 2m20s
Project CI / Repository checks (push) Successful in 2m25s
Project CI / AI game creator shell web tests (push) Successful in 1m38s
- 新增 RESPONSE_BUILDERS:解析 api-server 里 game_payload / public_game_payload / private_version_payload / version_summary_payload 的 json! 顶层键与顶层 object.insert,逐键比对 TS 类型
- 发出的键必须都在 TS 类型里,TS 的必需字段必须都发出,公开投影还必须发出被标成可选的 currentVersion
- game_payload 的 author / deviceSupport 两个嵌套字面量同样逐键比对
- TS 类型解析同时记录必需字段,供这一层比对使用
- 同步游戏分发里程碑第 6 条的构建器取证与剩余缺口
|
2026-09-28 18:06:56 +08:00 |
|
kdletters
|
4c31f50007
|
Merge remote-tracking branch 'origin/master' into codex/agc-renderer-io-downshift
Project CI / AI game creator shell Rust crates (push) Successful in 1m38s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m16s
Project CI / Backend tests (push) Successful in 5m15s
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
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
|
2026-09-28 17:58:15 +08:00 |
|
kdletters
|
46d8768529
|
对齐游戏分发响应 DTO 的 Rust 与 TypeScript 字段
- 给 GameDistributionGameSummary 补 coverObjectKey / screenshots / publicationRevision,给 GameDistributionPrivateVersion 补 publicationRevision,与 game_payload / private_version_payload 实际发出的键一致
- packages/shared 的 GameDistributionGame.currentVersion 改为可选,并写明作者侧响应自带同一份 game_payload 但不发这一项
- 删掉 DTO 一致性门禁里豁免这 4 个字段的 TS_ONLY_FIELDS 白名单,现在任一方向多出字段都会失败
- 同步游戏分发里程碑第 6 条的取证与剩余缺口
|
2026-09-28 17:58:00 +08:00 |
|
kdletters
|
1b2bfa4e74
|
新增游戏分发 Rust 与手写 TS DTO 的一致性门禁
- scripts/check-game-distribution-dto-parity.mjs:按显式映射表逐字段/逐变体比对 14 组 shared-contracts DTO 与 packages/shared/src/contracts/gameDistribution.ts,未分类的新类型或新字段直接失败
- 脚本登记 7 个服务端逐字段手拼 JSON 的 TS 类型,并记录 4 个已知响应侧附加字段(coverObjectKey/screenshots/publicationRevision)以便后续收口
- package.json 增加 check:game-distribution-dto-parity 并接进 npm run lint
- 变异验证:TS 改名与 Rust 加字段各自都让门禁失败并指出缺哪个字段;里程碑第 6 条写明剩余缺口(两个响应仍是 serde_json 手拼)
|
2026-09-28 17:52:11 +08:00 |
|
kdletters
|
39a7343079
|
补齐游戏分发阶段 A 的三条领域用例并勾选失败关闭条目
- module-game-distribution 新增 rejects_symlink_entries:用 ZipWriter::add_symlink 造真实 S_IFLNK 条目(unix_permissions 会掩掉类型位),去掉 is_symlink 守卫时该用例变红
- 新增 failed_validation_keeps_the_previous_publication_and_confirmed_package:第二版校验失败后已公开游戏快照与上一版已确认包身份逐字段不变,变异成顺带更新游戏记录时变红
- 新增 a_version_accepts_only_one_confirmed_package:不同摘要/字节数确认被拒为 PackageMismatch,重复确认同一份内容返回同一身份,去掉守卫时变红
- 里程碑勾选第 3 条并写明「额度超限」按包/文件/展开量/条目数/压缩比上限口径验收(该链路无按用户配额)、第 4 条只剩并发不混写待补
|
2026-09-28 17:48:06 +08:00 |
|
kdletters
|
9944136b0f
|
核对游戏分发阶段 A 的服务端验收:勾选一条并列出其余五条缺口
- 阶段 A 第 2 条勾选:真实 ZIP 字节与展开清单由 module-game-distribution 13 passed 覆盖,包上限/分片/422 由 api-server package_ 6 passed 覆盖
- 未勾选五条逐条写明缺口:跨账号读写撤销缺接口级用例、额度超限与失败后旧对象/公开状态不变缺断言、并发上传不混写缺用例、响应丢失与未知结果区分缺用例、gameDistribution.ts 手写 DTO 无 Rust↔TS 一致性检查
|
2026-09-28 17:43:09 +08:00 |
|
kdletters
|
133b506d35
|
整理 UI 编辑器实施计划的本轮核对段落
- 去掉重复的小节与误写入的制表符(上一轮 PowerShell here-string 里反引号被当成转义字符)
- 六条验收的证据与各自变异验证方式按条列在一个段落里
|
2026-09-28 17:40:44 +08:00 |
|
kdletters
|
3ea6c992bc
|
补齐 UI 编辑器整树渲染定位验收并收口六条验收
- tests/previewWorkspaceZoom.test.tsx 新增「树层按 root.offset.min 定位,原图与子节点随之一起移动」:断言树层 style.left/top 等于 root.offset.min 且根与子节点都挂在该层
- 变异验证:层偏移兜底改成 [0,0] 后只有该用例变红(1 failed / 9 passed)
- 里程碑第 2 条勾选,6 条验收全部有变异验证过的自动化证据(当前四套 77 passed);实施计划同步更新,剩余只有真机目视验收
|
2026-09-28 17:40:21 +08:00 |
|
kdletters
|
beaa6265da
|
补齐 UI 编辑器整树拖动的历史与保存落盘验收
- tests/uiEditorPage.test.ts 新增「整树拖动写回一个历史条目,保存后能原样读回」:断言 setTreeOffset 进历史、undo/redo 往返、save 落盘快照里的树偏移就是新值
- 变异验证:setTreeOffset 里 commit 换成 applyState(改状态不进历史)后只有该用例在 canUndo 处变红(1 failed / 37 passed)
- 里程碑记录第 2 条已覆盖的两句与仍缺的一句(渲染层随 root 平移的断言方式),并引用既有 pointerup/取消不写回的用例
|
2026-09-28 17:39:01 +08:00 |
|
kdletters
|
46cb3f1908
|
补齐 UI 编辑器 activeImageId 与联合适配两条验收断言
- tests/uiEditorPage.test.ts 新增「预览里选择节点不改变左侧选中的界面图」:断言 canvas.selectNode 只改节点选中、不改 hook 暴露的 activeImageId,Inspector 部件切换同理
- tests/previewWorkspaceZoom.test.tsx 新增「进入时按全部树的联合边界适配,选中节点不重新适配」:两棵树横跨 1600 单位时联合适配缩放必须小于单棵,选中态重渲染后缩放不变;夹具补齐第二棵树的界面图(否则不进联合边界)
- 变异验证:selectNode 里加 setActiveImageId 只红那条新用例(1 failed / 36 passed);allBounds 接 slice(0,1) 只红联合适配用例的第一处断言(1 failed / 8 passed)
- 里程碑勾选第 5、6 条验收,剩余未覆盖条目收敛到 1 条(拖动进 undo/redo 与保存恢复)
|
2026-09-28 17:36:50 +08:00 |
|
kdletters
|
e2964b5f31
|
补齐 UI 编辑器 root 无 resize 控制点的验收断言
- tests/uiEditorPreview.test.tsx 在同一条 handle 可见性用例里补 root 断言:选中 root 时不出现任何控制点,选中 child 时恰好 8 个
- 变异验证:去掉 handle 渲染条件里的 !isRoot && 后只有该断言变红(1 failed / 10 passed),改回后四套用例 73 passed
- 里程碑勾选第 3 条验收,剩余未覆盖条目从 4 条收敛到 3 条
|
2026-09-28 17:33:58 +08:00 |
|
kdletters
|
84e7aacf80
|
补齐 UI 编辑器三个独立开关的默认值与独立性验收
- tests/uiEditorPage.test.ts 新增「默认显示框线与原图、隐藏组件,且三个开关互相独立」:渲染真实页面后断言三个复选框初始值,并逐个切换确认互不影响
- 变异验证:把 view/ui-editor/index.tsx 的 showFrame 初值改为 false 后只有该用例变红,改回后四套用例 73 passed
- 里程碑勾选第 4 条验收;并把「预览选择不改 activeImageId」一条的执行方式改成走 hook 暴露的 activeImageId(左侧列表只有 CSS class 标记,无 aria)
|
2026-09-28 17:32:06 +08:00 |
|
kdletters
|
931250e99a
|
补齐 UI 编辑器多树排布验收项并列出其余五条缺口
- tests/uiEditorState.test.ts 新增「新树默认落在所有现有树右侧并与最小 top 对齐」:直接跑 createTree 入口,断言第一棵 [0,0]、第二棵按已有右边界加 UI_TREE_PADDING、把第二棵下移后第三棵仍按最小 top 对齐
- 变异验证:把 deriveTreeOffset 的 minY 改成取最后一棵树的 top 后只有该用例变红,改回后四套用例 72 passed
- 里程碑勾选第 1 条验收,并把其余 5 条各自缺什么断言逐条写清(root handle、三个开关默认值、activeImageId、首次联合 fit、拖动 undo/redo 与保存恢复)
|
2026-09-28 17:30:28 +08:00 |
|
kdletters
|
e92d5d5f92
|
记录 External 场景路由受理 smoke 的本机环境阻塞
- 里程碑与实施计划写明:deploy/env/api-server.env 不存在、无监听中的 dev 端口,npm run check:api-server-env 缺 TIANTOKEN_BASE_URL / TIANTOKEN_API_KEY,该 smoke 在本机不具备执行条件
|
2026-09-28 17:28:15 +08:00 |
|
kdletters
|
69d798e484
|
补齐 External v1 场景路由的客户端请求构造用例并勾选该验收项
- 新增 background_stage_posts_the_dedicated_scene_route_and_its_ledger_matches:用规范图夹具驱动真实生成链路,断言背景阶段只发一次 scenes 路由 POST、正文是结构化场景意图(sceneContent/stylePreset=custom/customStyle/referenceImageSrcs,且没有 assetKind/prompt),成功后不留在途账本
- 变异验证:把场景分支的路由改回通用图片路由后该用例变红,改回后恢复绿
- External v1 场景路由里程碑勾选「客户端定向测试」一项,逐条记录账本、恢复与 reuse/regenerate 的实跑证据;剩余仅本地真实栈受理 smoke
|
2026-09-28 17:25:55 +08:00 |
|
kdletters
|
cc01e304c0
|
External 场景路由里程碑:账本侧取证补全,客户端请求构造保持未勾选并写明原因
- 补记两条实跑通过的账本侧用例:retained_stage_recovery_accepts_the_same_reference_contract_as_submission 与 legacy_route_background_registration_still_counts_as_valid_base
- 写明客户端「背景阶段命中新路由且为结构化字段」缺用例的技术原因:场景分支是内联字面量,且 Scene 必须带规范图引用,单独立用例需要先补规范图上传夹具;不使用镜像断言凑验收
|
2026-09-28 17:07:33 +08:00 |
|
kdletters
|
6efe7334da
|
记录 AGC background_agent_runtime 家族的本机 Timeout 抖动与判据
- pitfalls 新增条目:宽过滤 background 一次匹配 138 条慢用例,本轮 47 passed / 91 failed;给出 A/B 判据与本轮实测(一条用例合并前后安静状态都 3/3 通过,两条在合并前的分支尖上同样失败)
- ExternalV1 场景路由里程碑与实施计划的本轮核对改为采信 external_generation_state 10 passed,并把「新路由结构化字段 / reuse-or-create 与 regenerate 端到端」保持未勾选
|
2026-09-28 17:00:21 +08:00 |
|
lhk229
|
2d22971477
|
简化策划agent工作流 (#522)
Project CI / AI game creator shell Rust crates (push) Successful in 1m25s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m52s
Project CI / Backend tests (push) Successful in 4m4s
Project CI / Frontend tests (push) Successful in 2m10s
Project CI / Native shell tests (push) Successful in 6m9s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m30s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 8m48s
Project CI / AI game creator shell web tests (push) Successful in 1m24s
Project CI / Repository checks (push) Successful in 1m51s
Reviewed-on: #522
|
2026-09-28 16:27:18 +08:00 |
|
kdletters
|
b95fd9e5a4
|
共享记忆补记 AGC 事件驱动与维护态两条长期约定
- team-conventions 增加一条:正式状态变化走 Rust 事件 + 一次受控快照读取、不轮询,Direct 活动回合唯一事实源是 Direct 线程管理器
- team-conventions 增加一条:维护态由 Rust 统一分类并广播单一事件,渲染层只订阅、不解析 HTTP
|
2026-09-28 16:10:30 +08:00 |
|
kdletters
|
52a3a59a41
|
收口游戏分发阶段C发布资料AI生成计划的实现状态
- 状态改为 implemented-awaiting-runtime-acceptance,记录服务端建议路由、面板定价与封面生成、截图链路三处实现位置
- 记录本轮实测:Vitest 19 passed(发布服务 + 发布面板),api-server publish_metadata 3 passed
- 记录 generationInputs 补写点随渲染层传输下沉移到 Rust 的同源修复(2026-09-28)
|
2026-09-28 16:04:56 +08:00 |
|
kdletters
|
c7df10b394
|
把渲染层下沉的现行口径同步回主规范与事件化里程碑
- 主规范新增「AGC 客户端现行分工:离线前端、事件驱动与维护态出口」一节,写明网络与凭据归 Rust、活动回合唯一事实源是 Direct 线程管理器、维护态由 Rust 分类并单一事件广播、失败文案只展示宿主脱敏摘要
- 事件化里程碑的范围与验收第 2 条改为按线程管理器的登记/进度内容变化/收口三处通知点表述,并补 2026-09-28 对齐说明
|
2026-09-28 15:59:11 +08:00 |
|
kdletters
|
f5424ce805
|
按合并后的真实状态收口六组计划的状态与取证
- 游戏分发阶段A领域合同:状态改为 implemented-awaiting-runtime-acceptance,记录 module-game-distribution 13 passed
- 游戏分发目录详情与在线游玩:里程碑状态与阶段 A 行按 A/B/C 已落地的事实更新,阶段门禁关系保持不变
- 项目客户端占用锁收敛:里程碑与实施计划状态收口,记录 write_lock 21 passed 与 gui_ 31 passed
- UI编辑器多树预览与独立显示开关:里程碑与实施计划状态收口,记录 4 个套件 59 passed
- AGC模型目录上游同步:里程碑与实施计划状态收口,记录上游提交 4234a21ee 与本地真实上游 smoke 出处
- ExternalV1游戏场景生成路由:里程碑与实施计划状态收口,勾选已由 scene 套件 18 passed 覆盖的验收项
|
2026-09-28 15:53:37 +08:00 |
|
kdletters
|
00537fe742
|
补记渲染层下沉与 master 对齐里程碑的本轮门禁结果
- 里程碑取证改为逐条列出本轮实际通过的门禁命令与结果,不再指向合并提交说明
- 记录 check:native-shells:agc-rust-crates 在本机 spawnSync npm.cmd EINVAL 的环境限制与对应替代命令
|
2026-09-28 15:24:45 +08:00 |
|
kdletters
|
1e62d8317a
|
合并 origin/master 到 AGC 渲染层下沉分支并完成三处对齐
- 活动回合事实源统一到 Direct 线程管理器:删除 direct_runtime 的第二份快照,接单、进度内容变化与收口各广播一次活动回合变更事件
- 平台维护态判定移入 Rust 并在渲染层只订阅单一事件:新增 platform_maintenance 模块与各平台 facade 错误分支的分类入口
- 封面生成请求补 generationInputs.source,保持队列回填后仍能拿到平台素材 ID
- 渲染层按 master 5398a53e6 退役诊断详情入口:删除 agentRuntimeErrorDetail 与「查看详情」交互及其专属用例
- 冲突收口:nginx SPA 白名单、.gitignore、mobile 检查脚本、capabilities 描述取上游,两个已退役计划随上游删除,文档保留双方条目
- 新增并回写本里程碑取证、decision-log 与 pitfalls 的 2026-09-28 记录
|
2026-09-28 15:07:30 +08:00 |
|
kdletters
|
74b83aa1a8
|
新增 AGC 渲染层下沉与最新 master 对齐的里程碑与实施计划
- 新增【里程碑】AGC渲染层下沉与最新master对齐-2026-09-28.md,明确活动回合事实源统一、封面队列回填、维护态出口三项验收
- 新增【实施计划】AGC渲染层下沉与最新master对齐-2026-09-28.md,列出五步任务与证据要求
|
2026-09-28 14:28:16 +08:00 |
|
kdletters
|
2b06394bcc
|
计划收口与共享记忆更正
- 63 份计划补「逐条勾选依据 / 本轮复验」并统一为 implemented-awaiting-runtime-acceptance,未勾选从 85 条降到 43 条;删除 4 份已收口临时计划,结论回写权威文档。
- 新增待办:主站 SPA allowlist 与前端路由源不一致、高风险审批 Rank 的 PRD 骨架、引用输入区后续收口、计划收口剩余项索引。
- 更正共享记忆:渲染层 HTTP 能力退役、Windows 门禁限制与可跑性、Provider 配置 Debug 脱敏规则、游戏分发本地证据与多轮变异验证记录。
|
2026-09-28 14:16:11 +08:00 |
|
kdletters
|
e1fe1837a2
|
后台模板上传弹窗表头层级修正与仓库卫生
- AdminAgcTemplatesPage 的上传弹窗把 TableHeader(thead)当列头使用,生成出 th > tr > thead 的非法层级;修正为 TableHeader > TableRow > TableHead,并补列头角色与层级回归。
- .gitignore 补 /server-rs/crates/*/server-rs/.data/:api-server 的相对 outbox 默认路径在嵌套 cwd 下会在仓库内生成内嵌数据目录,避免其被误提交。
|
2026-09-28 14:16:00 +08:00 |
|
kdletters
|
01394ed238
|
门禁加固与 Windows 可跑性
- 新增 scripts/check-generated-bindings.mjs 并接入 lint 与 ai-game-creator-shell:check:rust:crates:重跑 export_bindings 前后逐字节比对共享契约绑定。
- check:native-shells 的 AGC 边界改为负向门禁:渲染源码不得出现 fetch(/XHR/EventSource/sendBeacon/WebSocket/plugin-http,客户端 capability 不得授予 http:default。
- check-pingora-gateway-smoke 在 Windows 上找 pingora-gateway.exe,并修掉「API 并发保护」先关客户端连接再读响应的竞态。
- mobile-shell 三个 smoke 改成固定命令串启动 npm(绕开 npm.cmd EINVAL 与 DEP0190),desktop-shell 的 stage-release-binary 改用 fileURLToPath 修掉 F:\F:\… 路径拼接。
- vitest.config.ts 白名单补回现役根用例;三份 nginx 模板的 SPA allowlist 补回 /components 与 /design-system。
|
2026-09-28 14:15:50 +08:00 |
|
kdletters
|
e7309ad71b
|
server-rs 快照回收可测化与 Provider 配置脱敏
- project_snapshots 抽出 plan_project_snapshot_reclamation 纯函数并新增 3 条用例:只回收上一版登记过的对象、上一版清单读不到时一张都不删、单轮回收有硬上限。
- platform-llm / platform-oss / platform-wechat / platform-audio / platform-hyper3d / platform-image / platform-matting / platform-speech 的配置类型改为手写脱敏 Debug,只输出枚举、数值、有界标识与 <redacted> 占位。
|
2026-09-28 14:15:31 +08:00 |
|
kdletters
|
d6c939fa31
|
AGC 原生侧新增平台 facade,退役渲染层 HTTP 能力
- 新增 account_api、auth_session、platform_asset_upload、game_distribution_publish、llm_catalog、workspace_preferences 与 error_report::submit:凭据、origin、HTTP、队列等待、幂等键与导入队列全部由 Rust 持有。
- 删除 capabilities/main.json 的 http:default 授权与主窗口的 tauri-plugin-http 注册,Cargo.toml / Cargo.lock / AGC package.json 与根 package-lock.json 同步移除该依赖。
- 修复 workspace_preferences 重复 #[test] 造成的分片门禁「同一用例被分到两片」误判,并同步该模块的会话存储与偏好读写用例。
|
2026-09-28 14:15:16 +08:00 |
|
kdletters
|
8701f43f75
|
AGC 渲染层网络与状态下沉 Rust,并修复画布交互与失败文案
- 删除渲染层传输层:services/clientApi.ts、clientHttp 的 fetchClientHttp 与超时封装整体退场,账户、认证、素材直传、错误上报与游戏分发发布改走 Rust typed command。
- 新增宿主封装:accountHost、editorAssetHost、platformSessionRetry、agentRuntimeErrorDetail 与 features/app-shell/workspacePreferences;渲染层不再读写 access token / refresh cookie,localStorage 只剩测试态旧键迁移 shim。
- 修复 DirectProject 失败文案 v2 映射与「查看详情」按需读取,画布标签面板高度夹紧、框选每帧重算、文档预览入口与场景标题栏 key、资源筛选面板样式。
- 补齐与调整回归:accountHost、agentRuntimeErrorDetail、clientAuthHost、clientHttp、platformSession、platformSessionRetry、resourceFilterPanelStyle、directThreadChatSubscription 等定向用例,并清理测试 harness 中无调用方的残留。
|
2026-09-28 14:15:02 +08:00 |
|
suzmii
|
8f59c034f5
|
Merge pull request '修复 hook 隔离用例把探针自身写入当成被测行为' (#523) from fix/git-hooks-index-snapshot into master
Project CI / AI game creator shell Rust smoke (push) Successful in 1m25s
Project CI / Backend tests (push) Successful in 4m13s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 8m44s
Project CI / Frontend tests (push) Successful in 2m5s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m13s
Project CI / Native shell tests (push) Successful in 6m19s
Project CI / AI game creator shell web tests (push) Successful in 1m59s
Project CI / Repository checks (push) Successful in 2m35s
Project CI / AI game creator shell Rust crates (push) Successful in 55s
Reviewed-on: #523
|
2026-09-28 12:03:55 +08:00 |
|
suzmii
|
053c57974e
|
Merge branch 'master' into fix/git-hooks-index-snapshot
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m3s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m30s
Project CI / Backend tests (pull_request) Successful in 3m58s
Project CI / Frontend tests (pull_request) Successful in 2m4s
Project CI / Native shell tests (pull_request) Successful in 6m2s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 8m29s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m23s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m57s
Project CI / Repository checks (pull_request) Successful in 2m35s
|
2026-09-28 11:45:09 +08:00 |
|
suzmii
|
89a51cfd5b
|
修复 hook 隔离用例把探针自身的索引写入当成被测行为
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m9s
Project CI / Backend tests (pull_request) Failing after 14s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m7s
Project CI / Frontend tests (pull_request) Successful in 2m0s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m41s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m40s
Project CI / Native shell tests (pull_request) Successful in 5m26s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m45s
- git-hooks.test.mjs 的隔离用例改为先跑会写索引的探针(git status 会刷新并重写索引的 stat 缓存),再取索引快照,避免把自身副作用断言成 hook fixture 的污染
- 该用例在 macOS 与部分 git 版本上必然失败(干净 origin/master worktree 上同样复现),修后 scripts/git-hooks.test.mjs 4/4 通过、npm run check:repository-ci 全绿
|
2026-09-27 23:01:33 +08:00 |
|
lhk229
|
5c648ab9c7
|
为美术包增加图片自动转码
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m38s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m50s
Project CI / Backend tests (pull_request) Successful in 4m11s
Project CI / Frontend tests (pull_request) Successful in 2m2s
Project CI / Native shell tests (pull_request) Successful in 6m14s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m30s
Project CI / Repository checks (pull_request) Successful in 1m52s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m46s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m51s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m23s
Project CI / AI game creator shell Rust crates (push) Successful in 57s
Project CI / Backend tests (push) Successful in 3m52s
Project CI / Frontend tests (push) Successful in 2m4s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 7m52s
Project CI / Native shell tests (push) Successful in 6m0s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 8m4s
Project CI / AI game creator shell web tests (push) Successful in 1m20s
Project CI / Repository checks (push) Successful in 1m51s
美术包在本地提交前将 JPEG 和 WebP 转为 PNG,保留有效 PNG 原字节
统一最终图片的扩展名、媒体类型与恢复摘要,保留原有透明度和大小校验
覆盖损坏下载重试、账本保留和清理、重复恢复零生成请求,并同步规范与排障记录
验证通过 106 项定向测试及格式、编码、文档索引和差异检查
|
2026-09-27 12:52:10 +00:00 |
|
lhk229
|
155f0d316a
|
新增 external v1 游戏场景生成路由并迁移 AGC 美术包背景阶段 (#516)
Project CI / AI game creator shell Rust smoke (push) Successful in 1m50s
Project CI / AI game creator shell Rust crates (push) Successful in 1m15s
Project CI / Backend tests (push) Successful in 4m29s
Project CI / Native shell tests (push) Successful in 6m27s
Project CI / Frontend tests (push) Successful in 1m59s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 9m12s
Project CI / AI game creator shell web tests (push) Successful in 1m33s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 10m3s
Project CI / Repository checks (push) Successful in 2m1s
- api-server 新增 POST /api/external/v1/editor/scenes/generations,复用 editor:image-generate scope、幂等键和站内场景生图队列
- editor_project.rs 抽取站内与外部共用的场景生图 payload 构造函数,站内 handler 改为调用共享函数
- 同步更新 external v1 OpenAPI 契约与 MCP 派生排除标记,登记 docs/README.md 索引
- AGC 客户端美术包背景阶段改走新场景路由,stylePreset 固定 custom + customStyle 保留现有风格文案
- external_generation_state 快照与 recovery_scan 账本白名单支持新场景路由
- direct_runtime 背景资源识别同时兼容新场景路由与旧通用路由,新增旧路由回放测试
- 更新 genarrative-external-editor-api skill 参考文档
- 新增主规范、里程碑规范与实施计划三份 SDD 文档
Reviewed-on: #516
|
2026-09-27 18:39:01 +08:00 |
|
lhk229
|
6ed1fd26ed
|
修复 Linux 沙箱命令退出回收的偶发竞态
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m33s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m7s
Project CI / Backend tests (pull_request) Successful in 3m49s
Project CI / Frontend tests (pull_request) Successful in 1m53s
Project CI / Native shell tests (pull_request) Successful in 5m51s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m57s
Project CI / Repository checks (pull_request) Successful in 1m55s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m19s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m24s
Project CI / AI game creator shell Rust crates (push) Successful in 1m30s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m9s
Project CI / Backend tests (push) Successful in 4m49s
Project CI / Frontend tests (push) Successful in 2m9s
Project CI / Native shell tests (push) Successful in 6m54s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 9m56s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 10m14s
Project CI / Repository checks (push) Successful in 2m2s
Project CI / AI game creator shell web tests (push) Successful in 1m30s
统一正常退出、取消和超时的有界进程组退出确认,保留归属校验
提前记录启动身份,修补终态协议错误的清理及输出任务回收
补充确定性竞态回归并同步运行时规范和排障记忆
保持现有 CI 并行、分片和重试策略不变
|
2026-09-24 16:45:07 +00:00 |
|
lhk229
|
4912aa4df0
|
删除创作首页登录送泥点营销文案
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m34s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m14s
Project CI / Backend tests (pull_request) Successful in 3m51s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 6m40s
Project CI / Frontend tests (pull_request) Successful in 2m0s
Project CI / Native shell tests (pull_request) Successful in 5m52s
Project CI / Repository checks (pull_request) Successful in 2m8s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m50s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m17s
删除 CreationLandingView hero 区“登录即送 100 泥点,可以免费制作 50 个素材”文案
删除 CreationLandingView.test.tsx 中对应的文案断言
清理 index.css 中已无调用方的 creation-landing__hero-benefit 样式
更正 decision-log 中已过期的“注册赠送固定为 100 泥点”决策记录,注明金额由线上钱包配置决定
|
2026-09-24 16:08:42 +00:00 |
|
k88936
|
34eee8ec6a
|
Merge pull request 'ui editor 页面优化' (#337) from feat/ui-editor-v3 into master
Project CI / AI game creator shell Rust crates (push) Successful in 1m13s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m52s
Project CI / Backend tests (push) Successful in 4m42s
Project CI / Native shell tests (push) Successful in 6m4s
Project CI / Frontend tests (push) Successful in 2m7s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m39s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 9m6s
Project CI / AI game creator shell web tests (push) Successful in 1m28s
Project CI / Repository checks (push) Successful in 1m53s
Reviewed-on: #337
|
2026-09-24 19:45:46 +08:00 |
|