suzmii
|
888ea76cb2
|
Merge origin/master (b1c89fbba) into chore/rust-compile-warnings:按「让路 master + 最小集恢复」收口跨文件契约冲突
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
解冲突口径(本次同步 master 16 个提交):
- `agent/generation/canvas_generation.rs`、`command_exec.rs` 两个冲突文件不再整文件取一边,改为按
hunk 三分法:master 的功能 hunk 全量移植;我们的清理只在 master 调用方不依赖时才保留。
未恢复整块模块 / 整文件,未新增任何 `#[allow]` / `#[expect]`。
- 成对回退我们的「摘掉 brief 传参空转」清理:master #628 等新代码仍按带 briefs 的契约调用生成链,
故 cg 的 8 处签名与 6 个调用方(direct_runtime / direct_tool_bridge / commands / commands/desktop /
asset_generation_tasks)回到 master 形状,并按最小集恢复 `main.rs` 的 `AgentRoleBrief` /
`AgentGroupBrief`(未恢复其它已删模块)。
- master #628 已收敛切片用途判定:客户端不再暴露/发送 `sliceCount`,本次跟 master 走(
`PlatformArtAssetGenerationOptions` 不再有该字段),只保留结果侧 256 上限门。
- command_exec 的 `project_command_actual_target` 采用 master 的 `Vec<OsString>` 字节精确契约,
同时保留我们「调用点全在 Linux 编译面」的 `#[cfg(target_os = "linux")]` 收窄(与 master 调用方不冲突)。
- 脚本缺陷修复:`scripts/check-rust-warnings.mjs` 编译失败不再可能假通过(cargo 退出码非 0 一律 exit 1,
并把 stderr 尾部提到前面打印;去掉 `warnings.length === 0` 条件)。
- 取 master 版本带来的回流告警 2 条(`main.rs` 两个 brief 结构体的字段未被读)已登记进
`scripts/warning-baseline.json`(agc-windows 16 条 / agc-linux 71 条,server-rs 0 条);
按既定口径「不修上游告警」,只做记账。
|
2026-10-07 21:01:34 +08:00 |
|
suzmii
|
32dab26426
|
chore(scripts): 入册 agc-linux 告警基线(CI 首采,69 条)
Project CI / Backend tests (pull_request) Failing after 39s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m15s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 7m9s
Project CI / Frontend tests (pull_request) Successful in 3m56s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m54s
Project CI / Repository checks (pull_request) Failing after 23s
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
来源:run 3729 的 ai-game-creator-shell-rust-lane-2 里新增步骤 “Run AGC shell Rust warning check (Linux)” 的首采输出(该步骤首采模式逐条打印清单、不判失败)。键=路径|符号|lint(不含行号),共入册 69 条;自本条起 agc-linux 档从“首采”转为“只拦新增”。
|
2026-10-07 20:40:21 +08:00 |
|
suzmii
|
a5138d2eca
|
fix(scripts): 补上首采模式逐条打印(上一次编辑未覆盖到)
Project CI / Backend tests (pull_request) Failing after 37s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m44s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 7m46s
Project CI / Repository checks (pull_request) Failing after 28s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m14s
Project CI / Native shell tests (pull_request) Successful in 11m10s
Project CI / Frontend tests (pull_request) Successful in 4m3s
Project CI / AI game creator shell web tests (pull_request) Failing after 4m15s
prettier 把 for 循环重排成无花括号形式,导致上一次插入点没匹配上:现在真正逐条打印 [首采] 路径:行 | lint | 符号 + 条数与入册命令;--json 的 report[name].collected 已带上完整条目。实测:临时移除 agc-windows 基线条目 → 首采打印 14 行、exit 0;还原后 14/14 exit 0。
|
2026-10-07 20:25:21 +08:00 |
|
kdletters
|
b1c89fbbae
|
默认模型目录补上 claude-opus-5-5 的 Claude Code CLI 绑定
Project CI / AI game creator shell Rust crates (push) Successful in 5m5s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 8m28s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 7m34s
Project CI / Frontend tests (push) Successful in 3m26s
Project CI / Backend tests (push) Successful in 8m3s
Project CI / AI game creator shell web tests (push) Failing after 3m38s
Project CI / Repository checks (push) Successful in 7m30s
Project CI / Native shell tests (push) Successful in 9m17s
module-runtime:from_upstream_models 为上游模型 claude-opus-5-5 额外生成一条 agentMode=cc + protocol=anthropic 的目录项,保留原 Codex 条目与默认项,超出目录项数上限时不再追加
module-runtime:新增 claude_code_default_binding 与单测,覆盖 cc 条目生成、协议配对与非该模型不额外生成
docs/project-memory/shared-memory/pitfalls:记录本地目录全是 codex 的现象、默认绑定口径,以及本地 8082 跑的是另一个 worktree(harness 分支)这个环境陷阱
|
2026-10-07 20:24:26 +08:00 |
|
suzmii
|
8db5861f15
|
feat(scripts): 告警检查首采模式逐条打印清单(并把条目放进 --json)
collectOnly(尚无基线条目的 profile,如首次 CI 的 agc-linux)以前只打印条数,导致首轮日志里拿不到可入册的键;现在逐条打印 `[首采] 路径:行 | lint | 符号` 并在末尾给条数 + 入册命令,同时在 --json 的 report[name].collected 里带上完整条目;非首采路径的打印与退出码语义不变。
|
2026-10-07 20:24:15 +08:00 |
|
suzmii
|
ce22a682e5
|
fix(scripts): pre-push 保留原钩子末行、告警检查改按内容触发;文档补基线白名单纪律
.husky/pre-push:refs 先落临时文件→告警检查用 --refs-file 读→exec < 还原 stdin→最后一行仍是 npm run check:pre-push-master -- "$@"(git-hooks.test.mjs 断言逐字不变,故 check:git-hooks 仍绿)。文档:基线 = 告警白名单(显式入册/可审计/可回收)、与 #[allow] 的区别(白名单只吞键相同的那一条)、审计入口 git log -p scripts/warning-baseline.json、SKIP=1 是整段跳过而非入册机制;并修正“feature 分支不跑”的过时表述。
|
2026-10-07 20:19:15 +08:00 |
|
suzmii
|
823e668c9e
|
feat(scripts): pre-push 钩子对所有分支按内容触发告警检查;CI 挂到已有缓存的 Rust job
本地:.husky/pre-push 无条件调用 node scripts/check-rust-warnings.mjs --only-if-changed(脚本按 refs 判断本次推送是否触碰 *.rs/Cargo.toml/Cargo.lock,不碰则打印一行并 exit 0);推 master 才做 repository parity 的既有约定保持原样。package.json:把 check:rust-warnings 从 lint 链里摘掉(避免 master 推送跑两次、也不拖慢 repository-checks),脚本保留供手工与 CI 使用。CI:ai-game-creator-shell-rust-lane-2 加一步 --profile=agc-linux,ai-game-creator-shell-rust-crates 加一步 --profile=server-rs(两 job 已有 cargo fetch + sccache 缓存);repository-checks 不动。文档同步接法、失败模式与应急放行(GENARRATIVE_SKIP_RUST_WARNINGS=1)。
|
2026-10-07 20:15:18 +08:00 |
|
suzmii
|
3420eb2cd1
|
fix(scripts): 告警检查默认复用仓库常规 target 目录(热依赖),并写明 CI 侧代价与待定接线
默认 target 目录改为 cargo metadata 报的 target_directory(开发者本来就在用的、依赖已热),保留 GENARRATIVE_WARNCHECK_TARGET_DIR 覆盖供 CI 使用;fresh 完整性断言仍是安全网(本 profile 的包没被重编就 exit 1 报测量不完整,不会静默给出新增 0)。热目录实测:agc-windows 7.9s、server-rs 9.0s。文档补一句:CI 挂在 repository-checks(有工具链与依赖、不会红,但无 cargo 预热缓存,估 25-40 分钟),接线方案待定。
|
2026-10-07 20:01:35 +08:00 |
|
suzmii
|
8e2b81007a
|
fix(scripts): 让 Rust 告警取数确定性(挂进 npm run lint;clean 本 profile 包 + fresh 完整性断言 + 精确包集 + first-party 过滤)
接法:挂进 npm run lint(CI 的 Repository checks 与推 master 时的 pre-push 共用那条命令),不新增 job/hook;此前自造的 pre-push 触发接线(.husky/pre-push 改动、scripts/pre-push-rust-warnings.mjs、额外 CI job)已撤。
确定性:profile 专属 target 目录 + 对本 profile first-party 包逐个 cargo clean -p <包名> + 取数后 fresh 完整性断言(每个包必须出现 compiler-artifact 且 fresh=false,否则 exit 1 报测量不完整);只收 first-party 路径前缀下的告警。
修掉两个口径 bug:包集把 AGC 壳下的 vendor/ 路径依赖误算成自己(改精确目录判定);normalizeId 只取 id 的 # 片段导致server-rs 27 个同版本成员碰撞(断言永远为假)。
否决“整体清空 target 目录”:实测 AGC 壳清空后需重建 tauri/webkit 全链依赖 15-25 分钟。
实测:A 干净 agc-windows 1/1·14/14 exit 0、server-rs 27/27·0/0 exit 0;B 播种 unused import → agc-windows 15 条/新增 1、server-rs 1 条/新增 1,均 exit 1 并逐条打印;C 撤销 → 均 exit 0;负向测试(GENARRATIVE_WARNCHECK_SKIP_CLEAN 漏清一个成员)→ 26/27 + 测量不完整 → exit 1。
基线:agc-windows 14 条 / server-rs 0 条 / agc-linux 首采(首次 CI 只采集不判失败,需一次 --update-baseline)。
文档:dev 运维「Rust 编译告警门禁」同步接法、首采、开关、否决清空的原因与局限。
|
2026-10-07 19:57:17 +08:00 |
|
kdletters
|
47655d880c
|
cc 工具未就绪不再让模型自述
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 7m41s
Project CI / AI game creator shell Rust crates (push) Successful in 4m42s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 6m40s
Project CI / Frontend tests (push) Successful in 2m29s
Project CI / Backend tests (push) Successful in 7m18s
Project CI / AI game creator shell web tests (push) Failing after 3m51s
Project CI / Repository checks (push) Successful in 7m43s
Project CI / Native shell tests (push) Successful in 10m4s
claude_code_cli:解析 SDK system/init 的工具清单与 agc MCP 状态并写入 agent.direct_codex.claude_init 日志,让"工具到底有没有下发"变成可查证据
claude_code_cli:init 明确 failed/missing/connected-但无工具且本轮没请求过工具时,判成可重放的 McpUnavailable 并按既有上限自动重试,不再把"我没有任何可调用的工具"这种回复当成功
claude_code_cli:pending/connecting/看不到状态只留证据不判死,真调用过工具的一轮不翻案
claude_code_cli:新增单测覆盖 connected / failed / missing / connected 无工具 / pending / 无 mcp_servers 六种 init 事实,并补 McpUnavailable 的重试策略断言
docs/project-memory/shared-memory/pitfalls:记录同版本"能用工具"与"自称没工具"并存的现场、受控探针结论与现行口径
|
2026-10-07 19:40:09 +08:00 |
|
lhk229
|
27e385785f
|
修正美术包 API 指南、AGC 调用与切片用途判定 (#628)
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
AGC 美术包此前把内容、风格和排布要求放在未被提示词消费的元数据中,并要求恰好四张切片、按返回顺序分配用途。本 PR 完成以下三项修正:
- [x] API 文档:修正整个 `generationInputs` 的定位、保存与读取方式、接口保留/重建规则及已知消费者。任意元数据不会自动进入提示词,服务端行为和校验约束保持不变。
- [x] AGC 请求:美术包将原 brief 和内容、风格、排布要求写入实际消费的 `iconDescriptions`;普通图标入口继续原文单项透传。参考图、比例和尺寸使用正式参数,同步工具说明与随包 skill。
- [x] 客户端切片处理:美术包和直接生图工具不再暴露或发送 `sliceCount`,取消固定四片和按序赋义;按实际产物保存、登记和返回。切片目录按源图集隔离,文件名使用中性序号,普通清单指向真实总图。
四类素材需求只表达内容覆盖,不能证明四个连通区域或固定语义顺序。两个工具返回总图、完整切片路径及资源身份,预览逐项标注路径,未内嵌的图片列出路径供 Agent 查看。Agent 看图识别实体、状态和用途后再接入或处理;有效总图零切片时仍交付并保留告警。
本轮切片改造仅限客户端:服务端 API、请求侧 sliceCount 契约、切分算法和计费行为不变。不新增为数量不符找回、补切或凑数的工作流。保留文件完整性、平台身份、资源预算、事务与重生成恢复;兼容历史四用途产物和旧数量参数账本,旧请求正文、幂等键及 operation 不改写,候选身份不唯一时要求对账。完成结果快照补存切分声明,避免重放丢失响应字段。
验证:
- API 文档阶段:MCP 25 项、External editor API 30 项测试及 OpenAPI 约束等价检查通过。
- 本轮:317 项定向 Rust 测试通过(生成 118、Direct 运行时 93、工具桥 44、MCP 32、账本 6、提示词 24)。覆盖新请求完全省略字段、0/2/4/6 片、目录隔离、完整资源投影、动态事务回滚、旧请求和旧输出槽恢复;已受理任务恢复不新增生成 POST。
- cargo check、rustfmt、skill-pack:check、文档索引、变更文件编码及 git diff --check 通过。
- 未调用真实付费 Provider,未做客户端视觉试玩;PR 保持草稿,等待视觉及产品验收。
Closes #525
Reviewed-on: #628
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
|
2026-10-07 19:35:20 +08:00 |
|
suzmii
|
b846f04dab
|
chore: 加 Rust 告警的 pre-push + CI 基线感知检查(单一脚本 + 基线)
目的:不再用 Werror,改为「推送前 + CI」的显式检查,并且只拦**基线之外的新增**告警,
这样上游新代码的存量不会挡住任何人,本地开发构建也不会因为告警变红。
单一真源(本地与 CI 调同一份实现):
- 新增 `scripts/check-rust-warnings.mjs` + `npm run check:rust-warnings`:
用 `cargo check --message-format=json` 收集告警,键 = `路径|符号|lint`(**不含行号**,抗上游行号漂移),
与 `scripts/warning-baseline.json` 比对:新增 → 退出码 1 并逐条打印;存量减少 → 只提示可更新;
更新用 `--profile=<name> --update-baseline`。
- 新增 `scripts/pre-push-rust-warnings.mjs`:读 pre-push 的 ref 行,**只在本次推送触碰
`*.rs`/`Cargo.toml`/`Cargo.lock`** 时才跑(无关推送不受影响);Windows 跑 `agc-windows`+`server-rs`,
Linux/macOS 只跑 `server-rs`。
- `.husky/pre-push`:把 ref 行落一份临时文件供两段检查共用,然后调用上面的脚本(原有的
`check:pre-push-master` 保持不变)。
- `.gitea/workflows/project-ci.yml`:新增 `rust-warning-check` job(`runs-on: genarrative-ci`,Linux),
跑 `--profile=server-rs --profile=agc-linux`,复用 Rust lane 的隔离编译缓存,只 `cargo check` 不 build。
- `scripts/warning-baseline.json`:`agc-windows` 14 条(上游 `b04aceb57` 等引入,逐条见
`local://commit-1a86675f4-inventory.md`);`agc-linux` 433 条(从 CI lane 日志抽取去重,**刻意取超集**,
含测试实例产物,首轮 CI 的多余项只显示为「存量减少」不判失败);`server-rs` 0 条。
- 文档:dev 运维「Rust 编译告警门禁」改写为现役口径(目的/命令/基线更新/覆盖分工与缺口/局限),
旧 Werror 段落标注为历史;development-workflow 的门禁句同步改写。
覆盖分工:CI 覆盖 `server-rs` + AGC 壳 **Linux** 档;AGC 壳 **Windows 生产口径**(GTK/ring 无法在
Linux 交叉编译)**只由本地 pre-push 覆盖**。局限:`--no-verify` 可绕过;本机 target 目录污染要先
`cargo clean -p`;CI 不跑 clippy;基线只保证「不新增」。
|
2026-10-07 19:22:29 +08:00 |
|
suzmii
|
9a844f69a0
|
revert(agc): 撤回为 Werror 服务、且改动了上游代码的两处
按决策「不要替上游作者修」:这两处改动的唯一目的是让自己的 `deny(warnings)` 不把上游新代码的存量
告警判死,撤销 Werror 后不再需要,且它们动了 master 的文件,故整体撤回。
- revert 1a86675f4:把 master 本轮新代码带来的 14 处告警(`b04aceb57` 等的 exports/bootstrap 退役
留下的无消费者实现)恢复原样——`project/bootstrap.rs`(113 行)、`project.rs` 的 `mod bootstrap;`
与 glob 再导出、`project/verification.rs` 的薄包装、`command_exec.rs` 的两个 bootstrap 函数、
`game_package_upload{,/runtime}.rs`、`export/draft/taonier/{mod,registry,script}.rs` 全部回到 master 状态。
- revert 694b54506:撤掉上面那批里 `resolve_project_bootstrap_spec_at` 的
`#[cfg(all(target_os = "linux", test))]` 收窄;两个 revert 相抵后该函数就是 **master 原文**,
`command_exec.rs` 里 Linux 用例仍能编译(此时它只是 Windows 侧的一条告警,不是错误)。
注:CI 修复提交 `ad33d42bc`(process_tree 夹具的硬编码测试路径)**保留**——那是收敛重命名造成的
真实故障(Linux 测试会失败),与 Werror 无关。
这 14 条告警已逐条入册 `scripts/warning-baseline.json` 的 `agc-windows` / `agc-linux` profile,
归属与风险分级见 `local://commit-1a86675f4-inventory.md`。
|
2026-10-07 19:22:19 +08:00 |
|
suzmii
|
a80e7e8e89
|
revert(agc): 撤掉 Rust warning 门禁的 Werror 接线(AGC deny(warnings) + 各 crate 的 [lints])
按决策:不再用编译器把告警变成错误(`deny(warnings)`/`-D warnings`),改为「本地 pre-push + CI 的
基线感知 warning check」(见下一个提交)。本提交只做撤销,不引入新机制。
- revert 9fbab1a92:删掉 `apps/ai-game-creator-shell/src-tauri/src/main.rs` 顶部的
`#![cfg_attr(all(not(test), windows), deny(warnings))]` 及其 9 行说明注释(含 3673f6f92 之后的收窄版本)。
- revert c1ad1a19f:删掉 `server-rs/Cargo.toml` 的 `[workspace.lints.rust] warnings = "deny"`、
27 个成员 crate 的 `[lints] workspace = true`、4 个被 exclude 的独立 crate 与
`apps/desktop-shell/src-tauri`、三个编辑器 bridge 各自的 `[lints.rust] warnings = "deny"`。
**保留**该提交里与门禁无关的清理:`server-rs/crates/api-server/src/llm/mod.rs` 中零引用的
`TEST_AGC_MODEL_DEFAULT_ID`(revert 会把它恢复出来,这里重新删掉,避免新增一条告警)。
- revert 296502333:撤回两处「为让 deny 下的 Linux CI 变绿」而做的 cfg 收窄
(godot `verified_module_path` 的 `#[cfg(any(windows, test))]`、unity `tests/protocol.rs` 的
Windows-only import/helper 的 `#[cfg(all(windows, target_arch = "x86_64"))]`)——它们只服务于 Werror,
撤销后这些文件回到 master 状态,多出来的 Linux 侧告警由基线覆盖。
验证(Windows,取数前 `cargo clean -p genarrative-ai-game-creator-shell`):
- AGC 壳生产口径 bin:EXIT 0 / **14 条告警**(就是上游 `b04aceb57` 等引入的那批,已入册基线);
- `server-rs --workspace --all-targets`:EXIT 0 / 0 告警;
- tip 上 `git grep -n 'deny(warnings)'` 仅剩文档里的历史说明。
|
2026-10-07 19:21:59 +08:00 |
|
suzmii
|
ad33d42bc7
|
fix(agc): 修 process_tree 夹具的硬编码测试路径(Linux lane 2/2 红,收敛引入)
Project CI / Backend tests (pull_request) Failing after 20s
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 4m25s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m54s
Project CI / Repository checks (pull_request) Failing after 30s
Project CI / Frontend tests (pull_request) Successful in 3m34s
Project CI / AI game creator shell web tests (pull_request) Failing after 3m20s
Project CI / Native shell tests (pull_request) Successful in 9m8s
CI run 3708(head 694b54506)8 个 job:6 成功 / 2 失败。本提交修其中**我们引入**的那一条。
失败 1(我们引入 → 已修):AI game creator shell Rust lane 2/2 → shard 3/4 有 1 例失败
- 用例:agent::codex_provider::app_server::process_tree::tests::shutdown_stops_the_owned_background_writer_and_preserves_proof_scope
- 原始报错:`called Result::unwrap() on an Err value: Elapsed(())`;shard 内重跑该用例仍失败(非偶发)。
- 根因:process_tree.rs 的夹具用 `--exact` 复跑本测试二进制,路径是**硬编码**的
`const FIXTURE = "agent::codex_app_server::process_tree::tests::owned_tree_process_fixture"`
(process_tree.rs:307-308,master 原文;该文件本体与 master 逐字节相同)。codex provider 收敛把本模块
挂到 `agent::codex_provider::app_server::` 下后,`--exact` 匹配 0 个用例 → 子进程不写 marker、
不打印 TREE_READY → 父进程 `tokio::time::timeout(5s, …).unwrap()` 超时 → Elapsed(())。
- 修法(最小):该字符串同步为新模块路径,并补 2 行说明这个耦合。不改夹具逻辑、不删/不放宽用例、不用 #[allow]。
- 本地验证(Windows + 编辑器 feature):`cargo test -- process_tree::tests` → 3 passed / 0 failed;
其中 `shutdown_proves_entire_owned_job_exit_and_keeps_sibling_running` 修复前 FAILED(同 Elapsed(()))、
修复后 ok。cfg(unix) 的那条本机不编译,但走同一夹具常量,机制一致。
- 同类排查:全 crate 共 11 处「硬编码测试路径」字面量,逐条核对后**只有这一处**因本分支的模块搬迁失效
(`direct_tools_mcp` / `builtin_plugins` / `command_exec` / `command_sandbox_trampoline` /
`environment_check::web_creation::ownership` / `windows` 的路径本分支未改名,仍与真实模块一致)。
失败 2(上游自带 → 未修,只给证据):AI game creator shell web tests → `directThreadChat.test.ts`
- 失败用例 `DirectProject 聊天 reducer > 系统条目与未识别的 item 类型不进聊天视图`:
`AssertionError: expected [ { itemId: 'sys-1', …(5) } ] to have a length of +0 but got 1`
- 证据:① 本分支与 origin/master 在 `apps/ai-game-creator-shell/{src,tests}` 与 `packages/**` diff 为空
(零前端改动);② master 自己的 run 3715(head 9cd290362)同一 job 同一用例同一断言同样失败
⇒ master 自带红色,与本分支无关;不擅自改、不合别人的分支。
验证(取数前 cargo clean -p genarrative-ai-game-creator-shell):bin EXIT 0 / 0 warning;
--all-targets EXIT 0(harness 实例 382);check:rustfmt / check:encoding(5549 文件)/ git diff --check 全 EXIT 0;
六组测试 6 / 17 / 74 / 1 / 65 / 4 全部 0 failed;另 process_tree::tests 3 passed。
|
2026-10-07 18:39:14 +08:00 |
|
k88936
|
9cd290362c
|
Merge pull request 'fix/#663回归问题' (#665) from feat/support-more-node into master
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 6m28s
Project CI / AI game creator shell Rust crates (push) Successful in 4m11s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 7m51s
Project CI / Frontend tests (push) Successful in 3m14s
Project CI / Backend tests (push) Successful in 7m50s
Project CI / AI game creator shell web tests (push) Failing after 4m22s
Project CI / Repository checks (push) Successful in 7m51s
Project CI / Native shell tests (push) Successful in 10m9s
Reviewed-on: #665
|
2026-10-07 17:54:36 +08:00 |
|
lhk229
|
b4dd80621e
|
合并 CI 领取冲突修复 (#671)
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
修复已回滚的任务分配冲突导致网关永久锁定,同步回归测试及运维文档。
|
2026-10-07 17:20:29 +08:00 |
|
lhk229
|
d7ddf5fbc1
|
修复 CI 领取冲突导致网关永久锁定
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
识别 Gitea 已回滚的任务分配冲突,允许 runner 正常重试。
保留未知响应与未完成领取的保护,增加脱敏原因日志。
补充冲突重试及错误边界测试,同步部署文档与共享记忆。
|
2026-10-07 09:20:04 +00:00 |
|
suzmii
|
694b545062
|
fix(agc): 修 Linux-only 悬空引用 D1,并补同类静态排查(非 Windows cfg 块)
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m16s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 5m9s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 5m7s
Project CI / Frontend tests (pull_request) Successful in 3m34s
Project CI / Backend tests (pull_request) Successful in 8m30s
Project CI / AI game creator shell web tests (pull_request) Failing after 2m58s
Project CI / Repository checks (pull_request) Successful in 6m47s
Project CI / Native shell tests (pull_request) Successful in 9m33s
D1(由 1a86675f4 引入):该提交删掉了 master 定义的 `resolve_project_bootstrap_spec_at`
(原 command_exec.rs:645 + 生产包装 :2500),但同文件 `#[cfg(test)] mod tests` 里
`#[cfg(target_os = "linux")] #[test] fn npm_command_targets_node_plus_npm_cli_on_linux`
仍在调用它(command_exec.rs:2641)⇒ Linux 测试目标必然 E0425;Windows 生产口径看不见(cfg 盲区)。
修法(取"按真实使用面收窄"这一支):按 master 原文恢复该函数,并加
`#[cfg(all(target_os = "linux", test))]`:
- 比同文件先例 `project_command_actual_target` 的 `#[cfg(target_os = "linux")]` 更窄——那个函数
Linux 生产仍在调用(沙箱启动路径),这个的唯一生产调用方 project/export.rs 已被 master 删除,
只剩本文件用例调用,故按实际使用面写成 all(target_os="linux", test),避免在 Linux 生产里留下一枚死函数。
- 引用侧有效 cfg = `#[cfg(test)] mod tests` + `#[cfg(target_os = "linux")]` 用例 = all(test, target_os=linux),
与定义侧一致 ⇒ 「引用 1 处 / 定义 1 处(同 cfg)」。
- 函数体与 master 逐字相同;未删用例、未删断言、未用 #[allow]。
同类排查(1a86675f4 里删掉/收窄的每一项符号 × 引用 × 定义 × cfg):
1. GAME_PACKAGE_UPLOAD_PROGRESS_EVENT(常量及其再导出)→ 删除;tip 引用 0 ⇒ 无悬空。
2. run_project_bootstrap_command_at → 删除;引用 0 ⇒ 无悬空。
3. project/bootstrap.rs 整模块(BOOTSTRAP_PACKAGE_MAX_BYTES / ProjectBootstrapResult /
read_bootstrap_file / run_project_bootstrap_at)+ project.rs 的 `mod bootstrap;` 与
`pub(crate) use bootstrap::*;` → 删除;`bootstrap::` 与 `run_project_bootstrap_at` 引用均为 0 ⇒ 无悬空。
4. run_project_verification_with_commit_at → 删除;引用 0 ⇒ 无悬空(下游
resolve_project_verification_spec_with_cwd_at 另有 taonier/build.rs:82 与 xhs_minitool/build.rs:46 调用,未受影响)。
5. TaonierArtifactPackage 再导出 → 移除;3 处引用全在 build.rs(定义/返回类型/构造)⇒ 无悬空。
6. read_form → 删除;引用 0 ⇒ 无悬空。
7. ensure_staging_path_in_dir → 收窄为 `#[cfg(test)]`;引用 3 处 = 定义 + 同文件 `#[cfg(test)] mod tests`
两处 ⇒ 兼容(test ⊆ test)。
8. NpmScript.package_json_relative 字段 → 收窄为 `#[cfg(test)]`;读取处两处用例断言(cfg(test))+ 构造处
亦已 cfg(test) ⇒ 兼容;同名自由函数仍属生产并被 script.rs:76 使用。
9. resolve_project_bootstrap_spec_at → 本次按 D1 处理(见上),引用/定义各 1 处且 cfg 一致。
静态复查(方法自定):对 AGC 壳全部 321 个 .rs 建「定义名 → cfg 链」与「use 绑定名」表,按 `#[cfg]`
属性 + 花括号深度重建每行的有效 cfg 链,筛出非 Windows 块(target_os=linux/macos/…、unix、
not(windows))共 7315 行,再统计三类危险计数:
- ① 悬空(master 有定义、tip 无定义的名字在非 Windows 块仍有引用):3 名 9 处命中,逐条核对全为假阳
(`"git"`/`"running"` 是字符串字面量;`process_identity` 是模块路径的另一符号)⇒ **0**。
- ② windows-only 定义被非 Windows 块引用:3 名 23 处,全为假阳(`is_empty` 是 std 方法调用;
`platform_art_windows_directory_open_policy`、`resume_suspended_tokio` 位于嵌套的
`#[cfg(windows)] { … }` 块内,是启发式未下钻)⇒ **0**。
- ③ not(test) 越用:3 名 4 处,全为假阳(`main`/`startup` 是字符串;`set_external_agent_runner_config_dir`
的 cfg 是 `any(not(test), unix)`,unix 测试构建中存在,且命中行是该定义行本身)⇒ **0**。
说明:`cargo check --target x86_64-unknown-linux-gnu` 在本机跑不通(GTK/webkit 的 -sys 与 ring 需要 Linux
工具链,pkg-config 无法交叉配置),故 Linux 侧证据以静态法给出;master 侧的非 Windows 改动由 master 自己的
Linux CI 兜底。
验证(Windows + 编辑器 feature;取数前 `cargo clean -p genarrative-ai-game-creator-shell`):
AGC bin EXIT 0 / 0 warning(18 条 serde 宏提示非 lint);AGC `--all-targets` EXIT 0(harness 实例 382 条);
`npm run check:rustfmt` / `npm run check:encoding`(5549 文件)/ `git diff --check` 全 EXIT 0;
六组测试 6 / 17 / 74 / 1 / 65 / 4,全部 0 failed。
|
2026-10-07 17:11:38 +08:00 |
|
suzmii
|
1a86675f4c
|
chore(agc): 清掉本轮 master 新代码带来的 14 处生产口径告警(最小修,无 #[allow])
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
背景:本 PR 的 AGC 壳 warning 门禁只覆盖「Windows 生产口径」,master 侧没有该门禁;本轮同步进来的代码
(陶泥儿导出/发布链路退役、bootstrap 退役)留下 14 处 never used / unused import。已逐条与上一轮合并点
`d5e26a68f` 比对确认:**不是我们删除造成的连带**,全部是 master 本轮自己新引入的。
逐条(文件:行 → 处理):
1. game_package_upload.rs:19 unused import `GAME_PACKAGE_UPLOAD_PROGRESS_EVENT` → 从再导出列表移除。
2. game_package_upload/runtime.rs:11 `GAME_PACKAGE_UPLOAD_PROGRESS_EVENT` 常量 → 删除;生产调用点已被
b04aceb57(exports 全退役)删除。
3. game_package_upload.rs:73 `ensure_staging_path_in_dir` → `#[cfg(test)]`;生产调用点同样被 b04aceb57 删除,
当前只剩本文件的用例调用。
4. command_exec.rs:645 `resolve_project_bootstrap_spec_at` → 删除。
5. command_exec.rs:2500 `run_project_bootstrap_command_at` → 删除;唯一调用方 project/export.rs 已被 master 删除。
6. project/bootstrap.rs → 整文件删除(唯一入口 run_project_bootstrap_at 失去唯一调用方),并移除 project.rs 的
`mod bootstrap;` 与 `pub(crate) use bootstrap::*;`。
7. project/verification.rs:662 `run_project_verification_with_commit_at` → 删除;两个调用方(project/export.rs、
xhs_minitool/build.rs)均已由 master 改动删除;下游文档里对它的 intra-doc 链接改为不带链接的描述。
8. export/draft/taonier/mod.rs:25 再导出 `TaonierArtifactPackage` → 移除;结构体本身仍被 read_artifact_package 使用。
9. export/draft/taonier/registry.rs:88 `read_form` → 删除;全仓无调用方。
10. export/draft/taonier/script.rs:22 `NpmScript.package_json_relative` 字段 → `#[cfg(test)]`(只有用例读取;
未删除任何用例或断言)。
不使用 `#[allow]`,不删除业务校验与用例,不引入假引用。AGC 壳生产口径恢复 0 warning / EXIT 0。
|
2026-10-07 16:59:13 +08:00 |
|
suzmii
|
47b5a17f54
|
合并 origin/master 到 chore/rust-compile-warnings(第二次同步):按 M/D/G 分桶解冲突
origin/master = e6933762d(落后 106 提交);合并前本分支 HEAD = 1612ee944。
冲突只有 5 处,codex 区域 0 冲突。
M 桶(master 改过的文件 → 取 master 版本,不把我们的删除加回去):
- agent/codex_app_server/**(mod.rs、model_catalog.rs、model_catalog/auth_handoff.rs、real_tests.rs)、
agent/codex_cli.rs、agent/codex_provider_proxy.rs、build_support/codex_bundle.rs 均与新 master 逐字节相同。
其中 real_tests.rs / codex_bundle.rs / direct_project_identity.rs 一并取 master 版本,清掉了本分支先前
在这几个文件里留下的多余 diff(口径:codex 区域一行不删不改)。
- 唯一保留的 codex 侧差异是 codex_app_server/mod.rs 的 1 行:resolve_direct_codex_project_authority
的 `pub(super)` → `pub(in crate::agent)`。挂载到 codex_provider 后 `pub(super)` 对兄弟模块
direct_tools_mcp.rs 不可见(E0603),这是收敛必需的适配,不是清理残留。
D 桶(master 未动过、我们删的死码 → 保留删除):patchset.rs、git_inspect.rs、
process_session/{io,lifecycle,persistence,recovery}.rs、generation/pass_artifacts.rs、
agent/runtime_models.rs、debug.rs(+debug/debug_drafts.rs)、process_session/tests/owner_fixture_cleanup.rs 等。
⚠ 复核发现 D 清单里 3 个文件本轮被 master 改过(`git log a8ae81720..origin/master -- <path>` 非 0),逐条判定:
- repository_context.rs(ad0877219:should_ignore_directory 的 "exports" → ".export"):该函数所在的
仓库扫描实现已在更早的退役批次(6d5436541)判为不可达并删除,全仓已无该符号 → 改动无处生效,保留删除。
- generation/pass_artifacts.rs(b04aceb57:黑板字符串去掉「发布包装:exports/README.md」):内容已并入
project/memory.rs(fbea59251),全仓已无该字符串 → 无需承接,保留删除。
- generation/draft_writer.rs(b04aceb57 −16:删掉 exports/README.md 写入):属 legacy draft 生成链,
已在 22540a874 整体退役;全仓 grep 0 引用,恢复只会留下未挂载的孤立文件 → 保留删除。
G 桶(双方都改、我们那侧不改变行为 → 以 master 语义为准):
- agent/generation/trace.rs:唯一冲突块里 master 只把 "exports/README.md" 从产物清单里删掉,而该函数
(append_local_artifact_write_step)已由我们在退役批次里整段删除 → 保留我们的删除。
- useGameDistributionPublishForm.ts:master 本轮删除该文件(b04aceb57),我们侧只有上一轮同步带来的错误
正文改动 → 取 master 语义(删除)。
其余文件由 git 自动合并。本提交不含新写的功能改动:收敛形态与残留清理见后续提交。
|
2026-10-07 16:58:52 +08:00 |
|
suzmii
|
1612ee9446
|
docs: 补充 PR #650 合并 master 后的实测基线复核
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
同机同 feature、先 `cargo clean -p genarrative-ai-game-creator-shell` 再取数:
- server-rs workspace(--all-targets):0
- AGC 壳 bin 生产口径:0
- AGC 壳同 feature + --all-targets:bin test harness 实例 351 warning 事件(全部落在 master 侧
既有文件,agent/codex_provider 子树内 0 条),仍属文档「边界」所述的 harness 产物。
原表记的是 2026-10-06 的 339,这里不覆盖历史快照,只补一条带日期的复核。
|
2026-10-07 15:52:12 +08:00 |
|
kdletters
|
e6933762d2
|
cc 回合静默超时改为宿主自动重试
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
claude_code_cli:一次用户回合最多尝试 3 次,只有"静默超时 + 本轮没请求过任何工具"才自动重放,硬上限与已请求工具的超时仍交回用户
claude_code_cli:抽出 claude_direct_turn_once / ClaudeDirectTurnFailure / claude_direct_failure_action,重试策略变成可单测的纯函数
claude_code_cli:每次重试前落一条 role=system 过程行(正在自动重试(第 N/M 次)),停下时也说明原因,避免"没有重试"又被读成静默兜底
claude_code_cli:失败详情尾部的重试次数标记由分类器还原成结构化 attempts 并摘除,用户可见的"已尝试 N 次"与实际尝试次数一致
claude_code_cli:新增三条单测覆盖重试策略矩阵、静默超时/工具已请求的判定、attempts 结构化与标记不外泄
docs/project-memory/shared-memory/pitfalls:记录现象、CLI 自身不重试的真实二进制证据、现行重试口径与验证方式
|
2026-10-07 15:48:07 +08:00 |
|
k88936
|
93897b88ac
|
Merge pull request 'Feat/adapt taonier' (#661) from feat/adapt-taonier-skill 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: #661
|
2026-10-07 15:45:54 +08:00 |
|
k88936
|
23fa91895d
|
Merge remote-tracking branch 'origin/master' into feat/adapt-taonier-skill
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 15:34:04 +08:00 |
|
k88936
|
4f3ef93098
|
游戏表保留 cover_asset_id 并标记退役
- GameDistributionGame 在原位恢复 cover_asset_id,注明退役、只占位不再写入,避免 SpacetimeDB 破坏性 schema 变更
- 新建与测试行构造补 cover_asset_id: None;migration.rs 注释与实施计划改成「保留退役」口径
- 重新生成 spacetime-client 该表绑定,补回 cover_asset_id 字段
|
2026-10-07 15:31:28 +08:00 |
|
kdletters
|
692de8c806
|
修复 cc 会话重进项目后丢失历史对话
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
claude_code_cli:新增 claude_code_project_dir_name / newest_claude_code_session_in / latest_claude_code_session_id_at,按 Claude Code 的目录派生规则从隔离 home 取本项目最新的会话轨迹
claude_code_cli:新增 resolve_claude_direct_resume,恢复顺序改为「进程内会话表 → 磁盘最新轨迹」,并在 agent.direct_codex.claude_resume 记录本回合恢复来源(memory/disk/none)
claude_code_cli:新增两条回归测试,覆盖目录派生与最新轨迹选取、以及内存优先的恢复顺序
docs/project-memory/shared-memory/pitfalls:记录该问题的现场证据、现行口径与真实环境验证方式
|
2026-10-07 15:22:45 +08:00 |
|
k88936
|
b4ca794660
|
修复 hook 夹具在 home 为 Git 仓库时的误判
- 夹具建在 homedir()/data/tmp;home 自身是仓库时,尚未 init 的夹具被 rev-parse 向上解析成父仓库
- isolatedGitEnvironment 增加 GIT_CEILING_DIRECTORIES 指向夹具临时根,阻止 git 发现 home 仓库
|
2026-10-07 15:13:14 +08:00 |
|
k88936
|
2db556c50e
|
修复作品架封面换签用例未适配取消信号
- useGameDistributionMediaReadUrl 新增 AbortSignal 第四参数后,旧断言 toHaveBeenCalledWith 失配
- 断言补 expect.any(AbortSignal),与换签请求可取消的语义对齐
|
2026-10-07 15:13:10 +08:00 |
|
kdletters
|
29bb3bd6a8
|
修复 CC 模式无工具与重试静默两处问题
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
把 DirectProject CC 回合载荷抽成纯函数并加单测,断言 mcpServers/sessionKey 接线存在,防止工具能力被静默丢掉的构建回归
把 Claude Agent SDK 的 system/api_error 重试事件投影成可见过程行(HTTP 状态 + 上游正文 + 第 N/M 次)
前端把 role=system 的诊断条目按过程行渲染,不再被丢弃或误读为 assistant 回复
|
2026-10-07 15:08:48 +08:00 |
|
k88936
|
f69fd339b9
|
Merge remote-tracking branch 'origin/master' into feat/adapt-taonier-skill
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 14:46:36 +08:00 |
|
k88936
|
dca8481031
|
发布媒体回填的 revoke 移出 state updater
- VersionMediaApplyTarget 增加 getCover/getScreenshots,覆盖前先 revoke 旧的本地预览
- 两个调用点用 ref 提供当前媒体;updater 只做纯计算,StrictMode 重放不再撤销仍在用的 blob URL
|
2026-10-07 14:39:57 +08:00 |
|
k88936
|
06e6cf8523
|
导出预检失败与宿主故障分开
- verification.rs 拆出按已解析规格运行的入口,项目侧预检错误不再与沙箱/日志故障混成一个字符串
- 陶泥儿与小红书构建把预检失败映射成新的 projectUnavailable 变体(改项目代码可解)
- 前端失败表补 projectUnavailable(归类为 code agent 可修),更新生成绑定与测试
|
2026-10-07 14:39:18 +08:00 |
|
k88936
|
61acaf6cea
|
陶泥儿移除发行包下载功能
- 删除左半面板的「下载发行包」按钮与下载失败弹窗接线
- 退役 useTaonierExport 的 artifactReady 状态及其构建收尾写入
- 删除 tabs/taonier/DownloadFailureDialog.tsx
- 同步陶泥儿面板测试与实施计划文档
|
2026-10-07 14:34:04 +08:00 |
|
k88936
|
c31b214444
|
让 Linux npm argv 全程保留 OsString 不再经 lossy 往返
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m45s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 5m59s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 6m53s
Project CI / Frontend tests (pull_request) Successful in 4m13s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m48s
Project CI / Repository checks (pull_request) Successful in 6m39s
Project CI / Backend tests (pull_request) Successful in 10m3s
Project CI / Native shell tests (pull_request) Successful in 9m57s
- project_command_actual_target 返回 Vec<OsString>,npm_cli 以 as_os_str 原样放入 argv[0],非 UTF-8 路径不再被 U+FFFD 改写
- prepare_command_sandbox_launch / prepare_linux_command_sandbox_launch / LinuxSandboxPlan 的 arguments 改为 OsString,bwrap 直接透传
- command_sandbox_requests_npm_install 按 OsStr 逐字节比对可信 npm_cli,避免误拒合法的 npm install 联网
- process_session_bridge 直接对 OsString 取字节,去掉一次 String 中转
- 用例补齐非 UTF-8 的 npm_cli 必须命中;真机测试同步改用 OsString
|
2026-10-07 14:26:54 +08:00 |
|
k88936
|
0119a329aa
|
发布媒体上传标注整体缓冲的性能隐患
- game_distribution_media.rs 在 Field::bytes() 处补 TODO(perf),说明峰值约 2× part 与 field.chunk() 流式限长改法
|
2026-10-07 14:26:51 +08:00 |
|
k88936
|
7d8b966d1f
|
陶泥儿打包标注单文件整读的性能隐患
- pack.mjs 在整读+压缩处补 TODO(perf),说明单文件峰值内存约 2× 与 ZIP data descriptor 流式改法
- 同步 agc-skills manifest.json 版本与技能哈希
|
2026-10-07 14:26:37 +08:00 |
|
k88936
|
d706b65643
|
给缺宿主Node的npm目标单测加可见跳过提示
- npm_command_targets_node_plus_npm_cli_on_linux 跳过时 eprintln 输出原因(含 resolve_node_runtime 错误),配 --nocapture / --show-output 可与真实通过区分
|
2026-10-07 14:17:49 +08:00 |
|
k88936
|
e66be01269
|
更新 agc-skills manifest.json 文件版本号和技能哈希值
|
2026-10-07 14:17:41 +08:00 |
|
k88936
|
cb57e59ec4
|
图片预览文案按封面/截图语境区分
- IconPreview 增加可选 labels,缺省仍是小红书「图标」文案
- FormCard 的封面与截图预览各自传入封面/截图语义的 alt、title 与 aria
|
2026-10-07 14:16:44 +08:00 |
|
k88936
|
edaf8896e1
|
发布封面导入器收敛为单选
- 新增 COVER_IMPORTER_SETTINGS(maxItems: 1),FormCard 封面导入改用该设置,避免多选后静默丢弃其余图片
|
2026-10-07 14:16:15 +08:00 |
|
k88936
|
53750ac31e
|
发布页媒体提交只合成一次
- buildPublishGameMetadata / buildPublishMediaParts 改为接收调用方算好的 submission,元数据槽位与上传 part 单一来源
|
2026-10-07 14:15:05 +08:00 |
|
k88936
|
5bc52a3441
|
陶泥儿发布跨项目不再串状态
- useTaonierTab 增加 projectPathRef,在打包/订阅/发布各 await 之后与进度回调里比对当前项目,避免旧项目进度、结果与失败落进新项目面板
|
2026-10-07 14:14:18 +08:00 |
|
k88936
|
86649e50a7
|
重新构建时清除失败忽略指纹
- buildOnce 在 setFailure(null) 前 setDismissedFailure(''),显式重跑失败仍会重新弹出弹窗
|
2026-10-07 14:13:33 +08:00 |
|
k88936
|
8e3f0b8920
|
导出校验改用落盘后的权威表单
- packageAll 的本地校验改用 effectiveFormRef.current ?? form,避免 refresh/flush 后仍用陈旧闭包放行盘上的非法值
|
2026-10-07 14:13:16 +08:00 |
|
k88936
|
e830034d03
|
游戏媒体换签请求支持取消
- getGameDistributionMediaReadUrl / getOwnerGameDistributionMediaReadUrl 增加可选 AbortSignal 并透传
- resolveGamePublishImagePreview 转发 signal;useGameDistributionMediaReadUrl 在 effect 清理时 abort 在途请求
|
2026-10-07 14:11:59 +08:00 |
|
k88936
|
5e5bb19a64
|
发布回填截图签名地址改为并发换签
- applyVersionMediaDefaults 用 Promise.all 并发请求所有截图读地址,并在取消后直接返回,不再串行等待、也不在取消后继续发起请求
|
2026-10-07 14:10:44 +08:00 |
|
k88936
|
3a0d275746
|
购买 E2E 定价边界建游失败时提前退出
- boundsGameId 为空时先记录失败再 process.exit(1),避免后续请求 /undefined 级联掩盖根因
|
2026-10-07 14:10:14 +08:00 |
|
k88936
|
9a653c8382
|
陶泥儿导出收敛为单一发布入口并把线上值内联到字段
- 移除独立「打包」按钮与「发行包」卡片,发布入口不套卡片,内部先跑打包
- 线上值逐字段内联到对应输入框下方,退役 OnlineValuesCard
- 线上值进项目自动读取,失败按固定间隔静默自动重试,去掉「重新读取」手动入口
- 读取失败时提示正在自动重试,发布入口保持停住
- 同步陶泥儿面板测试与技术方案/实施计划文档
|
2026-10-07 14:09:26 +08:00 |
|
k88936
|
11c8c2789a
|
重启校验 E2E 恢复封面前查回当前 coverObjectKey
- 旧 STATE_FILE 只有 coverAssetId(素材对象 ID,不是对象存储 key),恢复续跑时先查游戏当前封面 key,不再拿它冒充 coverObjectKey
|
2026-10-07 14:09:16 +08:00 |
|