Commit Graph

5482 Commits

Author SHA1 Message Date
k88936 10436a641c 注释:补充 ShouldContinue 变体的字符串类型设计说明 2026-10-03 12:21:39 +08:00
k88936 a8948f27bb 文档:记录回合错误分类层与线程条目脱敏边界
- decision-log 增加 2026-10-03 条目:TurnError::classify / TurnErrorClassified 取代 terminal_failure
- 记录 ThreadManager 不再做字段级脱敏与限长、脱敏搬到前端 directThreadSanitize,失败载荷脱敏保留在 classify
2026-10-03 12:08:25 +08:00
k88936 3aef44c54a 文档:同步错误投影点改名与逐 delta 脱敏退役现状
- ADR 与 decision-log 里的 TurnError::terminal_failure 改成 TurnError::classify
- pitfalls 的「逐 delta 脱敏吃掉段尾换行」补一条现状:Rust 逐 delta 脱敏已退役,脱敏搬到前端 directThreadSanitize
2026-10-03 12:07:42 +08:00
k88936 549915a2be 重构:线程条目脱敏改由前端统一做
- 新增 directThreadSanitize:项目内路径归一成相对路径,绝对路径 / 密钥 / 敏感赋值 / Bearer / 配置文件 / 私钥块 / 敏感开关统一换成占位符,只遮挡不截断
- 订阅 hook 在 bootstrap / consume / 历史切片进入聊天状态之前统一过脱敏,复用已有的 projectPath
- 新增 12 条单测:项目内外路径、密钥前缀与 JWT、Bearer、.env、私钥块、多行换行保留、条目与增量事件
2026-10-03 12:06:40 +08:00
k88936 500479b4aa 文档:同步 ThreadItem 与 TurnFailure 的生成绑定注释
- ThreadItem 注记改为"原样投影、脱敏在前端"
- TurnFailure 注记改为 TurnError::classify / TurnErrorClassified::ShouldContinue
2026-10-03 12:00:00 +08:00
k88936 68cb41e332 重构:ThreadManager 停止对线程条目脱敏与限长,改为原样透传
- 删除 wire/items.rs 的 bounded / detail_text / sanitize_detail_text / relativize_project_root_paths / thread_delta_text 与三个字符上限常量
- thread_item_from_value / thread_items_from_history / 运行态条目 / 流式增量签名去掉 root,字段原样透传,脱敏交给事件进前端状态时统一做
- dispatch.rs 写历史失败不再预脱敏,原文交给 classify 投影成失败载荷时统一脱敏 + 截断
- 用例改为"原样透传"口径,删除已无对象的流式脱敏用例
- 失败载荷(错误文案)的脱敏保留
2026-10-03 11:53:01 +08:00
k88936 11e98a3cae 重构:回合错误的处置分类层取代 Option,并合并 SessionOutcome
- TurnError::terminal_failure 的 Option<TurnFailure> 换成 TurnError::classify -> TurnErrorClassified{ShouldStop, ShouldContinue},控制流不再借 None 表达
- dispatch.rs 两处 .expect("回合失败必可投影成失败载荷") 改为按分类层 match,收到 ShouldContinue 不写终态、不伪造失败
- turn_terminal 不再用 and_then 压平;ShouldContinue 显式认账并落到账本正常终态
- 并掉 private SessionOutcome,收尾 status 解析直接产出 TurnCompletion
- TurnFailure 补 // TODO badnaming,同步更新相关文档注释
2026-10-03 11:42:48 +08:00
k88936 2dbbf72450 修复:模型调用失败改按 typed kind 判定通道断开
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m39s
Project CI / Backend tests (pull_request) Failing after 16s
Project CI / AI game creator shell Rust crates (pull_request) Failing after 3m14s
Project CI / Frontend tests (pull_request) Successful in 2m4s
Project CI / Repository checks (pull_request) Failing after 22s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m46s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m14s
Project CI / Native shell tests (pull_request) Successful in 6m20s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 12m24s
- direct_codex_error_code 原来对 ModelCallFailed 一律按宿主原文子串分类,ModelCallKind::TransportBroken 只有在原文恰好含 transport closed / 连接已关闭 时才会标成 transport-closed
- 改为先看 payload.kind:TransportBroken 直接给 transport-closed,其余 kind 仍按原文兜底(TODO 文本判据)
- 补用例 model_call_transport_broken_is_classified_from_the_typed_kind:原文不含任何分类标记,也只可能由 typed kind 得出该 code
2026-10-03 10:59:28 +08:00
k88936 40b79bb1ec 重构:turn.completed 的 status 由自由字符串收成 typed 枚举
- 新增 TurnCompletedStatus(completed / interrupted / aborted / failed),作为 turn.rs 里 status 字段的类型
- 新增只作构造参数的 TurnOutcome(completed / interrupted / aborted):turn_completed 拿不到 Failed,"failed 但没有失败载荷"在构造层就写不出来
- turn_completed_failed 固定写 TurnCompletedStatus::Failed,载荷与状态在同一条构造路径上
- 内部状态比较与用例断言改为比较枚举取值;线上 JSON 形状、字段名与前端契约不变
- 重新生成绑定:新增 TurnCompletedStatus.ts,ThreadEvent.ts 的 status 由 string 收成字面量联合
2026-10-03 10:55:04 +08:00
k88936 adcf3b9730 修复:回合失败载荷 stage 未知时不再渲染 undefined
- turn.completed.failure 跨 IPC 没有运行时校验,superErrorFromStringPlusStage 的 stage 缺失或为更新后端新增的取值时,查表得到 undefined 会被拼进用户可见文案
- 查不到标签时回落到通用句"执行失败,请稍后重试",只有已知阶段才带"请检查项目诊断"
2026-10-02 22:31:52 +08:00
k88936 1ba9ac848f 修复:回合失败载荷缺 kind 时不再让失败文案抛错
- turn.completed.failure 跨 IPC 没有运行时校验,modelCallFailed 载荷缺 kind 时 directModelCallText 会解引用 undefined 抛错,整个事件订阅被打断
- directModelCallText 参数放宽为 ModelCallKind | null | undefined,缺分类时回落到通用句"智能服务执行失败,请稍后重试"
2026-10-02 22:31:36 +08:00
k88936 fc10b2359e 修复:线程条目投影的上游字符串统一走脱敏与限长
- FunctionCall.name 原来既不脱敏也不截断,改为走 detail_text(脱敏 + THREAD_DETAIL_MAX_CHARS)
- McpToolCall.tool 原来只脱敏不截断,改为 detail_text
- CommandExecution.status、McpToolCall.status、ThreadItem::Other.raw_type、ThreadFileChange.kind 原来原样拷贝,统一按 THREAD_DETAIL_MAX_CHARS 限长,避免单条事件突破声明的事件通道预算
2026-10-02 22:31:05 +08:00
k88936 80afa2a139 修复:生成绑定校验不再因首个目标失败就中止
- 原来每个目标里直接 process.exit,第一个目标(shared-contracts)失败时 AGC 目标根本不会被检查,得反复重跑才知道还有哪些绑定陈旧
- 改为记录 failed 后 continue,跑完全部目标再统一退出 1,两个绑定集的错误一次报齐
2026-10-02 22:31:02 +08:00
k88936 fff4e8ff68 修复:生成绑定校验的目录快照支持子目录并规范化路径
- snapshot() 原来只列目录下一层文件,绑定若放进子目录就两边快照都看不见,陈旧绑定会被漏掉
- 改用 readdirSync 的 recursive 列出全部条目,再按文件过滤并归一到 POSIX 分隔符,键形态与原来保持兼容
2026-10-02 22:30:50 +08:00
k88936 f593bd4bf6 修复:生成绑定校验对不存在的目录不再静默通过
- snapshot() 遇到配置目录不存在时原来直接返回空表,空表比空表会被当成"通过(0 个文件)"
- 目录写错或已删除时改为打印"目录不存在,跳过校验",避免整组绑定被悄悄跳过
2026-10-02 22:29:12 +08:00
k88936 6f2eed0dc2 修复:生成绑定校验无法启动 cargo/npx 时暴露真实原因
- spawnSync 连命令都拉不起来(如 ENOENT)时 status 为 null、error 非空,原来只报一句"未通过",看不到原因
- run() 改为在 result.error 时先打印"无法启动 <命令>:<原因>",spawn 失败与测试失败可区分
2026-10-02 22:29:08 +08:00
k88936 bfbcb1dd02 文档:修正生成绑定校验提示里缺少的 cargo 参数
- shared-contracts 提示补上 --manifest-path server-rs/Cargo.toml:仓库根没有 Cargo.toml,照抄提示会直接失败
- 两条提示都补上 --locked,与实际执行的 cargo 命令保持一致
2026-10-02 22:29:02 +08:00
k88936 09f007d519 修复生成绑定校验在 Windows 上启动不了 npx
- check-generated-bindings.mjs:prettier 归一化改用平台命令名 npx.cmd / npx,spawnSync 无 shell 时 Windows 解析不到裸 npx
2026-10-02 22:26:56 +08:00
k88936 e9ad1f3ddb RunFailure Display 去掉多余的一次 String 分配
- codex_app_server/mod.rs:Self::Failed(error) 用 write!(formatter, "{error}") 直接走 Display,不再先 error.to_string() 再 write_str
2026-10-02 22:26:35 +08:00
k88936 25213c9ff7 修复空 text 短路 content 兜底导致条目丢失
- items.rs:item_text 先判空/全空白再回落 content/summary;此前 Some("") 会短路兜底,末尾非空过滤把整条 message/reasoning 丢掉
- wire/tests.rs:补空 text + 有 content 的回归用例
2026-10-02 22:26:12 +08:00
k88936 cb13ecf879 清理资源引用里残留的 DirectCodex 函数名
- resourceReferences.ts:chatComposerDraftToDirectCodexUserItem → chatComposerDraftToUserItem、directCodexUserItemFromContent → userItemFromContent,与已改名的 UserItem 生成类型对齐
- 同步 DirectProjectChatView、useDirectProjectChatController 与三处用例的调用与 import
2026-10-02 22:24:00 +08:00
k88936 9a75ea57f0 修复两处过期用例并补记 Direct 失败载荷改名与透传口径
- 修复 direct_tools_mcp 容量用例:handler 已改为返回 Response,改为取出 body 后再断言 JSON-RPC id
- 修复 direct_runtime 命令边界诊断用例:改为断言结构化 sidecar(schemaVersion/source/stage/code/clientTurnId/detail),不再断言早已不落盘的 direct-codex-failure:v2 文案
- AGC 命令错误 ADR 补记 TurnFailure 两个字符串债臂的命名与“terminal_failure 是唯一投影点、不许重包”口径
- 决策记录新增 2026-10-02 条目:两臂改名(SuperErrorFromStringPlusStage / Unclassified)与 typed 失败原样下发
- 排查记录补充:cargo test 过滤是子串匹配,会连带命中 export_bindings 并重写生成目录,用 --skip export_bindings 避开
2026-10-02 22:19:36 +08:00
k88936 29eed573a0 重命名 Direct 回合失败载荷并让 typed 失败原样下发
- TurnFailed 更名为 SuperErrorFromStringPlusStage:只有 stage 是 typed,detail 仍是产生层字符串
- TurnFailedUnclassified 更名为 Unclassified:深层字符串兜底,连交付阶段都没有
- 拆掉 direct_runtime 与 thread_manager 两处收口重包,typed 失败原样投影成失败载荷
- 审计写盘保留,只是不再把 direct-codex-failure:v2 收口文案当失败载荷的 detail
- 生成绑定重导出(旧 TurnFailed/TurnFailedUnclassified 生成文件删除),前端分支与 directThreadChat 用例同步改名
- 命名债注释补记:这两个载荷臂与 SuperErrorEnumFromStringTyped 属同一笔待清债
2026-10-02 22:11:41 +08:00
k88936 c18c73fa2f 文档:记录 DirectProject 回合错误命名化、wire 拆分与终态判别联合
- AGC 命令错误 ADR:三条错误表补 DirectProject 现有命名(TurnError / TurnFailure / EnqueueError),并写明"回合终态 TurnCompletion 是宿主内部判别联合,不导出、不进 wire"
- 决策记录新增 2026-10-02 条目:命名去冗余前缀、wire.rs 按职责拆分、宿主终态改判别联合与 TurnCompletion 的落点
2026-10-02 18:10:54 +08:00
k88936 bee23a0a25 重构:文本判据债改名 SuperErrorEnumFromStringTyped 并写清上游改造 TODO
- turn_error.rs 把 DomainFact 改名为故意扎眼的 SuperErrorEnumFromStringTyped,标记"从字符串读出的 typed 失败事实表"这笔待清债
- TODO 从"产生层还没有 typed 出口"改为明确指向上游改造:让产生层直接产出 typed 变体/结构化子错误、判定层改 match,之后整张表与 classify_direct_codex_error 一起删
- enum 注释写明这个名字是债标记:禁止把它改漂亮,只允许按 TODO 删掉整张表
- 只改名与注释,不改任何判定逻辑
2026-10-02 18:10:39 +08:00
k88936 394b8de9d2 重构:DirectProject 回合错误去前缀、拆分 wire 模块、终态改判别联合
- 三条错误表去冗余前缀:DirectTurnError→TurnError、DirectTurnEnqueueError→EnqueueError、DirectTurnFailure→TurnFailure、DirectTurnDeadline→Deadline、DirectCodexFailureStage→FailureStage、DirectCodexNativeKind→NativeKind、DirectModelCallKind→ModelCallKind
- 用户条目去前缀:DirectCodexUserItem→UserItem 等六个类型;agent/direct_turn_error.rs 移到 codex_app_server/turn_error.rs
- thread_manager/wire.rs 拆为 wire/{mod,clock,items,turn,failure,tests}.rs;direct_turn_failure.rs 的失败载荷并入 wire/failure.rs
- 宿主侧回合终态从 struct TurnTerminal 改为 enum TurnCompletion{Completed,Interrupted,Aborted,Failed},从 wire 移到 thread_manager/turn_completion.rs,status 由变体反推
- 过期回合释放兜底改走 TurnCompletion::Aborted.event
- 同步生成绑定、前端调用点与测试;修正终态单测里过时的 TransportClosed 断言
- 对 src-tauri 全量 cargo fmt,满足 pre-commit 的 rustfmt 门禁
2026-10-02 18:10:17 +08:00
k88936 b7224aecef 构建:生成绑定校验覆盖 AGC shell 生成目录
- check-generated-bindings 同时覆盖 shared-contracts 与 AGC 的 chat/generated、services/generated、ui-editor/types
- ts-rs 重新生成后先按仓库格式跑 prettier 再逐字节比较,消除"格式不同"的假漂移
- 校验失败时按目标给出对应的重新生成命令
2026-10-02 18:10:00 +08:00
k88936 70aeb79be6 Merge pull request 'Fix/修复登录用户参数等错误被上报' (#567) from fix/wrong-report into master
Project CI / AI game creator shell Rust lane 2/2 (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 smoke (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: #567
2026-10-02 15:02:26 +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
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
suzmii 41f0c7aac3 Merge pull request '新增 Web 后台与 AGC 一键开发入口' (#570) from feat/dev-all 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 smoke (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: #570
2026-10-02 14:46:20 +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
kdletters 72165c3891 修复 Direct 诊断留痕的编译错误
- direct_runtime:分段 trace 改用 crate 级 app_log!,crate::append_application_log 在宿主并不存在
- thread_manager::dispatch:兜底收口与 panic hook 同样改用 app_log!
- thread_manager::dispatch:补上 emitter 取用 turn_id 后的 clone,修掉借用已移动值
2026-10-02 14:35:16 +08:00
suzmii 6a4233ee88 合并远端 PR 分支更新
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 1m34s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 2m19s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m42s
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 1m46s
Project CI / Frontend tests (pull_request) Successful in 2m33s
Project CI / Native shell tests (pull_request) Failing after 4m5s
Project CI / Repository checks (pull_request) Successful in 3m18s
Project CI / Backend tests (pull_request) Successful in 5m44s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m58s
2026-10-02 14:24:04 +08:00
suzmii ad4884c808 合并 master 最新变更
# Conflicts:
#	docs/project-memory/shared-memory/pitfalls.md
2026-10-02 14:22:25 +08:00
k88936 1cc53ab8bd Merge pull request '统一 AGC launcher 页面高度,修复底部被裁' (#585) from style/agc-home-page-full-height into master
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 1m22s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 2m4s
Project CI / AI game creator shell Rust crates (push) Successful in 1m22s
Project CI / AI game creator shell Rust smoke (push) Failing after 1m32s
Project CI / Frontend tests (push) Successful in 2m57s
Project CI / Native shell tests (push) Failing after 4m15s
Project CI / Repository checks (push) Successful in 4m3s
Project CI / AI game creator shell web tests (push) Successful in 2m31s
Project CI / Backend tests (push) Successful in 6m39s
Reviewed-on: #585
2026-10-02 14:15:35 +08:00
suzmii 7483c894ff Merge branch 'master' into feat/dev-all
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 2m43s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 1m36s
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 1m16s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m46s
Project CI / Frontend tests (pull_request) Successful in 2m40s
Project CI / Repository checks (pull_request) Successful in 3m23s
Project CI / Native shell tests (pull_request) Failing after 4m27s
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
2026-10-02 14:14:52 +08:00
kdletters 863148e11c Claude Code Direct 回合补分段 trace
Project CI / Frontend 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 / AI game creator shell Rust smoke (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 / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
- claude_code_cli:cc Direct 回合在执行器入口、MCP loopback 就绪、sidecar 启动、sidecar 返回、解析 stream 前各写一条 agent.direct_turn.trace
- direct_runtime:direct_turn_trace 提升为 pub(crate),让 Claude Code 执行器复用同一份分段留痕
2026-10-02 14:01:19 +08:00
k88936 50925d96eb 统一 AGC launcher 页面高度,修复帮助页底部被裁
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 2m29s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 2m31s
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 3m2s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m49s
Project CI / Backend tests (pull_request) Failing after 19s
Project CI / Repository checks (pull_request) Failing after 30s
Project CI / Frontend tests (pull_request) Successful in 3m16s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m37s
Project CI / Native shell tests (pull_request) Failing after 5m2s
- styles.css:新增页面高度契约,.launcher-main 改纵向 flex 列、页面根节点 flex: 1 1 auto,帮助页自带滚动
- src/view/home/index.tsx:首页根节点去掉 h-screen 与 h-[calc(100vh-32px)],改用外壳分配高度的钩子类
- src/view/template-library/index.tsx:模板库去掉 JS 量父级高度与内联 height,改用外壳分配高度的钩子类
- decision-log.md、pitfalls.md:记录页面高度契约与自绘标题栏里自己算 100vh 的排障口径

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 13:57:45 +08:00
kdletters 35af46dd94 Direct 回合在 begin 之后补分段 trace
Project CI / Backend tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / AI game creator shell Rust smoke (push) Has been cancelled
Project CI / AI game creator shell Rust crates (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
新增 direct_turn_trace:按 stage 写应用日志,定位回合在 begin 与执行器之间停在哪一步
覆盖 session-ready / run-analytics-accepted / goal-analytics-accepted / system-prompt-ready / executor-dispatch
仅在 cfg(not(test)) 生效,不污染用例与本机 AppData
2026-10-02 13:56:52 +08:00
k88936 f756b52d8c Merge remote-tracking branch 'origin/master' into fix/wrong-report
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 2m23s
Project CI / Backend tests (pull_request) Failing after 19s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 1m48s
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 2m14s
Project CI / Repository checks (pull_request) Failing after 36s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m49s
Project CI / Frontend tests (pull_request) Successful in 4m7s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m41s
Project CI / Native shell tests (pull_request) Failing after 5m46s
# Conflicts:
#	docs/project-memory/shared-memory/pitfalls.md
2026-10-02 13:56:47 +08:00
kdletters b8a659c12f Direct 回合兜底收口同时写项目侧脱敏诊断
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 smoke (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
TurnReservation 兜底收口时除应用日志外,再写一份 .agent/runtime/errors 脱敏诊断
诊断正文带 threadId 与 turnToken,便于与账本、运行日志对账
2026-10-02 13:54:50 +08:00
suzmii 8433334af5 合并 master 最新变更
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m57s
Project CI / Backend tests (pull_request) Failing after 12s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m35s
Project CI / Frontend tests (pull_request) Successful in 2m16s
Project CI / Repository checks (pull_request) Failing after 18s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m34s
Project CI / Native shell tests (pull_request) Successful in 6m45s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 14m9s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 14m23s
# Conflicts:
#	docs/project-memory/shared-memory/pitfalls.md
2026-10-02 13:52:07 +08:00
kdletters a6428228d1 Direct 回合 panic 转成可诊断的分类失败
Project CI / AI game creator shell Rust smoke (push) Failing after 2m4s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 2m4s
Project CI / AI game creator shell Rust crates (push) Successful in 2m3s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 2m17s
Project CI / Backend tests (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 / Native shell tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
dispatch 层用 AssertUnwindSafe/catch_unwind 接住回合体 panic,不再落到 HostDropped 兜底
panic 负载转成直接可读文本并写进脱敏诊断与应用日志,终态改为分类失败
补齐 futures::FutureExt 导入
2026-10-02 13:51:52 +08:00
k88936 27f7375b51 拒绝桥合成事件带上promise
- unhandledRejectionBridge:合成事件优先用 PromiseRejectionEvent(jsdom 没这个构造器时退回普通 Event),再把 reason / promise 都挂成实例访问器,jsdom 分支下 promise 也可读
- 判定调整为读 reason 或 promise 任一个都算 window 侧接手(原来只认 reason)
- 补一条用例:事件带 promise 且读 promise 也算被消费
2026-10-02 13:48:26 +08:00
kdletters fb9e25c90d 合并 origin/master:公开模型目录协议字段测试
Project CI / AI game creator shell Rust crates (push) Successful in 1m52s
Project CI / AI game creator shell Rust smoke (push) Failing after 1m55s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 1m58s
Project CI / Frontend tests (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell 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
2026-10-02 13:48:08 +08:00
kdletters a59d068c1d 给 Direct 回合的静默早退补上诊断留痕
TurnReservation 兜底收口时写应用日志,并用 thread::panicking 区分 panic 与 future 被丢弃/取消
新增 Direct 回合 panic hook:task-local 携带回合身份,panic 时记录位置与负载
两处均 cfg(not(test)),不污染用例与本机 AppData
2026-10-02 13:47:36 +08:00
k88936 a512786996 读body失败保留已确认状态码
- auth_session:拿到 status 后 response.text() 失败不再一律报网络不可达;非 2xx 按状态码走既有分类(serverMessage 为 None,如 503 → authServiceUnavailable),只有 2xx 响应没收完才归传输层故障
- 抽出 classify_unreadable_body 并补单测(503 / 会话 401 / 400 / 2xx)
- 决策记录追加该口径
2026-10-02 13:47:03 +08:00
k88936 836f8a7348 手机号登录401归phoneCodeLoginRejected
- auth_session:/api/auth/phone/login 的 401(只来自「用户不存在」)改判为 phoneCodeLoginRejected{serverMessage},不再冒充「验证码错误或过期」
- auth_error:退役顶层变体 smsCodeRejected(唯一产生点就是这个错配的 401 分支)
- 前端三个 catch 删掉 smsCodeRejected 分支;phoneCodeLoginRejected 文案统一为「验证码登录失败:<服务端原文>」,冒号改全角
- ts-rs 重新生成 ClientAuthError 联合;carrier 用例同步删掉 smsCodeRejected
- 文档:ADR + decision-log 记录 401 归属与 smsCodeRejected 退役
2026-10-02 13:35:40 +08:00