suzmii
|
c833e30d73
|
修复 Web 预检浏览器恢复与安全收束
Project CI / Backend tests (pull_request) Failing after 28s
Project CI / AI game creator shell Rust lane 1/2 (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 / 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
修复 Windows Job 绑定窗口内子树未纳入的问题,无法确认时收束并 fail-closed。
使用 CommandLineToArgvW 校验含空格 Profile,补充 Job 子树与 Profile 回归测试。
补齐清理失败安全诊断和浏览器环境错误码契约。
|
2026-10-03 12:50:18 +08:00 |
|
suzmii
|
64ef6d7428
|
Merge remote-tracking branch 'origin/master' into fix/web-preflight-browser-recovery
|
2026-10-03 10:29:10 +08:00 |
|
k88936
|
1874a6e9ec
|
注释:为会话滚动锚点的全表量测补 TODO 性能分析
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m55s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 4m18s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m33s
Project CI / Backend tests (pull_request) Successful in 3m58s
Project CI / Repository checks (pull_request) Successful in 3m4s
Project CI / Frontend tests (pull_request) Successful in 3m25s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m14s
Project CI / Native shell tests (pull_request) Successful in 5m49s
- conversationScrollAnchor.ts 的 readTopVisibleTurnAnchor 循环上方新增 // TODO(perf): 注释,仅注释、无行为变化
- 记录量测口径:最坏 O(锚点之前的块数) 次 getBoundingClientRect,同帧首次调用后布局已干净、后续不再各自触发 reflow,属 low,不是振荡源
- 记录 rAF 节流与「只在补偿前才读」都省不掉这次遍历,故不采纳
- 记录二分 / 续扫被收起 <details> 的 0 矩形打断单调性,需先定「隐藏块怎么参与」
- 首选后续方向:缓存上次命中的块身份并从附近续扫,不破坏单调性假设
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 22:34:07 +08:00 |
|
k88936
|
0ae94caf16
|
修复:更早历史的世代号在渲染期推进,切换项目的守卫不等 effect
- 换项目时 historyLoadTokenRef 与 projectPathRef 同一处推进,复位 effect 不再推进
- 旧读取在「切换提交完成、复位 effect 未跑」的窗口落地时立刻失效,不再合并条目或写游标
- ADR 第 1 条与决策记录说明推进时机与其安全性依据(该窗口内不会新起带旧游标的读取)
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 22:27:33 +08:00 |
|
k88936
|
2b01476891
|
修复:动画期间内容变高时把回到底部动画重新对准新底部
- 程序化平滑滚动期间布局补偿不再直接跳过:内容变高时以新的 scrollHeight 重发平滑滚动
- 避免动画停在旧目标后 programmaticScrollRef 等不到贴底事件、跟随与补偿整段挂起
- hook 用例断言动画目标从 [1200] 变为 [1200,1500] 且仍能交还控制权
- ADR 第 3 条补一条口径,决策记录补齐本条与错误行结构两条
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 22:25:47 +08:00 |
|
k88936
|
8f91227d17
|
修复:历史加载错误行的重试按钮移出断言式 live region
- 内联错误行由 <p role=alert> 改为普通容器,role=alert 只包住错误文案本身
- 重试按钮留在 live region 之外,避免被卷进 assertive + atomic 的整体播报
- 组件用例断言 alert 不包含重试按钮,重试仍是可点击的唯一手动出路
- ADR 同步错误行的无障碍结构
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 22:24:21 +08:00 |
|
suzmii
|
2579c04c4d
|
修复 Web 预检浏览器失败恢复
Project CI / Backend tests (pull_request) Failing after 34s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m45s
Project CI / Frontend tests (pull_request) Successful in 2m14s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m13s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 4m23s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m55s
Project CI / Native shell tests (pull_request) Successful in 5m44s
- WS 握手与 CDP 连接瞬态失败在确认进程树清理后使用新 Profile 重试一次\n- 加强 Windows Edge 进程身份、命令行 Profile 与 Job 子树归属校验\n- 透传恢复阶段诊断并补充预检规范、里程碑计划和定向测试
|
2026-10-02 20:50:50 +08:00 |
|
k88936
|
ff88ad9210
|
Merge remote-tracking branch 'origin/master' into feat/smoother-dialog-history
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m39s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 3m41s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 5m25s
Project CI / Backend tests (pull_request) Successful in 4m46s
Project CI / Frontend tests (pull_request) Successful in 2m30s
Project CI / Repository checks (pull_request) Successful in 2m58s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m14s
Project CI / Native shell tests (pull_request) Successful in 5m37s
|
2026-10-02 20:19:53 +08:00 |
|
k88936
|
429557ea6a
|
修复:会话滚动锚点改用稳定块身份定位
锚点从「回合 key + 块序号」改为「回合 key + 块身份」,findTurnBlock 按 data-block-key 定位:回合收口时过程块被折进 details,块序号会整体后移,原实现会解析到隔壁块并按错误基准写 scrollTop。
收集选择器收敛为 [data-turn-key][data-block-key],只把可定位的块计入候选。
锚点块没有布局盒(被折进收起的 details)时读锚点跳过它、restoreTurnAnchor 判失败并放弃这次补偿,调用方拿当前位置重新起锚。
用例补齐:块序号后移后按块身份仍还原到同一块、收起的 details 里的块不参与读取也不参与还原、只收集带块身份的块。
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 20:18:08 +08:00 |
|
k88936
|
42de1b4c39
|
展示:可锚定块带上稳定块身份 data-block-key
DirectProjectTurn 给正文块写 data-block-key={block.key},「执行过程」包装块与终态文案各给一个回合内唯一的字面量块身份。
ToolCallGroup 与 AgentReasoning 新增可选 blockKey 并透传到 data-block-key,turnKey 的注释改成「按回合 key + 块身份定位」。
组件用例断言每个可锚定块都有块身份且同回合内唯一,并用 running→finished 前后对照钉住「块序号会整体后移、块身份不变」。
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 20:15:07 +08:00 |
|
k88936
|
1caf8ae8b0
|
优化:会话滚动锚点复用块集合缓存
collectTurnBlocks 结果按列表缓存(WeakMap),读锚点与还原锚点在同一帧内不再各查一遍整份列表
useConversationScroll 的 MutationObserver 在子元素增删时调 invalidateTurnBlocks,失效信号与重订阅共用同一处
新增两例纯函数用例:连续收集只查一次 DOM、子元素变化并失效后重新收集
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 19:58:19 +08:00 |
|
k88936
|
e3c3091ec4
|
修复:更早历史读取按世代号失效旧请求
loadEarlierHistory 的成功 / 失败 / finally 守卫从「项目路径相等」改成「世代号相等」,A→B→A 之后在飞的旧读取不会再清掉新一代的加载态
新增 historyLoadTokenRef,切项目与每次读取各推进一格,旧世代落地时整段丢弃:不合并条目、不写游标、不关并发闸门
新增一例控制器用例驱动 A→B→A 与同路径新读取在飞,修正前在「旧读取落地」处确实红
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 19:57:04 +08:00 |
|
kdletters
|
db0332ea09
|
把 AGC 的 cc 执行器与本机 Claude Code 配置彻底隔离
Project CI / AI game creator shell Rust crates (push) Successful in 1m43s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 4m14s
Project CI / Backend tests (push) Successful in 4m38s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 5m23s
Project CI / Frontend tests (push) Successful in 2m8s
Project CI / Native shell tests (push) Successful in 6m11s
Project CI / Repository checks (push) Successful in 3m15s
Project CI / AI game creator shell web tests (push) Successful in 2m34s
- sidecar 子进程把 HOME、USERPROFILE、CLAUDE_CONFIG_DIR 全部指向项目内隔离目录,不再读用户自己的 ~/.claude.json(个人 MCP、插件市场、凭据),也不再往真实 profile 写 projects / sessions
- requestTimeoutMs 在 cc 执行器里改为静默预算:sidecar 每有一条事件就重置,连续静默超预算才按 sidecar-turn-timeout 收口
- 新增 CLAUDE_CODE_TURN_MAX_DURATION(45 分钟)兜底事件流假活,正常情况更早到的是 DirectProject 的 maxTurnSeconds
- claude_route 诊断行改成 source / host / auth,避开日志脱敏标记(原 credential=bearer 会被整行替换)
- 新增 sidecar 环境隔离单测:USERPROFILE / CLAUDE_CONFIG_DIR 指向隔离目录,且不下发本机 ANTHROPIC_*
- pitfalls.md 记录配置隔离、静默超时语义与脱敏标记的坑
|
2026-10-02 19:54:13 +08:00 |
|
kdletters
|
c5673c5757
|
修复 AGC 的 cc 路由被本机 ANTHROPIC_* 环境顶掉
- claude_code_cli.rs 用 claude_code_route 统一决定 cc 的 baseUrl 与凭据:平台会话 > 自定义端点 > 配置 key,本机 ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN / ANTHROPIC_API_KEY 完全不再参与
- 未登录且没配 key 时由 game_creator_claude_code_cli_route_error 明确报「cc 模式需要先登录陶泥儿账号」,不再静默回落到用户个人中转
- 不再把 ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN 放进 sidecar 的 copy_env 白名单,凭据只由解析出的路由下发
- 新增 agent.direct_codex.claude_route 诊断行(source / host / credential),只写主机名,不带路径与凭据
- 新增 claude_code_cli 路由单测:平台优先、自定义端点用 x-api-key、未登录不回落本机环境、baseUrl /v1 归一化、主机名诊断
- pitfalls.md 记录本次「官方模型全被发到用户个人中转」的根因、现行口径与排查手段
|
2026-10-02 19:30:59 +08:00 |
|
k88936
|
97e8f1b652
|
Merge remote-tracking branch 'origin/master' into feat/smoother-dialog-history
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m50s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m30s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 4m51s
Project CI / Backend tests (pull_request) Successful in 4m53s
Project CI / Frontend tests (pull_request) Successful in 2m33s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m27s
Project CI / Native shell tests (pull_request) Successful in 5m47s
Project CI / Repository checks (pull_request) Successful in 3m4s
|
2026-10-02 19:20:53 +08:00 |
|
k88936
|
ccc9b776d1
|
修复:切项目时复位 DirectProject 对话滚动所有权
useConversationScroll 新增 conversationKey 身份信号,身份变化时复位跟随最新 / 贴底 / 有新回复 / 前插锚点 / 折叠头 / 程序化滚动标记
复位时把终态指纹同步成新会话内容并重新贴底,避免同一次提交里的内容变化被算成「有新回复」
DirectProjectConversation 透传身份键,DirectProjectChatView 传项目路径,不重建列表 DOM
新增 3 条换会话用例与 1 条组件用例,组件用例抽成 conversationElement 以便 rerender
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 19:13:07 +08:00 |
|
k88936
|
986136171e
|
修复控制器回归测试的 invoke 替身类型
- vi.fn 返回固定签名,装不进 window.__TAURI__.core.invoke 的泛型签名,显式转成 TauriInvoke
- tsc 不再报 TS2322;用例行为与断言不变
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 18:57:43 +08:00 |
|
k88936
|
9cff7bf049
|
修复更早历史读取失败消息为空时挂起态与错误行一起消失
- 失败消息统一收口成非空兜底文案,空 message 不再让 historyError 变 falsy
- 新增控制器回归用例:宿主抛 new Error() 时挂起态仍成立
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 18:53:51 +08:00 |
|
k88936
|
77401adfe8
|
修复更早历史加载被旧项目读取提前关闭加载态
- loadEarlierHistory 的 finally 补上项目归属守卫,旧项目在飞的读取落地时不再清掉新项目的加载态与并发闸门
- 新增控制器回归用例:切项目后旧读取落地,新项目的加载态保持到它自己收口
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 18:52:33 +08:00 |
|
kdletters
|
fcb3f2d258
|
修复 process_identity 在 dev feature 组合下编不过
Project CI / AI game creator shell Rust crates (push) Successful in 1m14s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 5m28s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 4m44s
Project CI / Backend tests (push) Successful in 4m40s
Project CI / Frontend tests (push) Successful in 2m47s
Project CI / Repository checks (push) Successful in 3m22s
Project CI / AI game creator shell web tests (push) Successful in 2m25s
Project CI / Native shell tests (push) Successful in 6m44s
- process_identity:补 use std::io;,dev 构建(no-default-features + editor-execute)下 io::Error 解析不到,挡住本地开发栈启动
|
2026-10-02 18:51:11 +08:00 |
|
kdletters
|
a5c2ddb917
|
cc 收尾解析补不过脱敏的失败诊断
Project CI / AI game creator shell Rust crates (push) Successful in 1m48s
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 / Backend tests (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- claude_code_cli:parse 之后写 claude-parse-done chars=N / claude-parse-error 分段 trace,失败时再往 stderr 打一行 [agc-cc-direct] parse failed: <原因>
- 起因:2026-10-02 18:19 那轮模型已回复(33/103 tokens,149 秒)却在 claude-parse-start 之后被丢弃收成 host_dropped,AppData 日志因文本含 turnToken= 被整体脱敏,看不到原因
|
2026-10-02 18:47:28 +08:00 |
|
k88936
|
238c3c60d7
|
修复:点回到底部后平滑滚动不再被自身补偿打断
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 1m53s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 2m41s
Project CI / Backend tests (pull_request) Failing after 13s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m57s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m21s
Project CI / Repository checks (pull_request) Failing after 27s
Project CI / Frontend tests (pull_request) Successful in 2m36s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m24s
Project CI / Native shell tests (pull_request) Successful in 5m42s
- 新增 programmaticScrollRef:动画在飞时滚动事件不翻转跟随、布局补偿整段跳过
- 只有真的还要走一段距离才接管滚动位置;滚到贴底或滚轮 / 触摸 / 键盘接手即交还
- 补齐 hook 用例:动画途中胶囊不闪回、不写 scrollTop、落位后与被打断后照常判定
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 18:18:34 +08:00 |
|
k88936
|
ecb84f1e70
|
修复:展开折叠块时把新展开的正文露出来
- 新增纯函数 toggleRevealDelta:折叠头冻结与露出正文合成一次 scrollTop 位移
- 正文底边超出视口只补超出量,正文比视口还高才对齐正文顶边,收起不额外滚动
- 补齐用例:纯函数六例与 freezeToggleHead 两条真机行为
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 18:18:26 +08:00 |
|
k88936
|
65b90ed43e
|
测试:覆盖更早历史自动加载、前插锚点与回到底部胶囊
- 新增与实现同目录的 5 组用例:阈值与加载门、锚点读取/还原、折叠头冻结与正文对齐、hook 状态机、组件层按钮移除与重试行
- 根 vitest.config.ts 补一条 include,同目录用例才进得了门禁
- 既有断言同步:消息列表类名加上 overflow-anchor 工具类,DirectProjectConversation 用例改用新的加载状态入参
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 17:54:10 +08:00 |
|
k88936
|
0aa9dad3c7
|
功能:DirectProject 对话自动加载更早历史并支持回到底部
- 删掉常驻的「显示更早的对话」按钮,改由触顶与填充视口两条触发自动加载,失败即挂起并留内联重试行
- 新增 useConversationScroll:列表唯一滚动所有权(跟随最新、ResizeObserver 补偿、前插锚点冻结、胶囊显隐)
- 新增顶部加载行与底部居中 sticky 胶囊两个表现组件,文案与阈值取自 conversationScrollPolicy
- 列表追加 overflow-anchor:none 关掉原生锚定;「有新回复」按最后一轮终态内容指纹判定
- DirectProjectChatView 交出 messagesRef / shouldFollowLatestRef / handleScroll,只传加载状态与回调
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 17:54:03 +08:00 |
|
k88936
|
1653a2be6e
|
功能:DirectProject 回合块标记 data-turn-key 供滚动锚点定位
- DirectProjectTurn 的正文块、执行过程折叠块与终态文案块写上 data-turn-key
- ToolCallGroup 与 AgentReasoning 新增可选 turnKey 透传,工具组与思考块也带回合身份
- 锚点按「回合 key + 块内序号 + 偏移」定位,不新增 DOM 包裹层
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 17:53:53 +08:00 |
|
k88936
|
72ad9b8cdb
|
功能:DirectProject 聊天控制器暴露更早历史的加载态、失败态与重试入口
控制器新增 historyLoading / historyError 两个可渲染状态,与并发判据用的 ref 同步镜像。
loadEarlierHistory 失败时写入 historyError 并挂起自动加载,成功路径清掉失败记录。
新增 retryEarlierHistory:先解挂起再走同一条加载入口,供内联错误行的重试按钮调用。
加载失败不再写顶部状态行(状态行留给首屏读取失败等其它用途)。
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 17:42:14 +08:00 |
|
k88936
|
f0ae0bd5d7
|
重构:抽出 DirectProject 对话滚动判据、锚点与折叠补偿纯函数
新增 conversationScrollPolicy.ts:滚动/自动加载阈值、加载门、胶囊文案与填充视口判据集中在一处。
新增 conversationScrollAnchor.ts:回合 key + 块序号 + 偏移的锚点读取与还原,供前插补偿使用。
新增 conversationToggleReveal.ts:折叠头解析、头部冻结与超长正文对齐,覆盖 details 与 aria-expanded 两种折叠。
新增 useDelayedFlag.ts:延迟显示开关位,避免本地读取瞬间返回时闪一下加载行。
Co-authored-by: Junie <junie@jetbrains.com>
|
2026-10-02 17:41:55 +08:00 |
|
k88936
|
3e9a059d16
|
Merge remote-tracking branch 'origin/master' into feat/typed-tool-error
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m49s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 4m32s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m32s
Project CI / Backend tests (pull_request) Successful in 4m34s
Project CI / Frontend tests (pull_request) Successful in 2m33s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m31s
Project CI / Native shell tests (pull_request) Successful in 5m36s
Project CI / Repository checks (pull_request) Successful in 3m9s
|
2026-10-02 16:56:45 +08:00 |
|
k88936
|
2a3e64a999
|
格式化 AGC 壳 Rust 源码(rustfmt)
- cargo fmt --all --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml
- 覆盖退役与合并期间改动的 27 个文件,恢复 check:rustfmt 门禁
|
2026-10-02 16:36:44 +08:00 |
|
k88936
|
5ffd7dcd0a
|
修正 AGC 退役后 prompt 边界门禁用例引用已删除源文件
- prompt_source_boundaries.rs 移除 src/agent/prompt.rs、runtime_actions/provider_request_builders.rs、runtime_actions/provider_tool_plan.rs、agent_native_tools.rs、context_compaction.rs、goal.rs、generation/run_lifecycle.rs、generation/role_briefs.rs、runtime_protocol/autonomous_completion.rs、runtime_driver/task_start.rs 等已随自建 Runtime 退役的条目
- prompt_source_boundaries.rs 的常量门禁与工具描述门禁同步移除 runtime_driver.rs、agent_native_tools.rs 条目
- runtime_prompt_bundle_build.rs 删除 provider_request_builders.rs、provider_tool_plan.rs、agent/prompt.rs 三个已退役文件的断言;「不得再内联 prompt 正文」由 src 全树 include_str! 扫描继续兜底
|
2026-10-02 16:36:35 +08:00 |
|
kdletters
|
e1b304d390
|
自定义 Anthropic 端点改用 x-api-key 出示凭据
Project CI / AI game creator shell Rust crates (push) Successful in 1m56s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 2m12s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m26s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 4m5s
Project CI / Frontend tests (push) Successful in 3m26s
Project CI / Backend tests (push) Successful in 5m20s
Project CI / Repository checks (push) Successful in 3m26s
Project CI / AI game creator shell web tests (push) Successful in 2m8s
Project CI / Native shell tests (push) Successful in 7m43s
- claude_code_cli:custom 模型(用户自带 key 的 Claude 兼容端点)下把 key 放到 ANTHROPIC_API_KEY,让 Claude Code 走 Anthropic 规范的 x-api-key 头;官方模型仍走平台会话的 ANTHROPIC_AUTH_TOKEN
- 依据:同一次 /v1/messages 请求,Router 只认 x-api-key 时返回 200,走 Authorization: Bearer 时会长时间不响应
|
2026-10-02 16:35:05 +08:00 |
|
k88936
|
4246052bff
|
合并 origin/master 到 feat/typed-tool-error
- 取 master 退役 DirectProject 工具调用与回合流账本(#560):删除 direct_tool_calls / direct_turn_stream,direct_events 的回合更新收敛为状态与活动,不再广播 game-creator-direct-turn-update
- 取 master 修复 AGC 文件列举被无关临时锁删除打断(#552)与素材导入 / 资源提交项目锁争用(#581)
- 保留本分支 typed 工具错误口径:逐工具错误枚举、派发边界携带原始 error、工具返回不再软失败
- 保留本分支退役 AGC 独立 Agent Runtime / CLI 执行面的删除,继续删掉 master 侧 runtime_actions 等测试与入口
- 补齐 master 新增的 with_conversation_write_contention 测试助手,项目写锁调用统一为 acquire_project_write_lock_with_wait
- 账户素材分页 offset 上限 500 的 schema、预检与行为对齐,越界 offset 返回 typed 错误并适配相关用例
- 错误事件结构体 message 保留调用方原文,脱敏只发生在落盘与应用日志边界
|
2026-10-02 16:18:50 +08:00 |
|
k88936
|
839051f532
|
退役AGC独立Agent Runtime与CLI执行面
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 1m50s
Project CI / Backend tests (pull_request) Failing after 24s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m47s
Project CI / Repository checks (pull_request) Failing after 21s
Project CI / Frontend tests (pull_request) Successful in 2m38s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 3m41s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m23s
Project CI / Native shell tests (pull_request) Successful in 6m20s
- 删除 agent/runtime_driver、runtime_protocol、runtime_tools、runtime_actions、runtime_state、runtime_adapter、context_compaction、collaboration、delegation、goal 等自建 Runtime 执行面及专属测试与 fixture
- CliCommand 收敛为 LlmStatus | EnvironmentCheck | PreviewServe,删除 --agent-run / --agent-task / --agent-goal-* / --agent-resume / --agent-context-compact 等 CLI 与 Tauri 命令白名单条目
- 外部 Runner 收缩为编辑器桥 RPC 与 runner.attach_gui_owner + GUI owner 参与锁 / watchdog,保留 --agent-runner
- 前端删除 AgentRuntime* / AgentGoal* 状态与命令调用链,移除 agent-runtime real-e2e / steer / smoke / llm-transient-fault 脚本与对应 CI job
- 内置工具错误收口为 typed error,抽取 agent/tool/error.rs 共享错误供各工具复用
- 新增 agent/redaction.rs、runtime_models.rs、json_sidecar.rs、task_lock.rs、process_identity.rs、art_manifest.rs、design_session.rs、direct_events.rs
- 同步更新 ADR、decision-log、Runtime V1.1、App 实施计划、本地开发运维、pitfalls 与 CI 脚本
|
2026-10-02 15:23:12 +08:00 |
|
k88936
|
c9b4813e68
|
移除已无消费者的 toolOutputTokenLimit 配置
- main.rs/config.rs/cli.rs 删除字段、默认值、校验、patch 合并与 CLI 展示
- 默认配置 game-creator.config.json 删除该键,旧配置里多余的键会被 serde 忽略
- 前端 types/RuntimeConfigDialog 与界面测试同步移除
- 该配置在 context_compaction 删除后已无任何 prompt 构建消费者
|
2026-10-02 15:08:23 +08:00 |
|
k88936
|
b18b4935e4
|
Cocos 执行结果给模型前恢复长度上限
- code 执行 32000 字符、operation 结果 2MiB
- 成功回执保留原文但按字符数收口
|
2026-10-02 15:07:20 +08:00 |
|
k88936
|
0ffa5bb1cc
|
编辑器执行响应给模型前恢复 32k 长度上限
- 新增 DIRECT_TOOL_BRIDGE_EDITOR_RESPONSE_MAX_CHARS=32000
- Unity/Godot 成功回执改为保留原文但按字符数收口
|
2026-10-02 15:07:19 +08:00 |
|
k88936
|
87414fd248
|
远端告警给模型前恢复每条长度收口
- 新增 DIRECT_TOOL_BRIDGE_WARNING_MAX_CHARS=480 与 bounded_remote_warning(s) helper
- createOrDerive/PrepareGameArt/GenerateImage 三个完成回执的 warnings/sliceWarnings 逐条收口
|
2026-10-02 15:07:19 +08:00 |
|
k88936
|
264b99914f
|
Merge remote-tracking branch 'origin/master' into fix/wrong-report
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m59s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 2m9s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m23s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 3m6s
Project CI / Frontend tests (pull_request) Successful in 3m31s
Project CI / Repository checks (pull_request) Successful in 3m34s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m57s
Project CI / Backend tests (pull_request) Successful in 6m48s
Project CI / Native shell tests (pull_request) Successful in 7m29s
# Conflicts:
# docs/project-memory/shared-memory/pitfalls.md
|
2026-10-02 15:01:38 +08:00 |
|
k88936
|
e7adefb0a1
|
登记素材导入失败消息做长度收口,完整报告仍留在 typed 错误
- to_user_msg 对 ImportFailed/ImportPartial 先报成功/失败计数,再附有界 JSON 明细
- 新增 IMPORT_REPORT_MESSAGE_MAX_CHARS=4000 字符上限
- 补 TODO:应由工具选择性返回,或把完整报告重定向到文件/诊断日志
|
2026-10-02 14:58:37 +08:00 |
|
k88936
|
9c7cf2601c
|
工具入参对象校验升级为类型约束,解析器不再可能绕过 NotObject
- ToolArgumentsRejection::check 返回已确认的 &Map<String, Value>
- optional_text / required_text / page 改收 &Map,删掉 debug_assert 兜底
- 内部入参解析 helper 同步收 &Map;桥与 MCP 预检的 &Value 入口保持不变
- 更新直连工具桥与单测调用点
|
2026-10-02 14:57:44 +08:00 |
|
kdletters
|
13ce49599f
|
修复 AGC MCP 通知请求被拒导致 cc 执行器零工具
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 2m19s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 2m30s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m30s
Project CI / AI game creator shell Rust crates (push) Successful in 1m40s
Project CI / Backend tests (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 / Repository checks (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- direct_tools_mcp:HTTP 入口对没有 id 的 JSON-RPC 通知(notifications/initialized)返回 202 空体,不再按错误回 400
- 之前 Claude Code 的 MCP 握手被 400 打断,把 agc 服务器标记为 failed,模型请求里一个工具都没有(实测 tools=0,修复后 tools=60)
|
2026-10-02 14:55:44 +08:00 |
|
k88936
|
0dda4cd78e
|
编辑器执行错误去掉多余的 to_string
- editor_execute/error.rs EditorRejected 直接 clone 已拥有的 cause
|
2026-10-02 14:40:19 +08:00 |
|
k88936
|
dd115778e9
|
Cocos 执行错误去掉多余的 to_string
- cocos_execute/error.rs CodeInvalid 直接 clone 已拥有的 cause
|
2026-10-02 14:40:19 +08:00 |
|
k88936
|
8f07ff9379
|
浏览器试玩错误去掉多余的 to_string
- browser_playtest/error.rs PlaytestFailed 直接 clone 已拥有的 cause
|
2026-10-02 14:40:19 +08:00 |
|
k88936
|
bca9b97acd
|
统一错误事件返回值复用已脱敏的 message
- runtime_error.rs persist_agent_runtime_error 返回的 message 改用 safe_message
- 与 error 字段口径一致,返回值即使被序列化也不会泄露绝对路径/凭据
|
2026-10-02 14:40:11 +08:00 |
|
k88936
|
b1d16b5683
|
错误回显不再给字符串套 JSON 引号
- arguments.rs not_text_repr 对字符串直接回显原文
- 非字符串仍按 bounded_echo 序列化后截断
|
2026-10-02 14:39:59 +08:00 |
|
k88936
|
85d51a074e
|
内置工具分页 offset 加绝对上限,避免 nextOffset 溢出
- arguments.rs 新增 MAX_PAGE_OFFSET 常量
- page() 在 max_offset 为 None 时也按 MAX_PAGE_OFFSET 封顶,挡住 offset + page.len() 的溢出
|
2026-10-02 14:39:46 +08:00 |
|
k88936
|
29a21f480c
|
Merge remote-tracking branch 'origin/master' into fix/wrong-report
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m47s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m35s
Project CI / Backend tests (pull_request) Successful in 5m5s
Project CI / Native shell tests (pull_request) Successful in 6m7s
Project CI / Frontend tests (pull_request) Successful in 2m19s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m55s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m55s
Project CI / Repository checks (pull_request) Successful in 2m32s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 12m54s
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
# docs/project-memory/shared-memory/pitfalls.md
|
2026-10-02 14:36:32 +08:00 |
|
kdletters
|
5dc595db58
|
Claude Code Direct 回合补 sidecar 静默与超时收口诊断
Project CI / AI game creator shell Rust crates (push) Successful in 1m29s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m39s
Project CI / Backend tests (push) Failing after 3m28s
Project CI / Frontend tests (push) Successful in 1m51s
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / 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 / Repository checks (push) Has been cancelled
- claude_code_cli:sidecar stdout 静默 30 秒就写一条 agent.direct_codex.claude_sidecar_idle,记录已静默秒数
- claude_code_cli:超时收口先杀 sidecar 进程树,再给 stderr 一个 5 秒排空窗口,避免回合永远不肯收口
- claude_code_cli:超时详情过滤掉宿主主动断流后 sidecar 自己抛的 EPIPE 收尾噪声
- claude_code_cli:sidecar 返回 error 事件时同样杀进程树,不再留下孤儿 Claude Code 进程
|
2026-10-02 14:35:16 +08:00 |
|